Some observations in learning a computer language for the first time: the internet (as it is known today) was not around when I was introduced to computer programming languages (BASIC, FORTRAN, assembler, etc.). The instruction was primarily in a classroom, using a manual (textbook), followed by assignments where we were asked to write a program to [fill in the blank]. This is the way I prefer to learn anything new (not limited to computer languages). I remember once I got a job where I was taught assembler language through watching videotapes, and didn’t get much out of it. To supplement that, I took night classes in the language, where I learned much more. I find I get far better results from interaction with an instructor and from the use of a written text.
That’s not to say that I don’t get anything from online learning. The Codecademy courses (css, Javascript), were very instructive, and I find that I can interpret code written in those languages fairly well, now that I have completed those exercises. One item I noticed was the vertical organization. In my previous education as a computer programmer, we wrote FORTRAN (for instance) horizontally, though we still used indents to group related items.
The languages themselves retain essentially the same functionality: loops, arrays, and so forth. Javascript reminds me of FORTRAN. The command line codes remind me of the more recent MS-DOS. GIT is different: while I recognize the principle behind it, and realize that it serves a useful function, the commands are not intuitively obvious to me at this point, though I expect that I will become accustomed to them with use.
Learning coding without the use of a manual is also a challenging experience. When I first learned computer programming, if I had a question, I’d either consult the manual, or ask the instructor or the instructor’s assistant. When I was on the job as a programmer, though I could ask my co-workers or my supervisor (and sometimes did), I most often consulted the manual (generally, I knew what I wanted to do, I just needed to find the optimal operation to accomplish the task). In the past year, however, I have found that Google can often answer a coding problem or question, and that it routinely consults message boards where users post their problems and get responses from other users. I have to admit I found it amusing that someone asking a simplistic question can get an answer in an acronym meaning “have you consulted [censored] Google!?!?!” (Or was it “have you [censored] consulted Google!?!?”)
Most of all, I’m impressed by the depth and complexity of the code, which offers a deliciously wide range of options. I’m looking forward to putting all that into practice.