I'd get a solid book on C programming and learn the fundamentals first. Don't mess with anything object-oriented. Don't mess with graphics libraries or other classes.

Get a solid handle on memory allocation/pointers, get a firm grip on data structures, like queues, stacks, binary trees. Learn about recursion and how to write efficient code. If you have the time, learn how to use C to manipulate at the low level. Above all, learn how to write GOOD and EFFICIENT code.

After you're solid with that, I'd move upwards. Start learning about object oriented programming: polymorphism, class inheritance, etc. Learn the concepts and procedures. Afterward, you will have the necessary foundation to begin learning the more complicated "stuff".

The first "actual" programming language I learned (after Javascript) was C++. It was good, but C's simplicity and efficency are starting to appeal to me. Not to mention Linux comes with all the C documentation one could want (man 3 printf for example).

The first "actual" programming language I learned (after Javascript) was C++. It was good, but C's simplicity and efficency are starting to appeal to me. Not to mention Linux comes with all the C documentation one could want (man 3 printf for example).

I also learned C++ then, soon thereafter, abandoned the extras in favour of C. It's more efficent and generally leads to better code and with my research I had to coax every bit of computational efficiency I could out of our beowulf cluster so that I could keep the computation times reasonable (under 3 hours, ideally). I also found it to be a better language from the perspective of compatibility. If you write in C any C or C++ compiler should work for you, if you write in C++ it's a craps shoot.

I'd get a solid book on C programming and learn the fundamentals first. Don't mess with anything object-oriented. Don't mess with graphics libraries or other classes.

Everyone has their own preference - some say don't start off with an object-oriented language, others say to start with an object-oriented language.

Either way, you're first going to learn the procedural basics (at least with C++, I can't speak for other languages - especially pure object-oriented languages) before you move on to the object-oriented material.

C/C++ are probably to two most related programming languages out there - so if you learn one, it is fairly simple to learn the differences and know the other.

Logged

Through the intercession of Our Lady of Mount Carmel, may Jesus Christ bless you abundantly.

Pray that we may be one, as Christ and His Father are one. (John 17:20ff)

I'm looking to start learning C, and then Objective C, to eventually handle programming in Cocoa on Mac OS X.

Does anyone have any tips or tricks, or advice? Websites etc...?

In Jesus Christ,

Get a good book. For C, that is K&R - still THE C BIBLE. In C++ most of the basic books will teach you the basics.

Get a good text editor, compiler, and debugger. For the text editor, I highly recommend vim (no need to start a flame war, though ). I recommend both the gcc compiler and the gdb debugger, but I don't know if they run in Mac OS?

Once you have these three, have at it. You'll never learn unless you program!!! You have to write code, a lot!!! And read code, too. Search for good projects written in the language your studying (you'd be surprised at these resources). Just like you wouldn't learn to be a good writer without reading some classics - you should read good code to learn what good code looks like.

And - practice, practice, practice!!!

Logged

Through the intercession of Our Lady of Mount Carmel, may Jesus Christ bless you abundantly.

Pray that we may be one, as Christ and His Father are one. (John 17:20ff)

The first "actual" programming language I learned (after Javascript) was C++. It was good, but C's simplicity and efficency are starting to appeal to me. Not to mention Linux comes with all the C documentation one could want (man 3 printf for example).

The first language I learned was Pascal, followed by several flavors of Basic (does that count ), and then C/C++. I'd like to learn Assembly later on, if I can. Next semester, I'll be learning Cobol for my business programming course and I might learn Java (not looking forward to that language ).

Logged

Through the intercession of Our Lady of Mount Carmel, may Jesus Christ bless you abundantly.

Pray that we may be one, as Christ and His Father are one. (John 17:20ff)

Hello,The first language I learned was Pascal, followed by several flavors of Basic (does that count ), and then C/C++. I'd like to learn Assembly later on, if I can. Next semester, I'll be learning Cobol for my business programming course and I might learn Java (not looking forward to that language ).

Get a good book. For C, that is K&R - still THE C BIBLE. In C++ most of the basic books will teach you the basics.

Get a good text editor, compiler, and debugger. For the text editor, I highly recommend vim (no need to start a flame war, though ). I recommend both the gcc compiler and the gdb debugger, but I don't know if they run in Mac OS?

Once you have these three, have at it. You'll never learn unless you program!!! You have to write code, a lot!!! And read code, too. Search for good projects written in the language your studying (you'd be surprised at these resources). Just like you wouldn't learn to be a good writer without reading some classics - you should read good code to learn what good code looks like.

I work very heavily with two large US-based banks and can vouch for the fact that 50% of their applications are written in PL/I or RPG.

Well, what I said is the reason my school told me I have to learn Cobol. I don't get a choice as its a capstone course - so if I don't take it, I don't graduate.

It doesn't matter to me, I don't plan on working in banking or government - or any other business programming area. I'd rather take the Advanced C and Unix Programming course - but I need the degree, sooooo.

« Last Edit: December 06, 2007, 07:19:09 PM by Athanasios »

Logged

Through the intercession of Our Lady of Mount Carmel, may Jesus Christ bless you abundantly.

Pray that we may be one, as Christ and His Father are one. (John 17:20ff)

Hello,Everyone has their own preference - some say don't start off with an object-oriented language, others say to start with an object-oriented language.

I was actually required in school to start with an object-oriented language, or at least start with the C++ language within the context of OO programming principles, since my course of study was computer software engineering and not mere computer programming. I wasn't introduced to C++ in my first term until we had actually studied OO application development principles for several weeks.

I was actually required in school to start with an object-oriented language, or at least start with the C++ language within the context of OO programming principles, since my course of study was computer software engineering and not mere computer programming. I wasn't introduced to C++ in my first term until we had actually studied OO application development principles for several weeks.

Interesting, I think I took 3 classes in theoretical computer science before I ever wrote a line of code. LOL.