vote on the poll. i'm guessing the some form of C will have the most votes.
add me:
PSN ID: Crymetyme
Join the offical Vgchartz PS3 trophy league!
The Last "all hail the...... leader" thread to be locked.
vote on the poll. i'm guessing the some form of C will have the most votes.
add me:
PSN ID: Crymetyme
Join the offical Vgchartz PS3 trophy league!
The Last "all hail the...... leader" thread to be locked.
Either Java or C#. Java is a much more strict language but also a well written and constructed one; with C# you have Visual C# or Visual Studio which are very easy and powerful tools to get started.
My themeforest portfolio:
start off with strict programming, it's good practice to avoid the bad habits
| Faxanadu said: Java or C++. I started with Turbo Pascal, but thats outdated. And Visual Basics - dont know, not that interesting. |
Java or C++?! What are you trying to do, push him out of programming before he even begins? If you have to pick a language to start your first programming tasks on, there are really three that I'd recommend:
Python has a very strong community of learners and tutorial makers, and a good basic library to help you get started. The syntax is controversial, but few would argue against its readability: something that's critical for people just starting out.
Lua's library isn't as strong as Python's, but it has a similarly strong learning community, and its following in the gaming industry is much stronger (Python has a few major games under its belt, but Lua has many more).
Nothing, but nothing, will teach you more about computing theory than Scheme will. It's also a good springboard into AI. However, it looks and feels very different from most other programming languages -even Python- and so not everything will transfer over straight across: you have to rethink a few things. However, even if you start with other languages, learning Scheme will still make you a better programmer even if you never use it directly, just because of the directions it stretches your brain towards.
Complexity is not depth. Machismo is not maturity. Obsession is not dedication. Tedium is not challenge. Support gaming: support the Wii.
Be the ultimate ninja! Play Billy Vs. SNAKEMAN today! Poisson Village welcomes new players.
i personally first started programming long time ago on a C64 in basic, but that language is just bad for structured programming. at school we learned turbo pascal and a lot about algorithms and datastructures (pointers, lists, memory management, sort algorithms...), the theory part might be boring learn but it really helps you later on. At home i started assembler on my amiga (68k processor) up to the point that i wrote some small demos with together with a friend. (that really helped me to understand low level)
later on university most focus was on C, but i also had to learn FORTRAN and some other old high level languages. later on java go more and more into the focus.
my suggestions for a new starter would be to start with a relatively strict good and structured language (like java), also don't forget learning the theory, it might be boring but it really helps a lot if you work on more complex projects.
finally stay away from script languages and vb as a starter, they might give you results fast, but you also learn a lot bad habbits.
which books would you guys recommend for me to get?
For C or C#?
books for either of these two will be fine.
add me:
PSN ID: Crymetyme
Join the offical Vgchartz PS3 trophy league!
The Last "all hail the...... leader" thread to be locked.
which books would you guys recommend for me to get?
For C or C#?
books for either of these two will be fine.
i was thinking about this for learning C#:
http://www.amazon.com/Learning-C-2005-Started-Programming/dp/0596102097/ref=sr_1_52?ie=UTF8&s=books&qid=1215736150&sr=1-52
edit:
i was also thinking about this book for C:
http://www.amazon.com/Sams-Teach-Yourself-Days-6th/dp/0672324482/ref=sr_1_65?ie=UTF8&s=books&qid=1215736481&sr=1-65
add me:
PSN ID: Crymetyme
Join the offical Vgchartz PS3 trophy league!
The Last "all hail the...... leader" thread to be locked.
You can look on some websites too
http://www.cprogramming.com/
http://www.learn-programming.za.net/learn_cs_programming.html
Search in google: "learn C" and "learn C#" and you will find a lot of sites.
Maybe this chart that tracks the popularity of each language can help you make some decisions: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Popularity isn't everything, don't take the numbers at face value. They're used to inform.
The real question is why do you want to code? Do you have a goal? The language doesn't matter without a goal or objective. If you really have to choose something for some arbitrary reason, you've made a decent choice with C. Otherwise if you want to learn how to theoretically program (ie what it takes to be a good programmer) you can just study theory and techniques.

This is my last post in this thread, but I highly suggest overlooking C# as a learner language. Yes, it's incredibly easy to do stuff in it, but you get that at a cost of:
1. ) Being pretty much dependent on Microsoft. Yes, there is Mono, but when Microsoft releases version 4.x of .NET it will likely include features that Mono does not. Mono will always be one step behind in that manner. Also, what happens when Microsoft pulls out of the "no lawsuit promise?" (...and they will)
2. ) Losing code longevity. I use VS2005 at work and I have to tell you it's a pain in the ass (and really stupid, IMHO) to have to upgrade an existing C# solution in order to work with the latest version of .NET. In fact, keeping multiple, non-compatible versions of .NET is a crux of the language, wherein C++ is pretty much compatible with every old C program ever made. C/C++ are essentially turn-key languages. You're not going to have to live on blogs to keep up with the latest shortcuts and language features (which points out that C/C++ are still very powerful and very simple languages as opposed to the ever growing complexity of .NET with each new version.) What happens when your program written in .NET 1.1 stops working because Microsoft decides that they no longer need to include it with Windows 7 (I have no reference, just stating a probably situation) and have stopped distributing the 1.1 VM? Hell, even Java, with the latest Virtual Machine was able to run even the oldest Java bytecode without having to dig up a version 1 VM.
3. ) Not learning about proper memory management. Yes, using() {} blocks are nice and all for disposing objects, but it doesn't do anything that a deconstructor function in C++ doesn't. I'd even argue that the deconstructor is more efficient and reliable since it doesn't require a specialized block surrounding the scope of the object. You just place it in your object class file and update it with needed code.
I would also suggest to steer clear of Visual Studio if you plan on continuing this path. Every project you will make in Visual studio will try to push you to Microsoft methodologies and they push it in every document on MSDN as well. If you plan on going with C/C++ check out Code::Blocks or DevC++. I've personally used both. They both have good and bad features and it boils down to personal preference. There is Eclipse as well, but in my experience, Eclipse can be a little too bulky to work with.
Lastly, I'm not a fan of Microsoft. It's not blind fanboyism, nor blind hate that I follow. It's corporate history, and current corporate practice that make me this way. They clearly are not out for the common good of the world, you or the gamers but are strictly a corporate entity looking for every way possible to keep your money flowing into their pockets. Only true, open, and free standards can be free of this type of greedy influence.
It seems the mods need help with this forum. I have zero tolerance for trolling, platform criticism (Rule 4), and poster bad-mouthing (Rule 3.4) and you will be reported.
Review before posting: http://vgchartz.com/forum/rules.php