|
I never thought about it before.
Mostly, I liked that C allowed me to do anything I wanted to do (and occasionally, things I didn't want to do - especially in the beginning (early on for you UK types) ). This passed into history with Windows NT.
It was just so much fun.
Ravings en masse^ |
---|
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "If you are searching for perfection in others, then you seek disappointment. If you seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
Puts me in mind of a thing I managed when I was younger - I am guessing 9 or 10.
We are in the real beginning, just after all the nonsense with punched cards and ticker tape, there was a micro-computer called a NewBrain Link to a WikiPedia page with right picture and lots of text I couldn't be bothered to check for accuracy. It was a really good piece of kit for the discerning geek. My father who was a physicist, was given one by his university, mainly to stop him annoying the Computer Sciences department with dodgy fortran code and keep him safely in his lab. Obviously he brought it home and equally obviously I taught myself to program on it.
I chose to create breakout - it was black and white, with very basic sound but looked good and was really quite fast. I'd made one mistake. I hadn't thought to detect a ball leaving through the top of the screen. This was where the real fun started. The NewBrain plugged into a monitor and you could use more memory for the screen if your screen had more resolution. So all the memory was accessible to my ball. The effects were highly educational as it bounced around destroying its host. At one point it flew back out the top of the screen bounced around a bit and eventually disappeared again out the top. Slowly the screen was obliterated in increasingly weirder and weirder complaints from the machine.
(for those still awake and interested - Switching it off and on again did fix it )
|
|
|
|
|
Where, in a language that limits you to one thread and one core?!
|
|
|
|
|
Yeah, I had that reaction too .
The functional crowd (Haskell, etc) like to claim it, but I've never heard of a process control or data acquisition application with real-time constraints being implemented in a functional language.
Software Zen: delete this;
|
|
|
|
|
I'm not even sure this is possible in all cases. In fact, I'm pretty sure it's not possible.
|
|
|
|
|
"What? Where does that exist?" was my thought, too.
When Microsoft came up with their "Task"s, that made the impression that it could make working with Threads easier. But the concept of "thread safety" was totally forgotten - e.g. there is no consistent information on the usability of "Monitor.Enter" (or its short form "lock") with Tasks...
Oh sanctissimi Wilhelmus, Theodorus, et Fredericus!
|
|
|
|
|
I couldn't check "Macros" because many of their uses in C++ are abominations. But I would have checked "Generics" or "Templates".
|
|
|
|
|
Is it any wonder that I'm mainly a C / C++ developer? And that my gripe with C++/11 and beyond is the increased syntax complexity?
GCS d--(d+) s-/++ a C++++ U+++ P- L+@ E-- W++ N+ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++* Weapons extension: ma- k++ F+2 X
|
|
|
|
|
I like C++11, though I don't use all of it. But beyond that, there's very little that interests me.
EDIT: Actually, I don't use that much C++11 either. But I wouldn't want to give up unique_ptr .
modified 4-Jan-21 6:58am.
|
|
|
|
|
Oh the additions are great, I gripe mostly with the overuse of lambda functions where unneeded. Their syntax is also unforgiving, it overloads almost every single symbol of the language and combine it in a non intuitive sequence.
unique_ptr and shared_ptr are freaking great.
GCS d--(d+) s-/++ a C++++ U+++ P- L+@ E-- W++ N+ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++* Weapons extension: ma- k++ F+2 X
|
|
|
|
|
Maybe your point explains why, no matter how much they "enhance" C++ and accessorize C#, plain vanilla "C" still stays around and maintains popularity.
When I retire I'll return to my roots.
Ravings en masse^ |
---|
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "If you are searching for perfection in others, then you seek disappointment. If you seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
I'm largely with @Daniel-Pfeffer on this, although I also voted for simplicity in the syntax.
A lot of the other stuff is "fluff" that can make the coding journey a bit easier and Speed/Efficiency isn't always required and we may not want to sacrifice readability to acquire it.
Isn't this why we choose "horses for courses" - the appropriate language for the task we are addressing
|
|
|
|
|
It isnt only make the coding easier, but avoids bunches of errors. For instance in Swift you have strong typing and nullability from the compiler and so such errors occur very rarely. The speed off the apps are so good that it isnt an issue.
"Speed" also means development speed. Ask your managers and accountants for the reason
Press F1 for help or google it.
Greetings from Germany
|
|
|
|
|
Quote: Ask your managers and accountants for the reason The last time I asked a question like that much of our development work was "off-shore" and it was apparently cheaper to have the work done off-shore and tested in-house ... despite this being a (felt like an infinite) loop of passing the code back and forth for weeks on end. Often the code didn't even compile never mind actually work. So "speed of development" needs to be "speed of development to completion" for me
|
|
|
|
|
Yes, normally there is a budget to do things. Waisting money for crap is never a good idea.
Press F1 for help or google it.
Greetings from Germany
|
|
|
|
|
KarstenK wrote: Ask your managers and accountants for the reason That, my friend, is a real rookie mistake.
Ravings en masse^ |
---|
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "If you are searching for perfection in others, then you seek disappointment. If you seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
maybe you understood the "secret message" more than the obvious one
Press F1 for help or google it.
Greetings from Germany
|
|
|
|
|
The most important attribute of a language is that it allow the programmer to specify a program concisely and unambiguously, while allowing for future maintenance. This disqualifies languages such as APL.
An essential attribute for large projects is separate compilation & linkage, which allow more than one person to work on the code base.
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
|
|
|
|
|
Daniel Pfeffer wrote: it allow the programmer to specify a program concisely and unambiguously, while allowing for future maintenance.
I would say that is the most important attribute of a programmer, regardless of language.
|
|
|
|
|
Marc Clifton wrote: I would say that is the most important attribute of a programmer
That, too. However, the tools are also important. "Write-only" languages such as APL do not lend themselves to maintenance; it is usually cheaper to just rewrite the program.
This works very well for code snippets, not so well for e.g. the SABRE airline ticket ordering system...
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
|
|
|
|
|
Daniel Pfeffer wrote: "Write-only" languages such as APL ... and write-only language features like regular expressions. @CodeWitch and I got into a discussion about that the other day.
Software Zen: delete this;
|
|
|
|