@alyx @mona I, personally, loathe Python and regularly preach against it for Serious Professional Work. I prefer Scala at work, and at home I've got Scala and OCaml projects baking.
But, Py is optimized to Get Stuff Done, and that's sort of how the libraries are written and the community thinks. It has graphics, and wraps a lot of the OS grief away. Lot of scientists use it. Tons of libraries. And, yeah, it's.... kinda like Basic in a lot of ways.
@pnathan @alyx@icosahedron.website It is hard to argue against the ubiquity of Python. Why, by the way, do you dislike it? I rather suspect it is for different reasons than our largely aesthetic displeasure.
@pnathan @alyx@icosahedron.website I take the "one man's whims" charge at least a little seriously; that's one of the problems I have with CS in general, that bad ideas can root themselves and persist as long as there's a bit of cult fervour behind them. There's no feedback mechanism to eject ideas, the way that falsifiability must eventually slay all bad scientific ideas (*gives string 'theory' a hard glare*).
@mona @alyx I think there's at least a milligram of merit behind my ideas, tbh. But, you know, that's why I think them. :)
The thing with CS - actual CS as practiced by serious researchers, as opposed to people like me living in the foggy f/oss & corporate world - is that they do have a pretty firm grounding for ideas. But, the f/oss and corporate world have, on the *whole*, rejected what CS has to offer beyond "training of new programmers".
@alyx @mona Unlike the vast majority of my peers at work, I actually *do* have a graduate degree in CS and saturated myself in as much history of computer science and paper reading as I could get away with and still make progress in grad school. The ideas *are* out there. Haskell and SML/Ocaml family are legitimately the best things going on a pound-for-pound theoretical basis. They are also developed by researchers for researchers, and demand serious study.
@mona @alyx I. Would. Never. Ever. Ever. suggest OCaml or Haskell to someone who just wanted to fool around or reup on their computer programming after an absence. I suggest those to people who are hired as junior devs and need to get their minds rewired from "Java/Python" to abstract computation and juggling raw ideas to reify in code. Expert level investment demanded to get a payoff.
@pnathan @alyx@icosahedron.website We have heard of Haskell, anyway. Why would you not recommend it to someone who has been known to solve differential equations for fun?
@mona @alyx I've been programming for 20 years. I have programmed in more languages than I remember. MS CS, BS CS. I took a math minor and I love math.
Haskell is frustrating. It is painful. It often is an exercise in type theory and solving type theory problems rather than what your original goal was. You have to rewire your mind into a particular form of category theory.
Some people click with it, true. But it'd be a disservice to most.
@mona @alyx :: shrug :: it's easy to hack on, and if you want something *simple* to start with, easy to get things done with, with libraries for graphics, GIS, neural nets, algorithms, containers, FFI to C for math (i.e., numpy, scipy),... like... it's got all that. It's really ideal for small programs to test simple ideas with.