Learning computer programming has been one of my secret longings for so many years. I go back to the eighties, doing a stone age BASIC littered with POKEs and PEEKs on a C-64. From that time I acquired some computer concepts, though I never understood well others (such as recursion, for example).
I am wondering how can I learn how to program to the point that I might be able to project and develop an application. GNU/Linux is especially tempting in this regard, because it offers you a wealth of programming languages and development environments.
I have been always attracted to Ada 95. Its syntax and structure allows for very readable code, and good programming discipline. Moreover, having a fully ISO certified Ada95 compiler that produces native code with an execution speed comparable to C —such as GNAT, which is part of gcc– is simply too much. There is a free online book written by John English, and several other online resources.
Additionally, I have been looking to Python. The syntax looks simple, the code is VERY readable, and even despite the fact that it is an interpreted language, the execution speed is reasonably fast.
To do that, I would like to ask you the following:
- What should I do in order to learn programming? I would like an approach that is heavily oriented to exercises of implementation, and more text-based than number-based (i.e., I’m tired of coding calculators and learning the precedence of operators).
- What would be a good programming environment? I would like a simple editor with autocompletion (if possible), syntax highlighting, and possibly other features.
- What would be a good resource to learn programming? I have a problem here, because I know most features of a typical high-level programming language, but I don’t know how to properly apply them, and I also need to be conversant with good software coding practices.
I look forward to your suggestions. If possible, I would like you to take into account my strong preference for Ada 95/2005. Thanks in advance!