Fork me on GitHub
#other-languages
<
2018-11-22
>
lilactown00:11:52

wrote some Rust for the first time today. I’m thinking of doing Advent of Code in it this year

lilactown00:11:59

although Clojure is also very tempting. maybe both??

gklijs05:11:58

I'm thinking about doing something like that, maybe even typescript when it might make sense, or Kotlin.

Aleksander13:11:20

I keep thinking of going through Little Lisper using Racket

mpenet13:11:06

here I am doing a back & forth with ocaml lately. I seem to do that again and again every few years

Aleksander13:11:06

ocaml is cool! and gaining lots of popularity these days probably via reasonml

mpenet13:11:30

I liked it before it was cool 🙂, old love

mpenet13:11:40

but there are some rough edges still

borkdude13:11:39

who was the ocaml developer by day, clojure programmer by night here in slack?

mpenet13:11:39

that might be bronsa

val_waeselynck13:11:55

anmonteiro may qualify as well

borkdude13:11:34

yeah, it wasn’t anmonteiro who I remember vaguely. ah well… I thought it was mpenet, but apparently he only does it as a hobby

borkdude13:11:57

doesn’t matter

mpenet14:11:35

yeah we do use ocaml at work, but just for cli stuff

mpenet13:11:22

I guess it's now usable for front-end stuff, but I am still doubtful about the rest. It's highly task specific and the ecosystem is quite small

mpenet13:11:45

it's hard not to feel spoiled after a jvm lang

val_waeselynck14:11:38

I have mixed feelings about ReasonML's rising popularity. I mean, I'm happy that OCaml's semantics are getting more popular, but it saddens me to see what makes a language popular is superficial things like "brackets over s-expressions". That says a lot about the overall web frontend culture IMHO.

☝️ 4
borkdude14:11:08

wasn’t it brackets over significant whitespace?

val_waeselynck14:11:56

Hmm, not sure but that might be just 2 different ways of saying the same thing - IIUC ML exprs are like s-exprs where many parens are optional

mpenet14:11:25

yeah I am not a fan of reason, it's good that it brings more people into ocaml world but that's about it.

val_waeselynck14:11:00

I find there's a machiavellian ring to it - pragmatic but also a bit cynical. "Let's lure the masses with brackets."

val_waeselynck14:11:22

We should try that with ClojureScript actually - let's swap the roles of parentheses and brackets, and call it ReasonClj

borkdude14:11:37

might be a good April fool’s joke

Denis G16:11:35

> You can find thousands of iOS developers that can jump right on to Clochure Projects. 😄 😄 😄

mpenet14:11:17

it's like with elixir, you end up having to know how to read (at least) the parent language, so why not just use that one

mpenet14:11:34

well I shouldn't say that, we'd all be using java

borkdude14:11:36

btw, Scala swapped [ ] and <> in type annotations as a kind of joke on Java I believe

borkdude14:11:07

ArrayList<Int> vs ArrayList[Int]. Not sure if I get the joke.

val_waeselynck14:11:22

Maybe that made it easier to represent Scala's infamous XML literals ?

anmonteiro15:11:21

@borkdude OCaml doesn’t have “significant whitespace syntax”

anmonteiro15:11:27

it’s not like Python in that regard

borkdude15:11:36

ah that’s an improvement over Haskell then

anmonteiro15:11:51

btw re: brackets

anmonteiro15:11:02

I was once of that opinion too

anmonteiro15:11:23

but I have to take issue with this: > it saddens me to see what makes a language popular is superficial things like “brackets over s-expressions”

anmonteiro15:11:36

@val_waeselynck let me see if I got your point: things like “brackets over s-expressions” are superficial therefore they shouldn’t need to be changed to appease to a wider audience

val_waeselynck16:11:33

@anmonteiro As I said, I only have "mixed feelings", so I'm not at all at the point where I can claim to say what should or should not be changed. Especially since the verb "need" here can be interpreted in critically different ways: need for what? For the popularity of OCaml? For the greater good of the programming community? If so, at what term? I do believe that it's generally a bad project management habit to choose a programming language based primarily on this sort of syntax nuances, disregarding its semantics and ecosystem. There's virtually no risk on syntax nuances - you may be uncomfortable with them in the beginning, you get used to them in a few days, end of story. Whereas semantics and ecosystem make a much more critical difference to a programming project. And so I see it as a worrying sign that many people who would not have considered using OCaml for their projects suddenly rush to adopt ReasonML, because it suggests that a lot of them are doing so out of having misplaced priorities. I perceive it as a sign of a culture of "we use this tool because it 'smells good'" as opposed to "we use this tool because it solves our problems well". Of course, ReasonML wouldn't be the only instance of this phenomenon in the web sphere! So basically, I have no grudge with the people driving the ReasonML ecosystem - I hope it flourishes, because it seems to me ReasonML is pushing the frontend world in a good direction. Rather, I'm concerned with some cultural issues that have led to the existence of ReasonML in its current form - and I wouldn't want these issues to be neglected, because they still cause harm. Call me an idealist 🙂 Does that make sense? (and so, in particular: no, that's not what I was trying to communicate).

💯 16
anmonteiro15:11:46

is that what you’re trying to communicate?

lilactown16:11:29

OCaml syntax is a wreck tho

lilactown16:11:49

once you realize it’s kind of parens-less lisp it starts to make sense, but I still find it very awkward compared to lisp or an Algol-inspired syntax

lilactown16:11:33

I’m actually finding Rust surprisingly similar to ReasonML

Aleksander16:11:32

but with Rust you have a lot of complexity around memory management, no? …

lilactown16:11:35

or at least, I translated an AoC challenge from last year from ReasonML to Rust and they are almost identical

lilactown16:11:19

@dev964 I haven’t attempted anything complex with it, so I don’t know how that interweaves with most programs. but yes, in Rust you are manually managing memory with help from the borrow checker

lilactown16:11:33

using it for my toy example it felt surprisingly high level

val_waeselynck16:11:33

@anmonteiro As I said, I only have "mixed feelings", so I'm not at all at the point where I can claim to say what should or should not be changed. Especially since the verb "need" here can be interpreted in critically different ways: need for what? For the popularity of OCaml? For the greater good of the programming community? If so, at what term? I do believe that it's generally a bad project management habit to choose a programming language based primarily on this sort of syntax nuances, disregarding its semantics and ecosystem. There's virtually no risk on syntax nuances - you may be uncomfortable with them in the beginning, you get used to them in a few days, end of story. Whereas semantics and ecosystem make a much more critical difference to a programming project. And so I see it as a worrying sign that many people who would not have considered using OCaml for their projects suddenly rush to adopt ReasonML, because it suggests that a lot of them are doing so out of having misplaced priorities. I perceive it as a sign of a culture of "we use this tool because it 'smells good'" as opposed to "we use this tool because it solves our problems well". Of course, ReasonML wouldn't be the only instance of this phenomenon in the web sphere! So basically, I have no grudge with the people driving the ReasonML ecosystem - I hope it flourishes, because it seems to me ReasonML is pushing the frontend world in a good direction. Rather, I'm concerned with some cultural issues that have led to the existence of ReasonML in its current form - and I wouldn't want these issues to be neglected, because they still cause harm. Call me an idealist 🙂 Does that make sense? (and so, in particular: no, that's not what I was trying to communicate).

💯 16
lilactown19:11:46

I think it’s safe to say that most teams make good decisions essentially by accident

lilactown19:11:59

which means that minor points of friction like an unfamiliar syntax can easily sway teams to go with something else

lilactown19:11:44

it also begs the question, “how do we discern the right reasons for choosing a specific language?”

lilactown19:11:50

not necessarily disagreeing with you @val_waeselynck but I am not convinced that it is a cultural problem

anmonteiro20:11:52

@val_waeselynck that does make sense. But I think you said something very important there. People would have never considered OCaml simply because it has always been regarded as an obscure research language. ReasonML makes it more appealing because of familiarity. And familiarity is important for e.g. people who’ve never taken a PL class in college

anmonteiro20:11:19

they wouldn’t know where to look, but if this old thing marketed as a new shiny thing appeals to them, then they might use it

anmonteiro20:11:06

(I’m not disagreeing with you. I’m adding to what you said)

👍 4