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…

kokolegorille

kokolegorille

I know the author puts a lot of efforts preparing his course, but it’s not like learning a new JS lib. You can’t understand FP in 3 months, it’s just too big change. Well, it’s just a personal opinion, of course.

kokolegorille

kokolegorille

We all have different technics and goals when learning. I started a year ago, but with a Rails background. And for me, it was important to understand the difference, because I didn’t wanted to redo in Phoenix what I could do with Rails.

So I started by learning OTP, much before Phoenix (and even Elixir) because it is (for me) the real promise I can get from the language.

And, as the best things are free, the videos that finally tilted me were Kent University Erlang master class. I know I mention these often, but it’s because I could understand the link between the code and the actor model.

Not to mention that teachers are great. And again, just my personal opinion :slight_smile:

Where Next?

Popular in Chat/Questions Top

jace
I wanted to write a library for interacting with a Web API as a practical way of learning Elixir. However, there seem to be a lot of diff...
New
meraj_enigma
Hey, What’s a good resource to learn Microservices in Elixir/Phoenix? Is there any book/docs/Github repos that I can refer to? Thanks, -M
New
wolfiton
Question: Can someone recommend me some good resources on learning performance for phoenix elixir applications and a design pattern I sh...
New
armanm
I know zero downtime deployment can mean different things depending on your application and what your users can tolerate so expectations ...
New
pietrofxq
I’ve bought the following books: Programming Elixir 1.6 Programming Phoenix 1.4 Programming Ecto Functional Web Development with Elixir...
New
davearonson
I am looking for smallish problems to solve, using Elixir concepts beyond the basic syntax and concepts of Elixir as a language, such as ...
New
boddhisattva
Greetings everyone, At my current workplace we're evaluating different ways of building a microservices architecture for some parts rel...
New
phykos
In Ruby, which is very similar to Elixir I do this: def test yield end test do puts("sup there") end Here, the yield keyword will be...
New
Twfo326
As a novice dev I’m trying to keep the curriculum as lean as possible. My requirements are modest: build simple CRUD apps with Phoenix...
New
Allyedge
So, I want to get an Elixir book, but don’t know which one to get. Both Programming Elixir 1.6 and Elixir in Action looks interesting, b...
New

Other popular topics Top

stefanchrobot
What’s the safe way to decode a JSON string into a struct? I want to avoid calling String.to_atom. Jason.decode can give me a map with st...
New
shahryarjb
Hello, I get Persian date from my client and convert it to normal calendar like this: def jalali_string_to_miladi_english_number(persi...
New
Tee
can someone please explain to me how Enum.reduce works with maps
New
joaquinalcerro
Hi there, I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 record...
New
_russellb
I want to try my hand at web scraping. What tools/libraries do I need to use. I’m hoping to turn this into something professional so don’...
New
ycv005
I have followed this StackOverflow post to install the specific version of Erlang. And When I am running mix ecto.setup then getting fol...
New
grych
Hi folks, Few months ago I have announced the proof-of-concept of the library to manipulate the browsers DOM objects directly from Elixi...
639 49522 488
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
johnnyicon
Hi all, I've just started learning Elixir and Phoenix Framework, so please pardon my n00bness at this stage. I'm trying to use Postg...
New
beno
I will often find my self writing things similar to: case some_value do nil -> something() "" -> something() _ -> someth...
New

We're in Beta

About us Mission Statement