Elixir for an absolute beginner?


#14

To have a very firm grasp on things that’s a very good list, one would have to defer getting something done for a long time to complete that list though :slight_smile:


#15

Hehe, indeed, that is why I put it as a ‘Get things done’ or ‘Learn it all’, they do not always go well together. ^.^


#16

@OvermindDL1, first all many thanks for your time for typing out such big reply, I want to focus on web development first. I love those beautiful unique websites that have become super populair.in couple years (even if they have build with Ruby or Python).

The reason why I want to focus on Elixer/Phoenix (they are buddies like Ruby & Rails - Python & Django right?) is that I am 36 old and youth is heavy competition for me :D, what I want to say is that Elixer young and starts to get populair each day, if I can master it before it becomes the next big new thing (probably already started) I have the advantage over the youth “rivals”.

Off-course I love to learn more like machine learning and so on… but that is a next next step ;).

@AstonJ @andre1sk , yea I need to clone myself or hot tub time machine to complete that list.


#17

Then for web stuff Elixir is a fantastic server-side language to use. Now about the front-end, that, again, depends on what you want to do. ^.^

So about the same age as me. :wink:

Can definitely pick this up. :slight_smile:

If you don’t care too much about efficiency and just want to learn the machine learning stuff, I’d say use Python as it has excellent bindings to libraries for that, probably the best of any language outside of C++ itself. C++ for efficiency, but unless you are doing stuff that needs thousands of CPU cores, generally not an issue. ^.^


#18

well welcome to the world of pain :slight_smile: there are few pure backend jobs so you will have to deal with nightmare that is front end development :slight_smile:


#19

A post was split to a new topic: The Complete Elixir and Phoenix Bootcamp (Udemy course)


#20

For a beginner, I think Elixir is a very good programming language:

*It is based on Erlang, which gets the concurrency/fault-handling models correct from the beginning.
*Its very pragmatic, coherent and consistent.
*We are lucky that the main language designer (Jose Valim) is a super talented language nerd and actively incorporating the best parts from other languages (such as Clojure, Scala, Ruby, .Net, etc).

I’d just mention that if you are looking to use Elixir in web-dev, sooner or later you will have to deal with the front-end stack. This means a minimum working knowledge of html/css/javascript, which also takes time and devoted study.


#21

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.


#22

@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 ;).


#23

For Javascript, I’ve heard good things about this course:

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


#24

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


#25

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.


#26

+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.


#27

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?


#28

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.


#29

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.


#30

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.


#31

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:


#32

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

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).


#33

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.