1
I'm just interested to find out what's the best Programming Language in your opinion. I'm a Game Programmer so I was also wondering what would be the best language to use for Game Programming?
Thanks!
Thanks!
Create an account or sign in to comment.
85
1
Dat necropost doe.
/lock
/lock
1
tried C# once and it was pretty cool but a bit confusing. (might just be becasue it was the first time i tried it) i think i like java a bit better. never used C++ before though.
1
I'm a learning programmer, but I currently do it in Standard Script. I guess Java would be great! My father uses it along with the one up there (which he told me about) and Java comes from another programming thing which is used (along with Java, but just a little bit) to make lights turn on/off, open mechanical doors with a button etc. You get the point! XD
1
I'm willing to bet my cat that half the people who posted here don't program.
1
I'm Learning
1
I know Python, which is a scripting language. So I'm a scripter, I guess? Close enough
1
i think you can call everyone who writes code to make something happen @runtime or onruntime can be called a coder
1
heh ye
im a +1 on someone who does code
im a +1 on someone who does code
1
personally what i done is started with java a year ago and now im starting with c++ and it seems most of the coding style is the same i find
(and im learning scala too)
(and im learning scala too)
1
all of them
1
Generally there is no *better* language, for game development. C++ is probably the fastest, mainly due to the large number of libraries it has, and how well it's Garbage Collector works. Java has a poorly optimised Garbage Collector, but can be just as fast as C++, plus it has the benefits of being cross platform, unless C++/C#. C# is similar in Syntax to Java, but at the same time features stuff like a faster Garbage Collector and, because it only runs on one OS, much better access to the system
It all depends on what you're creating, and which you're most comfortable with
It all depends on what you're creating, and which you're most comfortable with
1
just for everyone who doesnt know what a garbage collector is (please correct me if im wrong. because i know i cant give the *best* explaination about it)
basicly a script that you say to run (or gets autoran by the runtime) and it cleans (in java) all unused opened classes and frees the memory
basicly a script that you say to run (or gets autoran by the runtime) and it cleans (in java) all unused opened classes and frees the memory
1
In my opinion, if you want to create a program (like an application for Windows), then Java is your best bet. C# is better for both programs and games. I am learning Java, and haven't even grazed the tip of what it is capable of. C++ and C#, on the other hand, I haven't even learned or seen the code. Never use C++.
1
C++ is tons better than Java, but it depends what you're using it for. If you're making cross platform or web based things, java is better, but if you're making a game, you need the power of a "Raw- C" language (C, C#, C++).
And now for my post..
I started coding by learning Java; I hated it. I thought the syntax was dumb, and it took too long to do something simple, so I dropped coding for a while. I later began with something more dynamic, Python, which isn't technically a programming language, but I still enjoy using it, a lot. I'm planning on learning LUA later on, but mainly C++.
And now for my post..
I started coding by learning Java; I hated it. I thought the syntax was dumb, and it took too long to do something simple, so I dropped coding for a while. I later began with something more dynamic, Python, which isn't technically a programming language, but I still enjoy using it, a lot. I'm planning on learning LUA later on, but mainly C++.
1
Personally, C++ is a lot better. It is more complex and kind of complicated but it has a lot more features than C#. It actually depends on what you are making. For games, C++ is recommended
1
c++ will always be better than java. java runs off c++ and was created on c++
if anything all java does is code c++ into java then back to c++ when you use it.
so why does java exist its because making things on java is easy for beginner coders to use. if everything were in c++ no one would have a problem with minecraft, ftb, ect...
the only reason minecraft is coded in java is because mojang didn't know how to use c++ when developing it.
you would think that with all the money they earn't they would at least work on turning it into c++
as for c well i think it better than java but id go with c++
if anything all java does is code c++ into java then back to c++ when you use it.
so why does java exist its because making things on java is easy for beginner coders to use. if everything were in c++ no one would have a problem with minecraft, ftb, ect...
the only reason minecraft is coded in java is because mojang didn't know how to use c++ when developing it.
you would think that with all the money they earn't they would at least work on turning it into c++
as for c well i think it better than java but id go with c++
1
Java FTW! or lua, cuz you use it in tekkit XD
1
C++ Definitely
1
Well thank you both for your time.
It's always a pleasure to argue on such topics.
I'm sure me and Paril could split the hairs of C and it's children for days; but i do not like stepping on the toes of someone i admire so well have to leave that to another group of programmers.
Taledus, sorry for getting you riled up. i really do care about programming method and i would certainly enjoy flame warring with you all night. were we not in a forward thinking forum of friendly fans.
It's always a pleasure to argue on such topics.
I'm sure me and Paril could split the hairs of C and it's children for days; but i do not like stepping on the toes of someone i admire so well have to leave that to another group of programmers.
Taledus, sorry for getting you riled up. i really do care about programming method and i would certainly enjoy flame warring with you all night. were we not in a forward thinking forum of friendly fans.
1
Personally, I've always preferred C streams better.
I don't know why, but C++ streams never sat well with me. I think it's the operator overloading.
-P
FILE *fp = fopen("test.txt", "w+");
fprintf(fp, "I am pretty cool.");
fclose(fp);
I don't know why, but C++ streams never sat well with me. I think it's the operator overloading.
-P
1
I started using Java almost three years ago purely for modding Minecraft, but then thought it'd be more convenient to learn the full language so that I could build softwares of my own. Something that annoys me with Java is how much space some operations can take up, purely due to length of certain object names. About a month or two I decided to start learning C++. I love it. I'm not sure why, but just the way it is laid out, and the compactness of certain things, i.e.
instead of
I cannot speak for the whole language, because I'm relatively new to C++, but as a new-comer, it feels nice to use. In comparison to Java, I found it a nice language to start off with, and for things like simple UIs I don't believe there is anything wrong with it. I'd still use it for those sorts of things, but for more intense projects, I think C++ will be my screwdriver. I cannot speak for C# as I have never used it.
~ Slendy
ofstream myStream("example.txt", ios::out);
instead of
BufferedWriter myStream = new BufferedWriter(new FileWriter("example.txt"));
I cannot speak for the whole language, because I'm relatively new to C++, but as a new-comer, it feels nice to use. In comparison to Java, I found it a nice language to start off with, and for things like simple UIs I don't believe there is anything wrong with it. I'd still use it for those sorts of things, but for more intense projects, I think C++ will be my screwdriver. I cannot speak for C# as I have never used it.
~ Slendy
1
I Find C# The Best. Maybe You Wouldn't Though.
-da_masta_dude
-da_masta_dude
1
Enough. It's clear that you're simply posting opinions and there's no actual facts being used to back up your opinions here. I provide counter-arguments and you're right because.. because why? Because you've done it that way before? Your experience isn't everybody's experience.
Lua -could- be used as a programming language if it was implemented by programmers, yes. My point was that you can't just go to Lua's site, download the SDK and be able to make full games and programs with the base Lua. You'd have to heavily extend it by implementing it from another language, such as C++ - the output would be something similar to your Xlua, which is what I'm talking about. Xlua might be able to be used on its own, Lua is not. Lua is grammar, it is not a programming language.
With C & C++, the programmer is in the most position of control - that's my point. The compiler won't magically fix everything for him. I would also do more research into what C++ does at compile time, because you're very wrong in that C++ does "bounds-checking". Check out the GCC compiler's C++ backend to see what I mean. It barely does anything more than a regular C compiler does. Whilst it does provide the newer C++ features, if you don't use any of them, it would run just as fast as if you compiled at plain C. The differences would be, again, negligible (as if compile time really mattered in the first place. What is this, the 1980s?). Same deal for binary sizes.
If .NET was terrible, it would not have gained any ground. Like J# it would have whittled away and became irrelevant - but no, a large percentage of people use it. It is highly popular to newcomers and veterans alike.
C can be cross-platform, yes, but to say that C is made as easily cross-platform as Java is (or, to imply it, based on your response) is extremely ignorant.
You can be a programmer in whatever fields you like, but those who really care about programming & the programming community should be following basic etiquette rules. You should not be calling others a lower intelligence by using another language; it's like me saying Japanese people are dumb because they are using a runic language. Whatever your opinions are, whatever obscure measures and performance timings you may run on between any languages will not mean a thing. People will continue to use whatever languages they are familiar with, and if we have people creating quality software using these languages, there is no problem with them.
Talk about "omg monopoly is so bad" when all you appear to be doing is trying to cut out the programming languages you don't like and call only the ""best"" the ones that rule the pack. Let it go, bro. Start helping communities rather than trying to shut them out and trying to get everybody to agree with you.
-P
Lua -could- be used as a programming language if it was implemented by programmers, yes. My point was that you can't just go to Lua's site, download the SDK and be able to make full games and programs with the base Lua. You'd have to heavily extend it by implementing it from another language, such as C++ - the output would be something similar to your Xlua, which is what I'm talking about. Xlua might be able to be used on its own, Lua is not. Lua is grammar, it is not a programming language.
With C & C++, the programmer is in the most position of control - that's my point. The compiler won't magically fix everything for him. I would also do more research into what C++ does at compile time, because you're very wrong in that C++ does "bounds-checking". Check out the GCC compiler's C++ backend to see what I mean. It barely does anything more than a regular C compiler does. Whilst it does provide the newer C++ features, if you don't use any of them, it would run just as fast as if you compiled at plain C. The differences would be, again, negligible (as if compile time really mattered in the first place. What is this, the 1980s?). Same deal for binary sizes.
If .NET was terrible, it would not have gained any ground. Like J# it would have whittled away and became irrelevant - but no, a large percentage of people use it. It is highly popular to newcomers and veterans alike.
C can be cross-platform, yes, but to say that C is made as easily cross-platform as Java is (or, to imply it, based on your response) is extremely ignorant.
You can be a programmer in whatever fields you like, but those who really care about programming & the programming community should be following basic etiquette rules. You should not be calling others a lower intelligence by using another language; it's like me saying Japanese people are dumb because they are using a runic language. Whatever your opinions are, whatever obscure measures and performance timings you may run on between any languages will not mean a thing. People will continue to use whatever languages they are familiar with, and if we have people creating quality software using these languages, there is no problem with them.
Talk about "omg monopoly is so bad" when all you appear to be doing is trying to cut out the programming languages you don't like and call only the ""best"" the ones that rule the pack. Let it go, bro. Start helping communities rather than trying to shut them out and trying to get everybody to agree with you.
-P
1
Those two 'half-witted' definitions are each introductory sentences for their respective term pages on Wikipedia/Programming & Wikipedia/Scripting.
My only possible 'assumtion' is that Lua can be used a programming language ?
Go learn how SDK development works.
Thanks Taledus.
My only possible 'assumtion' is that Lua can be used a programming language ?
Go learn how SDK development works.
Thanks Taledus.
1
I could honestly care less where you derived those definitions from. Just because they come from Wikipedia/Programming & Wikipedia/Scripting do you honestly feel they have any clout here?
FYI, no, I am not an SDK developer. Just because you are doesn't provide you being any better than someone who isn't. While I may not have the experience with the "scripting" languages that you do I am, however, a .NET developer. I have written several high end applications and I have made some really great money doing it. Your opinions of what .NET frameworks have done to programming is completely baseless, biased and absurd.
Just for simple lack of time to feed your ego, I must withdraw from this discussion [edited for content].
FYI, no, I am not an SDK developer. Just because you are doesn't provide you being any better than someone who isn't. While I may not have the experience with the "scripting" languages that you do I am, however, a .NET developer. I have written several high end applications and I have made some really great money doing it. Your opinions of what .NET frameworks have done to programming is completely baseless, biased and absurd.
Just for simple lack of time to feed your ego, I must withdraw from this discussion [edited for content].
1
Truncated for pointlessness:
When we aren't getting our way to twist half-witted definitions to suit our baseless assumptions.
You sir, have no clue. What you have is an opinion. It is still incorrect.
RevolutionalRedStone
..What have we learned ?...
When we aren't getting our way to twist half-witted definitions to suit our baseless assumptions.
You sir, have no clue. What you have is an opinion. It is still incorrect.
1
I do know that some large majority of the people in this world ( though certainly not 99% ) have poor classification skills, especially when the classification task involves overlapping sets.
Lets go over our term definitions...
A programming language is defined as:
'an artificial language designed to communicate instructions to a machine, particularly a computer.'
So obviously Lua is a programming language.
A scripting language is defined as :
'a programming language which supports the writing of programs that automate tasks which could alternatively be executed by a human operator.'
So obviously Lua is a scripting language.
What have we learned ? ... that the world of programming languages is larger than the world of scripting languages.
Misunderstandings of the nature such as yours are extremely common in every field.
For example the term evolution is widely and wrongly understood to mean some process which acts upon living systems. ( infact evolution acts upon all systems at all times it is in fact no more than most familiar within the realm of biology )
Thanks Taledus.
Lets go over our term definitions...
A programming language is defined as:
'an artificial language designed to communicate instructions to a machine, particularly a computer.'
So obviously Lua is a programming language.
A scripting language is defined as :
'a programming language which supports the writing of programs that automate tasks which could alternatively be executed by a human operator.'
So obviously Lua is a scripting language.
What have we learned ? ... that the world of programming languages is larger than the world of scripting languages.
Misunderstandings of the nature such as yours are extremely common in every field.
For example the term evolution is widely and wrongly understood to mean some process which acts upon living systems. ( infact evolution acts upon all systems at all times it is in fact no more than most familiar within the realm of biology )
Thanks Taledus.
1
RevolutionalRedStoneIt certainly qualifies as a programming language ( despite how you may have seen it being used )
You do know that he other 99% of the world classifies Lua as a scripting language, right?
1
Paril
In a modern context, C and C++ compile using the exact same compiler.
Wrong, any C++ compiler does vastly more work than any pure C compiler.
( C++ is checked everywhere guard conditions are checked, pointer references are checked, structs are checked and rechecked continually as the program compiles and OO header interdependency is about 100 times worse / slower )
Paril
The difference in compile times if you only use C features in a C++ environment would be negligible.
The difference in performance speeds if you only use pure arithmetic in pascal are negligible. but. use another compiler ( like FASM ) and suddenly that arithmetic is going ALOT faster.
Paril
Pure C binaries are not Faster or Shorter.
In C they are faster, and depending on the code they can be much shorter.
( but they cannot be be slower, and they are never larger)
C++ fills every statement with fluff, type checks, value checks, bound checks ( not to mention the overhead of OO )
Paril
My argument is that there is nothing in C that can't be done in C++ in either the exact or a very similar way.
You're all backward.
Any C++ statement can be efficiently made in C from a handful of instructions.
Any C statement made in C++ will be larger, slower and full of memory overhead.
Paril
You can still do pseudo-object orientation in C++ if you wanted to. You can still use assembly inlining in C++ if you wanted to. Macros are still in C++. Again, your argument is moot and has no foundation.
Actually you were the one saying these things were impossible in pure C...
Perhaps you've forgotten who originally brought up these irrelevant points.
Paril
Is C++ object orientation slower than doing it by hand? Of course it is, but you have to also realize that it's not the intention. The intention is to allow programmers to do object orientation easier, at a language level - and that's what it does.
And that's why it's easier, and slower.
Paril
As a result, that specific language feature they provide is highly optimized to do what it is supposed to do. Sure, you can write it in C, but chances are the way you write it isn't going to be as optimized as the way compilers do it at such a low level unless you mangle your code to the point that it is difficult for other/newer programmers to read.
That's an inaccurate statement.
'chances are the way you write it isn't going to be as optimized as the way compilers do it at such a low level'
Where did this information come from ? I happen to do alot of hand coded optimization, and I've never, ever, ever written anything slower than the compiler... that's ridiculous.
Paril
Your engine is written in C++.
As was XLua.
Paril
Lua is implemented as a language in your engine.
No. lua was implemented via a programming SDK in Visual studio as a just in time compiled language. which i then imported a copy of into my engine.
Paril
Lua can only be used in your context in YOUR engine.
No, lua can be used by any-one in the world.
Xlua can be used by me ( in dozens of projects ), my friends ( dozens of which program ), and by everyone who downloads one of my games and tries out the included compiler !
Paril
The code someone writes in your Lua parser won't magically work in other Lua parsers.
Actually it will work, and it may seem quite magical.
Lua in an extensible syntax; all the features i implemented are accessed via a robust valid - pure - Lua initializer.
Paril
Lua is a scripting language, and that's what it always will be. It isn't the same as a programming language no matter how you look at it.
Script languages are machine instructions interpreted by programs.
Native languages are machine instructions compiled by programs.
Lua can be compiled, Jitted, Interpreted and every-thing in-between.
It certainly qualifies as a programming language ( despite how you may have seen it being used )
Paril
.NET was far from a terrible idea, as is evidenced by the huge community that follow .NET.
Good point !, why did i spend so long learning all about .NET, why did i talk with all those programmers, write profilers, do mutual coding project challenges in multiple languages... it was so dumb of me !
Science can't tell us anything about the merits of a programming language !
We should simply look at the masses, see whether some other people use it !
... I'm ignoring this one ...
Paril
As with any languages, .NET languages have their downfalls, but it has its good uses as does any language. Java is far from a perfect language, and I wouldn't personally recommend it for anything, but for cross-platform programs it's an easy way for programmers to ensure compatibility.
There are much much much better ways to get ahold of some cross-platform ability.
C compiles on every platform.
Macro Languages like MMF2 support compilation to many many formats which span many many platforms, and even if there weren't a barrage of better options.
Programming in Java is unforgivable.
1
RevolutionalRedStone
Vastly faster compilation ?
Faster and shorter binaries ?
Vastly better embedded machine compatibility ?
Also, what do you mean by Back to ? C++ might have been designed later, but it's not a replacement or a sequel to C.
In a modern context, C and C++ compile using the exact same compiler. The difference in compile times if you only use C features in a C++ environment would be negligible. Faster binaries is completely wrong. Shorter binaries as well - C++ doesn't "make binaries bigger". The compiled assembly will be essentially the same (if you use cdecl as your declaration type, the names will not be mangled). You use the same static libraries between C and C++, so that isn't any different.
C++ was originally designed as "C With Classes", although it evolved past that initial stage. They are two separate languages from two separate people designed in completely different environments, but my argument is that there is nothing in C that can't be done in C++ in either the exact or a very similar way.
RevolutionalRedStone
Object orientation is faster and much more customizable when implemented in pure C.
Assembly and macro In-lining has been in C long before C++ was ever invented.
C binaries are ALWAYS shorter, ALWAYS faster.
Not ALWAYS shorter, not ALWAYS faster. You can still do pseudo-object orientation in C++ if you wanted to. You can still use assembly inlining in C++ if you wanted to. Macros are still in C++. Again, your argument is moot and has no foundation. Is C++ object orientation slower than doing it by hand? Of course it is, but you have to also realize that it's not the intention. The intention is to allow programmers to do object orientation easier, at a language level - and that's what it does. As a result, that specific language feature they provide is highly optimized to do what it is supposed to do. Sure, you can write it in C, but chances are the way you write it isn't going to be as optimized as the way compilers do it at such a low level unless you mangle your code to the point that it is difficult for other/newer programmers to read. This thread is about new programmers, not existing ones.
RevolutionalRedStone
Spoken like a true outsider. obviously you've never entered the massive world of Open Languages of which Lua is a Tiny shiny Part.
http://www.planetminecraft.com/project/ ... nt-461392/
Here i implement a grammer to be called Xlua; it was direct access to everything i want; Networking, OpenGL, and it could very easily stand on it's own.
Your engine is written in C++. Lua is implemented as a language in your engine. Lua can only be used in your context in YOUR engine. The code anybody writes in your Lua parser won't magically work in other Lua parsers. That's my point as an ""outsider"", whatever that means. Lua is a scripting language, and that's what it always will be. It isn't the same as a programming language no matter how you look at it.
RevolutionalRedStone
You also mentioned that C#'s ridiculous dependencys are Okay because:Paril
Most systems already have the .NET Framework installed
What about dominant OS windows XP machines ?
What about now unsupported windows vista machines ?
What about slightly out of date windows 7 machines ?
.Net was a really, really, terrible idea, only bolstered by those with much to gain by monopolizing executable compatibility.
Windows XP, Vista and 7 support up to .NET 4.0. I don't get your argument. XP and below don't support 4.5 for various reasons, but I don't know of anybody that uses 4.5 for commercial programs yet. Most commercial programmers are still using .NET 3.5, as it's the most compatible version that wouldn't cripple the language features. The service packs comes with these versions of .NET generally. There are third party frameworks designed to support it on other operating systems (such as Mono Framework), which is actually a cool idea. I used it to provide C# as a scripting language in an early program of mine.
.NET was far from a terrible idea, as is evidenced by the huge community that follow .NET. As with any languages, .NET languages have their downfalls, but it has its good uses as does any language. Java is far from a perfect language, and I wouldn't personally recommend it for anything, but for cross-platform programs it's an easy way for programmers to ensure compatibility.
-P
1
All I know is my buddy is going to be coding in C++ next year during high school for Computer Programing 1, and I'll do textures for him in Game Design 1.
1
Personly i like java maybe because im dumb but i dont think C++ AND Java are better than each other i think its just what a person likes
1
java isnt the best language to use it kinda recks your computer
1
C++ is a hard language to learn, but it will pay off.
1
Java is the most common
1
In the end it's all down to personal preference..
Each language serves its purpose whichever one you prefer,
as a starting language, java or c# are relativly easy, although both aren't perfect, it mainly depends on what you want to do with it.
Using c++ gives you a lot of space for ideas, but you don't always need it. My advise is too just look at a few tutorials of each one and figure out what exactly you want to do. Then make a choise between them, there is more then enough information out there.
Each language serves its purpose whichever one you prefer,
as a starting language, java or c# are relativly easy, although both aren't perfect, it mainly depends on what you want to do with it.
Using c++ gives you a lot of space for ideas, but you don't always need it. My advise is too just look at a few tutorials of each one and figure out what exactly you want to do. Then make a choise between them, there is more then enough information out there.
1
Bugs_e@Revolutional I haven't seen someone so biased on a programming language, like you are against Java in a while. Java IS a good programming language when use correctly
java is a pathetic excuse for an imperative language and i am sorry that you were roped into learning it.
Bugs_e
it is easy enough to learn, and it is a good start for learning their first language.
I dare you to disprove me on any of these points.
Java is by very far the most bloated popular OO language.
Java has the worst, most cluttered, most hacky and unprofessional syntax of any language in use today.
Java turns into closed source 'byte code' which has no association with the machine it's running on.
All that says to me that it should never be tough as a first language.
Bugs_e
Yes, C++ is a great language when it comes to creating 3D games. But C++ is harder to learn, and can easily confuse lots of beginners.
I didn't say and don't think C++ is a good first language ( i actually think its terrible language when compared to something like Pascal or even just C )
Bugs_e
And if your worried about bad habits. Let it be known learning bad habits in any programming language is a step backward, so they just need to do their research on creating clean code.
Ofcoarse that's true, but Java enforces the use of bad habbits, inefficient code, over segregation and down right gibberish _aVariable.get() ?
Bugs_e
Don't go on a rant about how bad Java is when it is actually a useful language.
I can't say it's not useful, just that when compared to other languages; it's extremely poor. ( code size, coding time, executable size, executable performance ) all extremely poor.
1
ParilIf you already work with C++, there's no real purpose in going back to C.
Vastly faster compilation ?
Faster and shorter binaries ?
Vastly better embedded machine compatibility ?
Also, what do you mean by Back to ? C++ might have been designed later, but it's not a replacement or a sequel to C.
Paril
C is basically just more limiting than C++ in what you can do. C++ provides built-in methods of performing object orientation and many optimizations (inline functions, etc) that is much more difficult to do in plain C.
Object orientation is faster and much more customizable when implemented in pure C.
Assembly and macro In-lining has been in C long before C++ was ever invented.
C binaries are ALWAYS shorter, ALWAYS faster.
Paril
Lua is a nice scripting language, but it won't do much on its own.
Spoken like a true outsider. obviously you've never entered the massive world of Open Languages of which Lua is a Tiny shiny Part.
http://www.planetminecraft.com/project/ ... nt-461392/
Here i implement a grammer to be called Xlua; it was direct access to everything i want; Networking, OpenGL, and it could very easily stand on it's own.
You also mentioned that C#'s ridiculous dependencys are Okay because:
Paril
Most systems already have the .NET Framework installed
What about dominant OS windows XP machines ?
What about now unsupported windows vista machines ?
What about slightly out of date windows 7 machines ?
.Net was a really, really, terrible idea, only bolstered by those with much to gain by monopolizing executable compatibility.
1
@Revolutional I haven't seen someone so biased on a programming language, like you are against Java in a while. Java IS a good programming language when use correctly; it is easy enough to learn, and it is a good start for learning their first language.
Yes, C++ is a great language when it comes to creating 3D games. But C++ is harder to learn, and can easily confuse lots of beginners. As you well know Java was based off of C++. So learning C++ then Java works, but it also works the other way around. Sure learning C++ first is like doing the hard work, before doing the easy; learning Java. But IMO learning Java first will teach them the fundamentals to OOP and other skills they can use when learning other languages. And if your worried about bad habits. Let it be known learning bad habits in any programming language is a step backward, so they just need to do their research on creating clean code.
Sure, any language they pick can be learn with lots of practice. And C++ is a VERY useful language to know. But don't go on a rant about how bad Java is when it is actually a useful language. And I should think learning how to create 2D games in Java before creating any 3D game is useful. I'm sure you didn't try to read a sentence before knowing your ABC's, if you get the comparison.
Anyway, to Original Poster
1.Any languages can be learn if you practice. I personally recommend Java.
2.Choose a language your good at, don't let other peoples opinions get to you.
3.Then learn C# or C++, and continue learning more languages.
4.Find a teacher, partner, book, or online tutorials to follow with your learning.
Goodluck, Just My Opinion. Sorry for the huge reply, but more detail I suppose?
Yes, C++ is a great language when it comes to creating 3D games. But C++ is harder to learn, and can easily confuse lots of beginners. As you well know Java was based off of C++. So learning C++ then Java works, but it also works the other way around. Sure learning C++ first is like doing the hard work, before doing the easy; learning Java. But IMO learning Java first will teach them the fundamentals to OOP and other skills they can use when learning other languages. And if your worried about bad habits. Let it be known learning bad habits in any programming language is a step backward, so they just need to do their research on creating clean code.
Sure, any language they pick can be learn with lots of practice. And C++ is a VERY useful language to know. But don't go on a rant about how bad Java is when it is actually a useful language. And I should think learning how to create 2D games in Java before creating any 3D game is useful. I'm sure you didn't try to read a sentence before knowing your ABC's, if you get the comparison.
Anyway, to Original Poster
1.Any languages can be learn if you practice. I personally recommend Java.
2.Choose a language your good at, don't let other peoples opinions get to you.
3.Then learn C# or C++, and continue learning more languages.
4.Find a teacher, partner, book, or online tutorials to follow with your learning.
Goodluck, Just My Opinion. Sorry for the huge reply, but more detail I suppose?
1
If you already work with C++, there's no real purpose in going back to C. It's basically just more limiting than C in what you can do. C++ provides built-in methods of performing object orientation and many optimizations (inline functions, etc) that is much more difficult to do in plain C.
Lua is a nice scripting language, but it won't do much on its own.
C# is used by a lot of commercial people for desktop programs; that's where it's strength lies. Most systems already have the .NET Framework installed, and references are resolved only at runtime (there are no "static libraries" like in C/C++) so there is minimal bloat in that respect. You can produce quality programs in C# in very little time as compared to other languages. It however is not recommended to use for native gaming (OpenGL, etc) unless you use a framework specifically designed for .NET, such as the XNA Framework, which is a wonderful framework (at an end-user level; I don't know about the API).
Avoid Java. No need to go there.
-P
Lua is a nice scripting language, but it won't do much on its own.
C# is used by a lot of commercial people for desktop programs; that's where it's strength lies. Most systems already have the .NET Framework installed, and references are resolved only at runtime (there are no "static libraries" like in C/C++) so there is minimal bloat in that respect. You can produce quality programs in C# in very little time as compared to other languages. It however is not recommended to use for native gaming (OpenGL, etc) unless you use a framework specifically designed for .NET, such as the XNA Framework, which is a wonderful framework (at an end-user level; I don't know about the API).
Avoid Java. No need to go there.
-P
1
@Leo
you don' need to use ASM to make an OS.
And trust me you do-not want to make a whole OS I've done it.
The part you want to make is called the shell; and that part can be done in any language what-so-ever.
@arachnakid
Java is certainly not easy to learn ( when compared to any other imperative language )
It's Verbose, Bloated, Overly Strict and did I mention; filled with random Java-only Keywords.
Alot of money has been poured into producing Java programmers by the bucket load ( Java teachers use learning tools such as Karol while C++ teachers do-not )
Moving from C++ to C should be strait-forward; they have identical syntax.. you just have to worry about overflows and forget about object orientation.
Lua is incredibly widely used; it features in many A class programs including Adobe light room, Apache FTP, Foldit at home, VLC media player as well as many games including World of Warcraft, G Mod and GTA.
Lua works via embedded run-times; it's not a pre-compiled language - So maybe you just don't know where to look.
you don' need to use ASM to make an OS.
And trust me you do-not want to make a whole OS I've done it.
The part you want to make is called the shell; and that part can be done in any language what-so-ever.
@arachnakid
Java is certainly not easy to learn ( when compared to any other imperative language )
It's Verbose, Bloated, Overly Strict and did I mention; filled with random Java-only Keywords.
Alot of money has been poured into producing Java programmers by the bucket load ( Java teachers use learning tools such as Karol while C++ teachers do-not )
Moving from C++ to C should be strait-forward; they have identical syntax.. you just have to worry about overflows and forget about object orientation.
Lua is incredibly widely used; it features in many A class programs including Adobe light room, Apache FTP, Foldit at home, VLC media player as well as many games including World of Warcraft, G Mod and GTA.
Lua works via embedded run-times; it's not a pre-compiled language - So maybe you just don't know where to look.
1
Java is the easiest to learn IMO, but gets clunky really fast as you get into more complex programming. I'm currently learning C++ and loving it so far; I want to move on to C at some point. I've heard nothing but good about Lua, although I haven't come across many things that use it so I don't think it's as widespread as some of the other languages.
1
TheyCallMeDangerLeoL274I'm just interested to find out what's the best Programming Language in your opinion. I'm a Game Programmer so I was also wondering what would be the best language to use for Game Programming?
Thanks!
I'm old-school. Very old-school...
IMHO, real gaming languages would be "C" for the higher level gaming code,
and Assembly for CPU intensive graphics.
You youngsters are spoiled silly with these gigahertz processors and matching
memory!
I'm actually interested in learning FORTRAN and maybe Assembly because I've heard you can make an OS using it!
1
C# is probably the best .Net language, it's quite easy to use and has massive support in terms of code-data-base and community.
However; C# is one of the .Net languages; and that is a really, really, terrible thing.
Especially if you are serious about writing useful, quality software.
The problems with C# are such:
Proprietary code - from the top down - your code is the property of Microsoft; you maynot and cannot control what comes out of their compilers ( beyond giving them initial source ) and that fact comes with a million CRUMMY side effects; including...
Having no defined hard-ware platform at-all. ( instead your programs will become OS and SP and .NET FW dependent ) - which is super annoying and extremely unprofessional.
Overhead - MS's read-old hierarchy of precompiled classes and cross linking DLLs are sure to force HEEPS of unintelligible trash into even the simplest programs you try to write.
It also suffers from the same limits in performance as all non-native code - Now I'm not going to over-step here; C# is at-least as fast as Java; but that is no huge claim, even languages from the 60's; such as Pascal absolutely dominate Java and C# in terms of sheer execution speed. ( C++ is faster )
Lua ( unlike any of these other languages ) is really great; it's open-source; it's final programs have absolutely no requirements and it has a very clean syntax as well as a truly elegant set of core data types.
I suggest you give it a try; and i totally encourage you to learn everything you can from it !
Good luck
However; C# is one of the .Net languages; and that is a really, really, terrible thing.
Especially if you are serious about writing useful, quality software.
The problems with C# are such:
Proprietary code - from the top down - your code is the property of Microsoft; you maynot and cannot control what comes out of their compilers ( beyond giving them initial source ) and that fact comes with a million CRUMMY side effects; including...
Having no defined hard-ware platform at-all. ( instead your programs will become OS and SP and .NET FW dependent ) - which is super annoying and extremely unprofessional.
Overhead - MS's read-old hierarchy of precompiled classes and cross linking DLLs are sure to force HEEPS of unintelligible trash into even the simplest programs you try to write.
It also suffers from the same limits in performance as all non-native code - Now I'm not going to over-step here; C# is at-least as fast as Java; but that is no huge claim, even languages from the 60's; such as Pascal absolutely dominate Java and C# in terms of sheer execution speed. ( C++ is faster )
Lua ( unlike any of these other languages ) is really great; it's open-source; it's final programs have absolutely no requirements and it has a very clean syntax as well as a truly elegant set of core data types.
I suggest you give it a try; and i totally encourage you to learn everything you can from it !
Good luck
1
In my opinion, C# is better if you want a more understandable and easy mod making.
1
Well I really can't decide, maybe I should learn a few more languages.. I might give Lua a try!
1
LeoL274I'm just interested to find out what's the best Programming Language in your opinion. I'm a Game Programmer so I was also wondering what would be the best language to use for Game Programming?
Thanks!
I'm old-school. Very old-school...
IMHO, real gaming languages would be "C" for the higher level gaming code,
and Assembly for CPU intensive graphics.
You youngsters are spoiled silly with these gigahertz processors and matching
memory!
1
I like Java, I like all of those.
1
Technically the ''easier'' the language of programming {like javas' System.out.Println("lol") } the slower it will be, so C++ is most likely the fastest, but if you are making a non-intensive game, Java is best. (Most phone games are java!)
1
RevolutionalRedStonetelamonianajaxJava. I hate programming in it, but stuff works best for me with java. not sure why...ScholesyI personally prefer Java for its ease, But C++ Is better, As it is simple like java but its Syntax i find is bad
Okay, so let me get this strait.
You guys only like java... because other languages like C++ are too hard ?...
Because that's a very bad reason to select a language indeed.
I realize at school you have limited options; your classes likely only offer a small group of very dry languages ( probably something like VB, Java and C++ ) but that doesn't mean you're limited to only using those in your own time !
There are far far richer, faster better and more elegant languages to be had...
I think learning Java is a great experience for every programmer; it teaches you to work in an extremely pre-structured environment and in a very formal way. ( take for example private classes with public getters/setters )
But for a programmer to only or even most use Java !.. that would be a real shame indeed.
Java does not teach you to open your mind !, it doesn't impart on you any understanding of the world below ( Byte-code is hidden, obfuscated and essentially universal in speed... very different to native ASM )
I am certain; I would never have become 1/10th the programmer i am today if I'd exclusively programmed using Java.
The best way to learn programming is such:
1. with the aid of an engineer, design an ( unguided ) Instruction Set Architecture.
2. next, with the aid of a programmer; design a key set of programs using that I.S.A.
3. and whenever it's necessary ( and it will be necessary ) go back to step 1.
Soon you'll have a deep understanding of what programming is really all about.. not colors, sounds, keyboards and mice or there respective classes ( as java might have you believe ); but instead providing instruction for a machine.
You didn't get that right, Firstly I can write in Java and C++ as well as PHP, and I said I find C++ better But I prefer to write In java. Yes, I did find C++ harder to learn but They are both easy for me now, Due to the fact I know the languages. I was answering the original post to which I think is easier for beginners to learn to create games.
PS I didn't learn them In school, It was never part of our curriculum, I'm self taught.
view more replies ( 25 )