But before we can know what programming was like in its early days, let’s talk to AI Sweigart.

So today, you will get to know how it was being a programmer in the early days of programming. This interview will make you appreciate what we have today.

Yes! We have all done this before, but have we heard it straight from the horse’s mouth.

Have you ever thought about how programming was in its early days?

Today, we have two AI professionals in the building.

Godson: Thanks for your time Al Sweigart. It was nice having you here.

For the most part, we just use software or apps written by other people. But by writing our own programs, even if they’re just small scripts, a computer turns into a tool for doing many possible tasks. It’s like a Swiss army knife: holding many tools in one.

Al Sweigart: In Automate, I refer to programming as a sort of Swiss army knife. What I meant by this is that computers are much more powerful than people realize.

You concluded by saying, computer programming is like a Swiss army knife. Can you elaborate the meaning of that statement?

The funny thing is that your roommate was till new to programming.

Godson: In your book, “Automate the Boring Stuff with Python”, You gave a little story in the introduction how your roommate performed a time-consuming task in few seconds by writing a simple program.

This turned out to be a good business move because it generated word of mouth for print book sales. Now I release all of my books under a Creative Commons license. Otherwise, they’d languish untouched on Amazon.

This eventually became Invent Your Own Computer Games with Python. At the time I didn’t think of writing as my career, so I put it online for free under a Creative Commons license.

Al Sweigart: I started writing programming tutorials for the 10-year-old son of an acquaintance, and the tutorial just kept growing as I added new projects to it.

Was there any challenge and do you mind sharing them with us?

I like to encourage people to give programming a try since a lot of folks think if they hadn’t been learning since they were a child that they’ll never catch up. Learning to code is so much easier today than it was in the 1990s.

Programming wasn’t so difficult as finding resources that teach programming. Now with the internet and Wikipedia and StackOverflow, I’d say the average kid could learn everything it took my years to learn in a dozen weekends or so.

Al Sweigart: I started with BASIC programming language as a lot of programmers of my generation. I mostly worked with Qbasic.

Was it tough for you as a kid and did it help you in your programming career?

Al Sweigart: Many of my books were influenced by old Byte magazine and other books from the 80s that taught programming by listing the source code for small games. That’s the format that really helped me not just learn the syntax of programming languages but also what complete programs look like.

I’m tempted to say that Automate the Boring Stuff with Python was the toughest book of mine to write, but I think Hacking Secret Ciphers with Python was the most difficult. I noticed that while there were books about cryptography and cryptanalysis, there weren’t any writing programs to do cryptanalysis. The techniques were well known but hadn’t been translated to Python. So it was the combination of having to learn something new, write code to do it, and also make sure that code was simple enough to follow that made the book quite a challenge.

Al Sweigart: I’m tempted to say that Automate the Boring Stuff with Python was the toughest book of mine to write, but I think Hacking Secret Ciphers with Python was the most difficult. I noticed that while there were books about cryptography and cryptanalysis, there weren’t any writing programs to do cryptanalysis. The techniques were well known but hadn’t been translated to Python. So it was the combination of having to learn something new, write code to do it, and also make sure that code was simple enough to follow that made the book quite a challenge.

Which was the toughest to write and what was the challenge?

I also create tutorial videos on various coding topics. I also like to fold origami and make hollowed-out secret books.

I’m the Education Director at the Museum of Art and Digital Entertainment, a video game museum in Oakland, where I help with the kids’ programming class.

My hobbies have pretty much all become related to programming or teaching others to program.

Could you please give a brief description of yourself; like your hobbies, nationality, education, etc.

Godson: Good day, Albert Sweigart. I want to thank you for your time.

So, let’s get to the business of the day.

AI Sweigart is a software developer, UI designer, and tech book author. He has also spoken in various Python conferences and currently lives in San Francisco, United States.

Please don’t forget to tell me what you learned via the comment section.



Our next guest is AI Klein.

AI Klein is a veteran in programming, He spends most of his time answering questions and writing on Quora. He was a broadcast engineer, announcer (when needed) electronic communications equipment designer, programmer, systems developer. He will narrate to us how programming was in its early stage. Godson: Good day Al Klein, thanks for taking time out for this interview. Could you please kindly tell us about yourself like your nationality, education, and experience in programming.

Al Klein: Of course. My hobbies are electronics in general. Born and raised in the US (but I’ve traveled to a few other places). A degree in electrical engineering. 43 years of programming everything from a PIC(Peripheral Interface Controller) to flash and LED to the Hong Kong Space Museum Planetarium automation system (including some of the hardware design) and numerous intranet websites. Also reams of utility programs of all sorts.

Godson: When did you start programming, was it while you were studying electrical engineering or when you were young?

Al Klein: I was already on my second career. There was an IBM 360 (and a bunch of IBM 1800s) in the next room, I didn’t know the difference between ‘operator’ and ‘programmer’, so I asked one of the operators to help me learn to program. They were stumped (and this was decades before you could look things up on the internet), so I had to find books and magazines and learn it by myself. We were still at the 4040 stage (4-bit data bus, 12-bit address bus, 0.5MHz) You couldn’t do much, but coming from RTL integrated circuits, it was like the difference between a bicycle and a jetliner. I didn’t really start writing programs that did anything useful until I got my first 8080, around 1974. Since I had a Teletype machine (you couldn’t buy monitors, and keyboards were expensive), I wrote a little monitor program to allow it to act as a terminal. (It was Baudot – 5-bit-code, so I had to write a converter into the input routine. And it was serial, so I had to write a bit-banger serial port to connect the Teletype and the computer. You had to do everything yourself in those days. Even design and build the computer board.)

Godson: What exactly do you mean that you have to do everything yourself? Do you mean you have to write codes to perform any operation?

Al Klein: You had to design the hardware, wire it up, design all the software, develop it, write it, etc, and you couldn’t just go to the local Radio Shack and buy the parts – Radio Shack didn’t carry the parts we needed for computers – yet. About the only thing available, as I recall, was the schematic diagram for the Byte 8, published in an electronics magazine. Today you go out (or online) and buy a computer, complete with all hardware, an operating system, everything. We didn’t have such luxuries. The computers were 8 data switches and 16 address switches and, yes, you had to punch in every byte of data, 1 address at a time. (At least the address auto-incremented.) Each time you turned the computer on. I can still remember my first “real” OS – CUTER – a cassette tape OS. I had to punch an 8-bit tape of the entire ROM (by hand, on a keyboard, byte by byte), borrow some time where a friend worked and have him read the tape in so that we could burn a 2708 EEPROM.

People do these things today without thinking – like downloading something to an SD card. We had to spend hours doing something like that, manually, on what’s considered very primitive hardware these days.

Godson: Margaret Hamilton, the woman whose code took man to the moon wrote the code in hexadecimal and binary. So which program did you use during your early days of programming?

Al Klein: Hexadecimal and binary are numbering systems, meaning that she wrote the code in the machine language of the CPU. I’ve done that, but we normally used assembly, which was a one-to-one equivalent to machine language. IOW, C9 (in hex) or 1100 1001 (in binary) is the RET (return from a call) in the Intel 8080 line (8085, etc.) and Zilog’s Z80. Even though we had to hand-assemble the program on a legal pad (write it in assembly, assign addresses to each line of code, fill in the calls and jumps, because they needed addresses to call or jump to), leaving us with a hex listing of the assembly program, it was easier than writing it all in hex (and no one that I knew, except for one hotshot, ever wrote directly in binary). Eventually, I saved enough to buy an assembler program – and still wrote in assembly, but typed the assembly into the editor (which came with the assembler), ran the assembler and got hex for the computer as output. I worked for years like that, until the PC came out in 1980 and we had GWBASIC as part of the computer. (I had already been writing in BASIC for a few years at work.)

Godson: Can you differentiate between an electrical engineer, a software engineer, and a programmer? Some people feel that once you are a software engineer, that means you are also an electrical engineer.

Al Klein: An electrical engineer studies electricity – generating and consuming it. There are different areas. I specialized in communications – radios (tubes first), etc. No transistors that were useful for radio communications when I was in school, let alone integrated circuits.

A software engineer develops software. He may not know the difference between a fuse and a circuit breaker – he doesn’t have to (to be a software engineer – he has to in order to live in the modern world).

A programmer? That’s become a very loose term these days. Originally it meant what software engineer means now, but it could mean anything from that down to someone who charges people to “develop” websites, then gets on a webmaster site to ask what a loop is (and that’s one of the very first things one learns when learning to program) There used to be programmers, who designed the program, and coders, who coded it into some computer language. (It was originally laid out, by the programmer, in English.) Then programmers became coders too. Now? Everyone is a programmer, and a lot of people want to learn “coding”, but they don’t want to study programming, and they’re not going to hire someone to design their programs – they seem to think that coding is all that’s needed to turn a problem into a program. That’s when you get a “developer” asking “what’s a loop?”

Godson: How were you able to debug in BASIC?

Al Klein: Since there was no debugger, print statements all over the place, or, since BASIC is interpreted so you could stop the program run at any point and manually print a variable.

Godson: Do you have any experience in Python or any other modern programming language?

Al Klein: Python, no. PHP, JavaScript, Visual Basic for the past 10 years, Pascal and x86 assembly before that. Most languages are similar – Python isn’t. But a loop is still a loop – in any language.

Godson: So which projects did you do in PHP and javascript? Where they engineering related?

Al Klein: That’s like asking a string bean farmer which bean he’s grown. I’ve written hundreds of sites, mostly interfaces to databases. Some to convert a customer’s XML files to database data, some to allow a customer to access his own information in the database (and modify it sometimes), all sorts of things.

About the only engineering-related programs I’ve written were one to analyze coffee grinding – the average size of the resultant ground particles, and one to analyze rice grains. Look closely at one and you’ll see a little missing piece along the side, near – but not at – the end. That’s where the seed sits. Some grains break at that point. One customer wanted to automatically kick those broken grains off the conveyor belt so they wouldn’t be included in the packaged product. I don’t know whether you’d call the Hong Kong Space Museum Planetarium automation system “engineering”, but I did that one too – but in assembly, not PHP or JavaScript.

Godson: Was there any programming community during your time?

Al Klein: There was a CP/M Interest Group, but not enough people in any given area were interested in programming to form a local “community”, and the internet wasn’t really a “thing”. By 1980, though, I was running a BBS (the forerunner to the forum), so I was in touch with many people around the country who were interested in computers