redya

redya

hello everyone.
can I start learning elixir as the first programming language? bypassing learning the ruby language? how much harder will it be? or would it be better to learn basic ruby first and then switch to elixir? what book would you recommend to start learning the language for a beginner who had no previous programming experience?

sorry for my english, I’m from russia, it’s a poor country and my goal is to learn one of the programming languages to start earning $ 10-12 / hour

I hope that I asked the question in the appropriate forum section, if I made a mistake, please excuse me

I will be grateful for your response

Showing Posts 23 to 14

jfc

jfc

I am in a situation where I need to learn Elixir as a C, perl, etc. programmer and to mentor a non programmer in order to work together on a long term elixir project (choice based on an FP must) which will make us to progressively know it deeper. (Private project)

[zervis] gave a list of resources. Is every best here and what would be the really first reading after a javascript self-training?
Thx!

Oliver

Oliver

The thing about functional programming is that some people need to see the flaws of the other styles before embracing it. The college I went to pushed FP heavily in freshman courses but it seemed, back in the day, you could achieve little with it practically. Also, in the early 2000s it wasn’t exactly helping job prospects. It seemed like a purely academic exercise.

After working in my field for a decade, my style started to head back towards FP anyway. I always stayed a fan of Lisp and Scheme (which I taught myself, it wasn’t “pure” enough for college profs), I used the map() function in Python a lot, etc.

My field of employment is telecoms. I learned Erlang early 2016 and made the switch to elixir about two months later. Not only is the language a perfect fit there, it was made for the stuff, though I see that people in the elixir community seemed to tend towards more web programming than telecoms, I take from Erlang whatever I need. There was definitely some fiddling involved in the early days with elixir 1.2 and 1.3 to learn how to make things like :gen_fsm work. But it was well worth it.

After having seen the myriad of problems you get into when programming C++ and the ill-advised “evolution” of the language, elixir was not only a breath of fresh air, it also further transformed my thinking about code. elixir is sitting right at the intersection of pragmatic and functional, allowing you to put out code faster than in any of the type-obsessed languages and reaping almost all the benefits possible in FP. (Type-inferred polymorphism like in Haskell can be useful, after all, but the type system can also drive you nuts.)

Solving problems in elixir, Erlang, or even Lisp or Scheme, has its own mode of thinking. It’s mostly about data structures, how you wind your way through lists and maps, how you build them, how you run over them, etc. For tuning it, a grounding in how memory in general works at the system, OS, library, and BEAM level helps. If you have handled pointers and smart pointers before you switch to a garbage-collected language, you get a more complete picture. You become a better, more complete programmer. But it is not required as such.

Everything you learn will put something in your toolbox, or teach you a caveat. Smalltalk for example teaches you that abandoning operator precedence for language purity is … a questionable choice. But it was fun to play with. C and C++ force you to think about memory all the time and about ever more complex internal, behind-the-scenes mechanics. C++ also “teaches” you how to not design a language… :lol: :wink:

elixir takes part of its heritage from Lisp, part of it from Erlang. It has IMO better syntax than Erlang. It might be also worth looking at lfe (Lisp-flavored Erlang), depending, but elixir is becoming valid for job-seekers.

For me it’s never been “either-or” but only “when.” Ruby’s code blocks are a nice feature that make the language fun to play with. I have no idea how it behaves on concurrency, but for example python does abysmally there and is also slow. It really depends what you want to do. For parallel programming and utilizing many cores, elixir is awesome. It’s more than reasonably fast, and on string-processing and stuff like JSON or XML it blazes through large datasets like nothing.

And people need to chill about spoken language analogies. :lol:

redya

redya OP

Oh, I didn’t expect so many responses, thank you for that

I didn’t realize that ruby and elixir are very different languages despite the similar syntax

initially, I wanted to study ruby, but while studying information about ruby, I often saw references to the elixir and its benefits, I became interested and started looking for information

then I saw this: Twitch

I looked at examples of other code and against the background of other advantages that I read about, this language seemed very attractive to me, and in any new learning, attractiveness and desire play a key role

at the moment I work in affiliate marketing, as an affiliate manager, and in the future I would like to write a product (solution) that will simplify the work of many affiliate managers

I do not know how much time it will take, 2 or 3 years, but I am ready to devote 2-3 hours a day to studying, it is probably not enough, but I will try

mudasobwa

mudasobwa

Creator of Cure

Finnish is longer than German, and I consider German being somewhat hard, so Finnish must definitely be even harder.

:slight_smile:

Alex-Anev

Alex-Anev

I’m not the most experienced programmer around so don’t take my words as gospel. However the man who taught me Elixir did say it is easier to learn when you don’t have the coding practices of other languages already embedded in your head.

As tfwright said, its better to learn javascript and/or python since that’s the easiest way to find a job. But definitely consider learning Elixir on the side if possible.

hauleth

hauleth

Not only. As a native Polish speaker I think that English orthography is more on the “easy” part, and this paper didn’t picked any hard languages, only Finnish, which may seem hard on the first sight.

tfwright

tfwright

Maybe you are thinking of non-European languages?

Here is a paper comparing literacy acquisition among European children (it is a fact that it takes English speakers much longer to master reading) and exploring the possible objective causes: https://www.pitt.edu/~perfetti/PDF/Seymour.pdf Obviously there are sociological and other factors that make studying ‘difficulty’, well, difficult, but it breaks down plenty of objectively complex dimensions to English.

malloryerik

malloryerik

Maybe something like Racket could be a good first language if you’re interested in Elixir. There are others better equipped to judge than I am, but Racket has a fantastic beginner’s book, How to Design Programs, designed to help you think beyond mere syntax, and it will lead you in a more functional programming direction that will be useful in learning Elixir and also, it seems to me, in learning JavaScript.

Racket is a Lisp so it will look a bit alien, but even this may encourage a useful mindset. Though it’s well-designed, you’re unlikely to use Racket except as a learning language simply because from what I can see it’s more popular as an academic than commercial language, and in fact the book I’m recommending is uses a customized version called Beginner Student Language. Then when you try Elixir or JavaScript for example, the differences as well as the similarities will be insightful.

If you’re interested at all, I suggest checking out with the book’s Prologue: How to Program which will get you set up with a text editor and coding some simple and fun stuff very rapidly.

aimerib

aimerib

Blockquote[quote=“hauleth, post:15, topic:34319”]
Do you have any source of that? Because of the languages I know and I am aware of then it probably wouldn’t make into first 10 of the hardest languages.
[/quote]

I’ve been a long time crawler here but signed up just to participate in this conversation!
I certainly agree with you here.

I think that what makes English hard to learn is the same thing that also makes it easy to get started with it: it’s an extremely flexible language, and you can express the same thing in many different ways. This flexibility, coupled with the extensive materials available for learning the language, and huge quantity if source material make it a very accessible language for one to get immersed in. English is a little bit like Ruby and JavaScript, in that regard. You need to know a lot less to be productive with it it right away. That same flexibility can also make things very confusing, and sometimes the “best solution” isn’t obvious, or isn’t necessarily agreed upon by everyone.
These are only my personal observation, so no sources for that, just opinions.

On the topic of learning Elixir, honestly, knowing Ruby first has actually made Elixir a little harder to learn, only because the syntax looks a little (a lot?) similar between the two, but the language itself behaves somewhat differently to the point that I felt it was easier if I just stopped trying to compare them in my head period. I can’t think of where I heard this, but how I came to Elixir was from hearing somewhere about how Elixir was a better Ruby (along with Crystal, which I’m yet to check out)

hauleth

hauleth

Do you have any source of that? Because of the languages I know and I am aware of then it probably wouldn’t make into first 10 of the hardest languages.

Where Next? Top

Trending in Questions Top

stjefim
Hello! Suppose you are building workflow (order / task / payment) processing system with the following requirements: Each workflow con...
New
Blokh
Hey guys, I’ve got a huge CSV ( around 10 GB ) that needs to be processed hourly Do you guys have any suggestions what is the best prac...
New
roeland
Kia ora, We have been using elixir-google-api to connect to Google Drive. However, with the updates to Tesla due to CVEs this is now bro...
New
kszambelanczyk
Hello! Could someone please give me a help/sample code, how to delete a file from s3 using waffle/waffle_ecto from Phoenix app. I creat...
New
Onor.io
I have what I’ve heard referred to as a “lookup table” in my database. This is a way of assigning codes to common values. One common lo...
New
jaybe78
Hello, I’m developing a online persistent chat system (what’s app) like using elixir/dynamodb/aws for a mobile app(flutter). The diffic...
New
Trolleger
What approach to take when sending live updates to “random” users Hi! I have a question, I have a little chat app, and when I create a DM...
New

Other Trending Topics Top

garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
mcass19
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
wintermeyer
There are three potential reasons for members of this forum to have a look at https://vutuv.de You are tired or annoyed of LinkedIn. Yo...
New
aseigo
ICal is a library for interacting with iCalendar data. It parses iCalendars into typed Elixir structs via ICal.from_ics, and can prepare ...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews