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

sadcad
I love the Phoenix and Elixir docs, but I always tend to learn faster when I watch a video of someone explaining things and then I implem...
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
RKC07
I’m new to elixir. I did some coding in python and C. I want to learn elixir for starting my career in web development. I need suggestion...
New
SavagePixie
I was wondering if there are any beginner-friendly, exercise-based resources for learning Elixir out there. I’m looking for something lik...
New
satoru
I’m working on the “Bob” exercise on the Elixir Track in Exercism. I am testing for uppercase letter with this simple check: c in ?A..?Z...
New
makeitrein
More Ecto questions! More madness! The context: there’s a list of books that I want to filter with a dropdown… The dropdown: looks some...
New
logesh
Could someone provide a learning path for functional programming for who came from oops background.? Thanks in advance
New
Fl4m3Ph03n1x
Background I am trying to recycle myself and improve my knowledge about Phoenix. With 1.7 now out, this seems like a good opportunity. W...
New
TwistingTwists
I want to learn DSL. Don’t know how to write one. What;s the best introductory resource? I see some macro being used here. Is DSL only ...
New
gouvermxt
I just finished the “Learn Functional Programming with Elixir (Pragprog)” book. I have 5+ years of experience with Ruby/Rails, my goal is...
New

Other popular topics Top

9mm
I am constructing a JSON object (map) and I need to conditionally set a field. I’m trying to write proper elixir-way code… and I’m at a l...
New
senggen
Erlang/OTP 25 [erts-13.2.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] 15:22:35.803 [error] gen_event {lager_file_backend...
New
lessless
I believe there are people here who are dealing with CSV files import on the daily basis, and since Excel is a really popular tool there ...
New
jerry
Good day to you all. I have been struggling to get a query involving like and ilike to work. Can anyone assist me on this, please? pro...
New
chrismccord
This release brings a number of exciting features, including integration with the new Phoenix LiveDashboard and Phoenix LiveView. There h...
New
pmjoe
I have a relationship of love and hate with Elixir. Lots of things are just absolutely right, but there are some things that are kind of ...
New
Emily
I have VueJS GUIs with the project generated using Webpack. I have Elixir modules that will need to be used by the VueJS GUIs. I forese...
New
bsollish-terakeet
Credo is smart enough to check for (something like) this: assert length(the_list) == 0 with this response: Checking if an enum is empt...
New
romenigld
I am trying to run a deploy with docker and I successfully runned with this command: docker build -t romenigld/blog-prod . but when I t...
New
dogweather
I wrote this comment on r/haskell, and it’s not popular there. :wink: But I think I’m on to something… Haskell reminds me of Java, and e...
New

We're in Beta

About us Mission Statement