19 Comments
Jan 20Liked by John Quiggin

Something that seems completely lost in the llm hype is the fact that coding != software engineering, and unless you are playing around with sandboxed trivialities, code is the easy part. Architecture, scaling, performance and fitness for purpose are the interesting parts, and no llm will give you code that is the best fit for your particular configuration of these.

So I agree with your prediction on the augmenting aspects. It does, however, bother me, that even people who should know better seem to miss the distinction that code is never, ever, ever just code.

Expand full comment

The conversation these days in STEM is not necessarily dryly coding lines, but understanding simple logical steps in building code strings and execution tasks. There are some great visual icon-based builders, such as Scratch (https://scratch.mit.edu/about) and STEM/Lego-compatible robot kits, to build and demo the generated code. Or we can just go back to Perl ;-)

Expand full comment
founding
Jan 20Liked by John Quiggin

I was OK on Fortran, and understood why Cobol existed, but it seems everyone is building their own code now and we have total confusion.

Yes, I am pretty old :(

Expand full comment
Jan 20Liked by John Quiggin

"... learning in the traditional style of language teaching, starting with grammar and a memorised vocab ...." This really shows your age! It's all about effective communication now, from the start.

In defence of the old style, language teachers in anglophone countries do face the problem that Eng. Lit teachers stopped having a serious background in grammar decades ago, leaving the field clear for charlatan peeves like Strunk and White (see Geoff Pullum's classic takedown here; http://www.lel.ed.ac.uk/~gpullum/LandOfTheFree.pdf ) . Faced with a foreign language, you do need a minimal competence in grammatical machinery, so the language teachers had to fill the gap.

If you think that the grammar of English is too simple to need formal instruction, consider the rules of adjective word order. In the noun phrase “a lovely little old rectangular green French silver whittling knife” , try changing the order without sounding wrong. You can't. The fact that most of us unconsciously know and apply the semantic order rule automatically and without conscious reflection does not mean it isn't there. Analogues in foreign languages have to be learnt, and for high competence this requires grammatical concepts. You can still buy the knife in a street market without them.

Expand full comment
author

The grammar I was taught wasn't helpful with things like this: I've read that it was derived from Latin, seen back then as the gold standard for language.

The feature that gives my NESB (mostly Asian) students the biggest problem is the use of definite and indefinite articles. As you say, native speakers get this right without effort, but I have no idea how. For example, I might say a policy is good for *the* economy, but bad for society, and I have no idea why.

I got so frustrated with pedants treating "data" as a plural in English that I took the trouble to learn about mass nouns and count nouns, which weren't taught at all in school.

Expand full comment

I've no solution to the "the" puzzle you raise, but this paragraph in "The Cambridge Grammar of English", Carter & McCarthy, 2006, is intriguing:

" <i>The</i> is most commonly used to refer to things which are part of the speakers' shared world. It is a way of saying "You know which x I am referring to". "

Margaret Thatcher thought of herself as part of the economy but famously not of society.

A related puzzle is why anglophones say "the Internet", since we all know which net it is, and that there is only one with the name, but the French and Spaniards say they read something "en Internet" without the article, like "en mer" or "au lit" in French.

Congratulations for learning about mass and count nouns. Your more alert students could have spotted you are not a real grammarian like Pullum, as they use asterisks to indicate unacceptable constructions. (Note the forced "they" with singular referent in the last sentence, nothing to do with gender.) From his diatribe: ""Become" doesn’t allow passives — "*A letter became written by the bank" is not grammatical."

Expand full comment

The term of art for people who follow the advice of "learn to code " is "code monkey", a semi-derisive nickname for someone who knows the basic syntax of a (usually single) programming language and little else. Code monkeys produce code that will compile but may be riddled with bugs, fail to scale up, and difficuly-to-impossible to "support" (enhance or otherwise modify) due to the nature of the coding "style", a whole separate can of worms. Regex (regular expression) parsing is a notorious black art requiring ritual sacrifice and a quest to master its insane syntaxes, similar but quite separate from "code". A lot of companies have code monkeys working on their code because theyre good enough to do the lower-level grunt and support stuff. ChatGPT is probably a step up from code monkey in output (if it compiles). Learning to code as a life skill is on a par with learning how to kill and butcher an animal or grow crops sufficient to feed your family for a year. Nice, somewhat impressive, but if you "need" to you've got bigger problems. As a career choice it's probably on a par with journalist or writer. Good luck.

Expand full comment
author

As I said in the OP, I'm thinking of life skills closer to the "making a jam sandwich" end of the spectrum - occasionally useful, and easy to learn. I spend most of my day dealing with files on the computer in one way or another. There are all sorts of file management tasks that MacOS doesn't do the way I would like. If I could quickly generate (passable efficient) code that would save me looking for a workaround I would do it.

Expand full comment

This is called "scripting", programming in a simplified interpreted language. UNIX Shell scripts, MS-DOS .BAT files, Apple had a couple of things, AppleScript, something Cards, Perl. python, though the latter 2 aspire to greater things. A related skill set programmers had to learn in the days before IT. Since MacOs is built on the old BeOS from Next, you could write shell scripts (or Perl or Python) on it. These are all text based, except the things pre-BeOS Mac did for GUI scripting. There may be GUI scripting tools for Mac and Windows now, but GUI and scripting are a difficult fit, the workflow of filtering and searching files doesn't easily translate to,amGUI.

Expand full comment

My coding experience is similar. Started with FORTRAN / IMSL in late 70s, used FRED / Framework IV and the pre-VB language Excel in the 80s, became reasonably proficient in GAMS, and around 2015 (age 65) stated working in R. Started by trying a Coursera course in R for health data and flunked (Sorry, Prof Peng). Spent some time learning largely on my own through trial and error while editing a book (though DataCamp and Kieran Healey’s course & book on data viz are very valuable and I recommend them highly). Regex (once I got the hang of it; the joke about Regex in one of the R books is spot on) is really valuable especially working with messy PDFs and stuff pulled from the web. R markdown, despite a number of oddities, has also become quite useful. I use ChatGPT is to draft little snippets or to refresh my memory about syntax. ChatGPT 4 will write small programs in R (as harry said at 02:56) though my limited experience with ChatGPT confirms what Dave Irving says here about « trust » given that it does seem to make mistakes (especially with regex and with newer tidyverse functions (eg, reframe() in place of summarise() while working with grouped data). So, should one learn to code ? If you’re doing any kind of analytic work, it is necessary. The good news is that ChatGPT and the various online courses (many of which are free on YouTube in a vast range of subjects) and the flexibility of R (I dont know Python at all) save a lot of time, even for the (somewhat older, solitary) coder and allow the user to do things that would have been impossible without a large team, notably in dataviz. One major trap for the learning by doing user is writing replicable code ; most of the people in my situation dont know enough about « the simple logical steps of building and execution tasks » (Stephen Holmes above) and this poses serious risks to the credibility of the work.

Expand full comment

From the front lines: https://www.theguardian.com/technology/2024/jan/20/dpd-ai-chatbot-swears-calls-itself-useless-and-criticises-firm :

"The delivery firm DPD has disabled part of its artificial intelligence (AI) powered online chatbot after a disgruntled customer was able to make it swear and criticise the company. [...] Then in another instance, the chatbot calls itself a “useless Chatbot that can’t help you”. "

Just what we needed, self-pitying AIs having adolescent sulks.

Expand full comment

If you’re thirty or over, forget about a career in I.T.

Expand full comment

You can get Chat GPT to write programs in Python. .

Expand full comment

You mean, like Kipling's loquacious Bi-Coloured-Python-Rock-Snake?

Expand full comment

Possibly, but, as a retired IT Professional, I wouldn't trust it.

Expand full comment

I know, from bitter experience, how frustrating it can be to debug or refactor someone else's shitty code. I can't imagine how much worse it would be if it were generated by ChatGPT.

Expand full comment
author

My problem is debugging my own code. CoPilot is a big help there. But, as my example showed, code needs to be debugged, however it is created.

Expand full comment
deletedJan 20
Comment deleted
Expand full comment
founding

Hi Simply Me,

Ate you still there Can? Can I point you in the direction of Cory Doctorow, who shares you concerns about code being used to make our life worse, but see the problem arising from who pays the coders rather than the coders themselves.

Expand full comment