Neurodivergent devs: what languages actually *click* for your brain?
-
@catboi29 You've sold me on the imagery alone. What does Common Lisp actually *feel* like to use day-to-day? Is the quirkiness charming or frustrating?
@dylanisaiah difficult to enumerate. Some bits feel very old (like the "car" function named after a register on an old IBM mainframe from the 70s) and some of it is space age: getting into macros and writing programs that write programs.
It's a language that you will be learning new things about for years and years.
A good place to start is googling "practical common lisp" as a free introductory book.
It is, unfortunately, completely unemployable!
-
@quinze This is incredibly helpful — thank you.
"Working memory demand" is exactly the framing I needed. Your Go vs Rust macros/"go to definition" point really resonates.
This reinforces what I'm building with Axis — predictable, discoverable, low-magic.
Given Go's philosophy works for you, do you ever miss features, or is the simplicity itself the win?
Really appreciate you writing this out.
@dylanisaiah when writing Go, the two things I miss most are:
- sum types + pattern matching -> really reduces code complexity
- Result / Option instead of nullable -> mostly cosmetic, although nil pointer exceptions are not fun to get into
Iterators & generics are good enough,
samber/loscratches my map-reduce itch when it makes the code easier to maintain than a loop. -
@dylanisaiah when writing Go, the two things I miss most are:
- sum types + pattern matching -> really reduces code complexity
- Result / Option instead of nullable -> mostly cosmetic, although nil pointer exceptions are not fun to get into
Iterators & generics are good enough,
samber/loscratches my map-reduce itch when it makes the code easier to maintain than a loop.@dylanisaiah ah, and quick build times are a must for my ADHD. In Kotlin, my brain is already drifting elsewhere before the unit tests execute.
-
@josejfernandez @gooba42 IDE weight mostly — Visual Studio/Rider feel heavy compared to lightweight editors I use for other languages. Do you use something lighter? Or does the tooling just fade into the background after a while?
@dylanisaiah @josejfernandez My experience is that for a while you ignore the IDE but as you get used to it, it's more like having someone over your shoulder who's actually helpful.
Syntax highlighting, Intellisense, help formatting... None of it is critical but it's all helpful enough to want to keep it.
-
@dylanisaiah @josejfernandez My experience is that for a while you ignore the IDE but as you get used to it, it's more like having someone over your shoulder who's actually helpful.
Syntax highlighting, Intellisense, help formatting... None of it is critical but it's all helpful enough to want to keep it.
@gooba42 @josejfernandez I really want to use an IDE, I just simply can't pick one. IntelliJ, Visual Studio. They feel "bloated" to me.
-
@dylanisaiah #ActauallyAutistic person here who's written software both for fun and for money for some time now.
The ones I've used the most over the past few years are Python and Go.
Python: it's probably the language I've leveled up in -- and *can* level up in -- most quickly. I can generally write up a quick script-level application in Python almost as fast as I can think about it intelligently. There are plenty of other languages and frameworks that are faster and/or a bit easier to do really complex or low-level tasks in, but for anything that's at the level of most small tasks that don't need to run fast, it's where I usually look first.
Go: it's ugly. I won't deny it. But its core functionality is pretty simple to pick up as well (it feels *kind of* like basic C with a bit of Python and most of the C footguns disabled or even removed), and in general it's pretty easy to tell what a given bit of code in Go is trying to accomplish. That's important when you're coming back to an old project after a few months and need to reboot some working memory. It also ranks pretty highly on application execution speed, much of the toolchain (compiles crazy fast and gives you a single executable file in general), and a few other things like that. I can generally focus on actually writing what needs to be written. It's what I've tended to use recently when Python is too slow (which it often is).
I like the *idea* behind Rust, and it'd seems like it could be a good choice for a good-sized project that didn't feel right for either Python or Go, but I don't know it anywhere near as well as those two.
I'm not super fond of JavaScript and friends (I stopped doing web dev after a while for that reason), and I haven't worked with most others regularly in the last 5 years or so, so I can't comment about much else.
@hatysa This is exactly the kind of real-world experience I needed. Thank you.
"Reboot working memory" after months away — that's the goal. That's what I'm trying to build with Axis.
Right now I'm still exploring — Odin, Rust, Zig, and even Java are in the mix. Hearing how Go works for you is really helpful context.
Appreciate you taking the time!
-
@dylanisaiah when writing Go, the two things I miss most are:
- sum types + pattern matching -> really reduces code complexity
- Result / Option instead of nullable -> mostly cosmetic, although nil pointer exceptions are not fun to get into
Iterators & generics are good enough,
samber/loscratches my map-reduce itch when it makes the code easier to maintain than a loop.@quinze This is exactly the kind of detail I'm looking for — thank you.
Sum types + pattern matching feel like a superpower. And yeah, nil pointer exceptions are rough.
Good to know samber/lo helps — I'll check it out.
-
@dylanisaiah ah, and quick build times are a must for my ADHD. In Kotlin, my brain is already drifting elsewhere before the unit tests execute.
@quinze "Brain already drifting elsewhere before unit tests execute" — this hit hard. Build speed is absolutely part of "kindness" for me too.
Slow feedback loops kill focus.
-
@gooba42 @josejfernandez I really want to use an IDE, I just simply can't pick one. IntelliJ, Visual Studio. They feel "bloated" to me.
@dylanisaiah @josejfernandez No doubt they are heavier than just an editor but you do get something in the trade.
I'd suggest just try one for a while. Stick with it through at least one project, not super trivial but it doesn't have to be huge either.
-
@catboi29 You've sold me on the imagery alone. What does Common Lisp actually *feel* like to use day-to-day? Is the quirkiness charming or frustrating?
@dylanisaiah @catboi29 Sorry to chime in from the sidelines: To me, #CommonLisp feels like home. I mean this seriously: This is my home language. I know and confidently use a lot of other programming languages, but whenever I use Common Lisp, I get a sense of calm, familiarity, warmth, predictability, and belonging that I don’t have with any other language. Common Lisp has, as far as I can tell, what Christopher Alexander calls the Quality Without a Name. Common Lisp is alive, it has a sense of history, of constructs that just work and fit extremely well together, of a living and breathing organism that takes good care of you and your ideas. Sorry to sound so esoteric, but that’s just how it is, for me at least…
-
@gooba42 @josejfernandez I really want to use an IDE, I just simply can't pick one. IntelliJ, Visual Studio. They feel "bloated" to me.
@dylanisaiah @gooba42 The IDEs help. If you are writing a simple script they might seem like too much, but otherwise they are useful. I also advise to get used to one. Visual Studio is more heavyweight and installs many more things on the machine. Jetbrains Rider is leaner on that regards.
-
@catboi29 You've sold me on the imagery alone. What does Common Lisp actually *feel* like to use day-to-day? Is the quirkiness charming or frustrating?
@dylanisaiah @catboi29
#commonlisp
It is a language that does not force on you opinions of its creators. It is multiparadigm and it is more like an exoskeleton than a mecha - if that makes sense. -
@catboi29 You've sold me on the imagery alone. What does Common Lisp actually *feel* like to use day-to-day? Is the quirkiness charming or frustrating?
#CommonLisp just gets out of the way. It makes thinking about problems and solutions in your head to code on the screen a fluid endeavor.
It is the ideal prototyping language and I like that it comes with a lot of batteries included.
There's also no quirkiness in it for me. There's some warts but they don't really detract from the overall experience.
(It also available for and can target a lot of platforms: I have an app available on Android for testers.)
-
@dylanisaiah @catboi29 Sorry to chime in from the sidelines: To me, #CommonLisp feels like home. I mean this seriously: This is my home language. I know and confidently use a lot of other programming languages, but whenever I use Common Lisp, I get a sense of calm, familiarity, warmth, predictability, and belonging that I don’t have with any other language. Common Lisp has, as far as I can tell, what Christopher Alexander calls the Quality Without a Name. Common Lisp is alive, it has a sense of history, of constructs that just work and fit extremely well together, of a living and breathing organism that takes good care of you and your ideas. Sorry to sound so esoteric, but that’s just how it is, for me at least…
@pascal_costanza @dylanisaiah @catboi29 Much the same for me.
Whereas Python feels like a messy desk, but worse—someone else’s messy desk.
-
Neurodivergent devs: what languages actually *click* for your brain? Not popularity — what feels kind, predictable, low-cognitive-load? Why?
I'm building a framework for ND devs and want real experiences. Rust? Go? Odin? Python? Something else?
Tell me what works (or doesn't) for you.
#ActuallyAutistic #ADHD #Neurodivergent #Programming #Rust #Go #Odin
@dylanisaiah AuDHD here. Also a Common Lisp enjoyer.
I love the extremely tight feedback loop and how interactive of a development style you get with the language. How anything and everything can be immediately inspected and poked at in the REPL as genuine objects. I like that it's a standardized language, effectively frozen you don't have to deal with things like a new version of a language breaking things. The uniform syntax of Lisp (s-expressions) also aids in low cognitive load imo.
With Common Lisp you get a language that lends itself towards a functional style but firmly multiparadigm.
What usually doesn't work for me are languages that I can't interactively use. Using Common Lisp feels like I'm literally touching a program, molding it with my hands, meanwhile nearly every other language feels like simply staring at text on a screen.
See here for another perspective on Lisp as it relates to a learning disability in particular, extremely interesting: https://www.iwillig.me/blog/on-dyslexia-and-lisp/
-
undefined amoroso@oldbytes.space shared this topic