Learning back end Elixir programming without back end experience

hi,i’m new to programming world i had learned front-end( javascript,react.js) and i wanna learn a back-end programming language i thought of choosing elixir,without any knowledge of back-end can i learn elixir?

1 Like

Elixir would be a fine choice for learning back-end development, though I’d recommend learning Elixir by itself first :slight_smile:

If you already know Javascript then Javascript would also be a good option for learning back-end development.

3 Likes

Personally I think that Elixir is easiest language (especially when learning as first language as you do not have any OOP language in mind).

The most important part for developer is how nice code (to read quickly) you are able to write (Elixir have awesome builtin support for lots of things like documentation) and how much code you need to write in order to achieve something.

(…) The new code is about one-tenth of the size of the old code. (…)

Source: An introduction to the Elixir programming language | Kyan

Other threads which may help you:

  1. What is your number one tip for anyone new to Elixir?
  2. Your Elixir Tips Thread
  3. Elixir’s biggest gotchas?
7 Likes

thanks @Eiji

Dr. Stephen Strange: They really should put the warnings before the spell.

Ryan Dahl, Creator of Node.js:

And honestly, that’s the reason why I left Node. It was the realization that: oh, actually, this is not the best server-side system ever.

Node.js as a Backend: Best Use Cases, Tools & Limitations

Advice for choosing between elixir and nodejs

If you just want to get your feet wet start with Getting Started and continue with Mix and OTP to see if you’ll have any problems.

  • There is nothing special about languages that are being used on the “back end”. It just happens that originally JavaScript was designed with the runtime constraints of the browser in mind - so at the time there was no need for language features that are considered essential for large scale application development - and the Node.js community has had to backfill the holes ever since (e.g. adopt a module system before the official language specification did).
  • Being comfortable using the command line would be helpful. By extension in my personal opinion I think it would be helpful to work on a *nix type of platform. Some people seem to be successful with Windows especially when using the Windows Bash Shell - but I can’t help shaking the impression that Windows increases the amount of friction you have to deal with.
  • Seems people like to use vscode-elixir-ls but your favourite text editor will do.
1 Like

Let’s not bash languages here. While it may not be to my taste there are a great number of people who are happy with JavaScript as a backend language- likely more than the are Elixir programmers of any kind.

1 Like

If I’m bashing anything it’s familiarity bias - which in my experience can only be countered by becoming familiar with alternatives rather than simply sticking to what you already know.

there are a great number of people who are happy with JavaScript as a backend language

So it’s perceived as popular … which supports what conclusions exactly? According to this report PHP wins the “most widely used” contest (given that “server side” and “back end” distinction has become kind of blurry).

The core topic is learning “back end programming” with some JavaScript and React background.

  • I’d argue that there are a lot of peculiarities to Node.js that makes the back end experience far from typical (and some would argue less than ideal).
  • Even Elixir delivers an atypical experience given the characteristics of the BEAM and OTP. Once you get used to organizing your code into processes (as value processors) which interact via messages it “just makes sense”. But it certainly isn’t as popular as the other contenders because it is so different.
  • Java and C# I would categorize as the more typical back end experience. But because of their enterprise orientation their application frameworks tend to be fairly heavyweight (and at times overwrought).
  • Go and Python are perceived as being more lightweight than Java/C#. If the hype is to be believed Go is starting to eat into all the others marketshare.

The Elixir ecosystem is great for backend programming. A great introduction would be Dave Thomas’ course, Elixir for Programmers. There you will learn how to create a backend game engine and a frontend game client that will give you a solid foundation for understanding Elixir. Good luck! And Welcome!

2 Likes

thanks friend @oldpond

Learning the back end is more about learning programming principles and concepts that differ from the front end. A lot of newbies get lost and confused because they don’t have a solid understanding of back-end web architecture. Check out this article

Elixir is a wonderful language to get started with especially if you don’t have much experience with Object Oriented Languages. I would recommend Elixir to anyone new to programming. If you already know JS you should have no problem picking up Elixir. For example anonymous functions look very similar.

Elixir Console
iex(1)> square = fn(x) -> x * x end
#Function<6.128620087/1 in :erl_eval.expr/5>
iex(2)> square.(9)
81

Node Console
> let square = (x) => x * x;
[Function: square]
> square(9);
81

Elixir is easy to get started with. You’re going to love things like Pattern Matching. Your biggest challenges will probably be OTP and concurrency but you can do a lot without really understanding OTP. Go for it, I think it’s the best back end language you can invest in.

1 Like

Thank you master

The embedded hyperlink isn’t working, Can you pleas post it again? Thanks!

That original link is dead. I think it was this article on code academy. Back-End Web Architecture

2 Likes