Elixir for an absolute beginner?

As others have stated learn how to program and then you can transfer knowledge from one language to another easily. I don’t think I’d recommend Elixir for that. Back in the day BASIC was the go-to introductory language. Now I’d have to say Java.

Finish the above playlist and you’ll know the all the fundamentals.

2 Likes

@gpb html/css/ just finished basics and I am halfway through intermediate. Javascript I haven’t start it yet I am searching for a good starter book (but first I want to master these to before I go to next thing).

@Mandemus I am watching the videos now they are indeed useful (to understand fundamentals better), thanks for sharing.

:heart: this community, within one day I have received so many useful answers, thanks for the guidance ;).

3 Likes

For Javascript, I’ve heard good things about this course:
https://watchandcode.com/

The initial course is free, and should give you a good start.

2 Likes

Thanks, free course is always good thanks for the website.

Honestly I’d never recommend any variant of BASIC. Sure it replaces some operators with words, but it is a language where it is near impossible to represent complex ideas without an absolute monstrous amount of code. I’ve personally seen many people learn BASIC get frustrated at it and scared of touching other languages because they think the other languages will be as bad as BASIC.

1 Like

+1 even “back in the day” people who knew BASIC often had to unlearn + relearn to be able to use “real languages”. As a basic language to start with I’d go with C++, though hipster newcomers like Rust look cool these days

I’m older then you and honestly consider myself young. Also the capability to learn complicated stuff like new programming paradigms / stacks is better at this age then say twenties, your brain is in its prime, give it some credit :slight_smile:

That being said consider what you want to achieve, if getting a job is your goal then you might want to start with one of the mainstream languages and learn Elixir afterwards.

3 Likes

Age i meant it sarcastic (youth is still competition, but hey that keeps young right?).

What would you consider as mainstream language and that connects to Elixir later on?

1 Like

He will be learning JS anyway and in the realm of getting a job JS is more than relevant :slight_smile:
It’s enough to do BE, FE, Mobile (React native is surprisingly usable) and Desktop (Electron).
There is even a very decent Node framework Hapi that has a very nicely done API. I was even thinking of creating an Elixir version if I ever have time.

1 Like

agreed, all true - JS is a must have if looking for a job is a goal. Though I consider JS (despite being in interesting language with all the prototype based stuff) is not at all good as the very first language. By learning it one learns it, that’s all. Also youth competition was a consideration and the fact that you only need one language to rule them all (unique case for web development) attracts many inexperienced developers that pollute MEAN stack and will probably shape its future for some time now, so there is also that :slight_smile:

As @andre1sk said you’ll have to learn JavaScript if you want to do anything remotely web related, but I’d strongly suggest learning the basics of any other language first.

Something that in a way connects to Elixir would be Ruby, its syntax inspired Elixir and it’s all in all a nice OOP language in my opinion. But maybe consider a totally “disconnected” language and spend just few days to write some “hello world” stuff with it - Python is pretty neat and beginner friendly, would be as good place to start as any.

TL;DR you’ll have to learn JavaScript anyway but before diving into that consider learning the basics of another language, Ruby or Python are both good candidates.

1 Like

Hey @Ivo_N. I’m a person that didn’t have much of a programming background and jumped into Elixir. I knew a bit of Javascript though and some basic programming concepts so I had a leg up. Even with that though it’s not been the easiest and still not! haha. But I’m plugging away.

There are a lot more resources for true beginners like yourself in the Javascript ecosystem. In my opinion Elixir is a difficult ecosystem for true beginners to get started in because to my knowledge there aren’t any quality resources in Elixir for the true beginner.

What I mean is that the resources that are out there will not hold your hand and explain the most basic of concepts that you need to know in order to understand what’s being talked about.

Almost all the resources mentioned here assume a certain base level knowledge of programming that you will likely don’t have and will find frustrating because you’ll be trying to track down the prerequisite knowledge which itself will be difficult because you don’t have the fundamentals down. You don’t know what you don’t know basically.

Anyway sounds like you’re wanting to do stuff on the web and you need to start with HTML/CSS to do that anyway. And once you finish that you’ll need to learn Javascript. Even doing Elixir you won’t get away from JS.

Derek Sivers gives some really great advice here on his site about how to get started.


I’ll also echo his recommendation of Free Code Camp. I know of no other better resource online, paid or otherwise. It’ll take you from the absolute basics all the way to working on the backend with Node. Complete the whole thing and you’ll be a very capable Jr. dev. Then loop back around and learn Elixir.

5 Likes

As a said before. Python. Both books i gave you are really good for the basics. Once you got control flow and functions, variable etc you can try to have a look at elixir school or “Getting Started”. And feel free to ask any question about the tutorial you are following :slight_smile:

2 Likes

At the moment I am watching the free javascript course that @gpd and @brettwise have suggested, i started today with JS I can follow the course good but sometimes I need rewind, freeze and google it to make sure if I get the message :P.

And I am following the youtube channel that @Mandemus has suggested (it’s makes me understand somethings easier).

As for Ruby or Python, the books that @DianaOlympos suggested where not available in my local library… shame on them!! But maybe I need focus on JS first and makes the next step easier. (both have lots of job opportunities here in the Netherlands - Ruby has more web development vacancies from beginner to expert and Python its mix of web and engineering but lots of them you need to have a specific background).

I found 2 courses on Udemy
https://www.udemy.com/the-python-bible/learn/v4/overview

The one that @reddhouse posted, I have contacted the Stephen and suggested me not stay away from Elixir but learn some the basic JS, it will make the course easier to understand…

Decisions decisions… Python, Ruby or master JS and jump in at the deep end (Elixir).

1 Like

Personally I would just read some quick intros on JS and html/css because JS is not a nice language and html/css are very easy to pick up.

My favourite introduction to programming is Learn to Program by Chris Pine, however it is about OOP - I would love to write something like that but for Elixir (which is a functional language) one day :003:

Here’s what I wrote about it in a blog post:

If you are new to programming, or OOP (object orientated programming) then we’re going to start with the wonderful Learn To Program by Chris Pine. You can read it FREE online, or you can buy a book (that includes answers) from pragprog.com

Learn To Program is a lovely introduction to programming (and OOP) and luckily for us, just so happens to be in Ruby! It also makes you realise you don’t have to be Einstein to be a programmer – I really like how Chris makes the reader feel like anyone can learn, not just the super smart or the super geeky.

This book is essential if you’re new to either programming or OOP, but highly recommended for any relative newcomer – read it just as a motivator if nothing else. It’s short and sweet, and helps you lose the “I don’t think I’ve got a programmer’s brain” mindset as well.

While the recommendations are solid they totally ignore the existence of Kyle Simpson’s more comprehensive “You don’t know JS” approach to learning JavaScript:

Honourable mention:

I keep being puzzled about some of the “first” programming language recommendations. It seems that most recommendations are based on the on the assumption that the “first” language should be familiar/easy to learn to get the learner “programming” as soon as possible with a minimum amount of frustration regardless of the constrained mindset that it may initially create. I view this as a “save now, pay later” approach as it will later be necessary to “undo” many parts of the early mindset as other language skills are being acquired.

The “first” language is an opportunity to build a solid foundation where upon to build further skills later, which is why this still remains my “first” programming language recommendation.

I’m a bit dubious about learning Ruby before Elixir. My personal experience was that I could never warm up to Ruby’s syntax - I’ve had no such issues which Elixir.

2 Likes

@peerreynders, thanks for all the links, i need more coffee… I have recieved so many suggestion I have no idea where to start now :stuck_out_tongue:

[quote=“AstonJ, post:33, topic:2266”]
– I really like how Chris makes the reader feel like anyone can learn, not just the super smart or the super geeky.[/quote]

This made me happy, although I never saw programmers as geeks but as super wiz-kids (the things they can do with their brains is awesome).

1 Like

My own humble recommendation…HTML/CSS->Javascript->ELM.
Elm is a functional language designed for front end development that outputs
Javascript. Meaning all the stuff you learn about HTML and Javascript you can
build on in ELM. The principles of functional programming in ELM will apply to
Elixir, knowing all 4 (HTML,Javascript,ELM,Elixir) will make you a full stack web
developer over time. ELM is a very gentle introduction to applied functional programming
and is growing in popularity.
One of the best places to learn Javascript is the Mozilla Development Network
https://developer.mozilla.org/en-US/ includes courses on html, css and javascript for free,
you can use Firefox or Chrome or even the new MS Edge.

2 Likes

I would not call them the best material for beginners plus some of them are very verbose as Kyle tried to stretch a fairly small topic to fill the book :). Plus some of the advice is less then practical as actual JS engines such as V8 are optimised for “classic” OOP style code (minus inheritance :slight_smile:) vs “semtic” JS that Kyle advocates.

Your criticisms sound more like those from an experienced developer. Lots of beginners prefer verbose and possibly even repetitive because they “need to get their eye in”. Also optimization with respect to particular run-time implementations seems outside the scope of a beginner’s objectives (possibly even ill-advised; at times it does make sense to at least initially gloss over some details (and/or temporarily obscure the absolute truth) in order to emphasize core concepts).

I think really the biggest issue is whether JavaScript is suitable as a first language - my personal opinion is that it is less than ideal but there are other opinions. In terms of “beginner-friendly” JavaScript books, I’ve come across many recommendations for Eloquent JavaScript; others like the Head First way of doing things - I have used neither but I’m not the target audience and I suspect that they are far from comprehensive. In any case, everybody’s mileage will vary.

2 Likes

Specifically V8 (and most JS JITs) are optimized for structures that stay the same shape.

1 Like

Yep but even in trivial minutia like new Blah() is orders of magnitude faster than Object.create

1 Like