Click to See Complete Forum and Search --> : Picking a language
ProtoHype
Jul 9th, 2009, 09:02 PM
Hey guys was wondering if i could get some input and finally settle down on a language.
Programming has always been something i have wanted to do as a hobby and along the way i have picked up plenty of books but do to real life issues i have never stuck with them.
I Have the following books
Accelerated C++
C++ How to program 5th Edition
Head First C#
Reversing(Secrets Of Reverse Engineering)
Now i finally have time to focus and jump into something i have always wanted to do and i would love some input on which of those books i should reead.
My goals for programming is to really be able to create anything i want, and what grabs my attention the most are programs that interact with other programs sorta like game bots.
Thanks and hope to stick around for answers and knowledge :)
Shaggy Hiker
Jul 10th, 2009, 09:05 AM
Bots are largely against the AUP, but learning certainly isn't.
Of the languages you seem to be leaning towards, I would say this:
If you learn C++, you will get a broad and deep understanding of programming concepts relevant to most languages in existence. However, the learning curve will be relatively steep, and you will take a long time getting to a level where you feel that you are doing anything neat. That can be pretty frustrating.
If you start with C#, the learning curve will be less, and you will be up and running quicker. Furthermore, you will learn the syntax of C++, and most of the concepts. This would make the transition to C++ a bit quicker at a later time, but at the cost that there will be concepts that you will not have fully grasped.
From this, I would lean towards C# first, as the primary language you use, while reading along in the C++ books so that you gain an understanding of both.
ProtoHype
Jul 10th, 2009, 12:11 PM
Thanks for the response appreciate it. So i will be reading Head First C# and try not to confuse myself and do a little of the C++ How To Program.
I'd really hate for that book to just sit around i think i paid somewhere around $100USD for it lol.
Also i am not really into hardcore bots i just have some type obsession with how they work and would really like to create one as a hobby privately, i guess thats where the reversing book would come into play.
Thanks again...
Shaggy Hiker
Jul 10th, 2009, 01:24 PM
Sounds like a good way to start out. Nothing aids learning like being interested in the subject. When I got into modern programming (I had been doing BASIC since the early 80's), I started with C++. As a foundation for all languages, it is excellent, but for getting a useful program working quickly, especially in Windows, it's not so easy.
Watch out for programming books, though. The situation these days is only slightly better than it was two decades ago. At that time, I fell into a horrid scam of a book. It cost about $70, and looked fairly good...until I got reading the documentation that came with Visual Studio, and found it very familiar. The book author (if you could call them that) had taken pieces of the documentation, added screen shots and wide margins to pad the size of the book, and sold it. That book, for $70, was a subset of the documentation that came with Visual Studio, and had not a single new word added other than the authors name. I later read an article about the horrible programming book market that cited that particular book as the prime example of all that was wrong.
The scam tactics, which are still VERY common, are these:
1) Use WIDE margins.
2) Lots and lots of example code.
3) Lots of screen shots.
None of those items should disqualify a book, as they are all valuable at times, but they should all raise warning flags. When I go looking for a book, if it is at an actual store, I scan through the book to get a feel for the ratio of text/code and text/screen shots. The ratio of each should be greater than 1 for the whole book (though individual chapters might have ratios less than 1). I would then read sections here and there, to see whether the author was clear in their explanations, and whether they sounded like technical documentation (because the text might just be that).
Those books cost too much money not to be careful when choosing them.
ProtoHype
Jul 10th, 2009, 01:49 PM
May i ask of a few books and how you got started?
Seem like someone who would give good advice :)
Shaggy Hiker
Jul 10th, 2009, 03:34 PM
I got started almost two decades back, and the very languages have changed since then. There were a couple good books that I read on C/C++, but this was pre-ANSI C++. There was no STL, yet, and some other, lesser known, features hadn't yet been added to the language. This was also back in the days of DOS with the memory models. That could be a total misery, as you had to worry about whether data objects were larger than 64KB. If they were, lots of language features wouldn't work at all, and you had to write your own replacement functions to deal with them. Array addressing was a major chore for the HUGE memory model (as opposed to LARGE, SMALL, COMPACT, and TINY). All that has gone away.
Therefore, I have no real recommendations for current books. I still have some of the C++ books that I thought were useful, but I still wouldn't recommend them. Times have changed. There is an ANSI standard for C++ that none of my books addressed. There is now a second version of the ANSI standard for C, and some of the things in the books I have are simply wrong. For example, I believe they had an Int as being 16 bits, whereas they are now 32 bits. The Long of those days was 32 bits, while today a Long is 64. Minor stuff, but there is so MUCH of it.
Books I buy these days are all on specialized topics, such as robotics, WCF, and the like.
ProtoHype
Jul 10th, 2009, 04:37 PM
So i should pretty much skim a few books, read stuff on the web and go on trial and error.
I do really appreciate you answering and helping :)
Shaggy Hiker
Jul 10th, 2009, 04:40 PM
Yeah, that would be my recommendation. Amazon and Barnes & Noble are both fairly valuable in that you can find reader reviews that can be helpful, but the best thing that I find is to go to the bookstore so that you can look at how much 'fill' you are getting. If you have a particular question or two, you can see whether the book answers those questions, but I can't say that I do that very often. For a specific question, this place is better than any book.
DeanMc
Jul 10th, 2009, 05:11 PM
The best book I have ever read for C# is "Pro C# and the 3.5 Framework" By A. Trolsen. I whole heartily recommend this as a learning tool and a reference.
http://www.apress.com/book/view/9781590598849
Apress even have a digital version. Keep away from the beginning book for C# there. It is one of the type of books shaggy mentioned.
ProtoHype
Jul 10th, 2009, 05:35 PM
So my Head First C# book with all the pretty pictures is pretty much a sham? lol
Bopo
Jul 10th, 2009, 07:49 PM
I would also recommend C#, in terms of game bots, it's still perfectly suitable to create sufficient bots for performing memory reading/writing operations and so on, however you'll need to be proficient in reverse engineering, reading ASM for example to make any progress.
I wish I'd learnt C# first, instead of VB.NET, I've programmed in PHP, Java, little Visual C++ in the past year vaguely, and I have to say from a multiple language aspect VB has the most retarded syntax ever.
ProtoHype
Jul 10th, 2009, 08:06 PM
Yea creating some type of game bot / macro is something i always wanted to do to just show myself i can, but in the end i just want to know how to program in general.
The whole idea fascinates me i have picked up books over the years but never made it past basic parts of the language. But this time i am sticking to it and gathering as much info as i can so i am sure to do it correctly without being discouraged.
Shaggy Hiker
Jul 12th, 2009, 09:13 AM
Don't worry about being a little bit discouraged. We all are at times. Everybody has to learn new things, and if they are difficult, they seem a bit confusing to begin with.
vbforums.com
Copyright Internet.com Inc., All Rights Reserved.