C++ is losing its grip

43 views
Skip to first unread message

Ian Joyner

unread,
Aug 18, 2019, 7:22:28 PM8/18/19
to Eiffel Users
This is a rather interesting article that DropBox is dropping C++ as a cross-platform language.


I put in a long comment in reply to the regular C++ defense in the comments.

But it begs the question, that I don’t see Eiffel shining in this area either. And I don’t underestimate the effort needed (having tried it, but Apple did keep changing things underneath me, from OS 9 to OS X for a start, but that is ancient history now).

Finnian Reilly

unread,
Aug 19, 2019, 11:24:58 AM8/19/19
to Eiffel Users
Hi Ian
I think you are being diplomatic with your title. Perhaps what you really meant is that C++ programmers are loosing their grip (on reality)  😃

I didn't feel like signing up to the register just to read the original post, but I found the news from "the horses mouth" i..e on dropboxes own blog.
Perhaps you can post your comments there too






Gary Smithrud

unread,
Aug 19, 2019, 12:49:00 PM8/19/19
to eiffel...@googlegroups.com
I've had to write C++ code for many years...and I never had a grip.

--
You received this message because you are subscribed to the Google Groups "Eiffel Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to eiffel-users...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/eiffel-users/cca2d3ab-f0e8-4a33-859a-abcfcef1b237%40googlegroups.com.

Ian Joyner

unread,
Aug 19, 2019, 7:48:05 PM8/19/19
to Eiffel Users
Thanks for the link. It is probably best to avoid the Register, but read read it to correct a lot of guff they put around (and guff in comments). Here is the comment thread. It is interesting that karlkarl has been voted down about 10 to 1. But I also think it would be interesting to provide an Eiffel layer above Apple and Google for cross-platform development. But I don’t think that would be easy.

——

Karlkarl commented:

To be fair, if Apple stopped wasting time with Swift on iOS and moved to C++ and Google / Android stopped wasting time flittering between Java and Kotlin and just made C++ first class *everyone* could stop messing about and keep to C++ for everything.
Chuck Microsoft's Cee-Sharp crud into the mix; it seems like mobile OS vendors want to simply use anything *but* the correct language for the job.
Possibly a mix of vendor lockin, a mix of making it easier for complete amateur developers and just bad choices all round.
The article is right though. Senior developers do not want to waste their skills and life faffing with broken mobile platforms. They have the experience to say "no thanks!”.

———

"To be fair, if Apple stopped wasting time with Swift on iOS and moved to C++"

You are right C++ is the right answer, but to the wrong question.

C++ is heavily based on a bad system language C with all its flaws.

It is C++ that has wasted nearly 40 years now trying to fix the problems with C and introduce a bad implementation of OO with its horrible versions of multiple inheritance and generics (templates).

As the obvious C++ zealot that karlkarl obviously is, it is not C++ that is broken, it is the platforms.

Actually, most platforms are only broken in the sense that they support C and C++. A good platform would reject these languages and most programs in them would cease to work (at least without a good deal of modification and bug fixing).

This is because such devices as pointers and the ++ operator (after which C++ is named) are the right answers to the wrong question. The right answer in small off-the-network systems that don't require correctness and security.

C and C++ are not the right answer in today's highly-connected and security sensitive environments and have cost the world trillions of dollars in data breaches and attacks.

Good security is based on languages that respect memory boundaries (no out-of-bound indexing, buffer overflows, etc). C and C++ cheat the industry of good security. There are many other reasons to move away from these languages.


It is time to move past languages like C and C++ and the weak CPU architectures they are based on.

(I'm not enamoured of the fact that Swift, C#, and Kotlin try to look something like C either. The continued use of () to call a (misnamed) function breaks the uniform access principle https://en.wikipedia.org/wiki/Uniform_access_principle. Or that it uses the mathematically universally accepted equality symbol '=' to mean something as completely different as assignment ':=' and this then has to be explained to learners to be careful. Silly perpetuation of the mistakes of C.)

———

Karlkarl commented:

"Anyone _else_ who likes and codes well in C++, respect and no dissing intended. Having mastered a hard language most assuredly need not turn everyone into a twat."
But that's just the thing, C++ isn't hard, you just need to not waste time faffing with other languages.
The old fashioned view that C++ is "for advanced tasks only" is such a cliche. Rust is actually proof of that; Rust is extremely popular (even with amateurs) for Web, embedded, desktop and if you look at Rust's technology and memory management system; compare it with modern C++ (i.e smart pointers); you will realize not only does it compile down to mostly the exact same binary; it is almost written in exactly the same way.

———

Karlkarl: "But that's just the thing, C++ isn't hard, you just need to not waste time faffing with other languages."

That is exactly why programmers should learn other languages. C++ makes things inordinately difficult. Every workplace will have different style guidelines of what to use or not use depending on their understanding.

Even for languages that were perfect and simple I'd still say learn another language. But if the languages are simple that will be easy to do.

Of course if they not simple like C++ there will be a lot of resistance to doing that – just as karlkarl does.


Finnian Reilly

unread,
Aug 20, 2019, 1:02:20 PM8/20/19
to Eiffel Users

 But I also think it would be interesting to provide an Eiffel layer above Apple and Google for cross-platform development. But I don’t think that would be easy.

There was one very promising area of research at ETH, that would at least give you the ability to create HTML application with some subset Eiffel. I would love it if this project was be developed more. It has probably the least cost in terms of getting an Eiffel foot hold on both mobile platforms simultaneously. But it seems to have been forgotten about.

Reply all
Reply to author
Forward
0 new messages