Steve P said:
Hey Joel,
I have never programmed/coded anything in my LIFE...with the exception of a few cheesy websites. I was talking with my engineer friend and he recommended that I start programming with a higher language like Basic or C. I then told him that all the "pros" on Electro-Tech recommend assembly as the foundational language.
So, if you were me and knew ABSOLUTELY NOTHING about programming...and I mean NOTHING!... how would you BEGIN to teach yourself assembly language. I've seen some different tutorials on it, but they all assume that you're somewhat familiar with programming. I don't know ANYTHING. I understand the concepts of an If/then statement, but I need to know the real deal.
What should I do? What or where would you guys go for help if you were in the same situation?
Hey Steve,
Starting out with a high level language is not a bad choice at all. What are your goals?
One of the fun ways to learn programming on the PC are the "visual" development environments, also called Rapid Application Development (RAD) tools, like Visual Basic, Delphi, C++ Builder. etc. Those will allow you to come up with functional Windows programs in no time using a high level language. You draw some buttons, attach some code to it, and start learning real world programming in no time. This would be my first choice for a complete beginner.
Second best choice to me would be plain C. Although you often see it refered as a high level language, it is actually in middle grounds between Basic (and any of its variants) and assembly language. It is very powerful, yet quite easy to read and understand :
Code:
My_Brain_Hurts = 1;
if(My_Brain_Hurts)
{
Take_A_Break( 30 );
}
However, if you want to start on the PIC right away, maybe picking up assembly from the start makes sense. In this case, what I would do if I were you is start slow. Nigel's tutorials are a great starting point.
Assemble a small program, put it on the PIC and see what it does. Read the code, and when you think you understand a part, modify it a little and see if it does what you thought it would. You're gonna learn the basics real fast that way.
Start with something. If you can't decide, flip a coin. After a little while, you'll probably be able to tell what you're more comfortable with. Try to stick with free tools first. Don't invest in books or software right away.