12 ms·
> You need a VERY good reason to use anything except TypeScript/C#/Java/Golang/Python/React/Vue/Postgres/MySQL/SQL server/Oracle. Perhaps Rust. These technologi
by Test0129 4y ago
> You need a VERY good reason to use anything except TypeScript/C#/Java/Golang/Python/React/Vue/Postgres/MySQL/SQL server/Oracle. Perhaps Rust. These technologies are good enough to get almost anything done these days. There's exceptions of course for example games tend to written in C++ and embedded is often C.
I'm not sure what you're suggesting.
Are we expected to rewrite everything every decade when a new flavor of language comes out?
It seems like, with the exception of Rust, you've named a lot of "lowest common denominator" languages. These languages, while productive, tend to lack expressiveness. It is my opinion that expressiveness is seen as a bad thing in the "professional" community because it takes significant cerebral evolution over the course of a career to learn which tool in the toolbox to use. In other words since the explosion of programming as a career there are more idiots in the proverbial gene pool, and so more companies prefer more idiot-proof languages because the average developer can't help but hurt themselves. This doesn't mean we should prefer "new safe technologies", it means our recruiting should far more stringent and our education far more formal (as in an actual useful programming degree).
I for one would quit if I could program, for example, common lisp and make even 3/4 of my current salary.
Here's, in my opinion, a better and less controversial hot take. Use what works. If you have a team of erlang developers do it in erlang (or whatever). Who cares about the market. If it means spending even more time (and money) learning to write another more popular language correctly it may not be worth the investment. If you build it, they will come. You will have no problem finding an endless stream of developers you can build from the ground up.
As a side note: Kotlin, Ruby, and F# are extremely popular. TIOBE is not a real measure.
- scarface74 4y ago> If you have a team of erlang developers do it in erlang (or whatever). Who cares about the market As an IC, I care about the market. I go to work exclusively to exchange my labor for money to support my addiction to food and shelter. When it was time to change jobs as your bog standard enterprise dev, it was much easier to throw my resume in the air and get a job offer by being an experienced C# developer than it would have been if I had spent three years writing software in Erlang. And most job interviews outside of tech companies where most developers work are not going to be language agnostic nor are they going to have you reversing binary trees on the whiteboard while juggling bowling balls and riding a unicycle on a tightrope. As a reformed former dev lead, why would I hire an Erlang developer when I could throw a rock and hit a good enough C#/Java JavaScript/React developer to push out some CRUD SaaS app or line of business app?
- brigandish 4y agoBecause the average Erlang developer is probably a better developer than the average in those languages and still quite capable of writing in any of those languages, at least with a little study and practice. Are we really to believe that the average Javascript developer is going to be able to be dropped in an Erlang shop (or any of the other "weird" languages) and be productive any time soon?
- scarface74 4y agoThe “language” is the easy part. Every language has an ecosystem around it and foot guns and best practices and frameworks. Take C# for instance, sure the language is decently easy. But, the first and third party frameworks around it are huge. I’m sure I could (re)learn Java that I haven’t touched since shortly after it was first introduced in the 90s in a few weeks. That doesn’t mean I would be a competent Android developer. The average JavaScript developer would be an idiot to ever step foot in Erlang shop if he knew what was good for his career. My resume was sacrosanct when I was in the enterprise dev world until mid 2020. Why would I reduce my optionality by not using the most marketable technologies?
- wiseowise 4y ago> That doesn’t mean I would be a competent Android developer. Sure you will. There’s no “Android developer”, there’s Java/Kotlin developer who uses Android SDK.
- scarface74 4y agoAnd I assure you that someone who needs an Android app written wouldn’t care about your distinction or are you claiming that a Java developer who never wrote an application for Android would be just as effective as one who had? Who would you rather lead the development of your Android app? Someone with no experience with Android or someone with previous experience.
- 4y ago
- neilparikh 4y ago> This doesn't mean we should prefer "new safe technologies", it means our recruiting should far more stringent and our education far more formal (as in an actual useful programming degree). I think the ironic thing here is that these "approved" languages are both less safe and less expressive. Statically typed functional languages like Haskell and OCaml allow much more correct code and reject much more wrong code compared to something like Java or Go. I'd even go as far as to argue that in some ways, Haskell is more expressive than the mainstream dynamic languages (Ruby, Python, JS etc). Now, if your developers are really "idiots" (which to me is a very condescending thing to assume, but that's a different story...), then maybe they won't even be able to get their code to type check in the first place and ship no code at all :)
- kaba0 4y ago> Statically typed functional languages like Haskell and OCaml allow much more correct code and reject much more wrong code In functional code, sure. In a predominantly mutable algorithm, you fight the language more than what you gain, and sometimes, yes, the mutable approach is simpler and easier to reason about. Especially local mutability can be very readable/maintainable.
- neilparikh 4y agoLocal mutability is not particularly difficult in either Haskell or OCaml.