4 ms·
Why is there so much Elixir hype on HN at the moment? HN shouldn't be used as a propaganda hype machine. I've seen all the language hype cycles, Year 1: PHP
by jondubois 9y ago
Why is there so much Elixir hype on HN at the moment?
HN shouldn't be used as a propaganda hype machine. I've seen all the language hype cycles,
Year 1:
PHP sucks! Node.js is awesome! Everyone must use Node.js!
Year 2:
Node.js sucks! Go is awesome! Everyone must use Go!
Year 3:
Go sucks! Rust is awesome! Everyone must use Rust!
Year 4:
Rust sucks! Elixir is awesome! Everyone must use Elixir!
... And of course you get the odd Haskell article every so often.
Communities are promoting their stuff too hard - They are setting up their users for disillusionment and disappointment.
- acjohnson55 9y agoEh, just don't upvote it. Or upvote other PL stuff you do like.
- bhauer 9y agoI 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.
- obstacle1 9y ago> They are setting up their users for disillusionment and disappointment. There's nothing wrong with communities promoting themselves. If people don't know about your thing, they can't try it to make their own decisions about whether or not it is worth using. And it isn't yours or a community leader's or a maintainer's job to protect users from disillusionment and disappointment. If someone actually has a hard fall from realizing that a programming language isn't as great as people said it might be, there are way bigger issues there than the programming language at play -- on the side of the disillusioned, not the language/community.
- pessimizer 9y agohttps://news.ycombinator.com/item?id=1919897 https://news.ycombinator.com/item?id=1919897 Hacker News is interested in Erlang; it should be in the rules. Also - just judging by the head of the linked list - PHP programmer?
- dcu 9y agoGo is still great and stronger every day ;)
- 43224gg252 9y agoYeah it's pretty obvious what's going on...
- bsaul 9y agodon't understand why you got downvoted, it's a pretty legitimate concern. You may however see the whole thing a bit differently : - node popularized single loop event on the server side, which is great for fast low cpu request processing - go evangelized simple design, coroutines , unique code formating, and has arguably one of the best stdlib. That's still true today and it's great - Rust made people realize writing concurrent truelt safe code was possible. Huge advance. - Elixir helped the community focus again on actor + message passing concurrency. It's fantastic. All of those concepts are beneficial to learn, for you as a programmer, no matter which language you use. If for example look at swift evolution, you'll see the current threading model (based on event loops, like node, because of iOS) discussed and compared to the actor model ( like erlang / elixir), but also that some web framework reimplemented go-style concurrency. You'll also see that they're talking about adding semantic for detecting memory sharing patterns (much like rust). If you've followed all the discussions on those languages for the last two years you know exactly why those conversations are taking places. So all in all it's a good thing communities are advocating the strenghts of their language. It helps everyone improve.