> But the overall synesthesia? I have no idea. I assume that most people have some form of it? As unfounded as that is.
I don't get the physical reactions that the author describes, but when I'm in the zone, I literally stop seeing or being aware of the screen, keyboard, etc. and start "seeing" groups of geometric shapes that interact with each other in my mind.
The nature of that doesn't change according to the language I happen to be using, but the language choice can absolutely affect how easy it is to get in the zone. Some languages are better suited to certain kinds of tasks than others, and if I'm using one that isn't well-suited then entering the zone is simply impossible. Instead, I just feel like I'm fighting the language.
I'd have to think more about the synesthetic experience, but I'll never forget that my fingers hurt when I wrote Objective-C. I could never locate what the source was; I could have been pressing harder on the keyboard, or I could have been holding tension in my hands. But the language quite literally felt different in a very real, physical way.
edit: it could also have just been me typing with more frustration due to XCode :p
For me it's more about "feeling" badly written code, as if it stinks and is unpleasant to look at,
and conversely enjoying nicely written one, and seeing its elegance and beauty.
Especially when I have to familiarize with code written by someone else, I usually start by "cleaning" it - small refactorings such as splitting overlong functions and simplifying expressions, that are trivial to prove as correct even without a deep knowledge of the code purpose.
Only when the code looks sufficiently clean and familiar, I start adding the requested new features
If you're interested in the multiplayer cursors + cursor chat, my philosophy is that every web page deserves to be a place, and pages should feel busy if lots of people are there
I always type the closing bracket right after opening one then go back one character to start typing inside. Same with parentheses and quotes. It's a hassle when the IDE does it for me because then I have to delete one of them.
I am curious about people's experiences who are really good and use the following languages regularly: C, OCaml / Haskell (although Haskell feels way different to me), Common Lisp (or any Lisp), Erlang / Elixir, and Forth / Factor. To me, these languages seem to be significantly different.
Edit (before I will not be able to do so): thank you for everyone's replies (in advance, too)!
i feel like when i copy something to the clipboard, its in my (little) finger, near the left ctrl key. it kinda tense till i can paste it and don't have to remember what's there anymore
I think this synesthesia idea bumps into the concepts of comfort and understanding. In that I feel it also extends to the environment im in and the tools im using. Like if I switch to a different type of keyboard or the monitors are positioned weirdly; or especially if im not using a certain IDE or developing without a language server.
Being immersed in software development, and the different ways we do it, can be a visceral and emotional experience.
I seem to recall reading an interview with William Gibson in which he said "someday we might have little squishy things that can read any form of physical media you wrap them around". That's what working in Lisp feels like to me. It's something squishy, and you can wrap it around any sort of problem and solve it fairly quickly. Smooth it out enough and it might even be an efficient or elegant solution. I've compared Emacs to a beanbag chair because it too is squishy, comfortable, and once in it it's difficult to leave, nor do you particularly want to.
Languages with nice type systems, like Standard ML or Ada, have the feel of Buckminster Fuller's tensegrity constructs: rigid yet flexible.
14 comments
[ 3.8 ms ] story [ 38.1 ms ] threadI don't get the physical reactions that the author describes, but when I'm in the zone, I literally stop seeing or being aware of the screen, keyboard, etc. and start "seeing" groups of geometric shapes that interact with each other in my mind.
The nature of that doesn't change according to the language I happen to be using, but the language choice can absolutely affect how easy it is to get in the zone. Some languages are better suited to certain kinds of tasks than others, and if I'm using one that isn't well-suited then entering the zone is simply impossible. Instead, I just feel like I'm fighting the language.
edit: it could also have just been me typing with more frustration due to XCode :p
Especially when I have to familiarize with code written by someone else, I usually start by "cleaning" it - small refactorings such as splitting overlong functions and simplifying expressions, that are trivial to prove as correct even without a deep knowledge of the code purpose.
Only when the code looks sufficiently clean and familiar, I start adding the requested new features
study_n += 1
If you're interested in the multiplayer cursors + cursor chat, my philosophy is that every web page deserves to be a place, and pages should feel busy if lots of people are there
plus you can grab the code. here's the write-up:
https://interconnected.org/home/2024/09/05/cursor-party
I always type the closing bracket right after opening one then go back one character to start typing inside. Same with parentheses and quotes. It's a hassle when the IDE does it for me because then I have to delete one of them.
Edit (before I will not be able to do so): thank you for everyone's replies (in advance, too)!
I can barely do Swift for ex. where I come from JS/PHP/Python but I was able to get by working on an iPhone/watch app
Not vibe-coding either, just watching YouTube/reading tutorials
I think this synesthesia idea bumps into the concepts of comfort and understanding. In that I feel it also extends to the environment im in and the tools im using. Like if I switch to a different type of keyboard or the monitors are positioned weirdly; or especially if im not using a certain IDE or developing without a language server.
Being immersed in software development, and the different ways we do it, can be a visceral and emotional experience.
Languages with nice type systems, like Standard ML or Ada, have the feel of Buckminster Fuller's tensegrity constructs: rigid yet flexible.