3 ms·
> ObjC added about two dozen keywords to C and was rejected by the masses for use of [] insteqd of (). Syntax matters. It's like the lesson Lisp people just re
by bitwize 1y ago
> ObjC added about two dozen keywords to C and was rejected by the masses for use of [] insteqd of ().
Syntax matters. It's like the lesson Lisp people just refuse to learn: It's the parens, stupid.
One of the complaints people reach for about Scheme is that it has too many implementations. JavaScript has many implementations too: Node, Deno, Bun, all the browser ones, ES5, ES6, TypeScript... hell, at $JOB we actually have code written for Rhino. But people will transpile and polyfill till the cows come home to get the latest features into their struggling IE6 SPA. Scheme, people just shrug their shoulders and give up. Why?
One reason probably is, it's the parens, stupid. The near monopoly advantage that JavaScript enjoys over the browser-application space (and hence, virtually all front-end development) is probably a major factor, but then what about the back end?
I love Objective-C too. It came the closest I've ever seen to writing Smalltalk in an environment where applications are expected to be native and snappy. I've written a video game in it... for Linux. But Apple realized that for many devs, especially those getting onboard iOS development, the brackets would be a sticking point. Hence Swift.
a = foo.bar();
if(!a.frobnitz()) { return nil; }
If your language doesn't look like that, you will have an uphill battle. All successful new programming languages look more or less like this now, with the possible exception of Python. But Python's significant indentation actually helps beginners, data people, and others who don't sprinkle semicolons and curly braces on their Wheaties every morning.
Also, FWIW I don't think GNUstep has switched to Swift yet either, may wish to consider giving that a go.