Live data from Hacker News

Elixir at PagerDuty

pagerduty.com

31–40 of 190 posts

Re: Elixir at PagerDuty

#31
post #5

I'd love to hear more about your troubles with Scala, and any examples of "clean code being hard to write". Do you think this had more to do with a lack of experience with strongly typed functional languages, or more to do with Scala's mixed paradigm? Also, thanks for sharing your story. Elixir is a great language and I love seeing it being adopted more and more everyday.

Definitely not the lack of experience, there was plenty of in-house Scala experience. I'm not the author, but he has indeed written about his experiences with Scala on his personal blog: http://evrl.com/programming/scala/2017/04/04/scala-part-ii.h...

I wish he would have gone further into detail on why "stuff like Scalaz has no place outside academia". While I understand there's a bit of mental overhead, I've found there to be much real world utility in using that genre of libraries/patterns in production.

It's also interesting that he wants the ability to "run your tests for the intermediate refactoring steps that wouldn’t typecheck and then let you fix up things later."-- I'm not sure what it means to want to run code with ambiguous types in a type aware language like Scala. Type information is deeply involved in runtime program behavior. (E.g pattern matching on types, resolving typeclass instances)

I certainly agree that nontrivial sbt work is rough.

Re: Elixir at PagerDuty

#32

Elixir is amazing. It is everything I want in a programming language: functional, fast, reliable and elegant. I desperately want it to become more popular. To this end, I started writing a book that teaches Elixir (Phoenix) in combination with Vue.js. It's still in the early stages, but the thing I realized is that even writing the book is fun! This was very surprising to me because I typically don't find writing tec…

Looking forward to your book!

Re: Elixir at PagerDuty

#33
post #5

Earlier quoted context omitted.

Definitely not the lack of experience, there was plenty of in-house Scala experience. I'm not the author, but he has indeed written about his experiences with Scala on his personal blog: http://evrl.com/programming/scala/2017/04/04/scala-part-ii.h...

I wish he would have gone further into detail on why "stuff like Scalaz has no place outside academia". While I understand there's a bit of mental overhead, I've found there to be much real world utility in using that genre of libraries/patterns in production. It's also interesting that he wants the ability to "run your tests for the intermediate refactoring steps that wouldn’t typecheck and then let you fix up thing…

I don't know what he meant by that either, but it's important to mention that `Scala != Scalaz` and that sbt is not the only build tool used in the community (and it's certainly not built by academics!).

Re: Elixir at PagerDuty

#34
I wonder about a language like Elixir in the age of serverless. Erlang will always be great at the use-case it was originally written for (and what Whats App uses it for), but that's not the scale that most startups operate in.

With serverless the advantages that Erlang has don't matter much, since the process doesn't live along to utilize them. Instead the bottleneck is cold start times. So these types of languages (including Java) that are meant to start and stay running for a long time aren't a great fit. Go, Rust, possibly Pony, are better fits. Even Node isn't a superb choice, cold starts can be slow because of loading so many files.

Re: Elixir at PagerDuty

#35
post #34

I wonder about a language like Elixir in the age of serverless. Erlang will always be great at the use-case it was originally written for (and what Whats App uses it for), but that's not the scale that most startups operate in. With serverless the advantages that Erlang has don't matter much, since the process doesn't live along to utilize them. Instead the bottleneck is cold start times. So these types of languages…

You do realize that outside of cloud providers hype "serverless" is a tiny fraction of cloud use let alone overall use.

Re: Elixir at PagerDuty

#36

Thank you for sharing your experience! New languages is one of the "fun" parts of programming. Except at work. There are legitimate problems of legibility, maintainability, and training when introducing new stuff into the stack. Then there's the balance that we have to strike with re-writing old with new. How much do we gain with the new vs how much time is it gonna cost? Lately, these have been the things I worry ab…

True. In my experience that largely depends on the environment. In Java or .NET shops, there is a significant investment in the surrounding infrastructure where the code is deployed. Has a huge impact in cost of switching. That's before even factoring in some of the inside baseball related to "discounts" on products like SQL Server if you have a certain number of employees with Microsoft certs. For just about everyth…

Oh man. Those discounts sounds like such a headache. It's hard enough considering the asks for one department already...

Environment is definitely the key. We don't use either of those languages but we do run our site on a dozen or so servers. There's a fair bit of coupling that can eventually add up when you run the same apps on the same servers for years

Re: Elixir at PagerDuty

#37

How is the library ecosystem with elixir? Currently I'm usually using Go where I have a library for anything and I'm quite apprehensive to start using elixir if there's a lack of libraries.

It's decent plus you can use all the Erlang libs. Unlike Go Elixir has very nice package manager hex :)

Re: Elixir at PagerDuty

#39
As someone who has managed large clusters of Erlang applications, I have to say I am 100% convinced that the language you pick, no matter how amazing its design principles, has no bearing on how well the application runs. If you work for a telecom and you're actually trying to meet a nine-nines SLA, you can do it with Erlang. But if you're a start-up throwing together some random distributed app on a small budget, nine-nines probably isn't your goal, and so your application won't be nearly as stable.

Re: Elixir at PagerDuty

#40
post #34

I wonder about a language like Elixir in the age of serverless. Erlang will always be great at the use-case it was originally written for (and what Whats App uses it for), but that's not the scale that most startups operate in. With serverless the advantages that Erlang has don't matter much, since the process doesn't live along to utilize them. Instead the bottleneck is cold start times. So these types of languages…

http://erlangonxen.org/zerg

Seems to be down at the moment, but here's some previous discussion: https://news.ycombinator.com/item?id=5243360

Post reply on HN