1

Which language is better: Java, C# or C++?

LeoL274's Avatar LeoL2744/26/13 1:47 am
1 emeralds 2.8k 85
6/30/2014 1:25 pm
Azie's Avatar Azie
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!
Posted by LeoL274's Avatar
LeoL274
Level 55 : Grandmaster Pokemon
68

Create an account or sign in to comment.

85

1
06/30/2014 1:25 pm
Level 58 : Grandmaster Grump
Azie
Azie's Avatar
Dat necropost doe.

/lock
1
06/30/2014 1:17 pm
Level 67 : High Grandmaster Toast
sigurd4
sigurd4's Avatar
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
06/30/2014 1:12 pm
Level 37 : Artisan Ranger
Caporal Dxl
Caporal Dxl's Avatar
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
06/30/2014 12:52 pm
Level 40 : Master Taco
Swimmer1929
Swimmer1929's Avatar
I'm willing to bet my cat that half the people who posted here don't program.
1
06/30/2014 1:04 pm
Level 15 : Journeyman Geek
GamerGeeked
GamerGeeked's Avatar
I'm Learning
1
06/30/2014 12:58 pm
Level 34 : Artisan Dragon
Find Them Creepers
Find Them Creepers's Avatar
I know Python, which is a scripting language. So I'm a scripter, I guess? Close enough
1
06/30/2014 1:01 pm
Level 60 : High Grandmaster Programmer
MattsOnMc
MattsOnMc's Avatar
i think you can call everyone who writes code to make something happen @runtime or onruntime can be called a coder
1
06/30/2014 12:53 pm
Level 60 : High Grandmaster Programmer
MattsOnMc
MattsOnMc's Avatar
heh ye

im a +1 on someone who does code
1
06/30/2014 12:51 pm
Level 60 : High Grandmaster Programmer
MattsOnMc
MattsOnMc's Avatar
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)
1
06/30/2014 12:50 pm
Level 15 : Journeyman Geek
GamerGeeked
GamerGeeked's Avatar
all of them
1
06/30/2014 12:47 pm
Level 57 : Grandmaster Programmer
bmanrules
bmanrules's Avatar
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
1
06/30/2014 1:05 pm
Level 60 : High Grandmaster Programmer
MattsOnMc
MattsOnMc's Avatar
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
1
06/30/2014 12:20 pm
Level 34 : Artisan Creeper Hugger
QuickWhitt7
QuickWhitt7's Avatar
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
06/30/2014 12:44 pm
Level 34 : Artisan Dragon
Find Them Creepers
Find Them Creepers's Avatar
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++.
1
01/22/2014 10:26 am
Level 13 : Journeyman Architect
Dragonix12
Dragonix12's Avatar
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
01/22/2014 9:58 am
Level 37 : Artisan Demolitionist
dbran1
dbran1's Avatar
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++
1
05/13/2013 1:53 pm
Level 54 : Grandmaster Programmer
CastleCorp
CastleCorp's Avatar
Java FTW! or lua, cuz you use it in tekkit XD
1
05/12/2013 10:53 am
Level 3 : Apprentice Miner
bluehulk24
bluehulk24's Avatar
C++ Definitely
1
05/12/2013 10:46 am
Level 53 : Grandmaster Pirate
RevolutionalRedStone
RevolutionalRedStone's Avatar
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.
1
05/12/2013 4:50 am
Level 88 : Elite Scapegoat
Paril
Paril's Avatar
Personally, I've always preferred C streams better.

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
05/12/2013 4:44 am
Level 67 : High Grandmaster Sweetheart
Jas
Jas's Avatar
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.
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
05/12/2013 4:28 am
Level 4 : Apprentice Mage
DaMastaModder
DaMastaModder's Avatar
I Find C# The Best. Maybe You Wouldn't Though.

-da_masta_dude
1
05/12/2013 3:33 am
Level 88 : Elite Scapegoat
Paril
Paril's Avatar
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
1
05/12/2013 3:17 am
Level 53 : Grandmaster Pirate
RevolutionalRedStone
RevolutionalRedStone's Avatar
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.
1
05/12/2013 9:15 am
Level 3 : Apprentice Miner
Taledus
Taledus's Avatar
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].
1
05/12/2013 1:29 am
Level 3 : Apprentice Miner
Taledus
Taledus's Avatar
Truncated for pointlessness:
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
05/12/2013 1:21 am
Level 53 : Grandmaster Pirate
RevolutionalRedStone
RevolutionalRedStone's Avatar
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.
1
05/11/2013 11:09 pm
Level 3 : Apprentice Miner
Taledus
Taledus's Avatar
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
05/11/2013 10:44 pm
Level 53 : Grandmaster Pirate
RevolutionalRedStone
RevolutionalRedStone's Avatar
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
05/11/2013 9:04 pm
Level 88 : Elite Scapegoat
Paril
Paril's Avatar
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
05/11/2013 12:20 pm
Level 22 : Expert Crafter
Neptonic
Neptonic's Avatar
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
05/11/2013 7:49 am
Level 7 : Apprentice Artist
JakehMC
JakehMC's Avatar
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
05/03/2013 8:42 am
Level 41 : Master Enderdragon
tom101_12
tom101_12's Avatar
java isnt the best language to use it kinda recks your computer
1
05/03/2013 8:37 am
Level 30 : Artisan Mage
19dshriver
19dshriver's Avatar
C++ is a hard language to learn, but it will pay off.
1
05/03/2013 8:35 am
Level 30 : Artisan Mage
19dshriver
19dshriver's Avatar
Java is the most common
1
05/03/2013 7:00 am
Level 22 : Expert Engineer
Windvlaag
Windvlaag's Avatar
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.
1
05/03/2013 5:26 am
Level 53 : Grandmaster Pirate
RevolutionalRedStone
RevolutionalRedStone's Avatar
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
05/03/2013 5:13 am
Level 53 : Grandmaster Pirate
RevolutionalRedStone
RevolutionalRedStone's Avatar
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
05/03/2013 3:01 am
Level 1 : New Miner
Bugs_e
Bugs_e's Avatar
@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?
1
05/03/2013 2:37 am
Level 88 : Elite Scapegoat
Paril
Paril's Avatar
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
1
05/03/2013 2:21 am
Level 53 : Grandmaster Pirate
RevolutionalRedStone
RevolutionalRedStone's Avatar
@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.
1
05/03/2013 2:01 am
Level 34 : Artisan Spider Rider
Noxyoursox
Noxyoursox's Avatar
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
05/03/2013 1:51 am
Level 55 : Grandmaster Pokemon
LeoL274
LeoL274's Avatar
TheyCallMeDanger
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!


I'm actually interested in learning FORTRAN and maybe Assembly because I've heard you can make an OS using it!
1
04/30/2013 4:40 am
Level 53 : Grandmaster Pirate
RevolutionalRedStone
RevolutionalRedStone's Avatar
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
1
04/30/2013 2:42 am
Level 16 : Journeyman Dragon
Y0L0swag
Y0L0swag's Avatar
In my opinion, C# is better if you want a more understandable and easy mod making.
1
04/30/2013 2:37 am
Level 55 : Grandmaster Pokemon
LeoL274
LeoL274's Avatar
Well I really can't decide, maybe I should learn a few more languages.. I might give Lua a try!
1
04/29/2013 10:51 pm
Level 17 : Journeyman Toast
TheyCallMeDanger
TheyCallMeDanger's Avatar
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
04/28/2013 6:25 am
Level 30 : Artisan Geek
Chuk40076
Chuk40076's Avatar
I like Java, I like all of those.
1
04/28/2013 6:14 am
Level 66 : High Grandmaster Modder
duke_Frans
duke_Frans's Avatar
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
04/28/2013 5:21 am
Level 43 : Master Modder
HyJaffa
HyJaffa's Avatar
RevolutionalRedStone
telamonianajaxJava. 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.
Planet Minecraft

Website

© 2010 - 2024
www.planetminecraft.com

Welcome