Fork me on GitHub
#off-topic
<
2016-01-24
>
gerred14:01:32

@jaen I have a lot of experience with Elixir/Erlang, want to check out more LFE now that I've done Clojure.

gerred14:01:06

about as much Erlang as I have Ruby, and OTP apps are very much purpose built imo towards soft-realtime. Elixir's the same way. It's too much in the sense of a "general programming language" where I'm not building a distributed system.

gerred14:01:20

absolutely is still in my toolbox, just for a specific type of application.

jaen14:01:56

Ah, I see; I thought that you mean Elixir as a language specifically, not the platform.

gerred14:01:14

there's something to like about rapidly being able to build up a Node or Go app, and I like Clojure for feeling like a nice in-between.

jaen14:01:51

Yeah, then I guess it makes sense.

gerred14:01:52

Elixir the language is awesome.

jaen14:01:06

I like how they nicked protocols and macros off Clojure.

gerred14:01:10

once lisp itself clicked though, I'm really interested in LFE. yeah.

gerred14:01:18

it made that translation easy for me.

jarodzz14:01:24

@gerred, what is elixir good for? or what system you would implement in Elixir?

gerred14:01:44

@jarodzz: soft real time, IO dependent systems. I'd reconsider anything that's CPU-bound.

jarodzz14:01:44

i've seen the tutorial a couple times, never got the time to jump in.

gerred14:01:01

especially CPU-bound that I can't heavily parallelize

jarodzz14:01:29

got it. so if i have a high through put event stream,like a company all services daily log, i'd like to monitor it, detect some ilegal or dangouer activity, i should use Elixir?

gerred14:01:15

actually, I'm considering using it for something similar, but exactly. The way I'm looking at doing that is taking the rules (even user-generated rules), and compiling them into the live running BEAM VM, because you can do that.

gerred14:01:21

so the rules aren't interpreted, you can actually have them compiled.

jaen14:01:31

Also a good point is to consider the resiliency structuring your application with OTP can give you.

gerred14:01:34

without restarting the VM.

jaen14:01:55

If you need a highly distributed system that's also reliable, anything based on the Erlang VM (like Elixir) is a good choice.

jaen14:01:09

Vide the famous nine-nines Ericsson switch running on Erlang.

gerred14:01:25

Though, unless you really really need hot code reload, don't do it, just adds a fun layer of complexity.

gerred14:01:51

so @jaen I think the attraction for me to Clojure is for when I don't want to start out building up supervisor and application trees, or an entire OTP app, and want to iterate fast and maybe grow parts of the system into it.

jarodzz14:01:57

@gerred , got it. sounds like something worth check out. thx

gerred14:01:18

plus, I want to mess with play-clj 😉

gerred14:01:27

and ClojureScript makes far more sense to me long-term than Elm.

jarodzz14:01:29

i am just getting started on clojurescript

jaen14:01:01

Yeah, I can see how that can be appealing to not have to buy into some structure at first and move fast.

jaen14:01:52

As for play-clj - yeah it's pretty interesting. Having your whole game state in an atom and transactionally update that. Of course it won't scale to any type of game, but if it fits it sounds awesome.

jaen14:01:48

As for Elm - well, there are things I appreciate about Elm - types, FRP, awesome error messages, but it's a language with a really narrow niche, while Clojure/Clojurescript is general purpose.

jaen14:01:54

So in that way yeah, it's probably more sensible in the long term. Want to be like Elm? There's zelkova library (just no types : <). Want something different? There's reagent, om.next, rum, hoplon, freactive, quiescent and what have you.