Re: [OT] C++ Stupidity and Delusion

2022-06-24 Thread Craig vN
I thought C++ has become what happens when you let programmers design a
language by committee. I think the best languages have only a couple of
people in charge.

On Fri, Jun 24, 2022 at 10:19 AM 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
> . 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  or the C++
> Reference  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 ).
> 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
>  or crates ), 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 

Re: [OT] C++ Stupidity and Delusion

2022-06-23 Thread Tony McGee
Yeah, Rust is an interesting and evolving language, which makes it a 
bold decision to allow use at a systems level.


I came to .NET via C++ in the early '00s and still use it occasionally 
but C++ is almost unrecognisable from those days.  So I thought I'd have 
a play around with Rust instead late last year but ended up slinking 
back to C#, temporarily defeated but plan to go back at some stage. It's 
well documented but can seem fairly cryptic at times.


Object scope/lifetime is baked into the type system and the 
compiler/checker is quite punishing compared to C/C++/C#.  Most 
languages let you learn as you go (mostly) but with Rust the trick seems 
to be having to know all the language idiosyncrasies up front, which as 
a beginner makes simple stuff seem hard, and hard stuff seem almost 
impossible.


-Tony

On 24/06/2022 14:02, David Connors via ozdotnet wrote:
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 
 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
.
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.

  

Re: [OT] C++ Stupidity and Delusion

2022-06-23 Thread Greg Keogh
>
> Rust's claim to fame is C-like performance but with memory safety and no
> garbage collector.
>

I ran into some uni student Rust fans at a Meetup a few years ago. I was
prompted by their enthusiasm to take my tablet to bed and read through the
language Reference . I was
quite impressed. It's like a neat, sensible, modern and concise cousin of
C++. The compiler is very strict about passing around the ownership of
objects, and in the absence of a GC this helps you stop doing stupid things.

It's not all wine and roses though, as I got to a point where the syntax
got progressively so cryptic that I gave up reading because I felt like I
would be sitting for a difficult exam. They've fallen into the C++ trap of
trying to jam everything and the kitchen sink into Rust. If it's designed
for generating low-level high performance code (that claim that), then why
is it crammed with a mountain of functional abstractions and terse syntax?
I think Rust and C++ both want to be high-performance sports cars and comfy
family sedans at the same time.

*Greg*


Re: [OT] C++ Stupidity and Delusion

2022-06-23 Thread David Connors
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 
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
> . 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  or the C++
> Reference  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 ).
> 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
>  or crates ), 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) … 

[OT] C++ Stupidity and Delusion

2022-06-23 Thread Greg Keogh
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
. 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  or the C++
Reference  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
). 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
 or crates ), 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