Chawki

Chawki

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?

First 10 of 12 Posts! Switch mode

lpil

lpil

Creator of Gleam

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.

Eiji

Eiji

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 – Digital Product Agency – Strategy, Design & Build | 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?
Chawki

Chawki

thanks @Eiji

peerreynders

peerreynders

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

lpil

Creator of Gleam

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.

peerreynders

peerreynders

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

oldpond

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!

Chawki

Chawki

thanks friend @oldpond

ericgray

ericgray

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.

Chawki

Chawki

Thank you master

Last Post!

ericgray

ericgray

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

Where Next?

Trending in Chat/Questions Top

krisleech
Hey folks, I’ve been using Elixir for over a couple of years (phx, ecto, broadway, oban). For this kind of work you do not tend, in my e...
New
mhindujadheerajsudan
Hi, I’m Dheeraj Sudan from the UK. I’m a software developer and also run a business with my wife Meenu Hinduja. I’m interested in getting...
New

Other Trending Topics Top

JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge &amp; Solve. They are GUI (Emerge) and State management (S...
New
ausimian
Emily is an Elixir library that runs Nx computations on Apple’s MLX. Install it as the default Nx backend and Nx, defn, Axon, Nx.Serving,...
New
type1fool
I just stumbled on a newly redesigned elixir-lang.org. :tada: It looks like @Software_Mansion did the work, and I think it is generally a...
New
akoutmos
@hugobarauna and I (Alex Koutmos) have been hard at work on writing a book on Nerves that takes you from simply blinking LEDs to building...
New

We're in Beta

About us Mission Statement