3 ms·
I find an interesting contrast between Niklaus Wirth and Bjarne Stroustrup. Wirth made a bunch of languages that were based on the "right" way to do things: Pa
by RcouF1uZ4gsC 8y ago
I find an interesting contrast between Niklaus Wirth and Bjarne Stroustrup.
Wirth made a bunch of languages that were based on the "right" way to do things: Pascal, Modula, Modula-2, Oberon. The languages either were used and became massively fragmented (see Pascal) or were not used much. Other than Borland (Turbo Pascal and Delphi) no other large company really embraced any of the Wirth languages.
Stroustrup, on the other hand, was more pragmatic, and released a language aimed at professional programmers. In addition, instead of creating new languages, he has spent decades evolving C++. As a result, C++ has been in the top 5 of most used programming languages for years (decades?) and forms the critical infrastructure of many of the largest tech companies. In addition, I bet the evolution between C with Classes, and C++17 is pretty comparable in scope to that between Pascal and Oberon.
- informatimago 8y agoApple embraced it, and used Pascal to write the LISA OS and the Mac ToolBox (not the MacOS "kernel" which was written in assembler for speed and memory optimization). Until they switched to OpenStep and Objective-C. PalmOS was also basically a simplified clone of MacOS; I don't know if it was itself written in Pascal, but it kept the same internal Pascal data structures IIRC.
- robotresearcher 8y agoApple was into Pascal through the Apple II, Lisa and early Mac.
- huhtenberg 8y agoMicrosoft was too as evidenced by __stdcall calling convention used in Windows API. [1] https://en.wikipedia.org/wiki/X86_calling_conventions#stdcall https://en.wikipedia.org/wiki/X86_calling_conventions#stdcal...
- lboasso 8y agoGo was heavily influenced by Oberon, in fact Robert Griesemer is a former Wirth's PhD.
- leibwiht 8y agoI have to ask - does anyone actually use half of the C++ features? Exactly how much of C++'s 1600-page specification can be attributed to its success?
- jcelerier 8y ago> I have to ask - does anyone actually use half of the C++ features? Exactly how much of C++'s 1600-page specification can be attributed to its success? do you also use all the classes of Python or Java's standard library ? C++17's spec is ~1400 pages (http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4713.pdf http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n471...) but the actual language spec stops at page 406, the remaining 1000 pages are the specifications for the standard library. And in these 400 pages of specs, there are a lot of examples, grammars... just look at the chapter on templates: it's ~80 pages but more than half are valid & invalid code examples.
- tonyedgecombe 8y agoDoes anybody even understand half of it?
- huhtenberg 8y agoI don't know half of it half as well as I should like; and I like less than half of it half as well as it deserves. -- B.B.
- vfclists 8y agoC++ only still exists because by the time every software developer and their dog had realized that C++ was the wrong way to go it was too late.
- maxxxxx 8y agoThat's a very cheap way to dismiss C++. I think it's more that Stroustroup has the ability to develop a decent language, promote it, make it usable for real-world use and improve it long term. I would say Linus is in the same category. Despite all his antics he knows how to push a project forward while still keeping his old users. Both have a very good combination of vision and pragmatism.
- huhtenberg 8y agoOP's remark was a sarcasm.
- maxxxxx 8y agoReally? I guess I have heard this too often said seriously to detect sarcasm there.
- pjmlp 8y agoWhile I agree with you, and enjoy following Bjarne, the rise of VMs and scripting languages helped keeping C++ around. Had Java and .NET do the proper thing, by following up on Oberon, Modula-3 and Eiffel, by having proper AOT compilation since day one, and on Java's case value types as well, developers would feel less pressured to turn to C and C++. Basically if they had been released the same way Go was.