Live data from Hacker News

The subjective experience of coding in different programming languages (2023)

interconnected.org

21–30 of 57 posts

Re: The subjective experience of coding in different programming languages (2023)

#21

For some reason Java always makes me feel ill. C# is okay though, weirdly.

I had the identical reactions, and like you it doesn't make a lot of sense.

Java: "stiff", awkward, verbose. Gets the job done but ugh.

C#: "soft", flexible, has possibilities

Although to be fair I programming in Java a long time ago, and haven't done much with C#. C# I see as a "corporate Python", vs Java I see as a language designed by committee and not for use by humans.

I've heard Java is way, way better now.

Re: The subjective experience of coding in different programming languages (2023)

#22

For some reason Java always makes me feel ill. C# is okay though, weirdly.

Java made me think in pure object-oriented, GoF Design Patterns systems; tight types, defensive programming, detailed documentation, the works.

But then I got bored with it. I like meticulousness sometimes, but it started to feel like Java was just excessive and impractical.

C# is an evolution of Java, and unlike Java didn't have a 8-year pause or however long it was before they finally started moving again (the period between Java 6 and 7 I think).

Re: The subjective experience of coding in different programming languages (2023)

#23

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…

I loved working in XCode at the time, it just "felt" better, it made obj-c "feel" good even though it's a very old language; the navigation, the colour scheme (I think I used the midnight theme), using gestures to do a swipe history back, the integrated tools, side-by-side views, etc, nothing like it.

I tried it again last year or so though, trying out the newer tools like SwiftUI and its live preview, and didn't enjoy it; the stability and performance was just all over the place.

Re: The subjective experience of coding in different programming languages (2023)

#24
post #11

Earlier quoted context omitted.

Which languages do you code in? Because for me the available mental structures I can use to think are radically different when I code in golang as compared to elixir, just because they have radically different paradigms for approaching data transformation.

I am competent or better in about 10 languages (a couple in each of the major programming paradigms), but in my current position I primarily use C, C++, and Python. I don't know golang or elixir.

I get synaesthesia in some languages (smalltalk, sclang, forth, lisp, occasionally perl) but not in any others. But I don't know if that has to do with the language or with the kind of projects I do in them, and I'd love to figure out a way to determine that. Maybe I should try writing a generic "not-in-domain" project in one of those and see.

Re: The subjective experience of coding in different programming languages (2023)

#25

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 withou…

This is also how I have traditionally looked at new codebases. I don't necessarily actually clean it up (I dislike changing someones style unless it is completely necessary) but I build up a mental model similar to what you're outlining. It's been really interesting with these LLM coding tools. I may not disagree with the implementation in terms of logic (it just does what I've prompted it to do after all) but something about it will 'stink'. Amusingly this feeling is the true 'vibe' of 'vibe coding' to me.

I sometimes wonder if this is the result of experience/education (I'm not a compsci major) or if it's just a naturally different way to think about systems.

Re: The subjective experience of coding in different programming languages (2023)

#27
post #2

> 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 lang…

Which languages do you code in? Because for me the available mental structures I can use to think are radically different when I code in golang as compared to elixir, just because they have radically different paradigms for approaching data transformation.

Elixir is spectacular for visualizing, it’s all just changing the shape of your data all the way down, and all the standard modules have exactly the right tools for doing whatever step needs to come next. It’s so easy to find yourself zoned in. Go has the rhythm of error handling everything, it feels like you’re steadily plodding along with these mini checkpoints.

Re: The subjective experience of coding in different programming languages (2023)

#28

For some reason Java always makes me feel ill. C# is okay though, weirdly.

I had the identical reactions, and like you it doesn't make a lot of sense. Java: "stiff", awkward, verbose. Gets the job done but ugh. C#: "soft", flexible, has possibilities Although to be fair I programming in Java a long time ago, and haven't done much with C#. C# I see as a "corporate Python", vs Java I see as a language designed by committee and not for use by humans. I've heard Java is way, way better now.

Java gives me similar feelings to what people say about Go: it may be a little verbose, but you always know exactly what to write and how to write it, and looking at other people's code you get a very good sense of what it does because it follows very familiar patterns.

The "brotha, eugh!" feeling comes from the enterprise frameworks, which tangle all that up in a mess of factories, DI autowiring, and inversion of control. COBOL may have been a lot to type, but its execution model was straightforward, like a BASIC program. Java EE's execution model is NOT straightforward. And it's no wonder why so many attempts to "modernize" old COBOL code using Java EE fail.

In my case it helps that I've been poking at Java since the very beginning, having discovered a bug in the 1.0.1 runtime, and compared to contemporary C++, it was a delight except for the performance problems.

C# doesn't feel too different from Java to me, aside from being more "Microsofty".

Re: The subjective experience of coding in different programming languages (2023)

#29
(blog author here)

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

Re: The subjective experience of coding in different programming languages (2023)

#30
> It’s a relief to close the braces.

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.

Post reply on HN