News for hackers. Stuff that matters.
Re:Thriving in a Crowded and Changing World: C++ 2006–2020 [... by vnorilo on Friday July 16, 2021 @05:26AM (#27854472)
C++ has a great reach, from bare metal to very high level of abstraction. It can be squeezed to support almost any paradigm, oop to functional. You can make dynamic object systems, build a reflection system or a garbage collector. You can do compile time programming.

In general, a systems language is a great asset in your toolbelt. A high level one can let you shape your own environment to great detail.

In the end I think most systems languages will take you to a similar place. Many others have fewer footguns or better ergonomics than C++. Its distinctive feature/bug is having no opinion of almost anything. Or alternatively, you can find subcommunities with almost any opinion.

Re:Thriving in a Crowded and Changing World: C++ 2006–2020 [... by exdsq on Friday July 16, 2021 @05:52AM (#27854593)
But is it truly practical to use in 'higher-abstraction' apps like web or mobile? I mostly work in higher-level systems programming but dabble in most areas when I want/need to.
Re:Thriving in a Crowded and Changing World: C++ 2006–2020 [... by rramadass on Friday July 16, 2021 @06:17AM (#27854708)
>But is it truly practical to use in 'higher-abstraction' apps like web or mobile?

Yes absolutely. Once you become familiar with the language the barrier is not that high. Familiarity trumps everything else.

That said, since i am not a Web/mobile developer i had collected some resources to help me learn how to use C++ for Web/Mobile apps, you may find it useful;

https://levelup.gitconnected.com/cross-platform-mobile-and-w...

https://github.com/Microsoft/cpprestsdk

https://medium.com/@ivan.mejia/modern-c-micro-service-implem...

Re:Thriving in a Crowded and Changing World: C++ 2006–2020 [... by typon on Friday July 16, 2021 @10:29AM (#27856575)
Not really. If you want to do iOS development, there's no point in using C++. The Swift interop with C++ is very painful.

I think for Android development, the NDK support is much better and there you might be able to leverage C++ much easier.

Re:Thriving in a Crowded and Changing World: C++ 2006–2020 [... by vnorilo on Friday July 16, 2021 @08:40AM (#27855635)
I have been working on many mobile apps that would share a C++ model between iOS and Android, and use platform-specific code for views.
Re:Thriving in a Crowded and Changing World: C++ 2006–2020 [... by jahnu on Friday July 16, 2021 @07:16AM (#27855083)
Web and mobile is possible but anyone experience in both will realise c++ is only suitable for a minor subset of these.
Re:Thriving in a Crowded and Changing World: C++ 2006–2020 [... by rramadass on Friday July 16, 2021 @06:23AM (#27854737)
>Its distinctive feature/bug is having no opinion of almost anything

This single phrase has clarified the workings of the C++ standards body like nothing else; When in doubt, add it in!

Re:Thriving in a Crowded and Changing World: C++ 2006–2020 [... by jahnu on Friday July 16, 2021 @07:14AM (#27855073)
History shows this to be just plain wrong. There are many examples but for example look how long doubts about concepts held back that feature.
Re:Thriving in a Crowded and Changing World: C++ 2006–2020 [... by scott_s on Friday July 16, 2021 @02:54PM (#27859840)
This very submission is 160 pages documenting this very fact.
Re:Thriving in a Crowded and Changing World: C++ 2006–2020 [... by jahnu on Friday July 16, 2021 @04:44PM (#27860986)
Indeed. I have a lot of sympathy for the viewpoint that c++ is a very very complicated language in it's entirety, but not much sympathy for the idea that features are added willy-nilly.

It's a product of its time, massive success, and a herculean effort to retain backwards compatibility. It can be frustrating at times but I can seem to make great things with it still.