Live data from Hacker News

Elixir – The next big language for the web

creativedeletion.com

51–60 of 85 posts

Re: Elixir – The next big language for the web

#51
post #44

Earlier quoted context omitted.

If we would all just have used Lisp from the get-go, then none of this would have even been necessary. ;) > Don't you rather be learning new concepts rather than new syntax/APIs? I ran out of new things to learn in Ruby, around the time I wrote a fizzbuzz implementation using pure functionals without any conditionals. And the mutability issue was bothering me in a very real way (I spent a month, A MONTH, tracking dow…

> I ran out of new things to learn in Ruby, around the time I wrote a fizzbuzz implementation using pure functionals without any conditionals. I am not a Ruby developer, but if Ruby is Turing complete I can think of a great many things you can learn. Have you implemented a B-Tree? Edmonds-Karp? Linear programming algorithms? Dynamic programming? Why are you limiting your learning to different styles of implementing a…

I have some bad news for you (and for Edsger W. Dijkstra, who you would probably be a fan of)- In the "real world" of programming work, you will likely rarely encounter most of those things. Real-world dev is NOT about "computer science proper". (Unless you're building a language from scratch. Which is like 0.01% of all programming work.) You should of course be aware of them and what they do, and when you think you need them you should Google them and learn them then (and of course be able to do so).

Sometimes you need to switch languages- Perhaps you want the "look and feel" of pencil art which you can't do with pen-driven art without A LOT of work.

You can implement immutable data structures in Ruby- for example, see the Hamster gem here https://github.com/hamstergem/hamster - but 1) it is much, much slower, 2) none of the other gem code you will call into will use Hamster 3) you actually have to code differently to Hamster data structures than to the built-in Ruby ones.

Just because you CAN make pencil-art with pens, doesn't mean that's the "happy path."

And just because you can represent every possible computer operation as a series of lambda functions (see "Programming With Nothing" here, great article: http://codon.com/programming-with-nothing) doesn't mean you should.

Re: Elixir – The next big language for the web

#52
post #44

Earlier quoted context omitted.

> I ran out of new things to learn in Ruby, around the time I wrote a fizzbuzz implementation using pure functionals without any conditionals. I am not a Ruby developer, but if Ruby is Turing complete I can think of a great many things you can learn. Have you implemented a B-Tree? Edmonds-Karp? Linear programming algorithms? Dynamic programming? Why are you limiting your learning to different styles of implementing a…

I have some bad news for you (and for Edsger W. Dijkstra, who you would probably be a fan of)- In the "real world" of programming work, you will likely rarely encounter most of those things. Real-world dev is NOT about "computer science proper". (Unless you're building a language from scratch. Which is like 0.01% of all programming work.) You should of course be aware of them and what they do, and when you think you…

I've been developing software for about twenty years now (as well as overseeing teams of developers), and at one point or another I needed each of the things I mentioned. I have never, however, been required to implement any of them using a functional style (or any other specific style for that matter). And if you like learning languages, that's great (I do too, from time to time), but I find algorithms to be so much more useful (yeah, in the real world). Like I said, I have never written more than a few lines of Ruby code, so I can't comment on the merits of that particular language, but if you find that you have to switch your main programming language more than twice a decade (even twice is probably too much) you're either spending time on the wrong thing, or picking the wrong languages to begin with. Languages that provide significant advantages over existing ones (that justify the very high switching costs) don't get invented more than once a decade. So, if you have to switch, think hard whether your new choice is one of those few that are likely to age well.

Re: Elixir – The next big language for the web

#53
post #49

Earlier quoted context omitted.

> Erlang's module system means that a chunk of the raison d'etre behind language-specific package managers is already alleviated. Sure, modules provide a way to "package" functions, but that is 5% of what a package manager does. Being able to distribute, fetch and do dependency resolution is certainly the bulk of it. I definitely prefer my deployments to rely on packages than fetching git repositories from Github and…

> Sure, modules provide a way to "package" functions, but that is 5% of what a package manager does. Being able to distribute, fetch and do dependency resolution is certainly the bulk of it. Please God the Erlang/Elixir community don't invent another package manager. Pip, easy_install, gem, npm, composer, bundler, bower, maven and all the others I don't know about - we've got enough as users to remember the variation…

https://hex.pm/

Re: Elixir – The next big language for the web

#54
post #7

Earlier quoted context omitted.

I wish I could down vote...

If you click the timestamp a "flag" option should appear. I think anyone can flag a post, and I think posts like that are what flag is meant for.

Good to know. Thanks.

Re: Elixir – The next big language for the web

#55

Earlier quoted context omitted.

Now would be a good time to plug Sugar, another framework for Elixir that's in active development. http://sugar-framework.github.io/ (disclaimer: I'm one of the collaborators on the project)

Good luck! I think this is a great time to start a new Elixir framework, and competition (or perhaps, "coopetition") is good.

Thanks! "Coopetition" is certainly the goal, I think :)

Re: Elixir – The next big language for the web

#56

This isn't a criticism of Elixir (I've never used it, so I can't do that), but how can one just declare something "The Next Big" thing?

Did you read the article? The first sentence is literally: "In this article I will explain why I think the Elixir language will make a big impact in the world of web development."

That's called backpedaling.

Re: Elixir – The next big language for the web

#57
post #9

This isn't a criticism of Elixir (I've never used it, so I can't do that), but how can one just declare something "The Next Big" thing?

Author here. I wrote some reasons to why I think it is likely that it will be. It is not a sure thing of course.

But that headline...

:)

Re: Elixir – The next big language for the web

#58
post #41

Earlier quoted context omitted.

> Are all the new languages such huge advances over older ones that they do that? I don't know about other languages, but having personally migrated from Perl and Ruby to Erlang/Elixir, I at least believe that to be the case in that particular circumstance. A big part of it is that parallel programming is starting to catch on as mainstream rather than something to be shunned or avoided; whereas in the past folks were…

Don't get me wrong, it would be great if all Ruby developers switched to Erlang/Elixir, but what next? I mean, does switching a language more often than once a decade result in net benefit to the industry or net loss? I fear it's the latter.

It depends on how drastic the switch is.

Most of these switches are driven by a shift to some new programming paradigm. We started with procedural programming, then made a big shift to object-oriented programming, and now we're starting to see a big shift toward functional/declarative programming. Who knows what'll be big next?

If this happens too frequently, then there are certainly going to be problems, yes. The current trend, however, indicates that it's not happening too frequently, at least not yet; the current shift from object-oriented imperative to functional/declarative programming (with some object orientation here and there, though this isn't very pronounced in Erlang and its family tree) seems to be by necessity rather than adopting shiny for the sake of shiny, and I think that's what makes the difference here.

Basically, the more dramatic the switch is, the more likely the switch to be a net gain rather than a net loss, since it indicates that the switch was truly necessary. Switching from Python to Ruby, for example, would be a net loss, since - while they have different syntax and in some cases different programming styles and ecosystems - they're both imperative scripting languages and you're not really changing all that much besides a bit of syntax and semantics. Meanwhile, a switch from Python to Haskell, for another example, is more likely to be a net gain, since you wouldn't even consider that switch unless you felt the need for the massive paradigm shift that's required to make such a switch.

As a disclaimer, my claims above are mostly conjecture, though I think they correspond well with reality, at least by my own observations.

Re: Elixir – The next big language for the web

#59
post #52

Earlier quoted context omitted.

I have some bad news for you (and for Edsger W. Dijkstra, who you would probably be a fan of)- In the "real world" of programming work, you will likely rarely encounter most of those things. Real-world dev is NOT about "computer science proper". (Unless you're building a language from scratch. Which is like 0.01% of all programming work.) You should of course be aware of them and what they do, and when you think you…

I've been developing software for about twenty years now (as well as overseeing teams of developers), and at one point or another I needed each of the things I mentioned. I have never, however, been required to implement any of them using a functional style (or any other specific style for that matter). And if you like learning languages, that's great (I do too, from time to time), but I find algorithms to be so much…

Well, there's probably a few things going on.

One is that, without much fail, I seem to be able to pick the winners of the next horse race in technology. I don't know if it's some kind of sensation of some kind of powerful embryological energy of tech ideas or what, but I sometimes see that things might go in a certain way, and I am usually correct. :) (Ruby I spotted REALLY early. When Rails came out I knew it was gonna happen. Apple did have me worried for a while before the iOS devices, but pulled through.) It's definitely a certain intangible energy, I can say that. Perhaps not unsurprisingly, I am involved with startups (and now despise working at large companies), and am semi-successful there.

I think that there's a type of developer who is an "introducer" of new ideas/concepts/products/things and I might be one. I know I enjoy mentoring, too, and I'm told I'm good at it.

If I had to write a new garbage-collection algorithm, I would probably suck at that.

So there's basically room for everyone, the algorithmists, the language hipsters, and everyone else. ;)

Everyone nontechnical who knows me thinks I'm "The Machine Whisperer." When I'm around, things "just work", and I can fix most things pretty quickly. One of my earliest memories is taking things apart to see how they worked... I was fascinated by electric motors... Magician in training. ;) I remember diagramming a regenerative braking system in AP Physics class out of boredom (the school's physics lab ended up getting named after me, for being the first person in the history of the school to get both a 5 on the AP test and 100 on the Regents). Now I drive a Tesla. ;)

But first, I had to flunk engineering calculus in college to realize I wasn't bound to be a physicist. THAT was a reality check.

I remember walking past that physics lab when I was only in 8th grade or so, and getting a weird feeling... Same as when I tried the first Macintosh, the first iPhone, and wrote my first Ruby code... when I dialed out with a modem for the first time, before the Internet... and when I tried NCSA Mosaic.

Anyway, I still get that weird feeling now sometimes. Elixir did it. ;)

You might enjoy Beautiful Code if you haven't checked it out yet: http://smile.amazon.com/Beautiful-Code-Leading-Programmers-P...

Re: Elixir – The next big language for the web

#60
post #47

Earlier quoted context omitted.

Can there only be 1 next big thing at a time?

When Rails came along it became the one big thing in the web world (something I look back at and wish the fanbois hadn't put me off so much). And looking at the state of competing and ever-growing landscape of Javascript frameworks, I'm not convinced multiple big things is better.

I don't think its a matter of "multiple big things". Its a matter of having multiple solid options.
Post reply on HN