Live data from Hacker News

Elixir at PagerDuty

pagerduty.com

151–160 of 190 posts

Re: Elixir at PagerDuty

#151
post #7

My impression about the Elixir/Erlang so far has been the same. > Elixir comes with one of the nicest and most helpful communities around Using Elixir, it's easy to write gorgeous code, with a language that for the most part is really minimalist, and you get to play with the great piece of software that OTP is without all the warts of Erlang (which is mostly the developer experience). The BEAM community is fantastic…

every community of non main stream languages that I know is very nice and helpful.

Re: Elixir at PagerDuty

#152
post #129
post #71

Earlier quoted context omitted.

You're not a startup.

Isn't a goal of startup to grow? You lock yourself into a model where you compute spend is 10X that of your competitors you not gonna get very far.

At a certain scale using cloud services at all is too expensive. At a certain scale you write your own databases. You make your own chips.

Re: Elixir at PagerDuty

#153

Earlier quoted context omitted.

It's unnecessary in the 'erlang' ecosystem because erlang doesn't have variable rebinding, Elixir 'does' have variable rebinding so it needs some way to distinguish between rebinding and matching, and it was decided to use `^` to mark matching, when honestly I think it would have been smarter to specify it (or something similar) as rebinding. In quite a few cases rebinding leads to bugs (accidentally rebinding someth…

I think I would also prefer there to be no reminding. On the topic of the pin operator though, it seems more clear to me that it's an assertive component of a match, rather than needing to reference all variables in a scope in the case where there was no rebinding, to determine if something matching has already been assigned.

A buddy of mine and I were talking at length about this and we came to the consensus that the smartest choice would have been: no rebinding by default, if you want rebinding, make it available, say, using "var", or a sigil

Re: Elixir at PagerDuty

#154

It seems that Elixir would be a perfect platform for Artificial Intelligence programming. Since Elixir is used for (1) functional programming, and (2) it uses Erlang's OTP Server for massive parallelization. But, I don't seem much activity in this space. What is the probability that Elixir will emerge as the "killer app" for AI development?

There is already some work out there since Elixir lends perfectly for parallelization of computation and is also immutable. See: https://www.youtube.com/watch?v=YE0h9DURSOo and http://www.automatingthefuture.com/blog/2016/9/7/artificial-...

Re: Elixir at PagerDuty

#155

It seems that Elixir would be a perfect platform for Artificial Intelligence programming. Since Elixir is used for (1) functional programming, and (2) it uses Erlang's OTP Server for massive parallelization. But, I don't seem much activity in this space. What is the probability that Elixir will emerge as the "killer app" for AI development?

The problem is that BEAM wasn't built to excel at number crunching or doing computationally expensive work. A good explanation here https://stackoverflow.com/questions/11214336/what-makes-erla...

But I've been reading a lot about this topic too. There are a lot of people out there doing exploratory work to see if Elixir can be a viable solution.

Re: Elixir at PagerDuty

#156
post #56
post #6

Earlier quoted context omitted.

I'm not from PagerDuty, but I also moved to Elixir after some years working in a hybrid Ruby + Scala shop. I concur with the author's experience that writing clean and maintainable Scala code is hard. A few reasons: * Haskell influence on the language, especially early on, encouraged the omission of dots and parentheses wherever possible. Just about every piece of sample code was written as an undifferentiated stream…

case classes and implicits are almost the exact opposite of OO practices.

Yet case classes with pattern matching and pure functions leads to some of the most readable code I’ve seen, without requiring much FP knowledge. Unlike OOP in which the logic is hidden away in some AbstractVisitorBuilderFactory and a sea of required classes to make that work.

Things can get rough when you take FP or OOP to their logical ends, the sweet spot lies somewhere in between.

Re: Elixir at PagerDuty

#157
post #3

> Elixir has been mostly selling itself: it works, it sits on a rock-solid platform, code is very understandable as the community has a healthy aversion towards the sort of “magic” that makes Rails tick, and it’s quite simple to pick up as it has a small surface area I was a huge Rails fan back in '07 and built a number of apps with it successfully, but I can't help feel like it's transition to a legacy framework has…

I strongly disagree. I wouldn't call Rails legacy, but _mature_. And the recent adoption of Webpack(er) certainly brings new life to the framework, allowing me to write ES6 JS with a lot of convention over configuration.

I love starting new projects in Rails, and don't feel the need to look anywhere else: it handles everything for me in a very nice and battle tested way, and I'm always one Google / StackOverflow question away from finding out exactly how to achieve my goals quickly.

Re: Elixir at PagerDuty

#158
post #83

Earlier quoted context omitted.

Entirely agreed. Elixir's Macro's are awesome, and Erlang could definitely use an Elixir-Macro-Like Parse Transform library (could definitely exist), Erlang's syntax I find far more readable, consistent, and logical as well. Elixirs syntax has a lot needless, hard-to-read, noise, but it's not hard to overcome the noise to get the benefits of the overall ecosystem and macros.

This topic is quite subjective, but could you provide some example? Overall Elixir seems to me a bit easier to read, for instance: Elixir : "Hello,How,Are,You,Today" |> String.split(",") |> Enum.join(".") |> IO.puts Erlang : -module(tok). -export([start/0]). start() -> Lst = string:tokens("Hello,How,Are,You,Today",","), io:fwrite("~s~n", [string:join(Lst,".")]), ok.

This example captures extremely well what I don't like in Elixir: verbosity.

I'm so much more happy writing the equivalent Ruby code:

    puts "Hello,How,Are,You,Today".split(",").join(".")
It's value.method.method vs value |> Module.function |> Module.function. Alias is not a general solution because of conflicts.

Disclaimer: I use Elixir in projects for customers and I like it. Still, it's too verbose and I'm not using it in my own projects (no need for heavy parallelism there.)

Re: Elixir at PagerDuty

#159
post #3

> Elixir has been mostly selling itself: it works, it sits on a rock-solid platform, code is very understandable as the community has a healthy aversion towards the sort of “magic” that makes Rails tick, and it’s quite simple to pick up as it has a small surface area I was a huge Rails fan back in '07 and built a number of apps with it successfully, but I can't help feel like it's transition to a legacy framework has…

Disagree as well. How is Rails legacy? It's probably being developed by more people than ever before. Just because it hasn't completely overhauled it's architecture doesn't make it legacy. What will stop you from calling Pheonix legacy in 8 years? There will be at least 2-3 new frameworks/languages that are cooler by then.

Re: Elixir at PagerDuty

#160
post #26
post #3

> Elixir has been mostly selling itself: it works, it sits on a rock-solid platform, code is very understandable as the community has a healthy aversion towards the sort of “magic” that makes Rails tick, and it’s quite simple to pick up as it has a small surface area I was a huge Rails fan back in '07 and built a number of apps with it successfully, but I can't help feel like it's transition to a legacy framework has…

How can you compare the overall developer experience of Crystal, which isn't even 1.0 yet and has very few libraries, with the mature ecosystem of Rails?

This. If I was a CTO I would never ever choose Crystal, or Elixir, or Kotlin. Give me a proven, "old", battled tested framework with tons of resources that's easy to teach, learn and get sh done with. I'd choose PHP over Elixir for a new business.
Post reply on HN