|
Mike Winiberg wrote: As an incredibly enthusiastic user of C++ from its very first release,
45 years. And still enthusiastic?
Not denigrating C++ but rather that it is difficult to keep the same enthusiasm for anything that long.
Mike Winiberg wrote: technical debt that then has to be fought against in other ways.
Get a very old set of libraries, say before templates, update them to work with your compiler and then just don't use anything new.
Mike Winiberg wrote: This article I think demonstrates this nicely
Far as I can tell that doesn't enumerate the size of the code base. But it certainly seems to suggest that the author is working with a large one.
And a legacy one at that.
So I don't really see anything that suggests that there is a problem with C++ but rather a process problem that has been allowed to grow without bound. And so they want to use technology to fix it. Rather than decoupling the code base to reduce the dependent sections.
|
|
|
|
|
A few vaguely related further comments: TL;DR - just my musings 8)
"If you don't use it you don't pay for it" is - IMHO - a good philosophy, and why C++ remains such a good dev environment for cutting edge stuff. It is indeed perfectly possible to use C++ as an 'improved' C and only adopt specific features - but surely in that case you might as well go for a dev environment that is more closely matched to the domain you are working in (if one exists of course)? Attempting to stick with C++ when it isn't a good fit can lead to the kind of thing you see today with web app dev: I regularly see devs posting about the 'stack' they use, sometimes comprising 20 or more different frameworks all bolted together using another framework, simply to create simple web pages that could be easily produced with just HTML and CSS (itself a bit of a dog's breakfast IMHO!).
---
Never has KISS been more appropriate than in some of today's dev processes. The interdependencies of such 'stacks' make the whole thing so fragile that one defect or change in the hosting environment can bring the whole thing tumbling down. Pile on the inappropriate adoption of 'Agile' processes and TDD and you end up with the kind of mess you see in the UK on so many GOV.UK web pages: The pages pass all their tests and hence are deemed 'correct' and yet don't perform as the users have a right to expect: I have one classic example that I have reported repeatedly but which has still not been fixed after many years: paying your vehicle excise duty:
You are sent a document with a 16 digit number in the same format as a credit card: 4 groups of 4 digits. When you type this into the online form, if you include the spaces and don't notice that the input box only accepts 16 characters (ie you lose the last 3 if you include the spaces), then complete the rest of the page, when you hit submit the page fails but the error message is displayed next to the box itself which by now is off the top of the screen. You have to scroll back up to see it! There is no warning in advance that the spaces must be omitted. Either accepting and ignoring or silently dropping the spaces is a very simple thing to implement but hasn't been done - a typical noob web dev mistake.
It gets better though: a bit later you have to enter your card details, which comprise a 16 digit number in four groups of 4. On this page you can enter this with or without spaces and it is accepted quite happily. By chance I met a dev working for GOV.UK on this stuff: he couldn't see the problem, the page passed all its tests...
---
With the exceptions of a very early device that interacted with live TV and the Transputer (I even helped develop an assembler for the Transputer as it didn't have one), I have never been involved with anything that needed the maximum possible performance from the underlying hardware; instead reliability and stability have always been the most important features (even for financial market-making stuff).
---
"old libraries": I much prefer, if at all possible, to work with open source tools, even though most of my work in recent years has been for Windows and SQL. At least that way you have the possibility of fixing things if the provider of the library goes silent (or even becomes malicious - see node.js passim), although the costs of doing so may be more than the project is worth! Sometimes - in a specific domain - that may simply not be possible.
IMHO the problem with C++ is not in the language itself per se; it has simply 'grown' so many features to maximise performance for all sorts of different use cases that the skillset and knowledge one needs to acquire to make the best use of it has become greater than that needed to solve many of the problems you might want to address - in other words it has become the domain of technical specialists rather than jobbing programmers (like me!).
---
As for enthusiasm, I have never lost that incredible excitement I first felt in my teens when I got a computer to do something I wanted by writing software for it - that's why, despite being well past retirement age I am still working - albeit part-time
|
|
|
|
|
C, in all it's variants (and that includes JAVA and RUST) is an abomination.
It should never have survived as long as it has.
It was only ever intended to be a 'bridging' language between the horror of Fortran and the "New" languages that were just around the corner.
|
|
|
|
|
I'm not sure I entirely agree with that view 8) but its utility and closeness to the metal gave it wings, especially in the early days of desktop computing when efficiency was very important, and once such systems become ubiquitous then one tends to get stuck with them.
See COBOL and indeed FORTRAN (never mind MS Word which is as unlike a word processor as it is possible to get whilst still handling text) for further examples...
|
|
|
|
|
I thought that might get a reaction.
But, my opinion still stands.
In the bad old days of 8086 through to at least 80386, you were much better off learning assembler.
Once Windows became ubiquitous, things got more difficult, but by then, we **should** have had better languages available than C and it's derivatives.
The few that were viable seem to have been killed off by the C people to protect their their pet little ecosystem
(But that does sound a bit like a conspiracy theory)
|
|
|
|
|
|
Member 14564709 wrote: C, in all it's variants (and that includes JAVA and RUST) is an abomination.
It should never have survived as long as it has.
PHP - wasn't intended to be a programming language in the first place.
Using the tiobe index and excluding that then removing all of the other languages that did originate with C one gets down to Basic, SQL and Fortran.
Member 14564709 wrote: between the horror of Fortran and the "New" languages that were just around the corner.
But it doesn't exist. People create a lot of new programming languages every year. And very few are ever generally accepted. So what you are suggesting will not or cannot exist.
|
|
|
|
|
C++ plus Qt/QML do the job just perfect w/o performance compromises
|
|
|
|
|
Joe Walsh, Life's Been Good To Me So Far
|
|
|
|
|
No, I am NOT posting programming question , the post is clearly marked as "rant".
The unnamed site , to protect the guilty , rejected the attached code as " poorly formatted".
until I deleted #ifdef ...,#endif. Then it passed.
I am a believer that Alan Cooper was right when he stated that coders will take the path of least resistance / use less brain , when coding.
(Not to be confused with KISS...)
Apparently adding " post it anyway , WE can make an exception " would indirectly indicate that
the code is void of better analysis, hence more code / brain usage would be required.
void SettingsDialog::closeEvent( QCloseEvent* event )
{
#ifdef RETILE
text = "\t#i#ifdef RETILE \n";
text += "TRACE START Retile mdiArea subwindows .... ";
text += " ";
text += Q_FUNC_INFO;
text += QString::number(__LINE__);
qDebug().noquote() << text;
#endif
text += " ";
text += "\n\t test send text to child";
|
|
|
|
|
|
You could have simply indented the # lines instead of deleting them. Hashdent is bad formatting in my opinion.
|
|
|
|
|
The fact that AI rejected your post demonstrates that AI is not completely devoid of real intelligence.
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
you forgot to highlight "your"
other than that - nothing new , just another version of saloon put-down
" ... verrry interesting , but stupid " - end of quote
|
|
|
|
|
Hmm, I know I saw this somewhere....
Quote: if you cannot say something nice , DO NOT SAY ANYTHING AT ALL
"the debugger doesn't tell me anything because this code compiles just fine" - random QA comment
"Facebook is where you tell lies to your friends. Twitter is where you tell the truth to strangers." - chriselst
"I don't drink any more... then again, I don't drink any less." - Mike Mullikins uncle
|
|
|
|
|
I know it as:
Quote: If what you have to say is not more beautiful than silence... shut the fvck up
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
Salvatore Terress wrote: text = "\t#i#ifdef RETILE \n";
I would suspect more that it has some auto-formatting code which did not like the above line inside the other block.
|
|
|
|
|
Patient: "OK...er... give me the good news"
Doctor: "you have a fatal cancer and have 24 hours to live"
Patient: "Doc, if that's the GOOD NEWS, what's the BAD news?"
Doctor: "I should have called you yesterday"
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
Further:
Patient: I am already dead. This is my ghost speaking.
|
|
|
|
|
I think I have submitted this one but here it is
Man goes into hospital with with a bad leg.
Dr: "That looks bad. Time to go to Surgery."
After surgery, patient asks "How did it go?"
Dr: "I have some bad news and some good news."
Patient: "What's the good news?"
Dr: "The leg is getting better."
Patient: What's the bad news?"
Dr: "We cut off the wrong leg."
Grrrr
"A little time, a little trouble, your better day"
Badfinger
|
|
|
|
|
The classic version in Norway goes:
"I have some bad news and some good news for you.
We were supposed to remove your left leg.
But we made a mistake, removing your right leg,
and we had to remove the left leg afterwards.
We are sorry, but you have no legs any more.
But there are some good news:
The guy in the next bed wants to buy your slippers."
Religious freedom is the freedom to say that two plus two make five.
|
|
|
|
|
lol
"A little time, a little trouble, your better day"
Badfinger
|
|
|
|
|
The doctor gave me six months to live. I didn't pay him, so he gave me another six months.
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
|
|
|
|
|
Rodney Dangerfield?
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
I don't remember where I first heard it, but it isn't original with me.
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
|
|
|
|