Books...

coldfusion244

Junior Contributor
Joined
Nov 24, 2004
Messages
266
Location
Philadelphia
Hey guys, I just program (in .NET, I use MASM for school/work)for fun and when the time comes, useful item that make my day to day life easier (for now). I have some spare time between school and work and I wanted to learn .NET to gain added efficiency as most of my code comes from VB6 (API, etc). I want to see what you guys think of some books to learn .NET. I want to focus my study on C++, have any suggestions? Should I wait for .NET 2005? Should I start with plain C and work my way to C++? Any advice on some books, or maybe online classes (?) would be good. :D

Thanks!
 
I'd suggest starting in C# (or VB.Net) rather than C++. C# is a much cleaner language, with a lower learning curve.
 
Yeah, I have started C#, the problem is that in C# you can't use pointers :eek: Well, you can but it has to be an intrinsic variable type. I have done C++ before when I had to integrate ASM into C++ code, and I have done C++ in VS 6.0. I also write PHP alot which is very close syntactically like C++ (infact when I write some things in VB.NET I use Switch instead of select case :p ). I also find both VB.NET and C#.NET SLOW, I don't know if it's just me, but when I make the same thing in C++ as I do in C#, it just seems to be slower in C#.

I will however say this, C# rocks when it comes to ASP.NET. I dabbled in ASP.NET and wrote the code in C#, worked very well! But as I mostly write PHP, this didn't last very long. My problem is I know a little bit about a ton of different languages and not alot about one single language.

Thus I figured since I've used ASM and C++ before, I'd start with it and once I understood C++, I would be able to use any other language because the advanced concepts would be there.

I was looking around and found some books put out by Microsoft, has anyone used these? Are they any good or should I go a different route? I also don't know where I am in terms of ability. I think that I would be beginner, but whenever I get beginner books it seems so dull and boring and I end up finishing the book with very little new knowledge. However I can't find intermediate books, as most are just supplimentary beginner books. Ugh.

So any suggestions on C++ books?
 
ThePentiumGuy said:
I'd suggest learning C++, because once you do VB.NET, it's hard to step down to a lower-level language such as C++. I know this first hand and ... that's my advice to you.

-TPG

TPG: using that argument, wouldn't straight MSIL, or ASM be the best language for him to start in then? Higher level languages have a purpose, especially for those getting their feet wet for the first time in .Net
 
coldfusion: you can't use pointers in C# (you actually can if you use the unsafe keyword, but its not recommended), but you shouldn't need to. C# abstracts the memory management away from the programmer so you don't need to worry about where your objects are stored, or about cleaning them up when your done. The CLR and the GC manages all this for you.
 
You;d proably appreciate C# more if u did c++ .....

I took a more natural course from C to C++ to Java to C#...so I;d suggest C++. Learning curve from C++ to C# is minimal [ can i say non-existant ] , but u sure are gonna have a steep curve if u do choose c++.. C++ is fun to learn ...butthen again i'm biased :p
 
Whether you pick C# or C++ is up to you. Here's my two recommendations:
For C++: C++ from the Ground Up by Herbert Schildt

For C#: Programming C# by Jesse Liberty

I've used both extensively and keep them handy at all times.

I make those suggestions first, since you sound like you don't know what you want to program (using the Windows API or "pointers" only provides a means to an ends, it doesn't tell us what you want). I suggested books about the languages, which are key to being a good programmer.

If you have a certain program, or type of program (such as Games) in mind, I'd still strongly recommend those books.

Another great book that everyone should read, regardless of language: Refactoring: Improving the Design of Existing Code by Martin Fowler

-ner
 
Thanks nerseus, I would love to tell you what I want to do with the language, but I am unsure myself. I mostly program for fun, and thus only make something when I want to help myself out, or if I really want something done. Lately I have been attempting networking lately and also a good bit of data manipulation, for example, reader headers of mpeg's, avi's, working with bitmaps, etc. I am not stupid when it comes to C++/C#, but I'm by no means near advanced.

Most of the programs I create are for myself and other admins in multiplayer games that I play [I write a good bit of PHP and mysql]. Right now I am still attempting to write something close to TeamSpeakOverlay, and possibly get into directx/opengl.

So, I really write a broad range of programs, but I want to become advanced in one certain language, and have worked with VB, C# an ASM, I find C++ to be the most fun (I must be crazy) and that's why I really want to learn it well (Plus it's really close to php[so hopefully will help in that area as well!]).
 
For you, I would recommend C++ over C#. Sounds like you're mostly "playing", making mods and such, and for the most part that's going to be easiest in C++.

I suspected as much since you said you did a lot of "API stuff". That usually implies tinkering around more than working on a full-fledged application. Most "real" applications rely a lot more on already written code - the .NET frameworkd for example - and a lot less on the API.

I think you'd do well to get a C++ language book - avoid a "Visual C++" book as they tend to focus a lot on .NET and Visual Studio itself, especially the wizards. Learn the language and you'll do much better.

If you start to read up on stl or templates in general, I'd suggest shying away for now. Learning templates is a good idea, but only after you know the language well enough to implement them and more importantly, debug them.

-ner
 
Back
Top