6 ms·
I too feel there is a generational hype cycle at HN. However, I don't see much in the way of "language N sucks" as a precursor to "everyone should use language
by bhauer 9y ago
I too feel there is a generational hype cycle at HN. However, I don't see much in the way of "language N sucks" as a precursor to "everyone should use language N1!" Maybe I am just blind to the negativity, but in general, what I see with each hype generation is only the positive side: "everyone should use language N1!"
I suspect with any given hype generation—with each trending language—we're going to see a lot of positive messaging as the fans up-vote articles pertaining to the new hotness. Meanwhile, those who disagree (or simply don't care) probably don't see much value in taking the time to evangelize their disagreement. I'm not upvoting Elixir content, but I'm certainly not going to downvote it either. Why should I care if other people enjoy a platform I don't care about? Good for them!
Also, perhaps as everyone is hyping language N1, those who are using N are simply too busy using N and making a living to keep layering on the hype.
- jondubois 9y agoAdding more programming languages just fragments the job market further. That might mean fewer jobs available for other languages and allow software developers less movement between companies. How many times have you seen a job advert and you think oh wow that looks interesting, I'd like to work there... Oh wait, they use X on the backend, I don't have any previous commercial experience with X so damn, I can't join the company. The more programming languages there are, the more often this will happen. The time for creating and promoting new programming languages is over, we have to move forward and work with the languages whose ecosystems have had 20 years to evolve - This is where the real value is. I'm certain that using Elixir over Haskell, Go or even JavaScript/Node.js adds no extra value to any given project... It only restricts the pool of potential job candidates. If you use any programming language for long enough, eventually, you will be very productive with it - The language itself doesn't really matter. Its just a waste because there are already so many languages optimized for the server-side use cases which Elixir aims for and which are already doing a great job.
- klibertp 9y ago> [...] allow software developers less movement between companies. > How many times have you seen a job advert and you think oh wow that looks interesting, I'd like to work there... Oh wait, they use X on the backend, I don't have any previous commercial experience with X so damn, I can't join the company. Wait, just who are you, then? An intern fresh out of high school? Or do your circumstances impair your ability to learn (I hope I'm not being insensitive)? Are you a programmer? I ask because it never happened to me, and I never even heard of something like this from non-junior programmers. If the company I'd like to work at uses a language that I don't know (there's actually pretty decent chance if they use something mainstream) I believe in most cases it would be enough to tell them I'll learn the language in a week and after a month I'll be writing decent quality production code. There is no reason - except if I do bad in the interview, maybe? - to not believe me, as that's generally accepted as a standard timeframe for such things. In my case that's a lie, as I can get started with a language in a matter of hours and start writing production code after a few days - but I admit I'm unusual on this. > I'm certain that using Elixir over Haskell, Go or even JavaScript/Node.js adds no extra value to any given project... Programming languages are being created for a reason and "adding value" in some kinds of programming tasks is a prime concern when designing them. Different languages make different choices and in effect work better or worse in given circumstances. Replacing Node with Elixir (any BEAM lang) would immediately give you a true SMP support without using spawned processes, for example, and could possibly shorten and simplify your code if you have many communicating, long-lived services in there. That's an added value, right? The saying "use the right tool for the job" fits here perfectly. > If you use any programming language for long enough, eventually, you will be very productive with it - The language itself doesn't really matter. Exactly - so why limit yourself to a single language? How long do you think you will be working? What will you do once you've mastered a language and realize that you have 20 more years to work with it? Wouldn't that make you bored after a while? > Its just a waste because there are already so many languages optimized for the server-side There is not a single language which offers the same mix of features as Elixir. It's perfectly possible to have a system which would benefit from the just right mix of features and then not having these features is a tremendous waste as well. It's not like I don't understand where you're coming from: in my youth, when I was learning C++, I also was frightened by the complexity and believed that it will take years to master it. And it did take years, mostly because it's C++ and I was alone. However, the next language I learned - PHP if memory serves - took me just a couple of months to get good at. Then, when I passed the 20 "langs known" mark, I realized that learning languages is no longer a problem at all and instead made it into a hobby. In other words, yes, you need some level of understanding of programming to be able to efficiently learn new languages. I think it is better to strive to reach this understanding instead of assuming new languages are bad.