other-languages

here be heresies and things we have to use for work
lilactown 2018-11-22T00:30:52.022100Z

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

lilactown 2018-11-22T00:30:59.022400Z

although Clojure is also very tempting. maybe both??

gklijs 2018-11-22T05:10:58.022500Z

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

2018-11-22T13:44:20.023300Z

I keep thinking of going through Little Lisper using Racket

mpenet 2018-11-22T13:45:06.023700Z

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

2018-11-22T13:46:06.024300Z

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

mpenet 2018-11-22T13:46:30.024900Z

I liked it before it was cool 🙂, old love

mpenet 2018-11-22T13:46:40.025200Z

but there are some rough edges still

borkdude 2018-11-22T13:47:39.025700Z

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

mpenet 2018-11-22T13:50:22.027100Z

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

mpenet 2018-11-22T13:51:45.027700Z

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

mpenet 2018-11-22T13:52:39.027900Z

that might be bronsa

mpenet 2018-11-22T13:55:09.028200Z

-> https://www.imandra.ai/

val_waeselynck 2018-11-22T13:57:55.028500Z

anmonteiro may qualify as well

borkdude 2018-11-22T13:58:34.028700Z

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

borkdude 2018-11-22T13:58:57.028900Z

doesn’t matter

mpenet 2018-11-22T14:01:35.029100Z

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

borkdude 2018-11-22T14:01:47.029300Z

aah

val_waeselynck 2018-11-22T14:05:38.031800Z

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.

☝️ 1
borkdude 2018-11-22T14:07:08.032100Z

wasn’t it brackets over significant whitespace?

val_waeselynck 2018-11-22T14:08:56.033100Z

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

mpenet 2018-11-22T14:09:25.033700Z

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_waeselynck 2018-11-22T14:12:00.034800Z

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

val_waeselynck 2018-11-22T14:14:22.035800Z

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

borkdude 2018-11-22T14:15:37.036100Z

might be a good April fool’s joke

borkdude 2018-11-22T14:16:59.036800Z

http://clochure.org/

2
Denis G 2018-11-25T16:59:35.058100Z

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

mpenet 2018-11-22T14:22:17.037900Z

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

mpenet 2018-11-22T14:22:34.038300Z

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

borkdude 2018-11-22T14:23:36.038900Z

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

borkdude 2018-11-22T14:24:07.039200Z

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

val_waeselynck 2018-11-22T14:29:22.040500Z

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

anmonteiro 2018-11-22T15:30:21.041200Z

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

anmonteiro 2018-11-22T15:30:27.041500Z

it’s not like Python in that regard

borkdude 2018-11-22T15:30:36.041700Z

ah that’s an improvement over Haskell then

anmonteiro 2018-11-22T15:30:51.042Z

btw re: brackets

anmonteiro 2018-11-22T15:31:02.042300Z

I was once of that opinion too

anmonteiro 2018-11-22T15:31:23.042600Z

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”

anmonteiro 2018-11-22T15:32:36.043800Z

@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

anmonteiro 2018-11-22T15:32:46.044100Z

is that what you’re trying to communicate?

lilactown 2018-11-22T16:13:29.044400Z

OCaml syntax is a wreck tho

lilactown 2018-11-22T16:15:49.045800Z

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

lilactown 2018-11-22T16:18:33.046400Z

I’m actually finding Rust surprisingly similar to ReasonML

2018-11-22T16:19:32.047500Z

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

lilactown 2018-11-22T16:19:35.047600Z

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

lilactown 2018-11-22T16:20:19.048400Z

@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

lilactown 2018-11-22T16:20:33.048800Z

using it for my toy example it felt surprisingly high level

lilactown 2018-11-22T19:22:46.050600Z

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

lilactown 2018-11-22T19:23:59.051600Z

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

lilactown 2018-11-22T19:25:44.052600Z

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

lilactown 2018-11-22T19:27:50.054400Z

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

anmonteiro 2018-11-22T20:19:52.056100Z

@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

anmonteiro 2018-11-22T20:20:19.056600Z

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

anmonteiro 2018-11-22T20:21:06.057Z

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

👍 1