asfand

asfand

Which course should I pick!

I am Asfandyar from Pakistan. This is my first time to the forum.
I develop PHP websites using CodeIgniter, which is super easy to learn. Then I also learnt Ruby on Rails. I have a working experience in RoR, even if I did not use it for some real project.

Now I want to learn Elixir and Phoenix, but it’s hard for me to learn. I learnt the pattern matching and other functional programmingn concepts from the official docs, but when it comes to processes, it’s a little hard for me to learn easily. Also when I tried to learn Phoenix, I was forgetting the ideas.

I asked friends, searched google, read different blog posts, and at last I found some courses which I think will be easier to get me up and running. Following are the 3 courses I shortlisted so far,

  1. Discover Elixir and Phoenix, Ludu.com
  2. Elixir for Programmers, Dave Thomas
  3. Developing with Elixir/OTP, Pragmatic Studio

Because I have only limited budget, so I can’t buy all of these courses, and from the free lessons I can’t decide which one is the best. But because hearing a lot about Pragmatic Studio’s RoR course, I think their course might be as easier and beneficial as their RoR course, so I am kind of inclined towards that, but then when I look at the genius Dave Thomas and his experience in Ruby world, I think may be his course is better, then I also read some good reviews about the course at Ludu, so I am not able to decide which course should I take.

Would you people help me in deciding which course should I take?

Also if there is another course which is easier, and only one time payment, and which can make me productive quicker, please send a link to that.

Also if someone have already used the above courses, what are the challenges in following each course?

Note: I got some nice links in the replies which lead to posts with more nice links. So it means I’ll spend some more time in those links. But I’ll still want to know if Pragmatic Studio course will be the best for me or the Dave Thomas one, when I return back from these links.

Most Liked

peerreynders

peerreynders

Erlang using Kent University Erlang master class

Note that the content has been reworked into two MOOCs:
Functional Programming in Erlang
Concurrent Programming in Erlang

The first one is entirely about (sequential) functional programming while the second one goes over the principles and techniques of concurrent programming that OTP is based on - while only taking you to the doorstep of OTP (i.e. you use gen_server at the end of the course). There still is room for a third course exploring the use of various OTP behaviours.

While Learn You Some Erlang is in Erlang, it’s knowledge is all based around the BEAM ecosystem which is what Elixir is based on.

On Erlang’s Syntax:

the syntax is only intimidating, it’s far from difficult.

Erlang is a fairly small language and should be simple enough to learn if you approach it with an open mind (and lots of people don’t). The benefit of learning functional and concurrent programming in Erlang is that it should give you a clean break from your existing PHP/Ruby mindset. Elixir’s Ruby-like syntax may lure you into treating it like Ruby - which it really isn’t. The typical challenges to learning a BEAM language are:

  • Using pattern matching instead of conditionals
  • Using recursion instead of iteration (and by extension, using higher order functions)
  • Thinking concurrently

That being said having to learn Erlang can feel like the straw that breaks the camel’s back.

Learn Functional Programming with Elixir aims to teach functional programming in Elixir (i.e. no need to do it in Erlang). Elixir in Action progresses a bit quicker in order to cover the basics of concurrent programming and explore some of OTP - in way it feels like an Erlang (i.e. BEAM) book that happens to use Elixir - no Ruby-coloured glasses here.

Dave’s course doesn’t provide free lessons in an order, so I won’t be able to get an idea about how easier/harder the whole course is, although I got an idea from the free lessons and the titles of the paid lessons, that the course covers a lot of stuff.

So, I think the biggest risk here is that you start the course and that you find it too fast paced.

You’re a programmer, so you don’t need spoon feeding with the conventional drivel about “this is an integer.” No. You need to know what’s different, and you want to know quickly.

This pretty much sets the tone for what is expected of you. But given how well the course is reviewed here, the biggest risk is that you may have to pause and backfill some concepts before you return to it. So while the course may turn out to be “too much” in the short term, I find it hard to believe that it would be useless in the long term as long as you go back to it when you are ready.

AstonJ

AstonJ

It’s one of the best courses out there :slight_smile:

See my review of it here for my thoughts:

kokolegorille

kokolegorille

Although I have a great respect for teacher, which taugh me a lot on React JS, I have to say I was not convinced by his course on Elixir/Phoenix bootcamp.

The main problem was the misuse of functional terminology, that showed he was more like discovering “at the same time”…

I watched PragDave course and for me he knows more about FP.

I didn’t watched the other courses, so I can’t tell…

Where Next?

Popular in Chat/Questions Top

ericdouglas
I think that would be really interesting to have official books created by the community about all kinds of development we can do with El...
New
woohaaha
I’m coming from Ruby and Rails. I have read some Elixir and Phoenix books. They shed a lot of light about building applications in Elixir...
New
roshan
Hi everyone, I’m looking for a book on Phoenix server hosting / deployment like the following books for Rails, Docker for Rails Develop...
New
asfand
I already created an Elixir Phoenix app for learning purpose. In this app students of our collage will create profiles, and will chat wit...
New
markdev
What are the best beginner resources for learning Elixir and OTP (not Phoenix) in 2018?
New
lc0815
hello from a real frustrated newbe… I’m reading this article Full-Stack React With Phoenix (Chapter 3 | Introduction to Phoenix) by mich...
New
younes-alouani
I’m studying Phoenix Framework but I want to understand basics first. Which book/mooc explains better the Design of Network-based Softwar...
New
svetarosemond
I’m planning on purchasing Elixir in action second edition, and I was wondering if anyone could tell me based off the first edition, does...
New
New
zervis
Hello, I’m about to dive into web development. I was thinking about Laravel or Ruby on Rails, but then I found Phoenix. Do you recommen...
New

Other popular topics Top

aadeshere1
I have a another noob question about loop. Since elixir is immutable, while loop is not directly possible. total = 10 while total != 0 ...
New
Darmani72
If I have a post route which an argument: post /my_post_route/:my_param1, MyController.my_post_handler How would get the post params ...
New
AstonJ
Posting this to see if we can make things easier for people to get into Neovim. If you use Neovim and have a favourite distro please let ...
New
Patoshizzle
After calling mix ecto.create I get this error: 17:00:32.162 [error] GenServer #PID<0.412.0> terminating ** (Postgrex.Error) FATAL...
New
joeerl
Hello again - after a longish gap I’ve decided I really must dig into Elixir and see what’s been happening here - so I have a few questio...
New
vrod
I am using the Starship cross-shell prompt – it seems pretty nice, but I get some errors: [WARN] - (starship::utils): Executing command ...
New
fayddelight
I tried installing elixir 1.11.2 erlang 23.3.4 via asdf in my zsh shell. Enabled the versions locally and globally. When I list them ...
New
dblack
I’ve got an issue with an app and I’ve no idea of how to troubleshoot it. I’m hoping someone here might have seen something similar. I p...
New
komlanvi
Hi everyone, I was playing with phoenix liveView but I run into an issue. I have a form and want to validate each input text when the te...
New
lanycrost
Hi everyone! I need implement if…else if…else condition from my elixir code, and anymore of this control flow structures not work proper...
New

We're in Beta

About us Mission Statement