+ 3

Where today using C++ Language

list the area's using C++

2nd Feb 2018, 4:16 PM
IMRAN M
IMRAN M - avatar
6 Answers
2nd Feb 2018, 4:29 PM
Vukan
Vukan - avatar
+ 2
Games, operating systems, microcontrollers, artificial intelligence, 3d rendering, some computer programs (or parts of programs), mobile development (you build a common base in C++ and add either Swift or Java to interface with iOS and Android respectively), every API ever etc. Basically, if you need speed and/or portability, you use C++.
2nd Feb 2018, 4:26 PM
Vlad Serbu
Vlad Serbu - avatar
+ 2
Adding to answers above, C and C++ are commonly used to make interpreters for higher level languages that I am completely against. Their speed and flexibility really makes them the only reasonable languages for this. The only interpreted language i like is Java.
2nd Feb 2018, 4:49 PM
Jacob Pembleton
Jacob Pembleton - avatar
+ 2
@Vlad Serbu I didn’t think of web-related languages, I guess I don’t mind those. But why do other interpreted languages like Python need to be interpreted? I don’t see a reason for any besides web, and the only reason why I like Java is because it solves the problem of portability without sacrificing as much speed as other interpreted languages.
2nd Feb 2018, 5:13 PM
Jacob Pembleton
Jacob Pembleton - avatar
+ 1
@Jacob Sorry to go off-topic here, but why do you hate interpreted languages? And why do you like Java? Because Java is the only (big) interpreted language I'm against because it has no reason to be interpreted (except for the "compile once, run anywhere" gimmick). Meanwhile Python, Ruby, Haskell, PHP etc. have perfectly good reasons to be interpreted. Not to mention scripting languages like Bash, Perl, JavaScript etc. and markup language which, for the most part, can't be compiled, or it would be nonsensical to do so.
2nd Feb 2018, 5:02 PM
Vlad Serbu
Vlad Serbu - avatar
+ 1
@Jacob Java doesn't solve the problem of portability, for there is no such problem (maybe there was in 1995, but it's certainly not one now). I can write a C++ program and compile it without difficulty on Linux, on Windows, on Mac, and on Raspberry Pi (platform dependent stuff like the size of int is easily bypassed with stuff like int32_t). The only reason I can't do it on a smartphone is because Google has no idea what it's doing and Apple wanted to be different (as always) so they chose Java and Objective-C/Swift respectively for all their APIs. And I can write most of the program in C++ and use Java/OC/Swift only for interfacing with those APIs. So the idea that Java solves the problem of portability is ludicrous. I mean, aside from C++, C is more versatile (even than Java), being available for microcontrollers which you can't port the JVM to. As for Python, it has many reasons to be interpreted. Quick prototyping, speed of writing, ease of debugging etc. are certainly helped by it's interpreted nature. And, unlike, Java, it's not meant to be a general-purpose language, so the fact you get a performance penalty is irrelevant, as it's not meant for performance-critical code anyway.
2nd Feb 2018, 5:41 PM
Vlad Serbu
Vlad Serbu - avatar