Friday, May 21, 2010

What are some good, cheap introductory computer programming materials?

I have absolutely no experience with programing. But as a financial adviser, I'd love to learn and perhaps incorporate some programing into my business practice. Or even if I can't do that, I'm fascinated by computer languages. What would be a good resource for me to look into?

What are some good, cheap introductory computer programming materials?
Prescript: since I'm adding it but I want you to read this first. As a financial analyst, and especially as one who wants to incorporate some programming into your business practices, I strongly, strongly, recommend checking the documentation for the packages you use, and especially look for information about macros. Most macro extensions to languages are very powerful and according to computer science, they are programming. Down below I mention brick and mortar bookstores. By that I mean Barnes and Noble, Waldenbooks or good Independent bookstores. Look in them for books about writing macros for the programs you use. This is not only programming, it will provide you with a frame of reference should you move into the areas of the tools in the answer which follows:





The obvious answer is the Free and Open Source Software Movements. I'm just going to talk about powerful and mostly free or inexpensive tools. Some of them you can actually pick up CD's containing by going over to your brick and mortar bookstore and looking at their programming books. Introductory programming in C or C++ will often have copies of GCC which may or may not be compatible with what you can download. The other languages I have mentioned also have books about them for generally between $20-60 US, some of which are aimed at beginners. In addition you will find by typing the names of them into any search engine lots of tutorials for novices.





The Gnu Compiler Collection has been in continuous development since 1987. While it was developed for Unix, versions are available for most operating systems and in fact its libraries are used in GNU/Linux so unless you use Ubuntu if you have a Linux system it is already installed. Many game programming tutorials on-line will specifically address GCC compilers because it is so cheap and available, even though these sites are talking about writing games for the Windows Operating System.





The chief disadvantage is if you are using Vista there are some incompatibilities for large files. Microsoft is said to be working to fix this.





The advantages are these: the C/C++ front end is more complete and closer to the Standard than most proprietary compilers. Front-ends come built in for C, C++, Fortran and Ada (two important languages from the sixties), a front-end is available for Pascal, and of course there are free downloads. I have a link to Bloodshed Software's Dev C++ Integrated Debugging Environment for Windows in Sources.





TCL/TK is a prototyping language. Actually, it is two prototyping languages which are usually used together and provide ways to create scripts which will execute as programs (and when you use TK will do so in a GUI environment, like Windows). It's a fast way to develop programs when you know what you are doing. In addition it is definitely available for all operating systems. A link to the TCL Developer Exchange is in sources.





Perl is a scripting language which was created by Larry Wall. In some circles it has replaced Basic as the interpreted language of choice for some developers. Basic has become too elaborate, specialized and narrow in scope in most available implementations.





Python is like Perl only it is intended partly to be very readable. Again, look at the sources for more information.





Finally there is a very good modern Basic. It is not free or, I believe, open source or necessarily even cheap (it costs more for Windows) but it is excellent and you can use lots of old QuickBasic tutorials with it. It's called RealBasic, it's available from RealSoftware.com (in Sources) and it is highly recommended.


No comments:

Post a Comment