PlainOldCee, often called a high-level assembly language, is the root from which most commercially-successful modern languages descend. It simulated strong typing reasonably well, was reasonably efficient across a reasonably wide range of platforms and systems, and yet allowed the creative programmer enough freedom to stretch it beyond the limits envisioned by its creators.
Its chief descendent,
CeePlusPlus, contains most of its semantics and syntax. In fact, most successful
CeePlusPlus applications, in my experience, result from simply avoiding the object oriented "extensions" to
PlainOldCee and writing good, tight,
PlainOldCee code.
--
TomStambaugh
Hear, hear! What he said.
My son is taking
ComputerScience, and his current class endeavors to teach
CeePlusPlus without first getting grounded in
PlainOldCee.
So his first "hello world" uses
cout << rather than
printf(). I guess printf() is too complicated.
Hell in a hand basket. Doomed (doomed). End of the world as we know it (tm). Kids nowadays.
--
GarryHamilton
Do I hear a YorkshiremanSketch brewing? -- another OldFart
"It's the End Of The World as we know it...(and I feel fine)"
- printf? printf? 'Tis for wimps. I remember doing I/O the old fashioned way -- putting the pointer to the buffer in the right register and trapping to INT 13. And if you wanted to print a number, you had to convert it to text yourself!
- Oh, yeah? BIOS is for weenies. I remember having to manually program the hardware myself. And formatting numbers! We didn't have a DIV instruction when I cut my teeth, so I had to do long division by hand. In assembly language. On a machine whose entire main memory would fit inside a cache line on a modern CPU!
- CPU?!? CPU?!? Why, in my day we had to use one-time PGAs to simulate microprocessors! And none of this 3nS gate-to-gate rocket ship action, nosireebob! We used 40nS parts because that's what was available. And if you made one mistake, your "processor" PGA was toast! We lost many a good programmable hardware man to budget issues, let me tell you.
My rocket club does most of its work in
PlainOldCee, probably because of all the embedded
RealTime work involved. Our simulator is written in
CeePlusPlus, but only because the originator knew that language professionally. The rest of us don't want to touch it with a ten foot pole. (We wrote the telemetry viewer in Java and some do some prototyping in Haskell.) --
IanOsgood
PlainOldCee has two things going for it - simplicity and speed. It's a nice, compact, easy-to-learn language. It is also quite possibly the single most dangerous programming tool that most coders will ever handle. Despite the fact that the IOStream is the canonical example of silly operator overloading in
CeePlusPlus, there are legitimate reasons to use the
CeePlusPlus constructs - primarily safety. Can you say "Buffer Overrun?"
- Personally, I'm of the opinion that << and >> are best used for I/O; bit-shifting should get a library function rather than an operator. :)
CategoryCee CeeLanguage