What is code
bloomberg.com
bloomberg.com
Even as a competent programmer, it's worth having a flick through as Paul Ford's presentation of code as a whole is so engaging and informative.
You can read all about it in Grace Hopper's 1955 paper Automatic Coding for Digital Computers.
http://www.bitsavers.org/pdf/univac/HopperAutoCodingPaper_19...
Though a woman, she talks the masculinized talk:
"The analysis is the responsibility of the mathematician or engineer, the methods or systems man."
[...]
"The job of the programmer is that of adapting the problem definition to the abilities and idiosyncracies of the particular computer. He will be vitally concerned with input and output and with the flow of operations through the computer. He must have a thorough knowledge of the computer components and their relative speeds and virtues."
[...]
"It is then the job of the coder to reduce the flow charts to the de- tailed list of computer instructions. At this point, an exact and comprehensive knowledge of the computer, its code, coding tricks, details of sentinels and of pulse code are required."
Thank you for the Grace Hopper quotes!
But I agree it's still interesting to know of the distinction and know that both can require slightly different skillsets. So when you have someone that is very good at planing and has the experience to layout complex systems in advance, you can assign them an architect title, while someone who knows a programming language inside and outside, you might be better off keeping them in the "driving" seat.
Another thing worth paying attention to in Grace Hopper's paper is this: higher level program code is in fact called "code", but specifically "pseudo code".
That which we call "pseudo code" today doesn't execute. But we sometimes remark that certain high level languages are almost like "executable pseudocode".
At that time, the task of the compiler/interpreter writer was to take "pseudo code", formalize it more precisely so that then the machine could "automatically code" from "pseudo code" to "code".'
I don't think that's accurate. It used to be that "he" and "man" were understood to be gender neutral in abstract and impersonal cases. Such as "to boldly go where no man has gone before" and "mankind" and "mailman". During Hopper's life, English language changed to expunge the ambiguity.
> English language changed to expunge the ambiguity.
I think it's more accurate to say it adopted different ambiguities. The use of 'they' can create ambiguities of number, and just switching between he/she leaves the same ambiguity (is the gendering intentional or not?) albeit in a gender balanced way.
As a side-note, 'he' was used to refer to people, who could be regarded as interchangeable (man or woman) and 'she' was reserved for 'uniquely individual' things, which is why countries and ships (as two examples) are referred to as such. At least, this was may understanding when growing up and I've never lost this habit.
When actual digital computers get built, the engineers responsible for using them are not at first much interested in the theory of Computer Science, their machines resolutely do not come with an infinitely long paper tape, the problems they're solving are very specific and finite, these are practical people.
But Grace _applies_ the theory. Since the process of turning the high level (e.g. assembly language) into low level (e.g. holes in a paper tape) is mechanical, why not have the machine do it? And if this can be done, why not recurse, and produce even the assembly language from some higher level program. Productivity is improved enormously. And this is at the heart of everything today. Even our microprocessors are really full of microcode that implements more complicated instructions in terms of smaller ones, so that the "machine code" isn't the final form executed by the hardware in practice either.
You may or may not say "systems man" about a woman (depending on the language etc.), but I don't see that the sex of the _speaker_ has anything to do with it.
My mum is a smart but non-techie person. I think this article, jumping off from its irrelevant take on business needs, through a (in my opinion) backwards diversion that fails to actually explain how computers process and display text, only then to touch on algorithms before racing off talking about conferences and how programmers feel about things, doesn't come close in all that to a solid laypersons' explanation. Soon it's asking you to evalute chunks of code when, if you are reading this article as someone who wants to know "what is code?", you don't even know what a loop is yet.
This seems more like "What is tech culture?" for people who are already a part of tech culture. I think people like it for its animations and interactive elements, but when you strip those away there's very little actual content there.
Also article about its reception: https://m.huffpost.com/us/entry/7740986
If you can represent your program with data, you likely should.
I think I skimmed this when it first came out, but after two years working at a consulting firm where our clients are borderline tech illiterate, this seems like a pretty decent primer to me. It's not that our clients are idiots (mostly), it's just that they are lacking 20 years or context. This does a great job at filling in some of the gaps.
My flashlight (bought before 2015) includes a microcontroller. I think most flashlights do now.
Code is used to communicate your intent to
- a machine
- others working on the same problem or application
- your future self
(I have a merged PR in there... do you? :))
Before the humourless downvote-brigade gets you, here is the song for those unfamiliar: https://www.youtube.com/watch?v=K5G1FmU-ldg