4 ms·
In terms of application development, cross-platform GUIs are a pain in virtually any other language, ignoring platform specifics like Objective-C or dot net. Ev
by joshvm 9y ago
In 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.
- doktrin 9y agoYeah that's fair. I've also underestimated the number of Cobol developers out there; C++ devs only slightly outnumber them.
- snovv_crash 9y agoYou can't reuse your Java code on iOS. C++ can be reused on virtually any platform. The only other language you can do that with is C and interpreted languages with the interpreter written in C/C++ (which is slow if it is cross platform).
- pcwalton 9y ago> That said, browsers are written in C++ (Firefox and Chrome, for example) This is not entirely true anymore for Firefox: it's partially Rust.
- BatFastard 9y agoEvery time I have to deal with Qt I just want to stab myself in the eye. It is the least intuitive and most difficult environment I personally have ever had to deal with.
- sqeaky 9y agoI completely agree with you and its still the best cross platform general purpose GUI library.