hrefna,
@hrefna@hachyderm.io avatar

It's fascinating to me looking at beginning language guides and thinking "what does this say about the culture of the language"

When I was delving into it was (with affection) "here's hello world and here's a dense academic paper on implementing event systems in OCaml 5!"

guides used to be centered on the assumption that you were a web programmer looking to do applets, even long after that assumption died.

generally seems to assume a background in programming w/ a CLI.

hrefna,
@hrefna@hachyderm.io avatar

I'll certainly have more observations as I dig more into The Rust Book and Rust by Example on , but it is interesting to me to see the baked in assumption that you are pretty comfortable with concepts like package management (I mean Rust By Example talks about creating a library before it talks about using a library and The Rust Book is similar, glossing over nuances here), CLI tools, and build tools.

To be clear, this is all fine, it is just informing me who the target audience is.

hrefna,
@hrefna@hachyderm.io avatar

After a while with my conclusion there is that:

OCaml really is a language for people who are fairly mathy and academic but who still want to get stuff done. The culture felt entirely focused around this question. So you get the dense academic paper not to scare you, but because they think you will be legitimately interested in it (albeit probably not right after hello world, but fairly soon).

OTOH there's a kind of ruthless efficiency: if you need to compromise you compromise.

hrefna,
@hrefna@hachyderm.io avatar

Thinking about cultures of languages for a second:

My experience with people (not elixir, I have only limited experience with elixir and less with the community) is that you were looking at practical people with a hard problem to solve, some niche elements to that problem, and who didn't get hung up on niceties (like having strings cough).

There's a massive degree of enthusiasm for the model and everyone kind of glossed over the language because of the runtime and model.

tetrislife,

@hrefna I know syntax matters to people (and I haven't yet written , only some ), but it is just a language. Just pattern-matching and immutability make it better than most by a long shot. So, I think the Erlang inventors got the language quite all right, and Elixir might just be a nicer way to write OTP style.

shane,
@shane@hachyderm.io avatar

@hrefna I'm an Elixir rather than Erlang person but OTP and supervision trees are close to 100% of what I still value about the BEAM experience after 10 years in. The syntax and FP in general don't really move the needle for me any more.

crmsnbleyd,
@crmsnbleyd@emacs.ch avatar

@hrefna have you mucked around with Haskell much? Would love to see your impressions

hrefna,
@hrefna@hachyderm.io avatar

@crmsnbleyd I have some, and a little tiny tiny bit with Liquid Haskell.

The community around Haskell seems to divide based on whether you are on the engineering side or the academic side. The engineering side has put a bad taste in my mouth on several occasions.

I often feel like Haskell's worldview is very rigid (advocates would say this is a good thing and I don't disagree) and there's a latent feeling of "you must be this smart to ride this ride."

As opposed to OCaml's more… open hand.

hrefna,
@hrefna@hachyderm.io avatar

@crmsnbleyd That said my l ast exposure to the Haskell world in any real depth was maybe five years ago, so things may have changed since then! That's not a group I've kept up with actively.

edwintorok,
@edwintorok@discuss.systems avatar

@hrefna https://ocaml.org/docs has been trying to separate material into beginner/intermediate/advanced lately and the effects paper is after that now. If you find places on the website that doesn't have the right balance between introductory material and very advanced material the team maintaining it would probably welcome feedback on it (they do user surveys from time to time)

hrefna,
@hrefna@hachyderm.io avatar

@edwintorok Awesome ^_^ This is all reflective of my experience learning it, which was about a year ago now, so glad to hear that it has been improving!

  • All
  • Subscribed
  • Moderated
  • Favorites
  • Java
  • DreamBathrooms
  • magazineikmin
  • everett
  • InstantRegret
  • rosin
  • Youngstown
  • slotface
  • love
  • khanakhh
  • kavyap
  • tacticalgear
  • GTA5RPClips
  • thenastyranch
  • modclub
  • megavids
  • mdbf
  • normalnudes
  • Durango
  • ethstaker
  • osvaldo12
  • cubers
  • ngwrru68w68
  • tester
  • anitta
  • cisconetworking
  • Leos
  • provamag3
  • JUstTest
  • All magazines