5 ms·
> TBH it sounds like you immersed yourself in the "everything is node or go or rust" HN bubble I find that when someone's made up their mind about me based on
by doktrin 9y ago
> TBH it sounds like you immersed yourself in the "everything is node or go or rust" HN bubble
I find that when someone's made up their mind about me based on little to no data, there's not much point trying to prove them wrong.
> C++ is one of the most widely used languages for application development
What kind of applications?
- ajdlinux 9y agoAnywhere that deals in embedded development, you're going to have to touch C++ at some point.
- dom0 9y ago> made up their mind "sounds like" is very much the opposite of that. > What kind of applications? All of them, except web pages.
- doktrin 9y ago> All of them, except web pages. This is just factually untrue. Mobile, desktop, data analysis, machine learning and even games : neither are primarily developed with C++ these days. I imagine you're going to respond with snark about how game engines are written with Cpp, or mention some edge case where a CLR / JVM language needs to call out to native libraries - but there's no escaping the fact it's a niche skill set and one of rapidly diminishing importance to the overwhelming majority of developers.
- dom0 9y ago> Mobile development Android NDK, Objective-C++, ... > desktop applications There are plenty of applications written in C++, from legacy code bases like MS Office to almost all content-creation tools ever, most applications whose abbreviations contain "computer aided", many libraries, and boatloads of applications. Like I said, C++ is used practically everywhere. Most applications developed on Qt are C++ (some Python). Qt itself has already a large user base. > data analysis From matlab to gnuplot, oscilloscope and spectrum analyser software, data analysis applications are frequently developed using C++. > machine learning On many repositories I can rather clearly see a broad pink bar, e.g. https://github.com/search?utf8=%E2%9C%93&q=topic%3Amachine-learning+&type=Repositories https://github.com/search?utf8=%E2%9C%93&q=topic%3Amachine-l... https://github.com/tensorflow/tensorflow https://github.com/tensorflow/tensorflow - If some proprietary application is not obviously written in .NET or Java, C++ is a safe bet.
- doktrin 9y ago> Android NDK, Objective-C++ Those toolkits are only useful for edge cases. SDK performance is adequate for 95% of real world applications. > From matlab to gnuplot, oscilloscope and spectrum analyser software, data analysis applications are frequently developed using C++. I.e tools that don't need to be re-implemented, some of which had they been built today could easily have been written with a bytecode / JVM / CLR language. > On many repositories I can rather clearly see a broad pink bar, e.g. https://github.com/search?utf8=%E2%9C%93&q=topic%3Amachine-l https://github.com/search?utf8=%E2%9C%93&q=topic%3Amachine-l In your own link C++ ends up in a distant 6th place. What is that supposed to prove? That it's more popular than JavaScript in ML development? > https://github.com/tensorflow/tensorflow https://github.com/tensorflow/tensorflow Another tool I'm not re-implementing. You conveniently left out that all of their models are developed with Python - which is what 99.99% of developers interested in ML are trying to do.
- psyc 9y agoMy problem with your line of argument in this whole subthread is that no matter how many examples people give you of important categories where C++ predominates, you've already decided that the sum total of all that is "niche".
- doktrin 9y agoThis subthread did in fact become and argument, and now it's a witch hunt that inspires nothing but deep hatred and loathing. Some comments have been helpful, and others have been shitty. I've only responded to the shitty ones. What I really wanted to know was what can I use C++ for as an individual developer. Maybe I should have been more explicit in my original question, but ultimately the answer is that there's nothing I can do with C++ that I couldn't do better with another language - short of joining a large dev team to build or maintain a large legacy codebase. However, I no longer care about my original question and am just as happy to see this community burn. So it goes.
- pvaibhav2 9y ago
- jhasse 9y ago> and even games : neither are primarily developed with C++ these days. Unreal Engine uses C++, Unity's core is C++. DirectX is a C++ API. Install any game on Steam and you'll see the Visual C++ runtime being installed most of the time.
- doktrin 9y ago> I imagine you're going to respond with snark about how game engines are written with Cpp > Unreal Engine uses C++, Unity's core is C++. DirectX is a C++ API. I honestly think I addressed this. Most developers aren't trying to extend Unreal or Unity - they're building games with the aforementioned tools.
- jhasse 9y agoAt least in Unreal you can build your game in C++. But you're right that C++ is getting used less and less in games, but I would still say that it's the most used language, especially in AAA games.
- deleted 9y ago[deleted]
- joshvm 9y agoIn terms of application development, cross-platform GUIs are a pain in virtually any other language, ignoring platform specifics like Objective-C or dot net. Ever tried to ship a frozen Python binary? Never again. It's a little like saying what are some good modern uses for Java? Then you remember that millions of people use Android every day. I work in computer vision and deal with hardware a lot, both embedded (micros) and 'higher level' (cameras, random optomechanics). You get drivers in C/C++, often dot net, and occasionally other languages. Sometimes you get lucky and someone's written a Python wrapper already, but most of the time it's faster just to use the C++ (otherwise now you have another library to maintain and keep up to date with the vendor - someone else can do that!). If you work in web development, it's easy to forget that you can't just write a backend in Python and then make it look snazzy with CSS and Javascript. It's one of the few areas where C++ doesn't have much penetration. That said, browsers are written in C++ (Firefox and Chrome, for example) and of course the web servers themselves (plus some C). The combination of C++ and Python is very powerful. Modern C++ is very easy to read and if you use the STL, you can write surprisingly compact code. I'm also a big fan of Qt for GUI development (plus the other bits you get with it).
- doktrin 9y ago> It's a little like saying what are some good modern uses for Java? Then you remember that millions of people use Android every day. Of relevance here, millions (or whatever) of developers need Java every day to build Android applications and all kinds of line-of-business applications all over the world You can't say the same thing about C++, even if developers build ontop of C++ tools. That is the very point I'm driving towards : not that Cpp isn't an important language or ubiquitous, but that 99% of developers don't have a realistic need for it in 2017. Yes, it's an important language - but only like 0.1% of developers actually have a good reason to use it. > If you work in web development Or mobile development, or game development, or desktop application development - i.e. the vast majority of apps that consumers actually interact with don't require much if any C++ development even if they rely on tools written with C++.
- lossolo 9y ago> You can't say the same thing about C++ I think most of what you write is based on your imagination about C++ instead of facts and the facts are different. There are millions of C++ developers on our planet. Read this: https://blogs.msdn.microsoft.com/zxue/2016/10/24/how-many-developers-use-c-vs-c-vs-other-programming-languages/ https://blogs.msdn.microsoft.com/zxue/2016/10/24/how-many-de... And those are only one IDE (Visual Studio) stats.
- kronos29296 9y agoMost competitive programming is done in C++. It probably will be in near forseeable future. This is because of speed and STL.
- mhtxhn 9y agoChrome, Firefox, Adobe CC, etc. Node requires V8, which is written mostly in C++. Remove C++ from software development and check what is still working...
- doktrin 9y ago> Remove C++ from software development and check what is still working... Remove opcodes & assembler from software development and check what is still working... See how completely absurd that sounds?