Rails 5.0 release topic on HN 50% are comments about Elixir/Phoenix

Because even half a year ago those comment would have being about node :slight_smile: I am not advocating doing it but it is an indication that a technology is gaining ground.

Because there is finite amount of resources allocated to Web Development projects? Because if a client never heard of Elixir no matter what you tell them it will not be picked for the tech stack? Because decision makers need a frame of reference to compare the product to?

The whole thing is internal conversation between RoR devs. I honestly do not see a big problem with them having this internal discussion.

1 Like

As much as I like Elixir, posting on a thread celebrating technology X and talking only about Y is in poor taste and leads to an “us vs them” thing, and we don’t need more of those. Brian actually deleted a tweet pointing the thread’s Elixir content because he felt bad.

I’ve checked previous “Rails X.Y released” HN threads and none had many comments about other tech stacks. I think it reflects poorly on the otherwise awesome Elixir community to brigade threads and convince people to “join” them. Rails is still great.

3 Likes

I again would totally support your view if it were random people since it’s 99% RoR devs it’s up to them what they want to discuss. My only point was that since that extra thing is Elixir/Phoenix it strong indication that there is great interest in this stack. I am obviously biased as I want to start transitioning our shop off Node and to Elixir at some point so the more popular Elixir gets the sooner I can start on that transition.

1 Like

I also want Elixir to succeed and I am happy to see people be excited about it—I just thought the way it was done was a bit too much.

In any case given that Jose is very nice and down to earth (unlike say someone like D## :)) I do not think Elixir community is at big risk of turning into a crazed cult :slight_smile:

1 Like

I was one of the people commenting on the HN thread. I sort of regret it though, I didn’t really expect that there would be so much Elixir discussion there and now I feel kind of bad that we basically took over their release announcement. In retrospect it feels kind of disrespectful towards that project, and that wasn’t my intent at all.

2 Likes

Keep in Mind how Rails trashed other tech stacks when it came out, especially Java. There wasn’t just "stuff is so better/easier/… “constructive” talk, but sometimes outright laughter. There were people at that time that had to use Java (and still have to maybe) which felt like 2nd class developers. Rails is not a saint here.

As one of the commenters on spoke HN thread: the sheer mass of elixir posts is somewhat unfair. Basically every time something interesting gets announced, there are people who enrich the conversation by contributing alternatives to the discussed thing, and this is good. This time, the amount of phoenix comments were too much for railsies, got it. OTOH, i’d see it as a clear sign of gaining traction fast. At the end I’m an engineer, and I want to use the best tools available, without the emotional “i love XY because the last n years …” stuff.

3 Likes

I agree with this. Looking at that thread and searching for Elixir, it seems most posts fall into two categories:

  1. Satisfied Elixir/Phoenix users state that while they like Rails, they think Elixir/Phoenix is a better tool for the job.
  2. People not using Elixir/Phoenix wondering what are the benefits.

The first category of comments is IMO useful. I’d certainly appreciate if someone points me to a better tool in an Elixir/Phoenix discussion.

Discussions of the second type are started by current Rails users which are curious about the alternative. Since those are not even started by Elixir people, I don’t see how that even qualifies as hijacking. Even if it did, I think people deserve an answer.

If there were some insulting or downgrading comments there, then it would be a problem. But I mostly see helpful hints about an alternative, possibly better, tool for the same job, especially if it comes from people who used both tools.

The problem of hijacking that thread is IMO more a problem of HN not supporting aside discussions to be relocated to separate threads. That would keep the discussion focused on its main topic, while still giving pointers to other useful related topics.

This is a great attitude! Many people (me included) tend to take criticism of the tech they use too personally. We’re not married to these things, they are tools that are supposed to help us do the work. If there’s some great tool I don’t know about, then a brief info about it is always welcome, even if it’s not strictly related to the main discussion topic.

6 Likes

But I must confess here, that I have a “irrational” bias for expressive languages that value me as a developer (eg Elixir, Ruby). Having said that, I also write Go services in my spare time, which basically is the extreme opposite, but “get shit done” without even pretending to write a “nice” solution is a good contrast from elixir where I nitpick about minor details until I see my code as “beautiful”. Without the ugly, you can’t experience the beauty. :slight_smile:

1 Like

Keep in Mind how Rails trashed other tech stacks when it came out, especially Java. There wasn’t just "stuff is so better/easier/… “constructive” talk, but sometimes outright laughter. There were people at that time that had to use Java (and still have to maybe) which felt like 2nd class developers. Rails is not a saint here.

This. And it goes on. Not only against Java, but against PHP, which I find exceptionally funny.

PHP has more and more good stuff going on in their community. It’s faster than Rails, many cases more stable and mature choice. People do big projects, advanced architectures, there are great libraries and patterns applied. But no. PHP == sucks.

I don’t like that in Rails, I don’t like that these things start to happen in Elixir community.

4 Likes

Yes, people do amazing stuff with most languages, no question. That having said: I just dismiss PHP on a language level, and even call Go a “compiled PHP” sometimes. As with Go, I use it when appropriate (low budget jobs, cheapest hosting, wordpress stuff), through. People have different tastes and I accept it. But there is no way that I ever would choose PHP when I don’t have to, because except the hosting story, it is almost always the wrong choice because depending on what you want to build, there is a better tool for the job nowadays. Except you aim for the cheapest solution possible, as I said, which unfortunately is a problem in many web shops.

Finally, I do not see big conceptual differences between rails, django or laravel here. Phoenix on the other hand draws (imo unfair) advantages from the underlying BEAM/OTP and can do stuff you’d have to reach out for 3rd party tools in other ecosystems.

1 Like

https://www.quora.com/Why-hasn-t-Facebook-migrated-away-from-PHP/answer/Josh-Duck?srid=DwWX

is interesting link about PHP at Facebook. This is not a PHP we remember…

This is really not stock PHP any longer of course. And once you have big legacy codebases, they will stay forever. Facebook wasted insane amounts of money and engineering hours to get PHP to somehow scale to their needs, because they just couldn’t afford to switch to something more suitable.

Since the majority of the “web” is built on PHP, there is no way it will disappear any time. It’s a safe career choice.

When we’re talking about starting new projects, it’s an entirely different story, though.

1 Like

What I love about the Elixir community is that I can rarely feel the flame war tone in it. Usually I stumble upon threads, blog posts and other resources with only substantial info and no aggressive statements about other tech. I believe many of us (me included) are here because of Rails and it’s a community that has grown to appreciate Elixir predecessors. I just hope it’ll stay this way as it grows.

I myself like comparing technologies such as Phoenix and Rails, and I do so on my Phoenix on Rails blog on regular basis. This way I learn when to use or not to use Elixir, Ruby or whichever tech. But I always aim to do that in a factual, non-emotional and fair way. And by clearly stating specific use case, as I don’t believe there’s one ultimate tool for every case.

2 Likes

Well and anyone using PHP can benefit from all the insane amounts of money FB spent on making it scalable for free :slight_smile:. Right now we are starting a project that needs to integrate deeply with adWords and Analytics APIs and to be honest I don’t see a better alternative than PHP for the service that will be consuming these WSDLs.

1 Like

I don’t think the HN comments were trashing Rails though. I think we just stole some of their thunder a little bit. Overall I don’t think people would accuse us of being assholes or anything, probably just that we didn’t exactly show a lot of class.

I think I had the first comment that mentioned Elixir in the thread, so blame me. My first comment was:

Definitely not being a jerk, but obviously mentioning my new favorite framework into a discussion about a totally different framework was unnecessary. I didn’t demonstrate a lot of class there.

I think my other comments were in response to people asking about Elixir or Phoenix. I didn’t feel like I was doing anything wrong, just answering questions. It was only once the entire thread kind of was taken over by Elixir and Phoenix related comments that I realized we really stole some of their thunder, then I felt bad about it.

1 Like

I don’t want anyone to read too much harshness into my prior comment. Yes, there is a lot of rude advocacy out there, and I’m glad to hear that wasn’t the case on the HN thread from the Elixir community.

I am somewhat concerned about the attitude “well Rails developers trashed other tech, so they deserve it in return.” Even engineers seeking the best tools are people, and people are messy and have emotions, and the best forms of advocacy account for this. (Now, I’m getting general and philosophical – not talking specifically about the thread. Time for me to stop now :slight_smile: )

2 Likes

Yeah, if Rails developers did that in the early days then that should just serve as something to learn from. That prior behavior doesn’t reflect on current the Rails community (which is probably 99.5% different people at this point), it doesn’t reflect on most of us here who are/were also Rails developers.

Mostly I think it’s just good to be reminded of how bad a community can be towards another one so we don’t replicate it.

6 Likes

I think in most startup you choose technology where you can prototype fast and you don’t care how it would scale. After some time if you have investors and customers you are migrating to right technology/architecture.

Why did Twitter and LinkedIn switch from Rails to Scala/Play, in spite of the fact that Rails can be scaled?

1 Like

Yes, but everyone knows that scaling will come and how costly rewrites are (many won’t happen). Phoenix is already known to scale and should just keep its current performance characteristics.

I think Chris will continue to tackle the hard challenges of advanced distributed systems and José continues to increase the quality of life for us alchemists even further. They (and all contributors) already are extremely nice, so let’s also be nice (one meme that made ruby great!).

The key aspect of ruby’s success was rails, many people come for frameworks first and learn the language later. So, Phoenix’ Performance, scalability, features and ease of use is already on a great level. The “other” frameworks have just one advantage: getting started initially may be faster due to the availability of plugins for common tasks. This is where we as a community can make the difference. Eg:

  • drop-in Admin panel like django (exadmin is pioneering here, but still not as automated as it could be)
  • zero config users/auth plugin. José doesn’t want just another Devise clone. But we should experiment and pick a single winner, fragmentation on this critical functionality is very bad. Have a look how this topic is solved in meteor.js directly in the core, the best and most dev-friendly solution i’ve seen.
  • many small packages that make rails great

I have seen many people choose their tech stack based on those two points alone. For example:

“hey, in meteor i have the complete User Account system with login via email/facebook/… already available without a single line of code! Start a Project, choose a place for the login buttons, done!”

Yes, I know its just 10 minutes in phoenix to get going by hand (as seen in the phoenix book), and there are some plugins that require quite a bit of setup time. But do not underestimate the importance of zero-config here. Many projects get started as “what if…” Throwaway stuff and almost everyone requires user logins, maybe even at late night when I don’t feel like configuring for minutes before trying my idea. The accessible accounts functionality right in the core is the primary reason why my colleagues and me pick Meteor for fast prototypes (which often end up in production). And you see how often people ask for this exact feature.

This is an example of something that we as a community can tackle, and it WILL make a difference if done properly. I personally can’t do this right now, but I will give back on topics where I’m good at (eg my elixir-scrape and more to come).

Sorry for the long post, but I just wanted to highlight that we’re not far away from being a great “getting started” framework with phoenix and it is in out hands to achieve it. This is the last huge advantage of the earlier frameworks. And if phoenix wins by raw objective advantages across the board, elixir will win, and great things may happen.

3 Likes