18
kiki
1y

Top to bottom: C, C++, C#, Racket, Common Lisp

Comments
  • 2
    Is this a [C 4D]?
  • 3
    What lots of the elegant more pure and mathy languages don't get is that maintainability and debugability also depends on cognitive complexity. A gordian knot of recursion and nesting or a sea of domain specific languages are as hard to get right for humans as babysitting memory management and architecture-specific undefined behavior.

    The best language in the list for actual humans is sadly C#. It is boring, the type system rather crippled, and the whole ecosystem reeks of Microsoft's opiniated coding conventions (well, it is .net). I don't like it. But if i have the choice between one of the five, it's C# - purely because i at least have a chance to easily understand, what my code and that of other people does when i come back to it later. It sortof is the new Java.
  • 1
    @Oktokolo I know a person from Atlas Engineering, the guys behind Nyxt browser. It's built on top of WebKit, and their ENTIRE chrome is about 20k lines of Common Lisp. By the way, it's the only WebKit browser that supports standard web extensions.

    He demystified a lot of things (I thought) I knew about Lisp. CL isn't actually a functional programming language! It's a simple imperative language like any other, but with flexibility that is unmatched by anything you can think of. I thought it was kinda like Clojure but older (bc I wrote in Clojure). I couldn't have been more wrong.

    Common Lisp allows you to have very high mathy things near very low asm-y things within a single file. You can tweak compiler flags for any function separately.

    Also, remember the famous rule: Any sufficiently complicated C program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp.

    As they say, "Common Lisp — until something better comes along".
  • 1
    @Oktokolo obviously, what I said was just scratching the surface. As per C# being new Java, well, I agree. I was a C# teacher once. Now I use JS for everything, and I don't want to write in C# ever again.

    I desperately want to switch to Common Lisp, but my complex mental health circumstances unfortunately make learning new things near impossible. I still live off what I learned before shit hit the fan.
  • 1
    @Oktokolo CL ecosystem/package repository is vastly worse than that of more popular languages, think JS, C#, Java, even PHP. My theory as to why is because CL is so flexible and expressive that you don't really need deps. You use some large fundamentally complex things that are a PITA to implement on your own, like bordeaux-threads, and everything else you write yourself with a dozen of LOC or so. That Nyxt guy agrees.
  • 2
    @vintprox get my upvote and gtfo
  • 0
    @ostream everything is object, including human life :D yay! way to go fellow corpos!
  • 0
    I'd like to name the last one Cessaract.
Add Comment