William

William

Is elixir good for beginner programmer?

Hi, I am a self taught programmer, and I have some basic background of Javascript and Python that I learned from codecademy and treehouse. I would like to ask wether I am ready to start learning Elixir? Or should I continue to learn Javascript and Python?

If you think I should start learning elixir, then where do I start? Is there any online tutorial?

Thank your for your help.

First Post!

adammokan

adammokan

I think Elixir would be good to start with before getting too far into object oriented programming via Python. The guide on the the main website is solid enough to start with. Play around in iex to get the feel for things a bit. (google it if you’re not familiar with iex)

Just explore and don’t be afraid to make mistakes. Good luck!

Most Liked

peerreynders

peerreynders

While I certainly understand the sentiment, I wasn’t referring to it for learning how to write macros but to underline that “macros that generate code during compilation” are of central importance in Elixir - and people coming from languages where that capability isn’t a core feature need to be made aware of it as soon as possible.

In my mind some macros express code that “hangs in the sky in much the same way that bricks don’t” - as a result from a novice’s point of view it isn’t at all clear how that code can have any run-time effect and/or how the code connects to the “rest-of-the-world” until they are made fully aware of Elixir’s meta-programming facilities (I’m surprised this hasn’t made it into Elixir’s biggest gotchas).

One good example is the plug router:

defmodule MyRouter do
  use Plug.Router

  plug :match
  plug :dispatch

One has no hope of understanding what is happening here until the realization comes that a whole bunch of code is “hydrated” here, in place, during compilation. The faster any novice realizes that the better. So while writing macros can wait, reading them and understanding their implications on the language as a whole cannot - at least in my opinion.

OvermindDL1

OvermindDL1

Hear hear, that is why I am a huge proponent of people learning a low-level assembler (old Motorola or so, not necessarily a nasty one like x86), as well as LISP. Both of those prepare you for both understanding how the CPU works and high level concepts (every high level concept if you learn LISP well).

StefanHoutzager

StefanHoutzager

I’m afraid I have been spoiled. :frowning: I will not name by which language. :slight_smile:
But Peer’s quote reminds me of Edsger Dijkstra:
“It is not only the violin that shapes the violinist, we are all shaped by the tools we train ourselves to use, and in this respect programming languages have a devious influence: they shape our thinking habits. This circumstance makes the choice of first programming language so important.” (E.W.Dijkstra Archive: To the Budget Council (concerning Haskell))

Last Post!

Iccr

Iccr

Sadly this still holds true to this days. Since I don’t have web background Its hard to roll things in my own. Seriously, given the amount of resources for nodes, go-lang, elixir and phoenix has really not so significant amount of resources. Just search for elixir/ phoenix tutorials, vs go-lang and js tutorials in youtube. Js even have tutorials like “How to make Amazon”. Elixir has only videos like “Why X company started/adopted using elixir”.

our community needs more channels like alchemist camp and with even more variety and competitive examples and tutorials to other languages, from beginner to intermediate to advance. The worst feeling (IMO) as a beginner is that you have to go hunting for the tutorials, blog post here and there like a scavengers.

For someone who is just starting, Last thing he/she expect is the steep learning curve. If only we could somehow flatten that curve, Elixir is such a beautiful language, everyone will start using it.

Where Next?

Popular in Discussions Top

CharlesO
Erlang :list.nth simple, but 1 - based nth(1, [H|_]) -> H; nth(N, [_|T]) when N > 1 -> nth(N - 1, T). Elixir Enum.at … coo...
New
und0ck3d
Hello everyone! A few days ago I’ve created a topic here about how people were creating CMSs with Elixir and Phoenix. I’ve been studying...
New
acrolink
How does the two languages compare when it comes to server side application development? Any experiences or ideas? Thank you.
New
dogweather
I wrote this comment on r/haskell, and it’s not popular there. :wink: But I think I’m on to something… Haskell reminds me of Java, and e...
New
AstonJ
If so I (and hopefully others!) might have some tips for you :slight_smile: But first, please say which area you’re finding most challen...
New
nunobernardes99
Hi there Elixir friends :vulcan_salute: In a recent task I was on, I needed to check in two dates which of them is the maximum and which...
New
sergio
Kind of like when jquery came out, it was super necessary. Existing drag and drop libraries have a bunch of baggage to support old browse...
New

Other popular topics Top

vertexbuffer
Hello, can anybody help here..? I have a list of players and I what to delete an element, but every for loop the list is reverting to ori...
New
vonH
When I run the Plug and I recompile I wind up having to use Ctrl C to quit iex and start again. Witht the help of rlwrap I can use the cu...
New
sen
Hi All, I set a environment variables in dev.exs , like below code. when i start server, how can i set the ${enable} value? thanks. d...
New
msaraiva
Surface is an experimental library built on top of Phoenix LiveView and its new LiveComponent API that aims to provide a more declarative...
564 44265 214
New
jason.o
In the code below, if the create action is not set to accept “extra_key” as an input, it errors out with a message shown above. Is there ...
New
DarynOngera
Hey guys, I’ve had this in local for a couple of days I thought I should share to the community. What if ? A business transaction can n...
New

We're in Beta

About us Mission Statement