Earlier quoted context omitted.
Also, since I tend to loop back: yes, "fun" is subjective, and your points about Objective C and Pascal were actually mentioned directly in the footnotes, including the "false start" nomenclature, which came from Oram, not me, and I mentioned COBOL's specific remaining survival directly as well. Comments are always appreciated, of course, but they're best when they actually address the article they're commenting on i…
Maybe you shouldn’t open with such provocative statements if you are already aware they’re not fair? Posting flamebate and expecting people to read until the footnotes isn’t going to get you favourable feedback.
Because It's Not Fun Enough: why languages fail
131–140 of 145 posts
Re: Because It's Not Fun Enough: why languages fail
#132Earlier quoted context omitted.
C++ succeeded because it was Object Oriented, people didn't start talking about RAII as C++ killer feature until years later python succeeded because it wasn't Perl's TMTOWTDI, everyone expected ruby to overtake python, but .. for some reason that never happened swift succeeded because apple pushed it to replace objective c, that if you consider swift succeeded anyway, i agree with your premise, languages need one ke…
> python succeeded because it wasn't Perl's TMTOWTDI, everyone expected ruby to overtake python, but .. for some reason that never happened Ruby allows (and to some extent encourages) unreasonable code. It's not bad code (and in some cases extremely elegant), but it's code you can't reason about. Being able to open any class (or object) and add new methods to it makes tracking how execution works extremely difficult.…
Aka you have to be (more) disciplined within the constraints of the browser.
I'm not saying JS was good...
The lesson here being, complete freedom is fine, as long as you are also able and willing to implement a strategy to verify your operation, ruby on rails, js in the browser, python PEP or pythonic ways...
Re: Because It's Not Fun Enough: why languages fail
#133Earlier quoted context omitted.
Maybe you shouldn’t open with such provocative statements if you are already aware they’re not fair? Posting flamebate and expecting people to read until the footnotes isn’t going to get you favourable feedback.
It's not flamebait - or "flamebate" - and I don't write "for favorable feedback." Did you not read the article? The author - me - actually means every word of it, including the bits about vocation and joy. Life is not single-dimensional, and neither is knowledge.
I didn’t get as far as the footnotes because the article glossed over so much nuance at the start that it felt like I was reading something from a 20-something fresh out of college. And by your own admission, you have to read to the footnotes to get to the nuance. Maybe it does get better towards the end, but then that’s a failure of the writing if you have to read the first 90% before you finally get to anything insightful.
Plus it’s not just me that disagreed with the premise of the article. Reading the comments afterwards, others have taken away the same thing I had.
I’m sure you’re a competent author and your other submissions demonstrate more thoughtful insights. But unfortunately this one misses the mark. It’s just far too reductive for far too much of the article.
Re: Because It's Not Fun Enough: why languages fail
#134I 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
#135There'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…
But it's the syntax and semantics what determine whether I'd want to use the language to begin with, and how maintainable the resulting code is.
Re: Because It's Not Fun Enough: why languages fail
#136Earlier quoted context omitted.
>I've seen various attempts of this over the years, but quickly your code becomes more complex than the computer can run while you type and you fall back to running most of the tests after in some way. That does not match my experience with lisp.
My last experience with lisp was assignments in college which are too small to count as anything more than a toy problem. For real world code in other languages I've worked with the complexity of the problems demands so much code that the REPL cannot keep up.
Now we disagree, at least in part.
REPL-driven development is in part about incrementalism. You wouldn't run all the complex code every time you want to examine some state or try out an experiment. You would run it once at the start of your session, then compile just the definition you're editing with your editor's equivalent of `compile-defun`.
Of course that breaks if you're making changes that touch a bunch of different areas of your program and require rebuilding all the state, but it's usually a mistake to design programs in a way that would make such an issue frequent.
Re: Because It's Not Fun Enough: why languages fail
#137Earlier quoted context omitted.
Technically 2007, but Go 1.0 was in 2009 when the Windows compiler was finally released, Go from 2007 till 2009 was Linux / Unix first. I don't recall when Mac came, but I would not be surprised if very quickly given that GCC worked just fine on Mac at the time. The Go community made Go work on Windows leading up to 2009, the core maintainers of Go did not make the Windows build themselves, they didn't care about Win…
Haha, try 2013. You were not around then ;) Go 1.0 was released in 2013 (I don't even think the "official date" of March 28, 2012 is correct, or at least, nobody had heard of it). Apple doing Swift and Google doing Go was basically in response to Node.js > but I distinctly remember learning Go on Windows in 2009 and building web apps Very highly doubt it
This is a strange and ahistorical take. Go was heavily discussed in 2009 after it was first announced by Google. It didn't go four years between public announcement in 2009 and people finally learning of it in 2013.
Major themes of discussion in 2009: Does it have generics and if not, why not? How does it compare to Erlang? And why did they reuse the name from this language Go! we all just heard about five minutes ago? https://news.ycombinator.com/item?id=936544 - from the day after the language was publicly revealed.
The first two topics (generics and how it compares to Erlang) are still discussed today, though the former is now mostly complaining that it has generics instead of complaining that it doesn't have generics.
Re: Because It's Not Fun Enough: why languages fail
#138Yes 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…
Swift could be the worst language in the planet and people would still learn it. For considerable amount of time, its compiler used to timeout for many code-bases and people still gritted their teeth and learned it.
Re: Because It's Not Fun Enough: why languages fail
#139Earlier quoted context omitted.
It's not flamebait - or "flamebate" - and I don't write "for favorable feedback." Did you not read the article? The author - me - actually means every word of it, including the bits about vocation and joy. Life is not single-dimensional, and neither is knowledge.
> yes, "fun" is subjective, and your points about Objective C and Pascal were actually mentioned directly in the footnotes, including the "false start" nomenclature I didn’t get as far as the footnotes because the article glossed over so much nuance at the start that it felt like I was reading something from a 20-something fresh out of college. And by your own admission, you have to read to the footnotes to get to th…
I do this weird "tell people stuff up front" thing where I don't like clickbait titles, don't prefer the simple thing to the true thing, use opening paragraphs as actual theses - or close to it. If you read the first paragraph, you got the gist. The footnotes are footnotes because having interspersed aside text isn't convenient to write.
Re: Because It's Not Fun Enough: why languages fail
#140Earlier quoted context omitted.
C++ succeeded because it was Object Oriented, people didn't start talking about RAII as C++ killer feature until years later python succeeded because it wasn't Perl's TMTOWTDI, everyone expected ruby to overtake python, but .. for some reason that never happened swift succeeded because apple pushed it to replace objective c, that if you consider swift succeeded anyway, i agree with your premise, languages need one ke…
C++ succeeded twice. Initially, it provided a thin object-oriented abstraction over C. This solved many problems scaling large C projects. It set baseline expectations for languages that came later. Being a "thin object-oriented abstraction over C" has significant limits. By the 2000s, it was clear that C++ couldn't scale complexity in the way we needed it to. It was slowly dying. C++ reinvented itself as a functiona…
If you were to compare the transformation with another major systems language, or a popular dynamic language, it doesn't feel like the evolution is quite as dramatic as is made out to be?
Rather, the staying power comes from elsewhere, and the language continues to modernize, perhaps at a slower pace than other contemporary languages experiencing similar staying power(s)...