Earlier quoted context omitted.
I don't think C++ succeeded because it was object-oriented. I think C++ was object-oriented because classes were an abstraction that could layer on top of C with fairly low overhead, giving it more expressive power without much mandatory cost to size or speed. In other words, object-orientation was the means, not the end.
Back then OOP was all the hype and inheritance was cool.
Because It's Not Fun Enough: why languages fail
71–80 of 146 posts
Re: Because It's Not Fun Enough: why languages fail
#72Earlier quoted context omitted.
I often hear about lisp but never actually figured out what tooling you need Is it interpreted or compiled language? Why should I use it instead of any other languages?
"Lisp" refers to several different languages in the same family, which contributes to the confusion. Perhaps the default choice is Common Lisp which itself is specified in an ANSI standard and has several competing implementations. Some are compiled, some are interpreted. Arguably the best is SBCL, which has a mature compiler and garbage collection. If you lean on implementation-specific features you can produce extr…
and then use JUnit or TestNG in Java, or similar features in other languages. Which you can automatically run, including showing code coverage, both with a button in your IDE and as part of the CI/CD process when you commit.
Re: Because It's Not Fun Enough: why languages fail
#73Earlier quoted context omitted.
I wrote that it was awkward because IMO it was. That is indeed "my opinion" - I found the language it used to express concepts far more useful than the language itself, and found myself writing C++ far more often than ever wanting to write ObjC.
It's unclear whether your last comment is talking about the art or the job axis, the latter of which I just asked about. I certainly don't see how using C++ would be less awkward on the job for developers than ObjC when the job was primarily calling ObjC system API.
Re: Because It's Not Fun Enough: why languages fail
#74There'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…
Re: Because It's Not Fun Enough: why languages fail
#75Feels like someone hasn't spent much time in the enterprise. Java is still doing pretty good in that space
Re: Because It's Not Fun Enough: why languages fail
#76I'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…
Hmm. I find learning fun, no matter what the scope is - even Greek, which remains obscure to me. (Quick, ask me something about Greek! I'll nod wisely and stroke my chin in deep thought and then get distracted and wander elsewhere.) But you're not wrong: there's a fun discovery phase, then a "hey, does this actually work" phase, and then a "crap, I need to figure out how to MAKE it work" phase, all of which are decis…
Easiness is fun because it enables more messing around and learning. Not having to solve a problem is not fun, because problems are learning opportunities and are fun, unless they're just trivial obstructions in the way of the real problems of interest.
Re: Because It's Not Fun Enough: why languages fail
#77Earlier quoted context omitted.
Hmm. I find learning fun, no matter what the scope is - even Greek, which remains obscure to me. (Quick, ask me something about Greek! I'll nod wisely and stroke my chin in deep thought and then get distracted and wander elsewhere.) But you're not wrong: there's a fun discovery phase, then a "hey, does this actually work" phase, and then a "crap, I need to figure out how to MAKE it work" phase, all of which are decis…
It totally depends whether you're still experimenting and learning or not, which is totally circumstantial. Sometimes I slog through things at the start, on the promise that they will start to be fun once I see the point. Easiness is fun because it enables more messing around and learning. Not having to solve a problem is not fun, because problems are learning opportunities and are fun, unless they're just trivial ob…
(And is why I know COBOL today, although I'm probably stronger on COBOL-77 than COBOL-85, when I STARTED COBOL after COBOL-85 was a thing.)
Re: Because It's Not Fun Enough: why languages fail
#78Earlier quoted context omitted.
Fair points, but those preferences seem more grounded in reality than the abstract reasons people say they love a language beyond its interface
Libraries and frameworks and package management absolutely matter. They're not some abstract thing, they could be the difference between something being done in 6 months or in 2 years. Why do you think people put up with Spring?
I consider npm to be part of "the interface of JavaScript" and to your point it's one of the strongest reasons beyond performance to use Node over some other dynamic language like Ruby or PHP.
Python earned its keep mainly because of its library ecosystem (again to your point) but also due to its simple, teachable syntax.
My point is that Python is not used because it's highly performant - it's basically the slowest language there is. But because people like the syntax and the library ecosystem (AKA the interface to the language)
Re: Because It's Not Fun Enough: why languages fail
#79Earlier quoted context omitted.
"Lisp" refers to several different languages in the same family, which contributes to the confusion. Perhaps the default choice is Common Lisp which itself is specified in an ANSI standard and has several competing implementations. Some are compiled, some are interpreted. Arguably the best is SBCL, which has a mature compiler and garbage collection. If you lean on implementation-specific features you can produce extr…
> You can write the application function by function ... and then use JUnit or TestNG in Java, or similar features in other languages. Which you can automatically run, including showing code coverage, both with a button in your IDE and as part of the CI/CD process when you commit.
If you've already thought out the whole program before you start writing it, that may not be as valuable. In my experience, software often isn't that way and the ease of exploration a REPL and long-running process provide are unmatched.
Re: Because It's Not Fun Enough: why languages fail
#80Earlier quoted context omitted.
[flagged]
So 2 languages are the same if they have the same syntax but 1 is interpreted, and not safe, whereas the other is compiled and safe? Where one has a large library and runs on many platforms, and the other doesn't? Where one behaves like PHP with respect to equality, and the other doesn't? The closer metaphor is the handle. A saw handle may be ergonomic, that doesn't mean the quality of the blade is good, or even suit…
Best rebuttal here - yeah didn't think of that obvious one!
I had a larger point about language idealism / putting code on a pedestal vs getting the job done but yeah, this crowd can't handle that lmao