Click to See Complete Forum and Search --> : Recommended language & books?


ryanmills
July 27th, 2007, 07:03 PM
Sorry I am sure this has been asked a number of times and I tried searching on it here but I found nothing that fix. Also I hope this is the correct forum for this question.


My programming background is PHP5 & ActionScirpt2/3 at an advanced level. So I understand vars, loops, classes and objects. However I have never worked with an assembly level code, compliers and all that goes along with them. Frankly I find them a little confusing… Ahh the joy of being self taught. So comes the question, I am looking to dive into assembly level code and was looking at starting with the standard C/C++. I have spent the last 3 hours reading review after reviews on different books and realized I don’t have a good enough understanding of the languages to know what I want. As it stated I have already gotten a few books but not of them have really taught me more than syntax and the others I keep looking at seem more like reference books than step by step tutorials (plus the few tutorials I looked at had comments about buggy code).

So finally the question(s) has anyone read a book that’s not only going to explain compiling and debugging but goes in-depth with examples and tutorials on interfacing with windows drivers (example, webcam or mic) or setting up a simple user to user (no server) chat app. But still handle the simple stuff like explaining how to use and import the different libraries or even writing your own. I can "Hello World" like a rock star and I understand how to write a class but I can’t seem to find a book that goes beyond that while still touching on the basics.

I already own Thinking in C++ by Bruce Eckel & C++ for Dummies (seemed like a good idea at the time)...

Mabye C# would be better for me. I have looked into C# but I am unclear if it requires .NET or if .NET is a library for it. Plus is it just for windows or can it be complied for a Linux flavor (via CLR/CLI?) too (also assuming the lib supported it). Plus I am not sure I want to get into windows forms unless I have too. So can it be complied into a standard binary?

Any input/advice is very welcome :)

RaleTheBlade
July 28th, 2007, 01:19 PM
If you want to attempt assembly, stay with C/C++ as C# is kind of in a world of its own. C/C++ is similar to assembly in a few aspects, and gives you better control over memory allocation and things like that.

I used to hate C++, then I realized just how powerful it really was and Ive shifted my major from C# to C++, lol.

And besides, Im not a big fan of anything Windows (except good ol' DOS).

C/C++ or Pascal are prolly your best bets if you want to have more control over your development while C# is better for faster development and ease of use.

dglienna
July 28th, 2007, 02:21 PM
Take a look at our Assembly Language forum (http://www.codeguru.com/forum/forumdisplay.php?f=69). It used to be that everyone started out learning it (I learned BAL on a mainframe)

Once you understand the basics of how a computer actually works, it makes other languages easier to pick up, I think.

Now, it seems like everyone is starting with C++ (or at least when I was in college a few years back). I too hated C++, but took three different classes before I "got" it. Too many bad memories for me to go back to it.

You can call inline assembly from C++ as well.

TheCPUWizard
July 28th, 2007, 02:40 PM
Take a look at our Assembly Language forum (http://www.codeguru.com/forum/forumdisplay.php?f=69). It used to be that everyone started out learning it (I learned BAL on a mainframe)

Once you understand the basics of how a computer actually works, it makes other languages easier to pick up, I think.

Now, it seems like everyone is starting with C++ (or at least when I was in college a few years back). I too hated C++, but took three different classes before I "got" it. Too many bad memories for me to go back to it.

You can call inline assembly from C++ as well.

Ahh, the good old days. My first was PAL-8 on a 1968 DEC PDP-8/e using teletypes and papertable to product the programs off-line.

Amazing that you programmed BAL (http://www.marvunapp.com/Appendix/baalhadad.htm) (follow the link) ;)