I ran across a neat article in Forbes (of all places!). Titled ”What Does It Take To Be An Expert In Computer Programming?” When I went to look up the author, Eric Pepke, there was not a lot of information other than he worked in Atlanta. Then I noticed he posted a YouTube video titled “DimiDraw v. 0.1”. The description explains “DimiDraw v.0.1 is an as yet unreleased graphics library for the Arduino and similar microcontrollers.” Well anyone that writes code for Atmel-powered Arduinos is OK in my book. So I sent the article to a couple crack programmers I know. Michael said:
Before reading it, I was also thinking that having a basic understanding of hardware architecture was important. Also, for me, learning Assembly code back in the day gave me a very good understanding of how a processors “thinks” especially when it came to registers and writing complex arithmetic operations.
Back then we didn’t have these fancy development environments with debugging tools, breakpoints, stepping, etc. Well, actually we had some of that but we were also taught the basics to understand programming better. Speaking of “basics”, I actually taught myself that in the early 80s.
And Andreas over on the 3rd floor noted: “All I can add is that of all the classes I had during my education ‘algorithms and data structures’ was by far the hardest one. (But also really useful.)”
And regarding Basic, I note Peske was a contributor to the NS Basic language. Modeled on Microsoft Visual Basic, and meant for phones and mobile platforms, a code snippet might be:
MsgBox “Hello World”
Now that is a language I can endorse—less gibberish and more directness. I never thought there was any shame in programming in Basic. Especially once I came across complied Basic, QBasic I think it was. I did an little program that spit stepper motor commands out the printer port to exercise a wafer elevator that was in a million-dollar semiconductor etcher I was working on. Once I compiled it, I had to add loops to slow the thing down. It ran so fast the motor could not keep up.
I remember BASIC programming in 9th grade back in the 1960s. Yeah, the Brecksville Ohio school system was really that advanced (still is). One of the problems was to take 5 numbers from the keyboard and then print them out in order. We all slogged into it– a bunch of if-than compares. I think most of us ended up with 200 lines of code. Except for one kid. I think it was Gooding, can’t remember his first name. He just counted from 1 to 1000 and printed out when a match to any of the input numbers hit. There there were, printed out, in order. I think it was 10 lines of code. We all went ballistic– pretty much accusing him of cheating– “It only works for integers!” or “It won’t do negatives!” or “It stops at 1000!” The teacher was probably trying to get us to think more than to reward Gooding, but she gave him full credit– saying he solved the problem, and in a very elegant way. Yeah, merit badge for Gooding– that is thinking outside the box, and he deserved more than full credit. I hope he is rich and famous now.
And as an added bonus, that Forbes website as a good privacy tip about never giving out your zip code when you shop.