spdegabrielle
2021-2-7 11:51:58

parenthesis magnets!


laurent.orseau
2021-2-7 12:18:27

class magnet-editor%


laurent.orseau
2021-2-7 12:46:36

Racket: Probably the most deceptively simple programming language


laurent.orseau
2021-2-7 13:21:13

Can we have “Basket: Racket with a Fruit Basket (with bananas for parentheses!)”, pretty please? :pray:


spdegabrielle
2021-2-7 14:22:45

:banana:


spdegabrielle
2021-2-7 14:23:07

:croissant::hot_pepper:


spdegabrielle
2021-2-7 14:23:25

:watermelon::kiwifruit:


laurent.orseau
2021-2-7 14:23:26

oh, nice! We have other brackets now!


laurent.orseau
2021-2-7 14:23:43

chilli-brackets!


spdegabrielle
2021-2-7 14:23:51

:last_quarter_moon_with_face::first_quarter_moon_with_face:


kellysmith12.21
2021-2-7 14:25:59

I definitely like the croissant brackets — they’re just what you’d expect from a language built with a café.


spdegabrielle
2021-2-7 14:26:06

Unfortunately I don’t think emojis render in DrRacket because gui depends on pango


laurent.orseau
2021-2-7 14:26:16

There are actually moon utf–8 symbols! ☾define x 'moon☽


laurent.orseau
2021-2-7 14:32:02

kellysmith12.21
2021-2-7 14:36:07

call/cc = call-with-current-:croissant:


abbyrjones72
2021-2-7 15:08:09

I’ve really really really really tried to work in imperative languages but I am done. I don’t like any of them. I will never be a programmer fora business I guess, but oh well lol. Is it me or are imperative languages just needlessly complex and bloated?


sorawee
2021-2-7 15:09:50

What do you mean by imperative languages? What are the examples of the issues that you encountered?


abbyrjones72
2021-2-7 15:10:26

Java for instance. It takes so many lines of code to do anything


abbyrjones72
2021-2-7 15:10:58

OOP doesn’t seem efficient to me, maybe I woke up in a bad mood.


sorawee
2021-2-7 15:14:16

Oh yeah, Java is indeed needlessly complex for small programs. When I program in Java, the IDE writes all those public static void main for me.


abbyrjones72
2021-2-7 15:15:11

IntelliJ has made Java programming easier and a bit more fun, but still


laurent.orseau
2021-2-7 15:19:30

Java’s bloatedness was one of the main reasons for me to come back to Scheme (from a different angle than CS 101)


laurent.orseau
2021-2-7 15:23:10

(the next one was C’s horrible ‘macro’ system, and the last one was me utterly failing to create the ‘perfect’ programming language :smile: )


massung
2021-2-7 16:29:16

I know it’s not Lisp-advocacy, but I’ve been using D for quite a while and loving it.


massung
2021-2-7 16:38:25

The languages I’ve been most productive in professionally are Scala and Python3. I love FP, but really hate this FP advocacy progression as FP -> monads dogma -> IO dogma.

I’ve been there, but there’s people learning, then those who are more interested in “code sudoku” all proud of themselves for their one-liners (but somehow forget about all the code behind the scenes that was still required; it’s not “magic”), and then there’s those of us who just want to get sh*t done. :slightly_smiling_face:


artemchernyak
2021-2-7 16:58:23

Scala has recently entered the IO dogma territory with ZIO and such… It’s still my top pick for working with Spark though. All the dogma stays far away from Spark workflows.


jestarray
2021-2-7 17:03:05

are you mainly more productive in python3 because of its libraries?


massung
2021-2-7 17:15:21

definitely a lot of a decent libraries. plus it’s just fast on the iteration time of trying things out


massung
2021-2-7 17:16:56

i think i have more python code that started as a random proof-of-concept that ended up (with a good refactor later on) becoming an end-product for internal use than in any other language


massung
2021-2-7 17:20:51

Also, most of the work I do (big data/genetics) is entirely IO bound. The CPU so rarely factors in that it doesn’t matter.


massung
2021-2-7 17:22:24

I choose Scala (or D or any other statically typed language) over Python when I know it will…

  1. Grow such that refactoring will be a massive headache without the compiler’s help; or
  2. Have > 2 people working on it, at which point no programmer has the entire codebase in their head, so the compiler help is much appreciated.

hazel
2021-2-7 17:47:07

Scala to me feels like “Java, but like, actually good”


hazel
2021-2-7 17:47:32

the issue largely lies in the fact that Java interoperation is sometimes cumbersome (like conversion between Option and Optional )


philip.mcgrath
2021-2-8 04:56:20

Any mention of Python’s bizarre scope system requires a link to this paper: https://cs.brown.edu/~sk/Publications/Papers/Published/pmmwplck-python-full-monty/ “Finally, we examine subtle aspects of the language, identifying scope as a pervasive concern that even impacts features that might be considered orthogonal.”