Earlier quoted context omitted.
Some times hype is warranted. Get passed it and look at the actual technology and its value. If you are building a website in 2018 you are doing yourself a disservice manually managing servers.
at our scale if we used "serverless" our AWS bill would go from several mil a month to 20+ mil. plus
Elixir at PagerDuty
141–150 of 190 posts
Re: Elixir at PagerDuty
#142Earlier quoted context omitted.
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.
Entirely subjective yes! ^.^ However what you show is not focusing on syntax differences but rather function differences, even `|>` is an (macro) operator. By syntax I'm talking about things like the `do`/`end` and `fn`/`end` and `,do:`/`do...end` mismatches, things like atom key short-form of `someatom: ...` (being short for `:someatom => ...`) only being useful at the end of it's list/map context instead of everywh…
I believe the term "core language" may be more appropriate than "syntax" in your argument: it's true that the pipe operator (|>) is a macro, as well as fn/end or the match operator (=), but that's an implementation detail, they still are syntactic forms.
As with any programming language (except of course for Scheme, which is perfect :D) Elixir has some inconsistencies, but I don't think they make the language "hard-to-read" in any realistic way.
Re: Elixir at PagerDuty
#143Earlier quoted context omitted.
I don’t know what this sentence means.
Bindgen relies on rustfmt. With the codebase I'm using rustfmt-nightly works, but the stable version segfaults. Known issue but that's why I've stuck with rustfmt-nightly.
Re: Elixir at PagerDuty
#144Earlier quoted context omitted.
It still doesn't do the same thing as the erlang code as the elixir example is being run at the staged compile-time instead of run-time like elixir's would be though. And a superfluous `ok` atom is being returned from the erlang code when its `io:fwrite/2` already returns it, plus why call fwrite instead of just write out an iolist directly?! o.O
Ya I get the sense the Erlang example is written a bad faith a little.
Re: Elixir at PagerDuty
#145Earlier quoted context omitted.
If only there were types in Elixir to get rid of those damn nulls... Supposedly someone is making a Typescript-like precompiler for Elixir (with ML syntax of course). We are all hoping it succeeds!
This is probably my only gripe with it. I really like static types, since the tools can be so much better in that case. VSCode + ElixirLS is ok, but far from Elm, Typescript or C# in that regard. I've been trying out Dialyzer and Credo, but it all seems so clunky to use.
Re: Elixir at PagerDuty
#146Earlier quoted context omitted.
Bindgen relies on rustfmt. With the codebase I'm using rustfmt-nightly works, but the stable version segfaults. Known issue but that's why I've stuck with rustfmt-nightly.
Interesting! I was not aware of that. So, no idea :)
So yeah looks like I'm tethered to the nightly toolchain after all. :/
Re: Elixir at PagerDuty
#147As an Erlang developer for the past couple years now, I love seeing the adoption and excitement around Elixir and the BEAM. I will admit I always shudder when people very quickly call out on Erlang's syntax as a reason not to use it. Feels like a pretty lame excuse... All that said however, it kind of bugs me when I see posts like this (no matter the language) that go somewhere along the lines of "I managed to introd…
This has happened at my company with a service called Firehose, which is basically PubSub over WS and HTTP written in Ruby Event Machine. It’s unstylish for a lot of technical reasons and an eng even tried to rewrite it in Elixir. We ended up scraping the rewrite project because the Ruby code just works and rarely gives us any problems in production.
The problem with that story though is it won’t attract engineers who like new shiny stuff.
Re: Elixir at PagerDuty
#148Earlier quoted context omitted.
Elixir is dynamically typed, just like Erlang and the BEAM. Strong typing is a most requested feature from outside the community, seldom from inside. (EDIT correct, strong typing is not static typing. Does anyone make weakly typed languages anymore?)
According to wikipedia, Erlang/Elixir is strongly typed. I guess you and the other poster mean static typing?
Elixir is a dynamically typed language, so all types in Elixir are inferred by the runtime.
Re: Elixir at PagerDuty
#149How 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.
Re: Elixir at PagerDuty
#150Earlier quoted context omitted.
Interesting! I was not aware of that. So, no idea :)
https://github.com/rust-lang-nursery/rust-bindgen/issues/104... So yeah looks like I'm tethered to the nightly toolchain after all. :/