I was doing some reading last night about Rust - https://www.rust-lang.org/
- mainly prompted by the fact that Linus Torvalds has now said that they
will introduce Rust code into the Linux kernel. It will be interesting to
see how this progresses - I've never heard of anyone doing kernel/device
driver level type development in anything other than assembly, C or C++.

Rust's claim to fame is C-like performance but with memory safety and no
garbage collector.

David Connors
da...@connors.com | M +61 417 189 363
Telegram: https://t.me/davidconnors
LinkedIn: http://au.linkedin.com/in/davidjohnconnors



On Fri, 24 Jun 2022 at 10:18, Greg Keogh via ozdotnet <ozdotnet@ozdotnet.com>
wrote:

> It's Friday and I promised to turn the heat up in the kitchen again and
> stir the possums. The text below is pasted from my latest Blog Post
> <https://gfkeogh.blogspot.com/2022/06/c-stupidity-and-delusion.html>. I
> can't apologise for what I say, I'm really angry about this -- *Greg
> Keogh*
>
> _______________________
>
> C++ Stupidity and Delusion
>
> I recently returned to writing C++ after a 17-year gap and I have
> concluded that C++ has become the stupidest language in contemporary common
> use and fans of the language are living in some form of mass delusional
> insanity.
>
> When I wrote C++ from about 1993 to 2003 it was basically "C with Classes"
> and it claimed to guide you away from C spaghetti code into the superior
> and trendy OOP world of software development. That claim was generally
> fulfilled, but I often found myself creating classes that didn't need to
> exist, and there was always the risk of creating "spaghetti classes". *It's
> worth noting that opinions of OOP have not aged well and web searches for
> "OOP sucks" or "OOP is bad" will produce some withering criticism.*
>
> Upon returning to C++ after a long absence, I am shocked and angered by
> what I have found. Several major enhancements over the decades have added
> so many features to the language with so much syntax that it looks like an
> unstoppable academic research project that went out of control and became a
> joke. And ironically, the community using the language don't seem to
> realise they're part of the joke.
>
> I have recently watched lots of videos about C++, and the ones taken at
> conventions are the most worrying because people like Bjarne and Herb come
> on stage and are cheered like heroes by an audience that uncritically
> drools over upcoming C++ features that are discussed in great detail. What
> makes me both angry and incredulous is that most of the recently added and
> upcoming C++ features are either making the language more and more complex,
> or they are features that have been built-in to other popular programming
> languages for a lifetime.
>
> Languages like Java and C# have had parallelism, reflection, networking
> support, UI designers, modules and much more for decades, but here we are
> in the far distant science fiction future of 2022 and the C++ committees
> are only now proposing to add these features that are vital for software
> development. C++ is so far behind the ecosystem of other modern languages
> that it's another joke they don't get, and they continue to blindly cram
> the language with more libraries and syntax stolen from other languages to
> try and keep it up to date with its modern contemporaries.
>
> Writing C++ is so staggeringly complex that I need cheat-sheets always
> open, and sometimes I must Google search on how to write every line of code
> correctly. As a result, my C++ coding speed often hovers at around 10 to 20
> lines of code per hour. It took me 3 solid days of hair-tearing suffering
> to find a library that made REST web service calls, compile it, and make it
> work. A colleague took two days to get a zip library working and at one
> point he said, "lucky I don't live near a cliff". Both of those tasks could
> be coded in a few lines of a modern language in less than a minute.
>
> Have a look at the Working Draft <https://eel.is/c++draft/> or the C++
> Reference <https://en.cppreference.com/> to get a feel for the
> astonishing complexity of C++. There are countless videos online as well
> that discuss all of the frightening traps and tricks of C++ coding and how
> to use the huge list of language features correctly (see Jason Turner's
> videos <https://www.youtube.com/results?search_query=C%2B%2B+Jason+Turner>).
> The complexity of C++ creates a huge learning hurdle for even the most
> skilled developer who could require up to a year of intensive experience to
> become an expert.
>
> C++ doesn't have a public library system (like packages
> <https://www.nuget.org/> or crates <https://crates.io/>), the error
> messages are beyond mortal comprehension, you can't tell which language
> features are "safe" to use on your platform, everyone argues about the best
> coding patterns, and most sample code won't compile. In my words (which can
> often be heard shouted from the other end of the house) … "Everything
> f***ing doesn't work!!". In C++, everything is as ridiculously cryptic and
> difficult as it can possibly be. I often joke that writing C++ is harder
> than building an atomic clock.
>
> The C++ fanbase brags about how widespread its usage is and how many
> diverse and performance critical systems depend upon it, but I think this
> is just a historical hangover because it grew out of the popularity of C
> back when there were no alternatives. I saw C++ become trendy and cool back
> in the 1990s and it developed a kind of aura or mystique about it, mainly
> because it was so complex and intimidating to average developers of the
> time. If you told people you were writing C++ you could often see reverent
> "Oh you're a *real *programmer" looks on their faces. C++ just happened
> to arrive at the right time to fill a void and I think the C++ community is
> still living in the 1990s.
>
> The other C++ brag is about how it is "close to the metal" and can produce
> apps with unequalled performance. C++ continues to ride high on its
> performance claims, but it's become an urban legend that's no longer a
> compelling argument. Recent research by my own colleagues with nearly
> identical cross-tabulation libraries written in C# and C++ finds that the
> C++ library only performs slightly better when very large amounts of data
> are being processed, which results in very large in-memory tables.
>
> Even if optimised C++ does produce more performant native binaries, who
> needs that? Typical business apps are not performance critical and writing
> them quickly in C#, Swift, Java or Python will save immeasurable money and
> suffering. Maybe C++ is vital in creating database engines, embedded
> systems or niche scientific applications, but in the last 15 years I have
> never met a single living developer who works in any of those industries
> and needs to expend enormous effort to squeeze out top performance. You
> would have to be out of your mind to consider using C++ to write a desktop
> app, or a background service, or a web service for business use in 2022. If
> you asked me to write a Windows desktop app or web service in C++, it would
> take at least 20 times longer than writing it in C#.
>
> In summary, I will reiterate without embarrassment that C++ is the most
> utterly stupid programming language in popular use, it's getting stupider,
> and its community is living in a world of delusion.
>
> C++ should be deprecated now and go into maintenance mode.
>
> One would normally recommend that all development effort be channelled
> into designing a modern replacement for C++, but what's the point, because
> robust and respected alternatives are already available.
>
> Bjarne often talks about the "ideal C++" and how it will never stop
> evolving. By the time it reaches his "ideal" it will be extinct.
>
> *June 2022*
> --
> ozdotnet mailing list
> To manage your subscription, access archives: https://codify.mailman3.com/

Reply via email to