Hacker News new | past | comments | ask | show | jobs | submit login
I learned the language of computer programming in my 50s – what I discovered (theguardian.com)
44 points by pseudolus 4 months ago | hide | past | favorite | 44 comments



This has a very 'Victorian anthropologist' vibe. It's not the 'point and laugh at the freaks' undertone of, say, The Big Bang Theory, but it's clear the author is very much a humanities person who hasn't noticed that hard sciences people have a very different view of the world.


I know several people working as software developers, myself included, who have a liberal arts education/background.

And isn't the thrust of the column (or book excerpt) that there's no easily definable "view of the world" specific to software developers?


Programmers aren't hard sciences people, as a general rule.


As someone who loves both can you explain the two very different views?


There is a classic discussion on the subject described here:

https://en.wikipedia.org/wiki/The_Two_Cultures


I don't think there's anything wrong with that — it's useful to see an outside perspective once in a while.


Indeed, we can likely pinpoint the author's social circle to north-london politically-correct literati and media/arts "people-people".

The piece seems to imply that this is the real society, and that the nerds and boffins need to be controlled, lest they encode their unsavoury values into the fabric of the modern world.

I mean, it's a valid point, but the delivery could be more, um, inclusive.


It was interesting to see an outsider view to tech, especially his initial reaction to Python vs JS syntax, but sprinkling in the politics was unhelpful.

It is quite a leap there to associate JavaScript's syntax with its inventor's political views when they have nothing to do with each other.


Agreed. While it's a great shame that Eich is problematic, it shouldn't stop anyone from using the language any more than people should stop speaking German because... well, you know.


I.e. no discussion of C and where the brackets and semicolons come from.

Also, this person has no apparent notion that code may need to serve machine needs as in, try writing python with significant whitespace over a TTY or other linear stream...

Horses for courses.

Wait til he finds out about memory management.


Contrary to the (most of the) rest of the comments here, I quite enjoyed this. It's refreshing to get a (relatively former) outsider's take on a world that's a majority of one's working hours. Is the content of this article useful to my code, or how I decide what language to write in? Not at all. But it's useful, as another anecdote or datapoint, to help understand how people outside my head see what I do.


Interesting take, thinking maybe the author would like ruby.

In my world view being able to program is a bit like having an infinitely long lever. The results of this on the world at large is what you might expect from going around handing out infinitely long levers.


An infinitely long lever? So in theory you can move absolutely anything, but in practice it takes an infinite amount of time to make even the smallest change happen?

Yeah, OK, could be right.


Love it when a metaphor holds up


Computers have been a hobby all my life. I well remember the epiphany I felt while learning Logo in elementary school, at the moment I understood what recursion is. I don't think the fact that the language I have mostly written code in in recent years is Emacs Lisp is unrelated to the above moment.

Yet I have never desired to work as a professional software developer. My verbal and math scores on the SAT are almost identical. I majored in history and Spanish in college while working for the university's Unix systems group. Before graduation I interviewed and got offers (including one explicitly as a developer) at various tech startups. Of my offers I chose an investment banking job where I worked with tech companies; my manager was looking for a CS major but I was able to convince her that I had the equivalent thereof. Thank goodness for that; I got to participate in the dotcom bubble without being directly swept up in its popping, and saw the Valley immediately post-bubble collapse. <https://news.ycombinator.com/item?id=34732772>

I'm glad, for the sake of civilizational and economic progress, that others are able and willing to program for pay. Meanwhile I will continue to putter around with Elisp (and marveling at Lisp's elegance) and bash (and wincing at its idiosyncracies) at home.


> Just looking at JavaScript, with its ugly flights of brackets and braces and unnecessary-seeming reams of semicolons, made me miserable.

Who's going to tell them you don't need the semicolons?


The years will tell them everything they need and at all times they’ll be miserable still. Let the guy float in these most important distinctions while they can.


there are cases where you need the semicolons; the following code will complain 1 is not a function

  let t=1
  (() => {
    console.log(t)
  })();


You sometimes need the semicolons, particularly with regards to line breaks and interwoven server rendered template tags, i.e. if writing a function that is embedded in the server rendered template to be called by your bundled code, etc.


Hopefully, nobody. Some of us like the semicolons!


As someone who has been at it for 25 years, I still learn something new about programming every day. It really does satisfy some deep curiosity within me, and I am glad one can partake even (as in the author of the article's case) after 50!


"There also seemed to be 25 different ways to accomplish every task and these were constantly changing, turning the language into a kind of coding wild west."

What a strange thing for a professional writer to say.

Are they dismayed that even within a single laguage like English there are rather more than merely 25 different ways to express any given thought?


Just a thought - looking at it another way, "code", in the popular zeitgeist, has an association with rigid, unchanging processes. I feel like perhaps, the sentiment comes from that? Like, even if you're just implementing bubble sort in Python - a rigid, simple algorithm - there are so many ways to express that algorithm. In a sense, it may be closer to English, or other written languages, than many non-programmers expect.


The very use of the term "code" is part of the problem, I think. Among the general populace, it conjures up images of complicated symbols that are purposefully obfuscated to keep their underlying meaning a secret.


Are you sure the author is expressing a negative opinion here?

Consider his audience. He's explaining all this to people who would have similar preconceived notions about coding.


Here's what I learned from reading fiction: it's best not to go too deep into the authors' biographies, because it may spoil the joy of reading their writing. Some are alcoholics, philanderers, liars, or arse lickers. They are mostly skint, always hoping to be the next Hemingway and forever ruining literary cafes' budgets by ordering one coffee per day and spending hours hogging the table and arguing about style. Some embellish their biographies, but if that's what sells books, so be it. They typically form closely-knit cliques and have strange rituals and their own vernacular. Some are racist--there is a contemporary English fiction writer who cannot stop himself from making sure that whenever he needs an idiot, a crook, or a thief in his stories then the reader is explicitly told that it's an Eastern European, even if that fact has nothing to do with the story. A darling of the literary column in the English press. Of course, he is.

Software developers rarely venture into that world, because the pay is crap and the challenges are all to do with who you know. Writing is also one of the most closed and xenophobic guilds. Count on the fingers of one hand contemporary non-English writers writing and publishing in English without the help of a translator who are invited into the English literary coteries. One hand will be quite enough.

As a software developer I also learned that our profession attracts the kind of moron who would never be allowed to practice chemistry or civil engineering in professional capacity. You can wake up one day to tell yourself that the ad about learning to code in Python was actually a sign from above and you are ready to make megabucks the moment you finish your online course. You don't know what you don't know and instead of learning more about the art and science of designing, writing, and testing software you focus on a few people who do not conform to your worldview. You are surprised that software developers have a wide variety of views, body shapes, or sexual preferences. Being a writer, you feel compelled to write about it. That's how you lay bare your entitlements, your feeling of superiority for having mastered the rules of grammar and navigation of the impenetrable, permanently undrepaid world of literary hierarchies. The world of people who live in horror of someone mastering the rules of the language better and replacing the on the shortlist for the Booker prize. Unlike software developers who want more people to master their favourite language, because the more popular it gets, the more opportunities they will have.

(If the above doesn't make sense, do not worry. I too don't know why the writer-coder brings people's personal views into the discussion of software development from the point of view of an English major.)


From the article:

> The more time I spent with it, the more I thought: “I can’t do this; coding’s not for me – I don’t have the right kind of mind

I’ve been writing JavaScript for a good 20 years and still feel this!


Wow, the author really drank the python kool aid. I expect if they had landed on another language con they would have been influenced in a totally different direction. I'm not sure what, if anything, can be taken from this piece.


Didn’t discover the value of concision or brevity, apparently.


They chose Python over Perl. That doesn't mean they don't value brevity, they just weight it alongside other factors.


> [V]alues and assumptions contained in programming languages inform the software that’s written with them and change the world accordingly. By the time I’d learned that Brendan Eich, author of JavaScript, is an anti-vaxxer and was a supporter of a campaign to have same-sex marriage nixed in California, I wasn’t surprised.

I don't particularly associate Javascript with any brand of anti-vaxxing, anti-same-sex-marriage movements or values. Is this just a jab at Javascript being "bad" so of course its authour is also "bad"?


Pretty much. He's saying Javascript is an ugly language, and that this is not a surprise, as Eich's views and actions are similarly ugly.


Kind of like homeopathy where water supposedly has a “memory” of the substances previously dissolved in it.

Inanimate objects apparently have a memory of their designers’ political opinions.

I can’t say I know who designed even 1% of my possessions, let alone their opinions, and I would bet that the author is the same. So is it knowing who the designer is that’s the issue?


Also ironically, kinda like English, which is ugly, and has even more ways of saying anything. Language and writers, have done far more damage to the world historically than coding or programmers. Also many great and wonderful things, just like coding. Outrage is such a wonderful emotion.


Come on, water having a memory is clearly a totally different level of delusion to creators' political opinions influencing their work. I agree that language design is affected to a lesser extent, but it's not incredible to think it may still be impacted.


Really makes you wonder how we put up with ReiserFS for so long.

Looks like the author has decided to sell his book by looking at political dimensions of programming. Nothing inherently wrong with that but among programmers it hardly feels like a novel or interesting idea.


Python is used by beginners because people say it’s good for beginners because it’s used by beginners because people say…


To be fair on the author, they gave a specific, concrete reason why Python was better for them as a beginner.


They tried to learn JS from a free website and then later were taught some Python by a friendly expert. It’s no wonder they found it easier. The whole braces are bad idea was probably something they absorbed from the Python community.


>> What if there was something about the way we compute that was at odds with the way humans are? I’d never heard anyone suggest such a possibility (…)

What? That’s the premise of almost all techno-dystopias, a slew of horror movies etc.


The article ended on a cliff-hanger too.

> Even so, as I burrowed deeper into Silicon Valley and what I came to think of as the “microcosmos”, I did find a hidden wrinkle in the way we compute, something intrinsic to the code itself, which is at odds with the way we’ve evolved to be. Something that has been concentrating power, abrading society and casting an algorithmic spell over us as a species – and will continue to do so until we bring it under control. Just when I thought my work was done, it was about to begin in earnest.

This is just an advertisement for a book.


"By the time I’d learned that Brendan Eich, author of JavaScript, is an anti-vaxxer and was a supporter of a campaign to have same-sex marriage nixed in California, I wasn’t surprised."

How unnecessary, in my view, to taint the article with politics.


And frankly, nonsensical. I don't know how the author expects to be taken seriously here.


"By the time I’d learned that Brendan Eich, author of JavaScript, is an anti-vaxxer and was a supporter of a campaign to have same-sex marriage nixed in California, I wasn’t surprised."

"Coding has a gender and race problem, with only about 5% of professionals identifying as women or either Black, African or Caribbean. [...] a community that, while still too narrow in terms of gender and race, is easily the most culturally and neurologically diverse group I’ve ever seen."

The author, as we see here, has a worldview that is c. 2020 progressive-liberal, and a view that he takes to be correct and incontestable. He would not, I imagine, even consider, for example, the possibility that same-sex marriage is wrong or incoherent. I am not attacking the notion of truth, of course. On the contrary. I only wish to highlight that his worldview is a worldview that he takes to be true, which is to say, he takes other worldviews opposed to his to be false, even repugnant and worthy of being stamped out. And one of the worst aspects of liberalism (and most of us are liberals, as the worldview and entailed anthropology governing Western societies is liberalism) is the manner in which it denies it is a worldview in the name of supposedly accommodating all worldviews, which, of course, is incoherent, as liberalism makes definite claims and excludes all those worldviews opposed to liberalism.

Why do I say all this? I say all this to point out that you don't need programming languages to insinuate worldviews. Sure, technology is the expression of a worldview and a product of human culture, and in that sense, can insinuate a worldview that is inferred by the user of the technology. But this is true of lots of things. Science operates the same way. For example, science per se is not metaphysically materialistic, but the materialism of scientists can be insinuated through their scientific work and explanations, which becomes a tradition. So, you can become an unwitting materialist simply by studying science of a certain tradition. (It takes a certain baseline philosophical sophistication or intuition to smell out the insinuations or to take a stance toward science that doesn't translate its models into metaphysical conclusions.)

Perhaps what the author means to explode is the notion that something (in this case, programming languages) can be value-free. And that is true. There is no such thing as a fact-value dichotomy. Even the choice of focusing on one thing over another, to pursue some line of investigation, is shot through with and intrinsically a matter of value judgement, as value is always a matter of ends. "Whom or what do you serve?" is an inescapable question, because every human decision is made in light of the often tacit answer to that question.

How programming languages should understood in this context, I don't know. Certainly, the law of instrument applies. Programmers will often impose their patterns and habits of thought onto other subject matters, intelligence being one good example. Habits are what occurred to me when reading this line:

"The auctioneer explained how, the previous year, Lynn had suffered a severe burnout – common in a field where small actions can have massive effects."

What kind of habits are reinforced when programming? What affect do these habits have on our perception of reality? On our practicality? What patterns of thought are encouraged by the practice? What about where one's energies are devoted? Do we divert energy and attention away from other things we should be paying attention to? How about one's motivations? How are these reinforced or shaped? The same can be asked of technology in general. Nothing is neutral. Everything reinforces or weakens some habituation. Everything conditions. The question is: how? We are what we do, what we practice.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: