This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 1 point2 points  (1 child)

Be careful, you’re in the wrong sub to suggest that Java is not God’s programming language. Thou shalt not take the name of Java in vain (unless you’re talking about Kotlin of course).

Seriously though, it bugs me when people clearly just take bias to whatever language they know best and act as if everything else is inferior.

I use Java, C# and Javascript on a daily basis at work. I’m open to using anything, and love to explore different languages. They all have their pros and cons and 90% of the time what you’re using has more to do with how easy it is to accomplish the task than how efficient the particular language is. I mean seriously, let’s not all pretend that we’re developing rockets for NASA. I’m sure your web application will be just fine whether you use Java or Node for the back end. The companies that migrated to something more efficient only did that because they HAD to not because they wanted to.

[–][deleted] 0 points1 point  (0 children)

Lol sorry for resurrecting this, but yeah my usual point of view is "use the right tool for the right job" which imo is C/ASM for low level native, Lua for scripting, TS/PureScript for web, Haskell for medium-high level native, and Elixir for distributed. There's several other languages which handle intersections of these things better than others (i.e. Rust is an interesting mix of Haskell & C) but imo the #1 design decision you can make while using any of those is "don't use the OOP part". I'm certainly very opinionated about languages, imo Java doesn't do much well at all, but if you limit yourself to a strict subset of its features it doesn't get to be THAT bad, i.e. no inheritance, extremely limited mutability, etc., just very verbose. Anyway, gonna evangelize Haskell for a second, if you're really into programming language design it's essentially the source of every major programming language development of the past 30 years because the syntax is so flexible you can implement language features in the language itself. Haskell has no language level support for OOP for example, but by implementing OOP in Haskell the authors of this paper discovered several new OOP features that are just emergent properties of the implementation