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."
Thread beginning with comment 548845
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[2]: It does NOT mention C#
by hhas on Tue 15th Jan 2013 11:59 UTC in reply to "RE: It does NOT mention C#"
hhas
Member since:
2006-11-28

I'm with you on everything except Objective-C -- what's wrong with it in your estimation?

To me it's a winner: all the benefits of C, combined with an object-orientation system with a simple, smalltalk-like syntax and dynamic dispatch.


All the drawbacks of C too, unfortunately.

I really wish Apple would take Cyclone (http://cyclone.thelanguage.org/), which is basically C done right, lash it to their existing OO mechanism, and call it Objective-C 3.0. It wouldn't be perfect (e.g. error handling would still suck), but it'd address [Obj]-C's single biggest weakness (safety) and with luck help drive the wider adoption of 'safe C' dialects on other platforms too (something long overdue).

Reply Parent Score: 3

RE[3]: It does NOT mention C#
by Hypnos on Tue 15th Jan 2013 12:21 in reply to "RE[2]: It does NOT mention C#"
Hypnos Member since:
2008-11-19

Can Cyclone compile ANSI C code? If not, I don't think it will ever gain traction, so would not be worth including in a new Obj-C.

The beauty of Obj-C is that you have standard C (with all of its warts), plus an elegant OO system that includes all the niceties of a modern OO language. This gives you one toolchain for the entire OS stack, from kernel up to web services.

Reply Parent Score: 2

RE[4]: It does NOT mention C#
by hhas on Tue 15th Jan 2013 13:49 in reply to "RE[3]: It does NOT mention C#"
hhas Member since:
2006-11-28

Can Cyclone compile ANSI C code? If not, I don't think it will ever gain traction, so would not be worth including in a new Obj-C.


I think that would depend on the particular piece of code. The following might help:

http://cyclone.thelanguage.org/wiki/Cyclone%20for%20C%2...

OTOH, Cyclone already has an 'extern "C"' feature for interfacing to C code, so it wouldn't be a big leap to extend that to Obj-C 2.0, which could be kept around for as long as needed. There's also the option of cross-compiling - I suspect with backing from the likes of Apple and LLVM it wouldn't take long for big improvements to appear there. The 'Porting C code to Cyclone' section of the Cyclone user manual has more info:

http://cyclone.thelanguage.org/wiki/User%20Manual/

Really, at age 40-something it's long past time C grew up and stopped behaving like a sloppy, stroppy teenager. The question is, who has the motivation to drag it up by its bootstraps? MS has no need to do so since it's already invested in C# and C++. The Linux world won't push it forward either, since it's even more sloppy and stroppy than C is.

The only real hope (for better or worse) is Apple, since C remains a foundation stone of their whole platform and therefore developer community, so as more (often less skilled) developers take up Cocoa development, the more of a liability C's flaws become. To their credit they have been trying to modernize the Obj-C language a bit, but so far the front-of-house changes are just nibbling at the edges. OTOH, now the move to LLVM is done, they're in a much stronger position to aggressively innovate.

Remember, Apple have pulled this sort of trick off before, in the transition from 'Mac' OS 9 to 'Mac' OS X. It'd be nice to see Apple demonstrate the same sort of boldness in their tool chain that they've shown in their hardware design and supply chain to such great success.

The beauty of Obj-C is that you have standard C (with all of its warts), plus an elegant OO system that includes all the niceties of a modern OO language.


Personally I really wish Dylan had worked out - it had a far more powerful and elegant OO model than ObjC/Smalltalk. Infinitely better macro system than [Obj]C too. <wistful-sigh>


This gives you one toolchain for the entire OS stack, from kernel up to web services.


OTOH, even Unix Philosophy says it's better to have a compliment of dedicated tools that play well together than a single Swiss-army tool that tries to do it all. And OS X is nothing if not opportunist, happy to integrate whatever works.

Reply Parent Score: 3