
Coding is not ‘fun’, it’s technically and ethically complex - sergeant3
https://aeon.co/ideas/coding-is-not-fun-it-s-technically-and-ethically-complex
======
jasode
This essay is misguided because the author makes the mistake of conflating
coding as an _activity_ with coding as a _professional job_.

Both classifications of activity vs job can coexist.

Tim Cook was talking about _" fun and interactive"_ in the context of Swift
_Playgrounds_. Playgrounds is not about writing serious software that
calculates the trajectory of a rocket or analyzes DNA samples. Yes, we know
that coding can have consequences that kill people.

It's as if someone wrote _" motorcycles are fun"_ and an essayist responds
with, "Motorcycles are NOT fun. Motorcycling must be looked at as a serious
activity because if you're a stuntman performing a jump on a movie set, any
amateur misjudgment of timing and speed will get you killed. And if you're a
policeman on a motorcycle escorting a Presidential motorcade, you must have
situational awareness of sniper threats from anywhere."

The author has some legitimate points on how programming (sometimes) must be
approached with rigor and discipline but it has nothing to do with Tim Cook's
quote. For a lot of programmers, coding is actually a fun thing to do.

If someone says "X is fun", you could conceivably write a counterpoint that
adds _gravitas_ to X but to do so would be missing the point.

------
wccrawford
"Coding" isn't "brain surgery" or "structural engineering". Notice how he had
to go deep into the hardest parts of those skills to find something that was
deadly and dangerous, but compared it to the most basic version on the other
side?

Being a doctor is fun, and "making things" is easy. Coding is also fun and
easy. Coding the OS for the space shuttle shouldn't be taken lightly.

But I'm betting that neurosurgeons really enjoy what they do (fun), and I'm
betting that structural engineers do find lesser engineering to be "easy".

~~~
merb
Coding is still fun. Especially the more complex work. What's not so funny is
creating a CRUD app, since it's the same pattern over and over again.

I like it to solve hard problems, especially if I get enough time for them.

~~~
davidy123
Was the context you were creating the CRUD app in the same each time? I find I
end up having a lot of influence in the circumstances.

------
proc0
We have to model our problems so that the machine can understand, and since
computers are modeled after mathematical abstractions of computation, we build
tools to help us translate. First Assembly, then C, then C++, then Java, etc.
We build up the abstraction layers so that we can better express ourselves in
our instructions, which is at its core math.

It's like knowing a foreign language, and also knowing the cultural contexts
of certain phrases, or the historical context of certain words. As you speak
to someone who is a native speaker, you better communicate with them by
knowing more about how they will process certain words and phrases. Analogous
to this, it is always good to learn the mathematical underpinnings of how a
computer computes, because this lets you use its languages more effectively,
therefore better communication and translation of instructions from thoughts
to bits.

Ideally, we can see that the easiest way to instruct a computer would be to
simply talk to it. Maybe in the future, AI will be sophisticated enough for
both speech recognition, and writing code comprehensively (as oppose to
programmatically). But since that's not happening for at least a few decades
(singularity now!), a programmer's ability to write good code is directly
proportional to their knowledge about how the computer does what it does with
the syntax you give it.

------
sixbrx
> Software is not simply lines of code

Reminds me of Dilbert's boss, who said "I looked at your code, it was just a
bunch of typing. With too much punctuation."

