Linked by Thom Holwerda on Mon 14th Jan 2013 23:15 UTC, submitted by MOS6510
General Development "Programming languages are living phenomena: They're born, the lucky ones that don't die in infancy live sometimes long, fruitful lives, and then inevitably enter a period of decline. Unlike real life, the decline can last many, many years as the presence of large legacy codebases means practiced hands must tend the code for decades. The more popular the language once was, the longer this period of decline will be."
Permalink for comment 548956
To read all comments associated with this story, please click here.
RE[5]: It does NOT mention C#
by Hypnos on Wed 16th Jan 2013 02:58 UTC in reply to "RE[4]: It does NOT mention C#"
Member since:

Your comment has a number of interesting points; I'll try to respond:

1) There's so much C code, and C retains such popularity, that porting is a non-starter IMHO. However, 'extern "C"' could work if perchance Cyclone were to catch on. But, as discussed on OSNews and elsewhere, "good enough" with inertia behind it is far more powerful than "better" without inertia. Even withing Apple, it's such a huge company now, their current toolchain has a lot of momentum, and there's no Steve Jobs anymore to impose big changes of direction.

2) Whether Dylan has a more elegant OO model than Smalltalk is a matter of taste. On a practical level, what can macros do that Obj-C categories cannot?

3) To "play well together" in the Unix philosophy means to have a simple common data format, the text file/stream. When it comes to system programming interfaces in Unix, this means SysV-like APIs in C. Most crusty old Unix types prefer to just code in C rather than have multiple language bindings and a more complex software stack; Obj-C is a viable compromise to many since it retains the "virtues" of C while including a usable OO model.

It seems to me there are two design questions here: (a) whether C is worth continuing to use as a systems programming language and (b) what should the higher levels of the toolchain look like -- many languages (hopefully with a common runtime, e.g. LLVM) or just one tool like Obj-C?

Reply Parent Score: 3