Kielo

Kielo

Hi,

I run a language learning blog and would like to learn how to code so I can create an app to help English speakers learn French.

I know HTML and CSS as well as some basic JavaScript. I frequently use my CSS/HTML/skills to improve my blog but don’t know much about programming otherwise.

I’m currently 70% through Michael Hartl’s Rails Tutorial and want to finish it because it’s working great as an intro to programming.

But I’m considering switching to Elixir once I’m done with the rails course because I find it much more exciting than rails.

I finished Joy of Elixir a while ago and found Elixir really fun and logical. I also did half of the pragmatic Studio course. I also find the Elixir documentation amazing and way easier to understand than the Rails’ documentation.

But I’m not sure what to do next. I learn best by doing but I also need some guidance so I don’t pick up horrible coding habits along the way.

I’m considering the followings books because they seem the best suited for someone new to programming.

  • Learn functional programming with Elixir
  • Phoenix in action

My main worry is that they haven’t been updated in a while. I’m also considering Elixir in Action and Programming Elixir but am worried they may be too advanced for me.

I’m also considering this course:

https://www.knowthen.com/elixir-and-phoenix-for-beginners/

My goal would be to follow along the courses and books and also build my app in parallel to get some practice.

Would you recommend this course of action ? Are these resources the best choice for a beginner or would you recommend something else ?

Thanks

Showing Posts 1 to 10

Exadra37

Exadra37

If you already have done Elixir from other sources and you fill you are grasping the syntax, then you can go ahead and buy the book. To me was the only book that clicked to make the transition from Object Orientated code to Functional Programming.

You may also want to see the Elixir for Programmers video course from the same author:

You may enjoy more doing the video course, but only do it if you are already comfortable with the basics of Elixir. No need to know about OTP and all the advanced stuff, because the book will teach you that.

Got for it after you have done one of the above :slight_smile:

kokolegorille

kokolegorille

Hello and welcome,

Learning Rails will teach You a lot about MVC pattern. Those are knowledge You can port them to Phoenix, because it’s similar.

Except for the language, the main difference is Ruby use Object Oriented Programming, Elixir Functional Programming.

It’s like night and day…

Yes fun, like fun in functional.

If You are new to programming, your plan is very suited. Maybe You might learn the latest Phoenix, because it brings new concept to the table, liveview in particular.

There are free introductions

Some free at

and book also, if You prefer to read.

I need the opposite, french to english :slight_smile:

tme_317

tme_317

Years ago as a beginner I also started with Michael Hartl’s excellent Rails Tutorial. After finishing it and finding out about Elixir (which like you I found much more exciting and easier to understand than Rails), I read Programming Elixir followed by Programming Phoenix. I then reimplemented the Rails Tutorial using Phoenix instead. It was pretty straightforward… Ecto vs ActiveRecord was the biggest difference to learn at that point. Nowadays there are very good Ecto books available. I thought that was a great path to get started learning a standard server-side MVC-based webapp with very little JS.

Which Pragmatic Studio course did you do? They have excellent courses on Elixir, Phoenix, LiveView, SPAs with Vue/Elm/React coupled with choice of Phoenix backend (REST, channels, and Absinthe GraphQL). The amount of material and complexity can be staggering!

After exploring all of these I have simplified life (as a resource constrained solo developer) by limiting JS and just doing LiveView (PETAL stack). For this the new Pragmatic Studio LiveView course is outstanding!

Kielo

Kielo OP

Thanks for your replies :).

I think I will go with Programming Elixir and Programming Phoenix and try to recreate the Rails Tutorial app like @tme_317 suggests.

@tme_317 I did the Developing with Elixir/OTP course. I didn’t find it too difficult but stopped when they started talking about testing because I realized I lacked a basic knowledge of things like Git, command line and testing. That’s why I went with the Rails Tutorial courses first. I also want to work as a solo dev so the path you describe sounds like a great fit :).

Exadra37

Exadra37

The best is that you try by using git in an online environment:

https://www.katacoda.com/courses/git

More resources:

tme_317

tme_317

Glad to help… that is definitely the path that worked great for me. Everyone learns differently of course.

I will say I spent a lot of time mired in SPA/JS complexity land before Chris released LiveView… probably would have saved a whole year if he released it sooner! :slight_smile:

Some of those basic things like Git, command line, text editor, etc are also addressed very well for beginners by Michael Hartl in his “Learn Enough” series… although I am sure you can find tons of material online everywhere also.

Kielo

Kielo OP

Yeah the SPA/JS complexity is exactly what I want to avoid as a solo dev.

Thanks. I actually did the Learn Enough Git and Learn Enough Command Line and Learn Enough Text Editor courses as well so I feel like I know enough on these topics to get started.

crispinb

crispinb

Excuse the aside, but how has this worked out for you in practise (ie. being productive with Elixir as a solo dev)? I ask because it’s my motive for starting to learn - I’m an experienced developer with some solo web/saas projects in mind, and Elixir/Phoenix/LiveView seems (this far, 2nd week of experimenting) quite promising.

dokuzbir

dokuzbir

Your programming journey is very similar to mine. Html, css, sass, rails, ruby, elixir, phoenix, erlang, javascript, jquery, react, nodejs, react-native etc… many specific tools and languages. For a new programmer language specific tutorials or books are like a trap.
My advice is learn how to design code before everything. Clean Code - Robert Martin is a good book for that.
This is a good article to read.

Exadra37

Exadra37

The Clean Code Book references a lot the first edition of the Pragamatic Programmer book, thus I would recommend to first read the Pragmatic Programmer Book, and they have now an updated version:

Both books changed my life as a Developer, therefore I also subscribe that it’s a MUST read for developers of any seniority level.

Also in my Todo list is:

Funny enough or not I was already using this type of architecture and I named it Resource Design Pattern, and even started a repo with the principles of it, but never finished it. A colleague of work would call it Resource Action Pattern each time it was referencing a project were I used it :slight_smile:

This article does a good job of explain it:

Better then the Uncle Bob own article:

The main difference to my architecture pattern is that I also split each entity by action:

Where Next? Top

Trending in Chat/Questions Top

Other Trending Topics Top

garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
mcass19
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
wintermeyer
There are three potential reasons for members of this forum to have a look at https://vutuv.de You are tired or annoyed of LinkedIn. Yo...
New
webofbits
Aludel - LLM Evaluation Workbench Aludel is an embeddable Phoenix LiveView dashboard for evaluating and comparing LLM prompts across mult...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews