Neurodivergent devs: what languages actually *click* for your brain?
-
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
Python or Rust -
@dylanisaiah @gooba42 I do C# a lot and loving the language. What do you mean with "the ecosystem weight"?
@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
Python or Rust@Nours Rust has been my goto for awhile. Python doesn't click with me.
-
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 honestly, bash. It's brutalist, but it gets the job done.
-
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
It's like you're walking through an abandoned mall and discover a custom rolls Royce parked with the keys in the ignition fully fueled. And you can just... Drive it.
It's got a lot of quirks but underneath it all is a solid foundation that has so many good ideas in
-
@dylanisaiah honestly, bash. It's brutalist, but it gets the job done.
@d1 Bash is honest about what it is — no pretenses. Do you ever find yourself wanting something higher-level, or does Bash cover most of what you need?
-
It's like you're walking through an abandoned mall and discover a custom rolls Royce parked with the keys in the ignition fully fueled. And you can just... Drive it.
It's got a lot of quirks but underneath it all is a solid foundation that has so many good ideas in
@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?
-
@d1 Bash is honest about what it is — no pretenses. Do you ever find yourself wanting something higher-level, or does Bash cover most of what you need?
@dylanisaiah I also really like #python and C. Languages like Javascript, C++ etc are unthinkable to me, I see them as unholy abominations.
-
@dylanisaiah I also really like #python and C. Languages like Javascript, C++ etc are unthinkable to me, I see them as unholy abominations.
@d1 Python doesn't click with me and C looks scary! I don't even want to touch JS or C++ honestly
-
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 Python is generally my go-to but I'm fairly used to jumping between languages.
Python's pretty nice because it reads like pseudocode and still has a LOT of uses, so it's both super accessible and super powerful
-
@dylanisaiah Python is generally my go-to but I'm fairly used to jumping between languages.
Python's pretty nice because it reads like pseudocode and still has a LOT of uses, so it's both super accessible and super powerful
@sitcom_nemesis I haven't been able to click with Python. I've been jumping languages like I distro-hop for ~10 years. I keep coming back to Rust but learning is a significant struggle for me. So I'm trying to find something that works better with my brain
-
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 in my personal experience, the challenge is to reduce the working memory demand, which materialize in two main ways:
- having to track side effects due to global state, autowiring, meta-programmaing or monkey-patching: Ruby, JS and Python are the worst offenders in descending order
- having inconsistently documented inputs and outputs for functions. I hate languages such as JS or Java where one function can have a dozen overrides. I love languages such as Go, Rust, Gleam, where there's a consistent documentation format and a single website to read them all, instead of having to navigate to each project's website to find where the docs are (if there are any)
Although it can be tedious and not fun to write, Go spoils me on both aspects so that's the language I usually default to:
- using global state is frowned upon, magic tricks too. My IDE's "go to definition" / "go to usage" functions are enough to navigate the code base, no need to grep and pray. Formatting and software patterns are consistent across projects, so diving into a library is pretty fast
- https://pkg.go.dev offers a consistent experience to navigate both the stdlib docs and dependencies docs. My IDE shows the apidoc on mouseover, with a link to pkg.go.dev to navigate it easily
The Rust ecosystem's over-reliance on macros breaks point one for me (and makes compile times horrible!). "Go to definition" is my most used keyboard shortcut because I like to read my dependencies' code, and many Rust libraries break that flow (with macros in the middle of the flow, or too many abstraction levels)
Gleam's functional + immutable with a familiar syntax should theoretically work great for me, but the ecosystem is a bit too young for now. But I'm keeping a close eye on it.
-
@d1 Python doesn't click with me and C looks scary! I don't even want to touch JS or C++ honestly
@dylanisaiah There's a learning curve with C (best if one has some sort of mentor), but it's great once once gets the hang of it. It's very Old School.
-
@d1 Bash is honest about what it is — no pretenses. Do you ever find yourself wanting something higher-level, or does Bash cover most of what you need?
@dylanisaiah As to something higher level (*and* performant, unlike python): if I ever get really ambitious, I think I might try some #Zig.
-
@dylanisaiah As to something higher level (*and* performant, unlike python): if I ever get really ambitious, I think I might try some #Zig.
@d1 Zig looks super interesting to me honestly. I was looking at it and Odin at the same time.
-
@dylanisaiah in my personal experience, the challenge is to reduce the working memory demand, which materialize in two main ways:
- having to track side effects due to global state, autowiring, meta-programmaing or monkey-patching: Ruby, JS and Python are the worst offenders in descending order
- having inconsistently documented inputs and outputs for functions. I hate languages such as JS or Java where one function can have a dozen overrides. I love languages such as Go, Rust, Gleam, where there's a consistent documentation format and a single website to read them all, instead of having to navigate to each project's website to find where the docs are (if there are any)
Although it can be tedious and not fun to write, Go spoils me on both aspects so that's the language I usually default to:
- using global state is frowned upon, magic tricks too. My IDE's "go to definition" / "go to usage" functions are enough to navigate the code base, no need to grep and pray. Formatting and software patterns are consistent across projects, so diving into a library is pretty fast
- https://pkg.go.dev offers a consistent experience to navigate both the stdlib docs and dependencies docs. My IDE shows the apidoc on mouseover, with a link to pkg.go.dev to navigate it easily
The Rust ecosystem's over-reliance on macros breaks point one for me (and makes compile times horrible!). "Go to definition" is my most used keyboard shortcut because I like to read my dependencies' code, and many Rust libraries break that flow (with macros in the middle of the flow, or too many abstraction levels)
Gleam's functional + immutable with a familiar syntax should theoretically work great for me, but the ecosystem is a bit too young for now. But I'm keeping a close eye on it.
@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.
-
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 #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.
-
@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.