Fork me on GitHub
#off-topic
<
2020-11-08
>
theophilusx05:11:53

@johndestigter I've not done any elixir, but with respect to the others, I would say the biggest difference is probably that Clojure is more strictly functional in nature. The JS derived languages tend to still have the remnants of JS's OO/class roots. For example, immutable data structures are the norm in Clojure and you have to take extra steps to make them mutale. The clojure REPL is also more along the lines of a traditional lisp repl where JS derived languages it is more like an interactive shell. I find Scala to be a bit like an OO/class and functional hybrid, allowing you to have a sort of blend while Clojure is more functional. Given the languages you are familiar with, I don't think you will have any problems as long as you think along a functional style. I found Clojure much quicker to pick up than Scala and while I found Elm really interesting and pretty straight-forward, I was already familiar with Clojure at that point. TypeScript isn't very relevant, unless your going to be doing clojurescript, in which case, the knowledge of JS is useful. Clojure I found quick to learn and start using, but a bit more effort to try and master (still an on-going task), but that is why I like it!

orestis09:11:53

Elixir is a great stepping stone to Clojure. FWIW it’s even more strict on immutability (there’s no mutable collections and you can’t even code your own unless you go out to C or Rust.

mpenet10:11:33

Ish. There's ets and process dictionaries.

orestis09:11:39

I write https://orestis.gr/25-days-of-clojure/ that has my first impressions coming from Elixir

borkdude09:11:33

@orestis that might not be entirely true, Clojure has deftype which allows mutable fields? you don't typically use it in everyday programming, but you can

orestis11:11:17

Elixir doesn’t though ;)

borkdude11:11:09

Then I misread your "it" ;)

indy13:11:02

Is there any other language syntax other than lisp’s that has the simplicity and consistency? Has anyone switched to any other lang that you think has a consistent, easy to edit and simple syntax?

phronmophobic18:11:00

I prefer lisp's syntax, but I think https://en.wikipedia.org/wiki/M-expression and https://en.wikipedia.org/wiki/Tcl might be other interesting examples

noisesmith04:11:50

I find the ml family (eg. ml, ocaml, haskel, zig ...) much simpler and more consistent than most algol family languages (algol, c, java. javascript ...)

noisesmith04:11:45

rebol has an interesting approach to extension (you can make new syntaxes for domains, eg. and are valid data literals for URL and email

noisesmith04:11:06

I can't vouch for it thought, I haven't used it in anger

indy04:11:22

I’m going to take a look at m-expressions and TCL. I have dabbled with Haskell a bit and found it neat before I discovered lisp. And @U051SS2EU and @U7RJTCH6J since you’re already here, which languages have you found “joyful”? Clojure’s syntax, the editing experience with parinfer/paredit and the REPL give me this state of flow where there is little barrier between thought and code. Wondering if there is any other language that helps one achieve that. I’ve done TS/JS, some Haskell, some python. Python came the closest but still pretty far from the experience Clojure gives.

simongray08:11:18

Smalltalk seems to have a fairly consistent and simple grammar, though it doesn’t reach the level of Lisp.

👍 3
noisesmith17:11:58

I've only had this kind of flow with lisps (scheme in particular), but ml comes close and forth felt like it could have been amazing if I'd gotten more fluent

👍 3
phronmophobic19:11:36

I know excel/spreadsheets gets dumped on by "real" programmers, but there's many tasks where a spreadsheet feels great.

👍 3
phronmophobic19:11:55

immutable values, data flow, pure functions, integrated repl. seems like a good start