Learning two different programming languages same time?

Howdy, folks i have this question about it is ok to learn two different programming languages same time, well my story is i joined a company that they work with ruby last year just started learning and working with it same time and really like it after been working with php for a really long time, and now while am still learning new stuff about ruby the company asked me to learn elixir and i feel like i don’t really know much about ruby to switch to a completely to Functional language that i had no idea about this paradigm FP.
any idea what should i do ?

2 Likes

Corresponding tweet for this thread:

Share link for this tweet.

2 Likes

If you already know PHP then it will be easier to pick up Ruby first, and when you know Ruby it may be easier to get into Elixir as Elixir’s syntax was in part inspired by Ruby :003:

For FP, reading some of the Elixir books will help, like @ulissesalmeida’s Learn Functional Programming with Elixir Book Portal | Devtalk :023:

Here’s my review of it on EF:

5 Likes

Working with different applications (fixing bugs and adding features), I have no choice but to learn different things at the same time :frowning:

3 Likes

I want to acknowledge your discomfort and hope that they are being sensitive to how much time this is going to take you, while also pointing out that this is a good problem to have. You are being paid to learn things while most people have to pay to learn things.

Here is what I think you can ignore in the beginning:

  • Genservers
  • Concurrency
  • ETS
  • OTP
  • Recursive Functions

These things are all super powerful and you will be very well served by learning them eventually, but you can get away with making your initial progress without them.

Here are some of the initial concepts that you will need to learn right away, I am assuming you are doing web development with Phoenix:

  • Read all the errors carefully, with the attitude that (I am going to be great at understanding these) understanding those in any language is a huge help.
  • How to create a Module
  • How to create named functions
  • How to create anonymous functions
  • How you call named functions, always on the module, you don’t do "almokhtar".upcase but instead String.upcase("almokhtar"). It is as if everything is a class method.
  • How to use the List, Map, String and Enum modules.
  • Pattern match on function heads instead of using if statements (just go with me on this, if you ignore this and write your code with if statements you will be confused the moment you try to read someone else’s code).
  • Phoenix, if this is what they are wanting you to actually get done.
6 Likes

Thank you so much @dewetblomerus really appreciate it such great Summary !!!

3 Likes

Agreed!^^

You should do an ‘intro to Elixir’ blog post, screencast or booklet @dewetblomerus :023:

3 Likes