Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Programming Python Software Technology

A Middle-Aged Writer's Quest To Start Learning To Code For the First Time (1843magazine.com) 183

OpenSourceAllTheWay writes: The Economist's 1843 magazine details one middle-aged writer's (Andrew Smith) quest to learn to code for the first time, after becoming interested in the "alien" logic mechanisms that power completely new phenomena like crypto-currency and effectively make the modern world function in the 21st Century. The writer discovers that there are over 1,700 actively used computer programming languages to choose from, and that every programmer that he asks "Where should someone like me start with coding?" contradicts the next in his or her recommendation. One seasoned programmer tells him that programmers discussing what language is best is the equivalent of watching "religious wars." The writer is stunned by how many of these languages were created by unpaid individuals who often built them for "glory and the hell of it." He is also amazed by how many people help each other with coding problems on the internet every day, and the computer programmer culture that non-technical people are oblivious of.

Eventually the writer finds a chart of the most popular programming languages online, and discovers that these are Python, Javascript, and C++. The syntax of each of these languages looks indecipherable to him. The writer, with some help from online tutorials, then learns how to write a basic Python program that looks for keywords in a Twitter feed. The article is interesting in that it shows what the "alien world of coding" looks like to people who are not already computer nerds and in fact know very little about how computer software works. There are many interesting observations on coding/computing culture in the article, seen through the lens of someone who is not a computer nerd and who has not spent the last two decades hanging out on Slashdot or Stackoverflow.

This discussion has been archived. No new comments can be posted.

A Middle-Aged Writer's Quest To Start Learning To Code For the First Time

Comments Filter:
  • by ealbers ( 553702 ) on Friday May 25, 2018 @10:44PM (#56676968)

    The Economist's 1843 magazine details one middle-aged writer's (Andrew Smith) quest to learn to cook for the first time, after becoming interested in the "alien" logic mechanisms that power completely new phenomena like oven cooking and effectively make the modern world function in the 21st Century. The writer discovers that there are over 1,700 actively used recipes to choose from, and that every chef that he asks "Where should someone like me start with cooking?" contradicts the next in his or her recommendation. One seasoned chef tells him that chefs discussing what recipe is best is the equivalent of watching "religious wars." The writer is stunned by how many of these recipes were created by unpaid individuals who often built them for "glory and the hell of it." He is also amazed by how many people help each other with cooking problems on the internet every day, and the kitchen chef culture that non-technical people are oblivious of.

    Eventually the writer finds a chart of the most popular recipes online, and discovers that these are Beef,Chicken and Pork. The syntax of each of these recipes looks indecipherable to him. The writer, with some help from online tutorials, then learns how to cook a basic recipe that tastes a lot like orange hair marmalade with small hands. The article is interesting in that it shows what the "alien world of cooking" looks like to people who are not already kitchen nerds and in fact know very little about how the chemistry of cooking works. There are many interesting observations on cooking/chef culture in the article, seen through the lens of someone who is not a cooking nerd and who has not spent the last two decades hanging out on BigCookDot or Potoverflow.

    • by SirSlud ( 67381 )

      Well written and funny, but I hope you're not proposing that the metaphor holds up.

      • by sfcat ( 872532 )

        Well written and funny, but I hope you're not proposing that the metaphor holds up.

        Everyone knows that all /. metaphors have to do with cars or libraries of congress.

    • by johannesg ( 664142 ) on Saturday May 26, 2018 @01:14AM (#56677250)

      I came here to ridicule the article, but you have already done all I could have hoped for and more. Thank you.

      For anyone who thinks it is only computer nerds that speak an 'alien' language full of 'weird terminology', try talking to a builder, a plumber, a farmer, a teacher, or really anyone of any other profession about his work. You'll soon discover that their professions are also full of weird and alien terminology, rituals, and habits that make absolutely no sense to an outsider. The fact that we need words to describe things in our little corner of the world is not strange, it's what every profession does. The difference with us is that everyone uses computers, so everyone gets exposed to our terminology.

      And of course we are also in a unique position of our tools appearing to be magic. I very much doubt any blacksmith ever received a bug report like "I bought an axe for cutting down trees from you. I then tried to cut down a skyscraper, but the axe failed completely at this task. There is a bug in my axe. It should cut down anything I want to cut down." or "I prefer holding the axe by the metal part, since the metal feels smooth and cool. However, the wooden part is terrible at cutting things down. It doesn't even cut grass in this configuration! I think my axe is broken. It should cut properly in every orientation, not just when you are holding the wood part. Some people prefer to hold the metal part, they should be accomodated as well."

      That last one is just about literally a bug report that I received last week. Of course I'm a programmer, not a blacksmith, so nobody bats an eye at it...

      • I once got a requirement for a battery operated device that I made, which said that the device should blink the power led to indicate that the battery was dead.

      • by The Evil Atheist ( 2484676 ) on Saturday May 26, 2018 @02:39AM (#56677406)
        Why does the article need ridicule? Here's a middle aged person with no skill in the subject, putting himself through something difficult to a lot of people just to get insight about something, rather than be scared of it.

        Why do you want to ridicule that?

        Compare to the average Slashdotter who whinges about the stupidest programming horrors and refusing to learn anything new or difficult and preferring to remain stuck in whatever they were taught or learnt at the time. Then they ridicule other people who do learn the stuff they refuse to learn, and speaking completely from ignorance.

        Kudos to this person who didn't do that, and actually tried his hand at something completely foreign to him.
        • Re: (Score:2, Insightful)

          Why do you want to ridicule that?

          There seem to be quite a few people who can only make themselves feel good by shitting on others efforts. I generaly assume they have prodced nothing of worth.

        • by johannesg ( 664142 ) on Saturday May 26, 2018 @04:45AM (#56677588)

          It needs ridicule because _every_ profession on this planet comes with its own unique, impenetrable terminology, yet somehow computer professionals are the only group always being called out on it. Has there ever been an article about someone being amazed at the number of different tools a carpenter uses? If not, why is an article expressing amazement about the number of programming languages ok? And don't even get me started on legal, financial, or medical professions, where you need a professional just to interpret what the other professionals are saying...

          So yes, it's perfectly fine to ridicule someone who barges in and acts like he is visiting the bloody Morlocks, like we are some sub-human tribe that cannot possibly be expected to hold a normal human conversation. It's idiotic and demeaning.

          • That's just amazingly petty.
            • That's just amazingly petty.

              The article is amazingly petty. Oh, look at me overcomplicate this thing, it's so complicated. Everyone has jargon and special skills in the thousands. Why don't they call the left and right side of a boat the left and right side? Port and starboard? We don't steer off the side any more, and either side can be the port side. Now multiply me whining about that by twenty and see if it makes an interesting article. [noaa.gov]

              • The article is amazingly petty. Oh, look at me overcomplicate this thing, it's so complicated.

                WTF? Did you actually read the article all the way to the end?

                Programming is complicated, if it wasn't then everyone would be good at it. If you don't know the first thing about getting into it it's also pretty daunting. Sure there are lots of online resources, but most people here come at those from the point of view of an expert already. Of *course* they look trivially easy. If they didn't you'd be a terrible pr

            • That's just amazingly petty.

              He started it!

          • And don't even get me started on legal, financial, or medical professions, where you need a professional just to interpret what the other professionals are saying...

            And yet we "little people" are supposed to read and understand paperbook-thick documents and sign them, binding us to whatever the fuck they say.

            At least with computers, you do not have to understand them, you can just use them.

          • by skam240 ( 789197 )

            I don't think there's anythong idiotic or demeaning about this at all. In fact, I feel like this is the opposite. The author recognized that coding is not some mystical art as much of the public perceives it and from there sought to understand it better and in the process help others do so.

            The only negative I see to that is that it risks de-mystifying my profession and some times I like being made to feel like a wizard :)

          • Yet he missed the real beauty of programming... that you can experiment or try anything with infinite levels of undo. A carpenter can't un-saw a piece of wood(hence the saying measure twice cut once). If you are willing to fuck around with shit (I can't think of a better use of curse words) you will be successful.
          • by shmlco ( 594907 )

            "... like we are some sub-human tribe that cannot possibly be expected to hold a normal human conversation. "

            Ummm... have you actually tried to have a normal human conversation with the average programmer??? ;)

          • I'm trying hard to get your gripe, but I'm failing to grasp it.

            Carpentry has been around since biblical times, and it's premise is something the everyone understands, because it manipulates the physical world in predictable ways. Sure, they have their own language, but the underlying concepts are relatable.

            Software is something very new in human history. Most people still don't understand it. It's completely foreign to them.

            It's quite rare to see a completely new profession come into existence duri

        • by TheRaven64 ( 641858 ) on Saturday May 26, 2018 @05:32AM (#56677676) Journal
          Because it's showing a stunning level of ignorance where it can't even express the problem before. Consider someone trying to learn physics in the same way. They don't really indicate the things that they want to understand and are then shocked that brane theory and string theory seem contradictory and each have strong proponents. They went straight to quantum mechanics because they kept asking people 'how do I learn physics' without saying 'I want to understand the path that a ball will travel when I throw it' (or whatever the real problem that they're trying to solve is). Shockingly, the author discovers that a discipline that people devote an entire professional career to learning a fairly small subset of is difficult to pick up in a few hours.
          • The point is - he tried. He didn't know something, and went to find out what it is.

            Unlike people like you, who never try anything out of their comfort zone.
            • by Anonymous Coward

              Oh give it a fucking rest. Nobody is mad at the guy for trying to learn how to program. They are upset because he doesn't really want to program. And that is obvious. Because if he did, he would have figured it out like the rest of us. Instead he just bitched.

              I never had any hand holding. And I learned just fine. Nothing replaces experience. So like another poster said, instead of bitching about how hard it is, stfu and dive in and learn.

              • Give it a fucking rest. You did not learn how to program on your own.

                And he DID dive in and learn. That was the point of the article you didn't read.

                He just also explained his thoughts and processes along the way, instead of pretending to be a "hard man" like you are trying so hard to.
          • "difficult to pick up in a few hours" Obviously you did not read the /. summary (which says nothing about "a few hours") nor the original article (which mentions a month of learning at one point, not including the preliminary research on which language to learn, nor the time spent in coding his app). The original article does mention "A few hours on freeCodeCamp, familiarising myself with programming syntax and the basic concepts", but that was a tiny portion of his overall effort.

          • Okay, yeah, so I'm starting to get it now.

            You're right, he is approaching like he should be able to master it in a relatively short amount of time, and he's asking questions that make it seem like the answer can be conveyed in a single paragraph.

            Alright, yeah, I can see that. It is kind of insulting when you put it that way.

        • by AmiMoJo ( 196126 )

          It's classic Dunning-Kruger. Everything looks hard until you just wade in, and find you can scrape Twitter really easily.

        • It's a boring yawn-fest to hear someone complain about jargon, when literally every job has it. Did you know that when you take french fries out of the freezer and put them on a rack to partially thaw before cooking, it's called slacking? Yes, even being the fucking fry guy comes with jargon. When someone complains about there being 1,700 "active" programming languages, they are stretching desperately to make a point — and by the time they actually know enough to write the article, they know how badly

          • The problem with you nerds is that you think he's writing for you. He's not. He's writing for the readers of that publication who are not familiar with what we do. He's establishing to his readers that he's approaching this from where they are - with no idea of what he's about to get into. Articles like that are about telling a story to his readers - in this case a story of how he is trying to get to know a subject - not some boring technical manual.

            If people bothered making their way through the whole
      • I don't know how many heads an axe would have if the Gnome team designed it.

        But it would probably be an even number.

    • The Economist's 1843 magazine details one middle-aged writer's (Andrew Smith) quest to learn to cook for the first time,

      Welcome to 'murica where cooking has been reduced to heat up prepackaged stuff.

  • by Krishnoid ( 984597 ) on Friday May 25, 2018 @10:52PM (#56676988) Journal

    I guess some things never change [totseans.com]:

    Well, my computer makes my dog look like Albert Einstein. I plugged it in and turned it on, and instead of going to work on my telephone-company letters, it started asking a lot of idiot questions, such as what day it was. So I typed in the following computer program:

    NEVER YOU MIND WHAT DAY IT IS. WHAT I WANT YOU TO DO IS STRAIGHTEN OUT ALL MY FILES AND COME UP WITH A NICE HEALTHY LIST OF MY TAX DEDUCTIONS, TAKING PAINS TO GIVE ME, RATHER THAN THE INTERNAL REVENUE SERVICE, THE BENEFIT OF THE DOUBT, BUT NOT CLAIMING ANYTHING THAT WOULD LAND ME IN THE SLAMMER, IF YOU GET MY DRIFT.

    And the computer said:

    SYNTAX ERROR

    Do you believe that? This machine that doesn't even know what day it is tells me, the paid professional writer, that I have a syntax error.

  • Urgh. (Score:2, Insightful)

    by Motor ( 104119 )

    Coding is about a way of thinking... not about a particular language. Pick one that lets you get started quickly and doesn't require you to understand objects etc just to do your first simple program. This is why BASIC was great... it got kids going quickly and gave them a nice simple slope into more complex subjects and ambitious stuff:

    10 print "hello"
    20 goto 10

    Also, ignore 99.9% of the stuff you get as advice. I remember back in the mid-2000s... I read some Gentoo Linux nuts advising people wanting to get

    • Pick one that lets you get started quickly and doesn't require you to understand objects etc just to do your first simple program.

      Not exactly an easy thing to do without actually trying out a bunch of languages. People can recommend some simple languages but that can be subjective and subject to bias.

    • I went that way with Gentoo as my first Linux. It was more like 15 days than 15 hours, but I stuck through it and was rewarded with knowing every byte on my harddisk.

      And there is a certain beauty of starting with an empty harddisk and seeing grwoing and evolving from within itself.

    • by shmlco ( 594907 )

      "Pick one that lets you get started quickly and doesn't require you to understand objects etc just to do your first simple program."

      And today, with pretty much every one of them you're going to need to understand objects in order get past Hello World.

    • Gentoo did turn out to be the right choice for me. Others in my family not so much. That's why we still have some degree of variety and choice in the Linux world, systemd and like abominations notwithstanding. We also have Ubuntu, Kubuntu, and Windows in our home (the latter was not by my choice, but some of our kids are gamers, and felt they didn't really have a choice).
  • by mapkinase ( 958129 ) on Friday May 25, 2018 @11:01PM (#56677008) Homepage Journal

    is accessible literally to every single person on Earth.

    It's trivial. Even actors can learn it.

  • Logo.
    Basic.
    Pascal.
    Ada.
    Lisp.
    Finally move to todays most best and newest trendy online app ready gui app code that can really code for apps.. ready for a big fast gpu with many cpu cores..
    Avoid any new trendy code that comes with strange political demands as part of "using" the code.
  • by lsllll ( 830002 ) on Friday May 25, 2018 @11:45PM (#56677092)

    I'm probably going to get shot down over this and get -1 as troll, but IMAO you cannot make a great programmer unless you've taken some college courses specifically related to computer science. That is in addition to having a passion for problem solving and tinkering with anything and everything. This comes from mostly anecdotal instances of people I have ran into in my over 30 years as a computer programmer.

    Taking courses at a college level teaches you the intricate programming concepts and algorithms. Without taking data structures, assembly, operating systems, OOP, and so on at a college level, you're already at a disadvantage. Can you program a Windows/GTK application without taking those courses? Most likely. Can you write device drivers and system routines? No. "How do I sort this list?" Well, that depends on how fast it needs to be sorted, how much memory you have available, how big the list is, etc. "I'm making a list." Does it need to be an array of structures? Does it need to be a linked list? Does it need to be a doubly linked list? Does it need to be a binary tree? Does it need to be a tree? Most programmers don't have to deal with any of this stuff, but then again most programmers aren't great programmers.

    I have ran into many programmers that didn't get their degree in computer science and didn't take any computer science courses in college, and they all fall in the same level. Mediocre. Again, anecdotal and stereotypical, but I'd wager that it's correct almost all the time.

    My suggestion to the OP would be to (since middle ages is still not too old to become a great programmer, as long as you meet the other criteria of being a tinkerer) take some college courses in computer science. Over 1700 languages doesn't mean shit if you don't understand the concepts of programming (although concepts of something like LISP would be completely different than OOP and other traditional languages). Once you learn the concepts, then the rest is just syntax and concepts specific to the language you're learning, but without the basic concepts, you have no ground to stand on.

    • by dwywit ( 1109409 )

      With today's multiple layers of abstraction between programmer and hardware, things like assembly, device drivers and system routines are not in the realm of the applications programmer.

      You can be a clever and successful applications programmer without knowing a thing about device drivers. Closed/proprietary systems don't even expose that part of the system - and please don't bleat to me about open source - closed systems are still a big thing, despite the dreams of many slashdotters.

      College courses are ver

    • but IMAO you cannot make a great programmer unless you've taken some college courses specifically related to computer science.

      You mean like Boole, Babbage, Lovelace & Turing didn't?

    • by AHuxley ( 892839 )
      Dont have the app show words or draw into the reserved space for the notch?
    • by religionofpeas ( 4511805 ) on Saturday May 26, 2018 @02:24AM (#56677374)

      I have ran into many programmers that didn't get their degree in computer science and didn't take any computer science courses in college, and they all fall in the same level. Mediocre

      Maybe just correlation, not causation. I have a degree in CS, but I mostly I learned programming in my spare time. The fact that I was interested in programming led me to sign up for the education.

      "How do I sort this list?"

      Call the sort() function, usually.

    • Who do you think originally came up with the information taught in those college courses? Hint: It wasn't someone who had taken those college computer courses...

    • by Kjella ( 173770 )

      Can you program a Windows/GTK application without taking those courses? Most likely. (...) Most programmers don't have to deal with any of this stuff

      Well we need a lot of those, it's kinda the IT version of handymen where somebody needs a house. And it's not going to be a revolution in carpentry, plumbing or wiring but you take some kind of business need and create software for that, it's a honest living even though you're not pushing the boundaries of CS. Despite many years of trying it'll never be just rule engines and configuration, at least not without turning your business-side into quasi-developers and making the tools so complex and flexible they

    • by Waccoon ( 1186667 ) on Saturday May 26, 2018 @05:59AM (#56677740)

      My experience in college is that academic computer science is completely different than real-world computer science. I learned only math and algorithms in college. Everything else I had to learn on my own in my spare time.

      Granted, my college days were in the early 2000's, and I didn't exactly go to the best school, but all we did back then was algorithms in C. Exclusively. We were also forced to do our work with Emacs and submit our homework to a VAX system using nothing more than a mainframe cheat sheet. If something went wrong, we were stuck. It was confusing and useless to participate unless you already knew what the hell you were doing.

      I learned a HELL of a lot more about real programming after I left college and started to work with other, more experienced people. Then it became more obvious what they were trying to teach us in college, but failing miserably.

    • "I'm probably going to get shot down over this and get -1 as troll" You might get -1 as a prophet, but looks like you did pretty well otherwise. Well done!

    • Comment removed based on user account deletion
    • I definitely do not agree, because my company has many great developers who have never even been to college. In fact, those devs are typically more motivated.

      A lot of people take computer science these days because it's a well-paying job, and they learn enough to make a career out of it. Those who learn it on their own, to a high level, tend to be ultra-motivated.

      These are people who write as much code on their free time as they do at work.

      In addition, the college grads tend to specialize in a few t

  • by Anonymous Coward on Saturday May 26, 2018 @01:11AM (#56677244)

    Start with Perl6 but first listen to one of Larry Wall's lectures on postmodern programming.

    I'm not going to lie Perl6 is probably the best general purpose programming language in existence right now yet I still feel a childish need to be dismissive because I can't be bothered to take the time to learn it. Even if I did it would mean shit for my "career". Just writing "Perl" on a resume is a death sentence.

    In other words don't ask Slashdot for advice on learning to code. Half the people here think cutting and pasting "JavaScript" and "HTML" from stack overflow is "programming". The other half know their shit and are real snobs about it. They will make fun of you if you don't use a functional language and correctness proofs.

  • by Anonymous Coward

    Stack Overflow was created in 2008, so there can't be a lot of people who have spent two decades "hanging out" there.

  • I'm a professional software programmer/engineer and I shutter to think what might happen if society can't understand how all of the complex computing machinery works. Or gives up because of the overwhelming complexity.

    But seeing articles like this gives me hope. It means that we are successfully simplifying/explaining the really difficult bits and allowing more creativity to be layered on top of the complex parts. The author didn't need to know any details about how Twitter, the web, or tcp/ip works in order to build his search app. That's pretty cool.

    It was sad that he gave up on coding a website because there were too many braces in JavaScript. I guess that with practice the braces fall away and the underlying logic shines through. If he wants to get really shook up, he should check out LISP, the ultimate symbolic language. The parentheses will either break him or make him experience true programming bliss.

    • I'm a professional software programmer/engineer and I shutter to think what might happen if society can't understand how all of the complex computing machinery works.

      The guy who wrote the article we're commenting on is a professional writer and probably shudders to think of what people have done to the language.

    • I liked TFA. Figuring the world runs on code and it's worth nuderstanding then going out and learning---that's exactly the sort of thing which it's great if people do.

      It was sad that he gave up on coding a website because there were too many braces in JavaScript. I guess that with practice the braces fall away and the underlying logic shines through.

      Eventually, but for beginers, nothing just falls away so everything becomes a barrier. I've been writing in curly brace languages for over 20 years so they don'

  • Fuck the normies, post about his experiences with CMake and VB6 or it's not even amusing.
  • This guy seems to think that Python has functions, whereas C++ doesn't. He claims that repetitive operations in C++ require coding the same lines over and over.
    If he's that misinformed, it kind of ruins his credibility. A perfect example of Dunning-Krueger -- he learned a little and thinks he knows a lot.

The 11 is for people with the pride of a 10 and the pocketbook of an 8. -- R.B. Greenberg [referring to PDPs?]

Working...