- Joined
- Jan 29, 2012
- Messages
- 7
- Reaction score
- 0
Java or C++?
Most of the online games are coded with Java is it?
Most of the online games are coded with Java is it?
Learning C++ as the first language is like putting you alone in the cockpit of a Space Shuttle just as you begin the re-entry manuevers and calling it a "trainning mission".
Learning Java as the first language is putting you in the co-pilot chair of a personal plane in control of a seasoned instructor who will slap your hand should you try and do something inordinately stupid.
For the love of god and baby jesus, pick a managed language like C# or Java (the 2 major competitors for the title of "most used managed language"). It will be all too confusing if you start with something more complex like c/c++...
I wouldn't learn a managed language first. The API overload is not useful, and throwing together a 30 line program that just calls very-high-level-API to do a lot of work isn't programming, nor will it teach you how to write software.
Nor will Assembly or a macro language like C. Manipulating a few pointers and throwing some stream operators at stdout isn't any more useful for comprehending algorithm design than calling Random.Next(). Programming can be learned through any turing complete language; the language specification should be trivial compared to the range of functionality it supports in deciding what is a useful language to learn.
IMO, you shouldn't be driving around billion dollar equipment when you can't even operate the playground version. For almost everyone, reading Knuth's texts will feel like reading some arcane text with magic incantations in it that magically result in success. Everything in those texts is provided for you in .NET and the JSDK, and if you ask someone how to do them, they'll tell you to use the provided implementation because you will *probably* screw up somewhere (the same thing we tell everyone about cryptography). You won't learn anything useful if you're going to jump into a language where Google searches and every person you ask tells you to call SomeHugeNamespace.SomeClass.SomeAlgorithm.
Here, how to sort an array:
Java:
Java: Sorting Arrays
Point: In Java, an array is a collection of things. Arrays can be sorted, just like a spreadsheet! Just call 'sort.' Voila, it's fuckin' magic!
C#:
Sorting Arrays [C#]
See a difference? Me neither.
C, in order of appearance:
Sorting Arrays
C array sort example
Sorting an Array in C from low to high (without using qsort) - Stack Overflow
HowStuffWorks "The Basics of C Programming"
Arrays in C++ - Sorting
Array Sorting Algorithms in C/C++
So we have a few mentions of qsort (obviously anyone who knows much at all of the C library would immediately use this if they needed it), but the trend here is that (and it's even explicit in the SO post): the details of the algorithm are more important than the result.
This is very consistent with what I see from both search engine results and the think of these different worlds. C# and Java -> get **** done, don't care how it works, need to do task A, instant result to do task A. C - lots of learning, even if implementation can be far more tedious.
If the goal is to learn, this is why I suggest C or even lisp, etc. Any language that doesn't ship with an enormously monstrous enterprise-oriented API/SDK that does *everything* for you is good. Managed languages (primarily .NET & Java, depending on just how far we go with "managed") just don't fit that bill.