Live data from Hacker News

Because It's Not Fun Enough: why languages fail

bytecode.news

31–40 of 144 posts

Re: Because It's Not Fun Enough: why languages fail

#31
post #18

Earlier quoted context omitted.

> ObjC is still around but feels like legacy to me Yes, it feels like legacy because Apple is making it into legacy. Do you not admit that Apple's actions have a profound effect on the relative adoption of the two languages among Apple developers? I would note that Swift is, like Objective-C, almost nonexistent outside of the Apple ecosystem, even though cross-platform use is possible. Developers who are deliberately…

And yes, you're absolutely right. Apple is making a choice here, and they absolutely have impact on what the developers "get to use" - much as .Net succeeds largely to vendor choices on Windows, too. And developers get to suck it up! That's the three axis thing again: vocation, art, job. Swift and .Net both got a huge kick from the "job" department. That's how it goes.

> That's the three axis thing again: vocation, art, job. Swift and .Net both got a huge kick from the "job" department.

Granted, Swift got a huge kick from the job department, but what you wrote said a lot more than that:

> A language that makes life hard will not survive past the moment it can be replaced.

> Objective-C was awkward as both art and job, and it thrived for fifteen years because it was the only door into the most lucrative developer ecosystem ever built; the moment Swift existed, it evaporated and now survives as a shadow, preserved in its descendant.

Apparently you're admitting now that "the moment" is a gross exaggeration. You're also admitting that the "art" aspect is controversial, a matter of personal opinions that vary. I'm not sure why you claimed that Objective-C was "awkward as... job" even before Swift existed?

Re: Because It's Not Fun Enough: why languages fail

#32
post #3

> For the person who only wants the notes, the sampler wins the job outright, completely. It will never play the wrong thing or at the wrong moment. For the person playing, it fails, because driving it costs more than playing, and it never touches the art at all. This entire essay could be about AI adoption as well. Some programmers love to program, and while AI is great at producing the code, it doesn’t really visce…

[deleted]

Re: Because It's Not Fun Enough: why languages fail

#33
post #29

Earlier quoted context omitted.

[flagged]

I think the more appropriate analogy is there's more to a drill than the drill. When you buy a Milwaukee drill, because it shares a battery with other Milwaukee parts, it's easier to buy more Milwaukee tools. So it helps to choose a drill brand with the ecosystem you like, not just one that's a serviceable drill. (Or you could argue that a language's ecosystem is part of the dang language. Which I agree with).

Fair points, but those preferences seem more grounded in reality than the abstract reasons people say they love a language beyond its interface

Re: Because It's Not Fun Enough: why languages fail

#34
post #25

I tried to read this with an open mind but the premise of the article is so reductive I gave up quickly. There’s a whole plethora of reasons a language might fall in or out of favour. From ecosystem lock in (eg Objective-C was mandatory for Apple development prior to swift and Visual Basic was ostensibly killed by Microsoft during the dot net upsell) to fragmentation in the community (eg Perl vs Raku). These don’t me…

Perl is still in every Linux. I just checked one of my Oracle installs and there are 725 .pl files.

So it seems that is it still relevant.

Re: Because It's Not Fun Enough: why languages fail

#35

There's more to a language than the syntax. The libraries, tools, and the ecosystem of developers, documentation, support, etc. are much more important. There are quite a few academic languages that are interesting to people that never really gain much traction because the people behind them just never commit to proper ecosystem building. Switching languages is a big time commitment. Or at least it used to be. I find…

[flagged]

Comparing a languages syntax to a saw blade is a bad analogy. A saw is a complete tool. Syntax is more like the teeth on the saw blade. The quality of the saw is not just about the teeth. It's also about the size and spacing of those teeth, the strength of the blade those teeth are on, the shape of the saw blade itself, the hardness of the metal, as well as the shape of the handle.

If you are just building a table then hopefully you are not trying to do the whole thing with a keyhole saw.

Re: Because It's Not Fun Enough: why languages fail

#36
The stewardship and economics of the language can also be the issue. I started coding in the 80's and so web development for me evolved at the inception of the field. I will go to my grave insisting that Coldfusion was a better platform than PHP, but it was always commercial with a financial barrier to entry. PHP being free led to a glut of PHP developers, low-cost hosting, and an enormous ecosystem that ultimately redirected the course of the early web.

Re: Because It's Not Fun Enough: why languages fail

#37
post #8

It's ridiculous to call Objective-C "a false start". 1) Objective-C is 40 years old. 2) Objective-C was used to create NeXTSTEP and by extension Mac OS X and iOS. 3) Objective-C is no more "awkward" than any other programming language. I actually prefer its verbosity to Swift's terseness. 4) Although Swift did eventually become more popular, the claim about Objective-C that "the moment Swift existed, it evaporated" i…

OP here: Fair. Yet I'd say that it's relatively rare (while being completely absent in my experience) that anyone would choose ObjC today - and the article even mentions Pascal as a stronger example of the model you use with ObjC. ObjC survives today, as does Pascal, but its strongest impact is through influence, just as with Pascal. And languages being awkward is entirely a personal opinion, agreed. You might think…

ObjC "failed" because it was locked inside the Apple ecosystem, and Apple made no serious effort to change that. Ref counting aside, I thought it was a wonderful fun language. But it was always platform specific in a way that other languages aren't.

Compare with C++ which is widely hated, not because it's virtuosic - it really isn't - but because it's a bug-prone incoherent pile of archaeological standards and object bureaucracy, and most users only work with their own personally curated subset of it.

It's true some people like C++. It's widely used because it runs very, very fast, and trades that for slow compile times.

But some people also like jumping off mountains and trying not to hit the sides. I'm sure it's quite a rush on the way down. But not ideal as a daily commute.

Re: Because It's Not Fun Enough: why languages fail

#38
I'm calling bull on this. Learning languages, at certain points, is always tedious. Whether that language is a computer language, or something like Greek, there comes a moment where "trudging" begins. The reason a person "trudges" is that they have a goal in mind that makes the trudging something to endure until that goal is achieved. Fun comes from not having to solve the same problem sixty times, or having to sort through a million files by hand when a program can do it in 3 seconds.

Re: Because It's Not Fun Enough: why languages fail

#39
post #17

Yes to all that but still, my pet theory is that languages rise on one or two "killer features" that move the entire industry forward, and not the overall cuteness or lovability. I can suggest a list of one killer feature per each popular language, i.e. things that these languages were the first to introduce and influence many successors: C: extreme conciseness C++: implicit destructors / RAII Python: removed curly b…

Except for PHP I don't think that's a very fitting list. C for example, is not really a concise language, not even for its time - APL is much more concise. C is rather verbose.

Likewise, Python is not the first language without braces - and it debuted before braces became the industry standard. I guess ISWIM or ABC are the first to have syntactic whitespace.

Really, you will always find an earlier example for a "killer feature", at least in an academic context - in the case of your list, usually in the 1960s, in the 1970s at the latest.

Re: Because It's Not Fun Enough: why languages fail

#40
post #17

Yes to all that but still, my pet theory is that languages rise on one or two "killer features" that move the entire industry forward, and not the overall cuteness or lovability. I can suggest a list of one killer feature per each popular language, i.e. things that these languages were the first to introduce and influence many successors: C: extreme conciseness C++: implicit destructors / RAII Python: removed curly b…

I believe JavaScript's was running in the web where Java could not (iPhones) or was considered too heavyweight (no startup). Then it became the true extremely portable language, because developers wanted a single language to write webapps in, and it was easier to get JavaScript running on their server than a new language running on every browser.

Javascript didn't need a plugin, unlike Java, and could directly alter the page contents. One of the first heavy uses was Google Maps, interactive JS-based applications took off at that point. Then with an army of web developers (meaning in browser), Node took off when it handed them a way to work on the backend in the same language.

The iPhone came out after JS heavy pages came into existence, and might have accelerated the end of Flash and Java applets but the trend was already there.

Post reply on HN