Live data from Hacker News

Ten Years of Erlang

ferd.ca

131–140 of 155 posts

Re: Ten Years of Erlang

#131
post #9

I love Erlang, and am one of the very few people who (in the past) managed to find work doing it full time. The actor paradigm it provides is surprisingly simple and elegant to write an app, even on a single node, and of course making distributed apps is fairly straightforward as a result of it. I have found that I like Lisp-Flavoured-Erlang (LFE) a bit more, since I still find the prolog-esque syntax a bit frustrati…

Not being facetious, but could the joy resemble the fun I associate with developing with Ruby?

I worked with Ruby for about 10 years before diving into Erlang. I liked a lot about the Erlang ecosystem, but the syntax was a bit challenging. About a year later, I found Elixir. It provided all the joys of Ruby for me combined with all the things I loved about Erlang. This is completely subjective, obviously, but I've worked with a lot of languages over the past 30 years and Elixir has been by far my favorite. I hope to finish out my career doing Elixir.

Re: Ten Years of Erlang

#132
post #93
post #41

Earlier quoted context omitted.

> And Phoenix LiveView (not released yet), which I personally think pulls the strengths of Phoenix together in a way that can truly disrupt web development. It’s very difficult to do what LiveView is doing on other tech stacks. LiveView cannot avoid latency. When I've experimented it's great for something running on my local network; less good when it's in a datacentre in another country. It's laggy. And unless you r…

> LiveView cannot avoid latency. When I've experimented it's great for something running on my local network; less good when it's in a datacentre in another country. It's laggy. If you built a traditional SPA, aren't you still making loads of calls to your server? I don't see how LiveView would be more laggy than that. In both cases you're making network calls from the user's machine, to your server, getting a respon…

> If you built a traditional SPA, aren't you still making loads of calls to your server?

For data loading, yes. But here's a few random thoughts:

* I can pre-emptively load data in a SPA (think: 3 screens-worth of a datagrid) and keep fetching in advance, so the user rarely feels the lag.

* Much of my investigation has been around adaptive forms, wizards, validation and keeping logic in a single place. Having to define models and logic once, rather than client-side and server-side would save so much time.

My testing suggested that client-side validation still gave better results, because it was instant. Moving forward & back through a wizard was better if client-side rather than each screen rendered server-side.

I experimented early May so am a little hazy on details (and can't find which PIM I put my notes in, sigh) and look forward to seeing other people's experiments. Particularly when not run on their local machine.

Re: Ten Years of Erlang

#133
post #96
post #87

Functional programming has too long of a learning curve to the average programmer. A language should be judged by how long it takes average programmers to become proficient in it, not the "Sheldon Cooper" types. In typical medium and large organizations, it's difficult keep being selective about programmer hiring. (There are org structural/political reasons that would take several paragraphs to explain.) This problem…

I'm hardly smart. The only thing I have going is I'm determined. I have no CS degree, never went to university but have been doing freelance web dev work for ~20 years. Been through a lot over the years but never took a shot with a functional language until I met Elixir recently. It really didn't take that long to get to the point with Elixir where things somewhat started to click. I'm still very much a beginner and…

>Is determined. Has 20 years of experience.

An average programmer is a few years out of college and is lazy.

Re: Ten Years of Erlang

#134
post #87

Functional programming has too long of a learning curve to the average programmer. A language should be judged by how long it takes average programmers to become proficient in it, not the "Sheldon Cooper" types. In typical medium and large organizations, it's difficult keep being selective about programmer hiring. (There are org structural/political reasons that would take several paragraphs to explain.) This problem…

Hi there, I sometimes try to help normals relate to me by asking, "You know Sheldon Cooper from Big Bang Theory? I'm like a stupid, slighty-less-social-idiot Sheldon Cooper." I identify with Dr. Cooper. (BTW it sucks being like that. Don't ever think we do it because we like it. There are a few perks but it mostly sucks. Also, it's like living in "Idiocracy". I can't watch that movie because it's too painful. That's…

/r/programmingcirclejerk

Re: Ten Years of Erlang

#135
post #132
post #93

Earlier quoted context omitted.

> LiveView cannot avoid latency. When I've experimented it's great for something running on my local network; less good when it's in a datacentre in another country. It's laggy. If you built a traditional SPA, aren't you still making loads of calls to your server? I don't see how LiveView would be more laggy than that. In both cases you're making network calls from the user's machine, to your server, getting a respon…

> If you built a traditional SPA, aren't you still making loads of calls to your server? For data loading, yes. But here's a few random thoughts: * I can pre-emptively load data in a SPA (think: 3 screens-worth of a datagrid) and keep fetching in advance, so the user rarely feels the lag. * Much of my investigation has been around adaptive forms, wizards, validation and keeping logic in a single place. Having to defi…

> My testing suggested that client-side validation still gave better results, because it was instant.

In some cases yes, but I don't think you can get away with client side validation for a lot of things because they depend on the state of your database to return the correct result.

For example, how would you validate an email or username on the client when the availability of the name depends on you making a database call to see if a user exists already? You have to make a network call, get the result and then update your validation errors on the client based on that server side result.

But for validating something like a phone number or twitter handle, sure, client side works all the way but I don't think having even 200ms of delay for that validation is going to make for a bad user experience. 200ms is a lot too. That's about what it takes to ping a server in Tokyo from New York.

Your other points are valid tho. I guess we'll see where LiveView ends up going.

Re: Ten Years of Erlang

#136
post #76

Earlier quoted context omitted.

I think you should add to this comment "in my opinion." Because in my opinion C# is miles ahead of Erlang. If I want to create an application, back-end, front-end, running on a wide variety of platforms, Mac, Linux, PC, IOS, etc, I would use C# 1000 times over versus Erlang. The tools available, documentation, huge amount of libraries and support mean that developer efficiency in C# land is light-years ahead of Erlan…

Wouldn't this logic make Java by far the greatest language ever invented?

That's not already self evident?

Re: Ten Years of Erlang

#137

Earlier quoted context omitted.

Elixir isn't really Ruby inspired though. The only thing about it that really derives from Ruby is the focus on developer productivity.

The syntax is heavily inspired by Ruby.

Having written Elixir every day for the last 5 or 6 years, and Ruby for the 10 years before that I don't think it is.

Re: Ten Years of Erlang

#138
post #117

Earlier quoted context omitted.

> Handling text is still awful in these languages. In contrast to what? Honestly just curious.

You can do really cool stuff with SNOBOL[1] or TRAC. Really any homoiconic Lang or lisp will do great things with text. But I think Elixir handles text just fine if it’s UTF-8. [1] https://en.m.wikipedia.org/wiki/SNOBOL

> SNOBOL

Oh dear.

Re: Ten Years of Erlang

#139
post #117

Earlier quoted context omitted.

You can do really cool stuff with SNOBOL[1] or TRAC. Really any homoiconic Lang or lisp will do great things with text. But I think Elixir handles text just fine if it’s UTF-8. [1] https://en.m.wikipedia.org/wiki/SNOBOL

> SNOBOL Oh dear.

Yeah, I'm not really serious about that one.

Re: Ten Years of Erlang

#140

So, what's the quickest way to get into OTP? To me it looks like Erlang itself isn't all that interesting, and OTP is where all the fun and magic is.

There are some books focused on OTP:

* Erlang and OTP in Action;

* Designing for Scalability with Erlang/OTP: Implement Robust, Fault-Tolerant Systems;

* Designing Elixir Systems with OTP (in beta).

Post reply on HN