Learning to Program
Feb. 8th, 2009 10:09 pmI have decided once again that it might be a good idea to learn the basics of programming. Yes, I have already sort of learned some of this a few times, but it's all very tenuous.
The Planning
This time, I am not starting with a crappy book like I always have in the past. For example, I looked up Beginning Programming for Dummies on Amazon, and the reviews make it clear that I do not want that book.
Instead I am starting with Beginning Programming with Java for Dummies, available as an electronic book at my employer's library. While reading that, I decided to put together a glossary of terms. Things generally make perfect sense when I read them, but then I forget them. So my first strategy for this is making a glossary. My second strategy (which I may not be so great at) is to try to do something related to this topic daily, to keep things whirring in my brain.
History of Programming Languages
I also checked out Java for Dummies by the same author. The first thing I learned that I found interesting was a little history of languages:
* ? - BASIC (This is not mentioned, but it's what I learned in high school.)
* 1954-1957 - FORTRAN, the first modern computer language, is invented. It is great for scientific programming. (I had a class in this in college.)
* 1959 - COBOL, intended for business. (I had an opportunity to do Y2K work in this language, but didn't take it--one of my regrets in life. I have friends who had a blow-up dinosaur they named COBOL.)
* 1972 - C
* 1986 - C++, supports object-oriented programming, better for updating and re-writing code you already have. (This is the language I recommended that my mom learn when I recommended she become a programmer.)
* 1995 - Java, allows only object-oriented programming, now more popular than C++.
My employer uses NATURAL, which I had always assumed was a home-grown COBOL-like language (because it's rare and old). However, recently I learned that we aren't the only people who use it and that it replaced COBOL, so it must be better. I don't know if it supports object-oriented programming, but I do know that the programmers where I work are still using it to do the re-write of the degree audit system.
Playing with Javascript
When I got to the worst chapter in the book, the chapter about downloading the language and the tools to work with Java, I stopped and googled using Java on a Mac. It turns out my computer is already loaded with Java. While I was following some directions on how to find it, I came across a Javascript tutorial.
Since the tutorial was right on the Integrated Development Environment (programming tool with a window for code, a window for watching what happens when you run your code, and, in this case, a window with a tutorial in it), it didn't involve any nasty set-up procedures. Everything was already there.
I went through the entire tutorial this weekend. The explanations were minimal (I added hardly any terms to my glossary), but I got to actually write some programs. My favorite was a countdown program (to practice a while loop) and making a rock/paper/scissors game (to practice working with random numbers). Mostly I just liked programming in sillier messages than the tutorial sample had. ("Mwahahah! I chose rock! Oh, it's a draw.")
The Planning
This time, I am not starting with a crappy book like I always have in the past. For example, I looked up Beginning Programming for Dummies on Amazon, and the reviews make it clear that I do not want that book.
Instead I am starting with Beginning Programming with Java for Dummies, available as an electronic book at my employer's library. While reading that, I decided to put together a glossary of terms. Things generally make perfect sense when I read them, but then I forget them. So my first strategy for this is making a glossary. My second strategy (which I may not be so great at) is to try to do something related to this topic daily, to keep things whirring in my brain.
History of Programming Languages
I also checked out Java for Dummies by the same author. The first thing I learned that I found interesting was a little history of languages:
* ? - BASIC (This is not mentioned, but it's what I learned in high school.)
* 1954-1957 - FORTRAN, the first modern computer language, is invented. It is great for scientific programming. (I had a class in this in college.)
* 1959 - COBOL, intended for business. (I had an opportunity to do Y2K work in this language, but didn't take it--one of my regrets in life. I have friends who had a blow-up dinosaur they named COBOL.)
* 1972 - C
* 1986 - C++, supports object-oriented programming, better for updating and re-writing code you already have. (This is the language I recommended that my mom learn when I recommended she become a programmer.)
* 1995 - Java, allows only object-oriented programming, now more popular than C++.
My employer uses NATURAL, which I had always assumed was a home-grown COBOL-like language (because it's rare and old). However, recently I learned that we aren't the only people who use it and that it replaced COBOL, so it must be better. I don't know if it supports object-oriented programming, but I do know that the programmers where I work are still using it to do the re-write of the degree audit system.
Playing with Javascript
When I got to the worst chapter in the book, the chapter about downloading the language and the tools to work with Java, I stopped and googled using Java on a Mac. It turns out my computer is already loaded with Java. While I was following some directions on how to find it, I came across a Javascript tutorial.
Since the tutorial was right on the Integrated Development Environment (programming tool with a window for code, a window for watching what happens when you run your code, and, in this case, a window with a tutorial in it), it didn't involve any nasty set-up procedures. Everything was already there.
I went through the entire tutorial this weekend. The explanations were minimal (I added hardly any terms to my glossary), but I got to actually write some programs. My favorite was a countdown program (to practice a while loop) and making a rock/paper/scissors game (to practice working with random numbers). Mostly I just liked programming in sillier messages than the tutorial sample had. ("Mwahahah! I chose rock! Oh, it's a draw.")