Someone on reddit told me that I should learn this instead of ruby on rails

lalo2302 1 point 2 hours ago
Elixir language. That’s all I’m saying

This was my question:

I know it’s almost 2017 RoR is no longer hot probably in decline i’ve tried swift (not so stable yet) javascript/node (overwhelmed)
I gave-up
I need focus,i need RoR,I need someone to tell me what is the best because i have no idea what is the best
I just need help focusing,i dont need the best tools,i just want to learn concepts - fundamental concepts
Anyone care to point me to an alternative?

So I was wondering am I at the right place and if there’s a tutorial for noobs

2 Likes

You should always follow the advises of strangers you meet on Reddit ;>

If you should learn Elixir/Phoenix or Rails is a serious question and needs some deep consideration. For once, you have larger ecosystem, resources, libraries etc. around Rails. You also have more job opportunities and the work market is huge.

Elixir on the other hand is simply better, more solid base to build on.

You have to figure out your goal and take it from there. If it’s short-term employment opportunities, I’d go with Ruby. If you want to build your own project/startup/business, I’d go with Elixir.

7 Likes

Elixir’s and Phoenix’s docs on their own respective sites are very nice, should start on those. :slight_smile:

And yep, you are at the right place, ask your questions here. :slight_smile:

EDIT: And for note, the Elixir language is functional, simple, easy to learn, fun, and has a substantial and well tested VM backing it. Phoenix is quite literally a set of ‘Plugs’ that you put into the pipeline to process, kind of like a middleware but actually well designed and can be branched on your router with ease. Elixir/Phoenix handles network traffic (thanks to the underlying BEAM EVM) faster than you can get in almost any language with higher reliability than you can get anywhere else. You will not have scaling problems with Elixir/Phoenix unlike most systems. You also do not need to combine 50 different things (redis/rails/database/cachers/etc…/etc…), basically all you’d use for any normal project is just a database (like PostgreSQL for long-term data storage), and Elixir/Phoenix (can handle its own caching, timers, redis-like things, etc… etc…, again thanks to the BEAM EVM).

The community is small but growing very fast, consequently not a lot of immediately-ready plugins as there are in rails, but the ones we have tend to be very well made and it is easy to make more. :slight_smile:

6 Likes

There’s a lot of good reasons but here’s a presentation that I recently did highlight a lot of what stands out.

http://www.brightball.com/articles/repeating-history-on-purpose-with-elixir

And also a read on my first toy project, impressions, etc

http://www.brightball.com/articles/insanity-with-elixir-phoenix-postgresql

Fwiw, there are A LOT of resources out there and it’s hard to make sense of exactly where to start. The absolute best thing I can tell you is to pickup a copy of Programming Phoenix. You’ll get enough Elixir to get started with a web project without getting overwhelmed. It’s tapping into a 30 year old Erlang ecosystem and it can get easy to get swallowed up with everything there. IMHO start with Phoenix and the rest will come up as you problem solve your project.

4 Likes

Honestly, learn both, and learn how they differ, and how they are similar. There’s a greater marketplace for Ruby on Rails skills out there now, but even then, that market is pretty small compared to other languages. That said, ten years ago, there was no market for Ruby on Rails skills…

That said, Elixir/Phoenix has a lot to offer over Ruby on Rails, and while they have some ancestral similarities, they are very different beasts. Functional programming versus object-oriented programming, compiled versus scripted, heavily multiprocessed versus global interpreter locks…

The best developers I know, know more than one language fluently, and it’s because of the exposure to different kinds of languages, they can do more with each, often, than someone who has “specialized”.

2 Likes

I’m new to Elixir world and somewhat seasoned with Ruby on Rails [JS was until then my main cup of tea].

The most important question you have to ask yourself is what you envision for your career a few years down in the road. Back some 10 years ago it was pretty common to find [as I’ve read somewhere else today] a ${language} programmer. One can still see this kind of professional to day, whom likes to present him/herself as a C++ programmer, Java, and so on.

The thing is, with the expansion of the programmer’s role [as I use to call it], we have gone from the ${language} programmer to striving our best to really becoming a full stack one. And that does not only include the skills to be able to cover a system’s topology from backend to frontend, but also, to cover the widest range of humanly/professionally/reasonably possible programming languages.

That said, why not delve into both languages and a few more just for the sake of it?

1 Like

The big question is why you want to learn anything. Are you looking for the next New Hotness to jump on, in hopes of high-paid employability? In that case, I think you are probably in the right place, though my crystal ball is in the shop. Are you looking to learn a new framework to stretch your mind or just expand your toolchest? Then you are probably in the right place again, especially if you’re not already quite familiar with Functional Programming, Erlang, etc. In any case, you’re at least in a good place, even if it’s not necessarily the best place for whatever your purpose may be…

3 Likes

11 posts were split to a new topic: Roll your own auth discussion

My advice to the noob: give equal time to learning the old non-hotness: C, Bash, VimScript, and the like. Invest in things that will pay dividends decades in the future.

We are all noobs, our power is in forum and work in group, so we can correct much more bad practices and trivial errors than when we work alone :smile:.

I think Elixir is much more better than Ruby. It’s easier to understand how al works. Like lots of developers I switched from Ruby to Elixir. Elixir is inspired by Ruby and lots more languages.
Of course it’s good point now to repeat that: every language have their own use case, so split them in bad and good languages is not so trivial.
If you are looking for a language that you can easy get a job in all level (from beginner/practice to hardcore) then it’s not (at least at today) language you are looking for - and this says best Elixir noob that already have job :smile:.

I’m started from these guides. You should have bookmarked elixir-lang.org site and of course Elixir docs.
If you don’t understand something then don’t worry - just post a question on this forum :smile:.

It’s also good point to see also: Elixir style guide that is used by core developers and credo project.

There are also some packages for Atom editor that can help you if you are interested in (just type Elixir in search input).

2 Likes

I’m pretty much a n00b as well and ended out settling on Elixir for two reasons.

  1. I’d gotten hooked on functional programming and wanted to use a framework written in a functional language.
  2. I’d done previous projects using Python and Flask. Flask is called a micro-framework but it’s really just a library. It had a lower barrier to entry but it also resulted in some design decisions that I wasn’t happy about. My main takeaway from Flask was:

A. I don’t like “heavyweight” ORMs like SQL Alchemy
B. I want a “convention over configuration” framework with the embedded best practices and other development wisdom. I didn’t have that in Flask.
C. One thing I did like about Flask was how explicit it was. I’d avoided Django because of the “magic”. So I didn’t want a framework like Django or Rails with a lot of magic. That led me to:

  1. Laraval. I’d put up with PHP for a well-designed framework that is easy to reason about.
  2. Sails. Same idea but swap Javascript for PHP.
  3. Elixir.

I briefly researched Haskell but I didn’t feel that any of the Haskell frameworks had the maturity of Elixir. I also researched using Erlang and Cowboy but it lacked the “just works” factor. Even setting up proof of concept apps in Erlang required a lot more googling and troubleshooting.

In the end Elixir was an easy and correct choice :slight_smile:

2 Likes