Elixir as the first programming language?

hello everyone.
can I start learning elixir as the first programming language? bypassing learning the ruby language? how much harder will it be? or would it be better to learn basic ruby first and then switch to elixir? what book would you recommend to start learning the language for a beginner who had no previous programming experience?

sorry for my english, I’m from russia, it’s a poor country and my goal is to learn one of the programming languages to start earning $ 10-12 / hour

I hope that I asked the question in the appropriate forum section, if I made a mistake, please excuse me

I will be grateful for your response

3 Likes

If your priority is specifically to find employment at that wage as a Jr. dev I would focus on learning perhaps Javascript and maybe Ruby or Python first, but I think Elixir would also be great for a beginner. But more important than that, assuming you are doing this on your own and not as part of a university curriculum, is to get your hands on some good books about basic programming concepts, patterns, and best practices. You can find lots of good recommendations around here for Very Serious Authors but personally Why The Lucky Stiff was hugely influential for me as a self-taught programmer: https://poignant.guide/

It’s good to maintain a sense of humor and wonder about it all :slight_smile:

One thing you might gain by learning Ruby before Elixir is a greater appreciation of the language itself, and perhaps expand your ability to develop in general because the two languages are vastly different.

English and Russian, are pretty different right? This is similar to programming languages. There are massive fundamental differences between Ruby and Elixir (and others), but saying “hello” is similar in both of them.

Hello, or Привет. I don’t know if that’s right, but Google said it was. That’s what any of us do when we don’t know how to do something - search. Learning how to ask questions and search for their answers is more important than being able to recall anything from memory or even knowing what to do. That’s why people always say learn how to read documentation and other people’s code, it’s like a dictionary if you don’t know the spoken language.

There is a much greater amount of beginner guides, videos, blogs, etc for Ruby than Elixir. That also goes for Python, PHP, C#, Javascript, and way more. I may catch flack for this, but Elixir as a first language will be more challenging than other languages and I’m not sure I would recommend it. I think learning Ruby/Javascript would be easier and a quicker pathway to employment.

That said, in my opinion, the Elixir community is the best there is. It’s refreshingly approachable and everyone seems to have left their high horses in the past.

Good luck out there!

Most people, myself included, cannot master both OOP and FP, not at the same time at least. Pick a camp, stick with it for a couple of years. Ruby is a fine language, but it is not a bridge to elixir. True, some prominent figures in the elixir world came from ruby, but they are exceptionally good programmers.

1 Like

can I start learning elixir as the first programming language?

Absolutely yes. And you never need to ask permission for what you can and cannot learn.

(Aside Ruby and Elixir are just two different languages and not related at all. It’s like asking if you should learn french before english…)

1 Like

And as it happens certain foreign languages are easier to learn, especially as a first. Everything else being equal and the goal is simply to learn some foreign language, I would certainly recommend a native Russian speaker learn French before English, and as an English speaker I know starting with pretty much any romance language is much preferable to, say Turkish (currently struggling with Turkish :sweat: ). I would rank both Elixir and Ruby has high on a list of accessible languages in a similar way

Hi Redya. Welcome to Elixir and programming in general.

My first thoughts are that the pleasure and productivity of Elixir and Phoenix will spoil you if you have to get a job with another language. on the other hand, it might be easier for you to get a job doing Elixir/Phoenix as junior developer with Elixir/Phoenix.

Programming Phoenix book by Chris McCord is good way to get your feet wet and the project you build with it can literally be the basis of a startup (I have met founders who are building exactly what you build in Programming Phoenix) Beware though, it is getting outdated (mainly the auth section because theres generators) and requires extra attention to get through but don’t hesitate if you get stuck to ask questions here on Elixir Forum, the people are amazingly helpful.

Final thought is that the most important thing is to build, learn and ship things with whatever language you choose.

Good luck and have fun!

I think it is better to learn Elixir as the first programming language and skip Ruby, especially when you are interested in functional programming.

At the same time, It will be a challenge to get a job as a junior Elixir developer(even middle is not easy).

I would recommend you to start with JavaScript and maybe SQL because:

  1. It is much easiest to find the work as a junior developer(your first goal is $10-12 / hour)
  2. Soon or later, you will need to write some JS and SQL in any web app you build. Doesn’t matter Elixir it or another language.
  3. There are many video courses about these languages that can help you quickly get the idea about programming.

P.S If your goal were not to find a job as a junior developer, I would recommend that you start with the Elixir right away.

1 Like

Lol, why? I am a native Russian speaker, I love Spanish, can English and somewhat German, and currently learning Catalan, but man… When I hear French I cannot tell how to split this babbling brook into words :slight_smile:

I think the appreciation of any new language, both spoken and programming, is unpredictable. I love ruby and I feel extremely comfortable doing ruby, and I fell in love with erlang immediately, and now I am mostly doing elixir, but it’s unrelated to syntax and/or grammar.

Probably I should not speak about Russian specifically (I only chose it as an example because of OP) but it’s pretty widely documented that English is one of the more difficult languages to learn. Experiences vary widely among individuals of course, but there are pretty clear patterns speaking statistically, with fairly obvious causes. Surely no one would claim that the difficulty of learning Ruby vs something like Perl is unpredictable?

I’m on the same train as You are. I did pass on learning Ruby in favor of Elixir.

IMO: start with JavaScript, learn how to code, later on You can move to React or Vue.
If You succeed, then You can find a job in this area (job market for junior devs in elixir is poor).

Move to Elixir/Phoenix next, but before that learn SQL and how to design a database.

Those are resources that I bought:

You can try Elixir track here:

Free stuff:

Check out:

This is my github:

If You want to go for Ruby and ROR you can check this out:

3 Likes

Whatever programming language you end up learning @redya I recommend you to build several projects (even if they’re simple) as soon as possible. This will make you learn faster and also have the benefit of having a portfolio you can show to clients or future employers. Good luck! :blush:

I would. People are different. I even could not parse from your message whether you think Ruby is much easier to learn, or Perl (I can do both and I doubt which one had a steeper learning curve.)

I personally think you’d be better off learning something more traditional first like C, C++, Java, etc.

Do you have any source of that? Because of the languages I know and I am aware of then it probably wouldn’t make into first 10 of the hardest languages.

Blockquote[quote=“hauleth, post:15, topic:34319”]
Do you have any source of that? Because of the languages I know and I am aware of then it probably wouldn’t make into first 10 of the hardest languages.
[/quote]

I’ve been a long time crawler here but signed up just to participate in this conversation!
I certainly agree with you here.

I think that what makes English hard to learn is the same thing that also makes it easy to get started with it: it’s an extremely flexible language, and you can express the same thing in many different ways. This flexibility, coupled with the extensive materials available for learning the language, and huge quantity if source material make it a very accessible language for one to get immersed in. English is a little bit like Ruby and JavaScript, in that regard. You need to know a lot less to be productive with it it right away. That same flexibility can also make things very confusing, and sometimes the “best solution” isn’t obvious, or isn’t necessarily agreed upon by everyone.
These are only my personal observation, so no sources for that, just opinions.

On the topic of learning Elixir, honestly, knowing Ruby first has actually made Elixir a little harder to learn, only because the syntax looks a little (a lot?) similar between the two, but the language itself behaves somewhat differently to the point that I felt it was easier if I just stopped trying to compare them in my head period. I can’t think of where I heard this, but how I came to Elixir was from hearing somewhere about how Elixir was a better Ruby (along with Crystal, which I’m yet to check out)

3 Likes

Maybe something like Racket could be a good first language if you’re interested in Elixir. There are others better equipped to judge than I am, but Racket has a fantastic beginner’s book, How to Design Programs, designed to help you think beyond mere syntax, and it will lead you in a more functional programming direction that will be useful in learning Elixir and also, it seems to me, in learning JavaScript.

Racket is a Lisp so it will look a bit alien, but even this may encourage a useful mindset. Though it’s well-designed, you’re unlikely to use Racket except as a learning language simply because from what I can see it’s more popular as an academic than commercial language, and in fact the book I’m recommending is uses a customized version called Beginner Student Language. Then when you try Elixir or JavaScript for example, the differences as well as the similarities will be insightful.

If you’re interested at all, I suggest checking out with the book’s Prologue: How to Program which will get you set up with a text editor and coding some simple and fun stuff very rapidly.

Maybe you are thinking of non-European languages?

Here is a paper comparing literacy acquisition among European children (it is a fact that it takes English speakers much longer to master reading) and exploring the possible objective causes: https://www.pitt.edu/~perfetti/PDF/Seymour.pdf Obviously there are sociological and other factors that make studying ‘difficulty’, well, difficult, but it breaks down plenty of objectively complex dimensions to English.

Not only. As a native Polish speaker I think that English orthography is more on the “easy” part, and this paper didn’t picked any hard languages, only Finnish, which may seem hard on the first sight.

1 Like

I’m not the most experienced programmer around so don’t take my words as gospel. However the man who taught me Elixir did say it is easier to learn when you don’t have the coding practices of other languages already embedded in your head.

As tfwright said, its better to learn javascript and/or python since that’s the easiest way to find a job. But definitely consider learning Elixir on the side if possible.