Kendrick-LUG wrote: > I am wanting to get in to programing eventualy posibly drivers etc. I > was wondering if there were any suggestions about where/how to learn the > basics ie what a aray is for things of that nature the fundamentals of > programing. then posibly a good starting language. eventual intrests > include perl php c's. any suggestions are greatly welcome > My decision to take up programming again took me to high level languages. Allow me to very rudamentarily explain how psychology (mostly) believes that our /human/ memory systems work and then I'll explain why high level languages are good to start with. It is currently understood that humans store information in what we refer to as schemae. This can be thought of as a web of concepts connected by virtue of being related. An example: light bulb -> electricity -> power plant -> smoke stack. These topics aren't necessarily related in a sense that you would use them in a conversation but, internally, when we speak with someone, that example I just used is what's referred to as lattice traversal. We follow lattice 'paths' in memory as long as the adjacent node we land on is still considered relevant to the present topic by a lesser degree of separation. In our memories, the most foundational concepts such as language and other process operations probably have the highest number of edges to other other nodes. Newly learned concepts 'stick' because we find was to make their new nodes 'connect' or 'edge' with existing nodes. That is: we connect new concepts to experiences and real-world knowledge we already have. A great deal of programming is memorization of syntax, however, much of what programming in higher level languages attempted to accomplish was making management of programs more 'intuitive'. That is to say, object oriented. It's an ontology that we worked hard to create that makes sense to people who are familiar with the concept of individualization and functions performed by abstractions. This means you will find it easier to merge the 'LOOP Schema' in to your list of skills. Absolutely the most important foundation for all programming is boolean logic. There are plenty of web pages out there that are perhaps a mere ten pages in length. Read 1 or 2 of those pages being sure you understand boolean logic and then go straight in to an object oriented programming language. I think you'll find that Python is the one you want to start with since many of their introductions to the language are targeted at new programmers and the language is something of a perfect beginners language with strong object oriented programming features. I started with the more obscure Ruby programming language which only has one 'tutorial' book to speak of. It took reading it several times but I finally got the hang. If I had to do it again, I would have picked up Python first. Also, a good programmer's text editor is absolutely essential for enjoying the process. Examples are (in no particular order) jEdit, nedit, vim, emacs, bbedit, and for Python, specifically, there is a text editor that comes with the interpreter from python.org. Best of luck.