biggjoee5790 Posted February 28, 2007 Report Share Posted February 28, 2007 hi guys. since ive decided to begin learning some programming languages i am curious as to where i should begin. as my other post states, im hoping to eventually program for the gaming industry and for personal game creation a a hobby. Im aware that programming games takes advanced programming, and im less than a beginner so im really confused as to where is should start, C? C++? Java? Python? ive read about all the types of languages but i have NO idea where to begin. I know that even though i want to eventually program games, i need to learn how to program general applications and do other more basic programming way before diving into games. so hopefully you guys can suggest where to begin, what language to start with, what books or programs i should consider getting, and any other good advice. thanks alot Quote Link to comment Share on other sites More sharing options...
softwareNerd Posted February 28, 2007 Report Share Posted February 28, 2007 You're probably best served getting some type of "Beginning Programming" book, regardless of what language it uses. Perhaps something from the "Dummies" series or this "Idiot" series one that has used copies for $2. From an Amazon search, this one, seems to use C++ to teach programming. This one uses VB.net and you'll probably need to download VB Express from Microsoft Search through Amazon. If you shortlist a few and post links here, folks might be able to give you advice on the pros and cons of the books. Or, you can take the route prescribed by Peter Norvig (Director of Research at Google) and "Teach Yourself Programming in Ten Years" Quote Link to comment Share on other sites More sharing options...
biggjoee5790 Posted February 28, 2007 Author Report Share Posted February 28, 2007 so your saying that before i learn an actual language or how to program, i should learn about programming in general. like what it is, how it works, etc? and then learn a language Quote Link to comment Share on other sites More sharing options...
softwareNerd Posted February 28, 2007 Report Share Posted February 28, 2007 In a way, yes; but, I'm assuming that all those introductory books will actually either have some software you can use to practice programming, or tell you where you can get some. For instance, the "Dummies" book seems to have a variant of Basic. So, I'm guessing it comes with a CD containing software that will let you create and run QBASIC programs. For the VB book or the C++ book, you'll have to get VB or C++, but you can probably get certain versions of either of those free from Microsoft. When learning one's first language, it's best not to start with a language that looks too different from the norm. All variants of Basic and C/C++/C#/Java would fit your purpose pretty well. PS: Could you capitalize your sentences; it would make your posts easier to read. Quote Link to comment Share on other sites More sharing options...
biggjoee5790 Posted February 28, 2007 Author Report Share Posted February 28, 2007 First of all, sorry about the terrible grammar lol. I was just typing fast and not even paying attention to capitals and whatnot. Ok now about the programming. I guess I'll check out amazon.com and read some reviews on books. I think im going to start with something that teaches programming basics and doesnt discuss much about a specific language. After that, I think starting with C or C++ would be a good idea. They seem to be the norm of the programming world and also used frequently in game programming. Im hoping I can learn alot and get a head start while im still in high school. Quote Link to comment Share on other sites More sharing options...
softwareNerd Posted February 28, 2007 Report Share Posted February 28, 2007 From what you say, the introductory book I linked to above (that uses C++ examples) would probably be a good bet. Quote Link to comment Share on other sites More sharing options...
utabintarbo Posted February 28, 2007 Report Share Posted February 28, 2007 From what you say, the introductory book I linked to above (that uses C++ examples) would probably be a good bet. Ick. C++. If you wish something more high-level (less close to the gears, as it were), I would suggest Python. There are a ton of tutorials out there, you can become productive pretty quickly, and it is pretty easy to read the source code. On top of all that, it is cross-platform and free. My $0.02 Quote Link to comment Share on other sites More sharing options...
biggjoee5790 Posted February 28, 2007 Author Report Share Posted February 28, 2007 (edited) Well it seems like C and C++ are the most universal languages and most common to use. Im not saying I dont want to eventually explore other languages because I definitely do, but at first I really want to learn the "standard" in programming. I dont know much about Python so I may be wrong about it not being widely used. Some other people have also suggested Python to me. I just want to start learning to program in the best way possible, whatever that may be. I want to learn all the basics and work my way up. Since it seems like game programming is one of the most complex forms of programming, I want to make sure I learn every tool I need to slowly be able to create all types of programs and eventually simple games and then more complex gaemes. When I dont have a teacher, I tend to get really picky about how I begin learning something new. For instance when I first began learning guitar without a teacher, I picked up many bad habits that took me a long time to correct. Thats why Im trying to be pointed in the best direction with programming, so I can study and learn efficiently. It seems like so many people have very different opinions about where to begin, I just want to take the best advice. Sorry for my long ranting lol Ill stop now Edited February 28, 2007 by biggjoee5790 Quote Link to comment Share on other sites More sharing options...
Emily Posted March 1, 2007 Report Share Posted March 1, 2007 I have found the O'Reilly books to be very clear and interesting resources for C and C++. Quote Link to comment Share on other sites More sharing options...
y_feldblum Posted March 12, 2007 Report Share Posted March 12, 2007 I shudder to hear mention of any variant of Basic. Visual Basic is evil. It's Kantian! C# and Java are particularly easy to learn, since there are very powerful, free development environments to help you: #Develop for C# and Eclipse SDK for Java. Quote Link to comment Share on other sites More sharing options...
Prometheus98876 Posted April 1, 2007 Report Share Posted April 1, 2007 Would you care to explain what is evil about Visual Basic and why one would even joke about it being Kantian? Quote Link to comment Share on other sites More sharing options...
LaVache Posted April 2, 2007 Report Share Posted April 2, 2007 Seems like most colleges require you to know Java before you can transfer into their CS programs or require you to take Java as a freshman. So if you're interested in getting a head start for that, you could give Java a try. Quote Link to comment Share on other sites More sharing options...
Poornima Posted April 2, 2007 Report Share Posted April 2, 2007 Definitely agree with everyone else's advice in regards to learning about what programming is before you learn a language. And another thing thats helpful is to learn the basics about computer architecture nothing too fancy, but just to understand the basic jargon (e.g. disk vs. memory, data transfer speeds bits vs. bytes, major components of a computer). So that you have a nice overview of how things fit together. I double majored (EE/CS) and I found that other who did wrote better code because they understood the big picture. The quickest and best way to learn programming is by doing! So make sure that whatever book you pick up has plenty of tutorials and/or projects. Reading a textbook is a great way to learn about the abstract ideas, but it won't make you a good programmer. And if that is indeed your goal, you really need to get your hands dirty and understand how every component fits together (variables, functions, classes, etc.). When you write a program for the first time try to understand the purpose of every line, because good code has a very specific semantics. My personal advice would be to learn C++ first, Java is nice, but as a first language it can be too much like spoon-feeding. If you intend to pursue CS as a major then you need to learn about memory management, object-oriented programming, etc, and C++ includes all those constructs. Java is a nice language to use when you want to focus on learning more about software engineering and program architecture, which are more advanced topics. Happy coding Quote Link to comment Share on other sites More sharing options...
Prometheus98876 Posted April 2, 2007 Report Share Posted April 2, 2007 It is definetely wise to learn the basics of computer operation first , no doubt about that, that way one is much more able to understand what might otherwise appear to be oddities in programming (though you will probably then still find some odd things). I am a programmer, and I have never learnt Java, I might not need to for some time yet, however in general I would suggest it if you want to seek employment in the programming field. C++ is probably one of the other more important languages to learn at some point, as it is widely used, and one of the faster, more powerful and more supported lanaguages with a huge range of extensions and support. However, for a first programming language I am going to suggest Ruby. It is nice and simple, can do many of the things of more powerful programming programming langauges (and more in some cases) and is really easy to learn and it is fun! Yet it give you a good oversight into programming. Here is a good starting point for resources...though there are many others. Quote Link to comment Share on other sites More sharing options...
skap35 Posted August 19, 2007 Report Share Posted August 19, 2007 Would you care to explain what is evil about Visual Basic and why one would even joke about it being Kantian? Visual Basic is a horrible language for anything remotely complicated. I use it at work and it gives me quite a few headaches every day. It does have its place as a RAD (Rapid Application Development) solution. If you need to do something quick then it's great. However, you start running into problems with code maintenance. The fact that MS has tried really hard to turn programming into a GUI based process has also made it harder to maintain code. Instead of having everything defined in a text file where you can easily see it, Visual Studio hides various settings behind a maze of menu options. This may not sound bad, but when you have to maintain code written by another programmer then you take away the advantage of comments. It's easy to maintain someone else's code if it's well commented. But with the GUI approach, there's nothing to explain why the programmer did what he did. The OOP design of VB also makes it virtually impossible to develop modular code. One basic rule of software engineering is to keep the UI separate from the data access modules. In VB, the way you make a SQL query is to drag and drop a SQL object (SQL Command, data adapter, etc) onto your form. This combines the UI and data access functions into one module, which goes right back to code maintenance. Granted, you can also create SQL commands programatically, but the drag and drop method is "supposed" to be preferred and manually creating a data adapter takes away some of the functionality as well. Another *huge* problem with VB is that it lacks many common features of more powerful languages. For loops are very limited in VB compared to C (this drives me crazy at work). Also, support for arrays (multi-dimensional arrays in particular) is very poor. Things like templates, operator overloading, "real" pointers (as opposed to just object references in VB), and that annoying problem where assignment and equivalence operators are the same token. I could go on forever, too. I will say that I'm basing all my experience on VB.NET 2003. Some of those problems may have been fixed in 2005, I'm not sure. VB is great for handling straightforward problems very quickly. The drag and drop features also make it easy to initially create a program with little effort. But those advantages cause a lot of problems when you start getting into more complicated programming. VB is also fairly easy for a newbie to understand compared to something like C++, so it could be a good place to start learning. The only problem, as I mentioned above, is that VB not only encourages, but sometimes forces you to use bad programming habits. Quote Link to comment Share on other sites More sharing options...
Prometheus98876 Posted September 11, 2007 Report Share Posted September 11, 2007 Yeah that is all very true, and good arguments as to why other languages are better for many serious tasks. But I think evil is going a bit too far :-P. C# at least seems better in many regards (though Im still learning this one, it seems very nice so far, and its familiar due to my experience with C++). I also see that even over here in NZ, C# is more respected as a proffessional programming language. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.