darkthorn wrote:I would suggest you this site Codeacademy
Thanks very much for the suggestions darkthorn, I have done some courses (Git, SQL, PHP, and HTML & CSS) on CodeAcademy and found them very helpful. Thanks also for the link to that article, it is informative, I especially like:
The source code is translated into assembly language.
The assembly code is translated into machine language.
The machine language is directly executed as binary code.
Sam wrote:we started with transistors --> logic gates --> memory & full adders --> machine language --> assembly language ---> higher level language (C).
That sounds fascinating and really demanding, well done you, having that strong of a foundation will be an excellent basis for doing anything you want with a computer. Do you have any suggestions as to resources for learning the first two parts, i.e. "transistors --> logic gates"?
Sam have you ever used something like Arduino or Raspberry Pi?
Sam wrote:I don't think you need that level of understanding to be good with programming (because of abstraction) but you do if you want to become a great programmer.
I fully agree with that, there are very good programmers who do not understand computers to that level of detail. People learn in different ways and I believe that something which has really inhibited my learning in the last few years, is a constant frustration that I don't understand what any code I am trying to learn is doing at the machine level. This is a bit of a burden for me, but it is the way I am.
Most sane people are probably content to write
- Code: Select all
<h1>Welcome</h1>
to add that text to their website, personally I find it a little infuriating that I don't really know how and why that code works

I'm not in a huge hurry and expect it will take me maybe five years to get to where I want to be in terms of computer and programming knowledge.
Sam wrote:I would recommend starting with Python because it's so versatile or Java because of speed and the way it forces you to format code.
I learned some Java in the past as part of a course. I also have some small knowledge of HTML, CSS, SQL, Javascript, PHP and C#. My plan is to learn some hardware and C for the moment to act as a basis for better understanding higher level languages in the future.
darrensurrey wrote:you're welcome to borrow my Kernighan and Ritchie book
Thanks Darren, I've actually seen that book on Amazon, would you recommend it?
darrensurrey wrote:I'm more a BBC BASIC kinda guy
Good for you, what kind of stuff have you been doing with that?