• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
Wiitoy200

Whats wrong with java?

47 posts in this topic

[quote name='StoneMask' timestamp='1331754823' post='4922054']
What would be the best option while disregarding the support and popularity of a certain language? Elegance, power, efficiency, etc.?[/quote]
Haskell, or maybe Prolog?

None of the faux-object-oriented languages, so popular among the masses, comes anywhere close to their elegance, power or expressiveness.

(I'm only half joking)
0

Share this post


Link to post
Share on other sites
[quote]So say someone wanted to make the best possible running games, performance and flexibility-wise. What would be the best option while disregarding the support and popularity of a certain language? Elegance, power, efficiency, etc.?[/quote]
I always found Brainfuck strangely... soothing to read. It's a bit tedious to the untrained eye though.

I personally love Pascal Object ,for several reasons:
- it's not quite mainstream, yet isn't dead by any means
- I find the language elegant
- It has performance characteristics close to raw C
- you can instantly and seamlessly switch from object-oriented programming to imperative programming, go from class methods to syscalls, without needing to P/Invoke or whatever the current fancy term is.
- compilation is actually fast (although that's probably not a characteristic of the language itself)
- it's cross-platform (FPC/Lazarus)
- it just works (and errors are actually descriptive and helpful) and fast to fire up a project
- library header ports: OpenGL - check. OpenAL - check. OpenCL?? check. DirectX 9/10/11 - check, although those may be a bit unstable, and lots of other cool libraries.
- etc..

That said when you're talking about GPU performance, languages will perform almost identically, since all they do is send instructions to the driver, which will work at the same speed regardless of what language sent the instruction. The real difference comes into play when performing heavy-duty algorithms on the CPU, and even then the gap is closing. I believe the best-suited language for a given task is the one that makes it as easy and elegant as possible to write a given algorithm.

Any language can be used to make an AAA game. Hell, you could just take an AAA game's source, run it through a language converter (which can be done provided both languages are "complete"), and you're all done (theoretically). But I would probably cut my wrists if someone told me to write even a simple tetris in Brainfuck - because it's not suited to the task. It *can* be done theoretically, but you're infinitely better off using a more flexible language.

So basically, use the language you're most comfortable with, unless it is definitely unsuited to what you're looking to do - in that case, do yourself a favor and switch languages. For instance I used to toy around with C# while doing graphics stuff, since it already had some good bindings and lots of online examples. Then I got hooked up into GPGPU technology, remembered my favorite language had an OpenCL port, and I left C# for dead. Not because Pascal Object was better at calling OpenCL functions nor because it was easier to write algorithms there (furthermore, in OpenCL kernels are written in a C dialect, so..), but because I simply preferred one over the other, equivalent (for this task) language.

Programming should be fun, and you shouldn't be forced into a language you don't enjoy just because it's mainstream or some other stupid reason. [i]Unless[/i] you're obviously shooting yourself in the foot using such and such language over another, go ahead. But don't hesitate to learn new languages either, even if you don't need to (like, you might be stuck in a cave with nothing but a Python interpreter one day or something).

TL;DR: if you don't like Java, don't use it when it's not needed. But definitely learn it because one way or the other, you *will* need to use it at some point. But nobody's putting a gun to your head and forcing you to use it 24/7.
0

Share this post


Link to post
Share on other sites
This comes up in some of the programming language forums I frequent. Academics espouse the virtues of Haskell and it's kin while poo-pooing popularity/adoption of mainstream languages. Nothing much against haskell (which is one of the best out of mainstream languages) but popularity matters. If a whole lot of programmers could make better games faster in Haskell than its alternatives don't you think someone would leap on that? There is always a gotcha.
1

Share this post


Link to post
Share on other sites
[quote name='Telastyn' timestamp='1331760395' post='4922066']
Nothing much against haskell (which is one of the best out of mainstream languages) but popularity matters.[/quote]
StoneMask specifically asked us to neglect support and popularity - that's the reason I suggested Haskell and Prolog. Yes, in practical terms they aren't terribly good choices for game development :)
0

Share this post


Link to post
Share on other sites
[quote name='Telastyn' timestamp='1331748850' post='4922029']
Laziness has little to do with it. People have a [url="http://www.musanim.com/miller1956/"]fairly universal limit[/url] on the number of things they can juggle at any given time. The less cycles you're wasting tracking bullshit the computer could do for you the more you can spend on the problem at hand.
[/quote]

Why should a language "protect you from yourself"? That's the advantage of C++ that Java and C# will never see. Also, no matter what language, clock cycles are still being used to free the memory allocated which takes away from your game. But if you want to talk about bullshit tracking, Java's easiest solution for memory leak detection is a seperate program, 7 steps, 2 runs, dumping the stack each run, loading dumps and comparing. C++ is 1 header, 1 define, 1 function and usually 1 run and it'll tell you what function and even what line. That's not including the time spent debugging and testing the fix because that'll usually be same same on either language.

No matter what language you choose, there are positives and there are negatives. Don't assume C++ is better than Java and don't assume Java is better than C++, they both have their pro's and con's that smash eachother into a practically equal state. Choose what you are comfortable with and/or would be the best solution for you.
1

Share this post


Link to post
Share on other sites
[quote name='MarlboroKing' timestamp='1331765600' post='4922081']
Why should a language "protect you from yourself"?
[/quote]

Because humans are inaccurate. Multiple humans are inaccurate [i]and [/i]have trouble communicating.

[quote name='MarlboroKing' timestamp='1331765600' post='4922081']
That's the advantage of C++ that Java and C# will never see.
[/quote]

What advantage is that? That C++ code lets you make more bugs for no benefit?

That is what is called a [i]disadvantage.[/i]

[quote name='MarlboroKing' timestamp='1331765600' post='4922081']
Also, no matter what language, clock cycles are still being used to free the memory allocated which takes away from your game.
[/quote]

Not clock cycles, [i][b]mental [/b][/i]cycles. If you can only track 7 independent variables and some of those are spent managing variable lifetimes in your code, you've got less brainpower to use for real coding.

[quote name='MarlboroKing' timestamp='1331765600' post='4922081']
But if you want to talk about bullshit tracking, Java's easiest solution for memory leak detection is a seperate program, 7 steps, 2 runs, dumping the stack each run, loading dumps and comparing.
[/quote]

Umm, no. Load up netbeans, run profiler (optionally installing JProfiler), include memory tracking, done. I'm fairly certain other IDE's provide similar mechanics.

You won't get a line number, but you're also only doing memory leak debugging once in a blue moon since you have a [i]garbage collector[/i]...
2

Share this post


Link to post
Share on other sites
[quote name='zoneweb' timestamp='1331746405' post='4922017']
[quote]
Slow compared to what? C++, C, Assembly? The JVM has come an awful long way in its 15+ years. And of course there are multiple vendors of JVMs now, all with different performance properties.

Minecraft is written in Java, and while it might not be that much to look at, a whole mass of computations are going on under the hood.
[/quote]
If it was fast, then the graphics could've been done better. Java is not good for gaming unless you're content with not going beyond subpar 3D graphics. Yes, there are commercial games made with Java, but they're only a few in number (at least on PCs). That's a telling sign that it's not meant for heavy duty games.
[/quote]
Ummm... Welcome to the 21st century, where the bottleneck in graphics is: the graphics card, your shaders (if you write the like crap, they'll run like crap), and memory I/O (between RAM and the video card). These days, the amount of graphical work done on the CPU is tiny.
2

Share this post


Link to post
Share on other sites
[quote name='StoneMask' timestamp='1331754823' post='4922054']
So say someone wanted to make the best possible running games, performance and flexibility-wise. What would be the best option while disregarding the support and popularity of a certain language? Elegance, power, efficiency, etc.?
[/quote]
Disregarding the support -- and tools, which you didn't explicitly mention -- really makes your question one that doesn't apply very well to any real-world development. In many cases, good tools and language support are far more important than small differences in elegance or efficiency of the language itself.


When looking at efficiency, don't forget to take into account that the compiler or interpreter, running environment, and specifics of the task being carried out will greatly outweigh the choice of language; you might get great efficiency from a particular language on some platforms, but if you're required to target one where that isn't true it may suddenly become a great choice even if it is otherwise perfect for your needs. If a language is for some reason inefficient when tackling a certain specific task that might be critical for your project which does that task all the time, but if your game only does that task occasionally or not at all it doesn't really matter how inefficient it is.

[quote name='zoneweb' timestamp='1331746405' post='4922017']
If it [java] was fast, then the graphics could've been done better.
[/quote]
[img]http://public.gamedev.net//public/style_emoticons/default/rolleyes.gif[/img]
0

Share this post


Link to post
Share on other sites
[quote name='zoneweb' timestamp='1331746405' post='4922017']
If it was fast, then the graphics could've been done better. Java is not good for gaming unless you're content with not going beyond subpar 3D graphics. Yes, there are commercial games made with Java, but they're only a few in number (at least on PCs). That's a telling sign that it's not meant for heavy duty games.
[/quote]

Spoken like a person who has no sense of style. Seriously though, while you are correct (Crysis in Java?) Minecraft has it's style for a reason but Java is able to do a lot nowadays. For example look at [url="http://jmonkeyengine.com/showcase/"]jMonkeyEngine[/url] and see what can be done with Java. This is without saying a single person will not be able to model, texture and animate things at Crysis level so that is most probably not going to happen and renders that point moot.

[quote name='zoneweb' timestamp='1331746405' post='4922017']
Programs written with the native code SDK still require a VM (for the Android OS at least), which defeats the purpose of writing in native code.
[/quote]

No it doesn't.

[quote name='zoneweb' timestamp='1331746405' post='4922017']
So the best languages are the ones that act like nannies? I see that cognitive laziness and impulsiveness, but I agree with your point.
[/quote]

Most usages of C++ turn it into that anyway with smart pointers and things like that. Then you go even further with memory buckets etc. Until you basically end up writing verbose C#. If you don't do that with C++ your game or program is going to have so many possible ridiculous bugs and lots of undefined behaviour. Don't believe me? Look at this [url="http://altdevblogaday.com/2011/12/24/static-code-analysis/"]blog post by John Carmack[/url].

In reply to the OP. Just think about your actual requirements and what each language brings to the table that you want.
0

Share this post


Link to post
Share on other sites
[quote name='froop' timestamp='1331678189' post='4921792']
Maybe it is because everytime a program requires me to install Java, I look for another program that doesn't, and usually succeed.
[/quote]

I'm sorry, but that reason is sh*t. thats like saying "well the reason valve games blow is because it requires me to download steam and i look for another gamethat doesn't and usually succeed". pure bullsh*t.
0

Share this post


Link to post
Share on other sites
so i've been reading most of the posts put up here (because some started saying stuff i didn't understand so i was all like "next") and what i've seen so far is

C++ is just as bad as java
java still blows (just not as hard as i thought)
C# is my best bet

true or am i completly off?
0

Share this post


Link to post
Share on other sites
[quote name='Wiitoy200' timestamp='1331774519' post='4922136']
so i've been reading most of the posts put up here (because some started saying stuff i didn't understand so i was all like "next") and what i've seen so far is

C++ is just as bad as java
java still blows (just not as hard as i thought)
C# is my best bet

true or am i completly off?
[/quote]

C++: For programmers who want to write all of the code themselves.
Java: For programmers who want to have other people write all of the code for them.
C#: For programmers who want the code to write itself.

[size=3][i]This post is hyperbole. Or is it?[/i][/size]
0

Share this post


Link to post
Share on other sites
C++ is for [url="http://en.wikipedia.org/wiki/System_programming"]systems programming[/url] or [url="http://en.wikipedia.org/wiki/Embedded_system"]embedded programming[/url].
Java and C# are for [url="http://en.wikipedia.org/wiki/Application_programming"]application programming[/url].

On Windows:
C++ programs often need a 2MB "C++ runtime" to be installed.
C# programs need the 50MB ".NET framework" to be installed (which may have been pre-installed by windows).
Java programs need the 20MB "JRE" to be installed.

Java and C# are arguably both derived from C++, but modified to be (arguably) more productive for general programming. They're both "managed" languages, which provide a much more robust and well-defined [url="http://en.wikipedia.org/wiki/Abstract_machine"]abstract machine[/url] than C++ provides.
0

Share this post


Link to post
Share on other sites
[quote name='Hodgman' timestamp='1331786006' post='4922165']
On Windows:
C++ programs often need a 2MB "C++ runtime" to be installed.
C# programs need the 50MB ".NET framework" to be installed (which may have been pre-installed by windows).
Java programs need the 20MB "JRE" to be installed.[/quote]

That's a bit misleading, so lets clarify:
When packaging your application for distribution you need to include the CRT MSI packages, which are approximately 2MB. They are not installed by default with windows, and thus are always a required component. When distributing a .net application you need only package the 800K web installer for the .net framework (appropriate version), as it will then download the correct version and install it IF IT IS NOT ALREADY INSTALLED. Now, regardless of how you package your application, and regardless of the runtime requirement (we're ignoring java here btw), the end result is that you will always be using more disk space than what is listed above... because of SxS versioning. Just to give a quick example, I currently have about 800MB of Microsoft CRT versions sitting in my WinSxS folder... I should also note that the full VC redist for x86 is 8MB, the same redistributable for x64 is 10MB. So if you include x64 versions of your application, along side an x86 version that's 18MB of CRT packages.
0

Share this post


Link to post
Share on other sites
[quote name='Hodgman' timestamp='1331786006' post='4922165']
C++ is for [url="http://en.wikipedia.org/wiki/System_programming"]systems programming[/url] or [url="http://en.wikipedia.org/wiki/Embedded_system"]embedded programming[/url].
Java and C# are for [url="http://en.wikipedia.org/wiki/Application_programming"]application programming[/url].[/quote]
This section is a bit misleading too.

C++ is widely used in developing end-user applications, though not to the extent it was before the rise of Java, .NET, and software-in-the-cloud.

On the other side of the fence, there have been [url="http://en.wikipedia.org/wiki/JavaOS"]OS written from the ground up in Java[/url] (and I vaguely recall a pure-hardware JVM at one point), and a lot of so-called 'embedded devices' run Java.

And in the mainstream of OS development or embedded programming, you'll rarely find C++ *either*. It's considered too bloated and error-prone for use in the Linux kernel, and embedded platforms tend to lack a decent C++ compiler.
0

Share this post


Link to post
Share on other sites
[quote name='swiftcoder' timestamp='1331791592' post='4922182']
And in the mainstream of OS development or embedded programming, you'll rarely find C++ *either*. It's considered too bloated and error-prone for use in the Linux kernel, and embedded platforms tend to lack a decent C++ compiler.
[/quote]
Well, lets be honest here: It's not used in linux because Linus Torvalds would rather not have to learn anything new. It was used rather successfully in BeOS, and no one knows what Windows is written in, but I would be surprised if large chunks of it weren't C++.

Also, C# was used in the [url="http://research.microsoft.com/en-us/projects/singularity/"]Singularity project[/url]
0

Share this post


Link to post
Share on other sites
Regarding the runtime sizes - the size of a runtime shouldn't really have much bearing on the quality of a language anyway. I should've prefaced that better.

Also, to pedantically correct myself, technically a C# program doesn't [i]need[/i] the .NET runtime, Java programs don't [i]need [/i]the JRE and C++ programs don't [i]need [/i]the MSVC runtimes [img]http://public.gamedev.net//public/style_emoticons/default/wink.png[/img]
Keep in mind this is a borderline language bashing thread, so a healthy mix of farce and jest should be expected.
[quote name='swiftcoder' timestamp='1331791592' post='4922182']This section is a bit misleading too[/quote]I'd prefer "opinionated" [img]http://public.gamedev.net//public/style_emoticons/default/cool.png[/img]
Yes you can write an OS in C# or a massive GUI in C++, but IMHO it's not the most productive approach.[quote name='swiftcoder' timestamp='1331791592' post='4922182']
It's considered too bloated and error-prone for use in the Linux kernel, and embedded platforms tend to lack a decent C++ compiler.[/quote]C++ isn't used in the Linux kernel simply because of Linus Torvalds stereotyping of C++ programmers ([i]much in the same way the C++ programmers stereotype Java programmers, and Java programmers stereotype... end users?[/i]). Windows has successfully used C++ at low levels, and we should all know that C++ is no more bloated than C thanks to it's [i]pay for what you use[/i] philosophy.
I'm not sure if embedded platforms still tend to lack good C++ compilers -- yeah, you've had to write "C with classes" type code in the past ([i]which can often be be a better style for such simple systems anyway...[/i][i] ;P[/i]) but the majority of systems I've used have supported a fairly modern GCC or similar quality compiler.
0

Share this post


Link to post
Share on other sites
[quote name='Wiitoy200' timestamp='1331654412' post='4921674']
I've been looking around the web and I've seen a deep hatred towards java? I mean to me it seems like a decent language (then again i'm a noob that doesn't know sh*t about programming other then "If then's" statements.) I also have seen that C++ has a very good rep. can someone explain this to me in [u][b]VERY VERY[/b][/u] LAYMEN TERMS? (noticed how i [b]bolded[/b], [u]underlined[/u] AND CAPITALIZED, [i]very very[/i] laymen.)
[/quote]
That is simply because looking around the web and actually finding professional statements which are not highly subjective, emotional, dogmatic or show even religious tendencies is not an easy task.
For certain topics it is always the same. Use the right keyword and off they go.
Java vs C++
C++ vs C#
C# vs Java
Apple vs Microsoft
.net vs Java
Linux vs Windows
Coca Cola vs Pepsi
whatever

That's the answer to your question.
2

Share this post


Link to post
Share on other sites
Well if we're doing the language-bashing thread thing we can safely say that every language sucks for one reason or another. Thing is though that those making a "language X sucks" statement always omit the qualifier "...for reason Y that is important to me right now in use case Z". Just as it's always possible to find a use case in which any given language sucks, it's also possible to find one in which the same language doesn't suck.
0

Share this post


Link to post
Share on other sites
Java gets used a lot, so it also gets hated a lot... same thing with C++ or anything "widely used".
0

Share this post


Link to post
Share on other sites
[quote name='Hodgman' timestamp='1331687084' post='4921832']Which started out life as a cheap Java clone ([i]which started out as a cheap C++ clone, written by people who didn't grok C++ or OOP[/i]), but has evolved into the language that Java always should have been [img]http://public.gamedev.net//public/style_emoticons/default/cool.png[/img][/quote]This pretty much summarizes it as concise as one can say it in one sentence.

Most of the intrinsic hatred towards Java comes from a sucks-ass implementation 15 years ago, which made unrealistic claims that it couldn't hold. Java started out as a "better C++" which was considerably worse, considerably slower, unstable, and took a huge download (half an hour at the university, which at that time had an internet connection about 7,000 times faster than what you could get at home...). The only truly cool thing about Java at that time was the built-in high quality 2D vector graphics. That, and the cross-platform GUI which was so slow you could walk away and get a coffee after pressing a mouse button. Which, besides, was only cross-platform in theory, because you could only get Java for exactly 1 non-Sun-workstation platform.

I've been one of the biggest Java haters on the planet. However, all the historic negative arguments no longer hold true. Java is entirely competitive nowadays. A computer nowadays typically has somewhat more than 64 MiB of memory, and a few thousand cycles more or less don't matter a lot either (plus, JIT really works well in the mean time, and JIT compilers surprisingly aren't all that bad).

The "code monkey" problem addressed earlier surely exists, but that is probably just because the standard library coming with Java is so complete that (if you can live with somewhat less-than-optimal performance in the worst case) you really don't need an awful lot of skill to code. Plus, care-free automatic memory management and some other language features lend to the same effect. It's also more profitable to hire unqualified programmers, because a lower quality product that makes it to market sooner than the competition and costs less brings more revenue, as long as it only works [i]somehow[/i].
That does not mean Java is bad as such, however. That would be like saying "beer is stupid" because some people drink it until they pass out in their own vomit.

The totally-complete standard library is one of the major reasons why C# is so successful, too. It's not so much that one or the other language is "superior" in any way, but developing in Java or C# sometimes just makes the development process up to a dozen times faster. Time is money, which means development is cheaper. And that's what counts.
1

Share this post


Link to post
Share on other sites
[quote name='Cornstalks' timestamp='1331767609' post='4922091']
Ummm... Welcome to the 21st century, where the bottleneck in graphics is: the graphics card, your shaders (if you write the like crap, they'll run like crap), and memory I/O (between RAM and the video card). These days, the amount of graphical work done on the CPU is tiny.
[/quote]
Your point would be valid if it weren't for the fact there aren't any Java games that have graphics and performance comparable to a modern game written in a non-Java language (e.g., Crysis).

[quote name='CRYP7IK' timestamp='1331769604' post='4922102']
Spoken like a person who has no sense of style. Seriously though, while you are correct (Crysis in Java?) Minecraft has it's style for a reason but Java is able to do a lot nowadays. For example look at jMonkeyEngine and see what can be done with Java. This is without saying a single person will not be able to model, texture and animate things at Crysis level so that is most probably not going to happen and renders that point moot.

[/quote]

Here's a link to the only list I've found so far of commercial games made with Java:

[url="http://www.java-gaming.org/index.php/topic,3123.0"]http://www.java-gami...hp/topic,3123.0[/url]

The latest game on the list, Tribal Trouble 2, has dated 3D graphics. Same situation with the rest of the games on the list too. I understand games made with Java have to work within Java's limitations but it's rather [i]euphemistic[/i] to explain the reason for the substandard graphics that's consistent on many Java games as simply a matter of differing style. Your reference jMonkeyEngine is a good example of Java trailing behind in the graphics department. Blocky, low poly, and pixelated graphics, seriously?

[quote name='CRYP7IK' timestamp='1331769604' post='4922102']
No it doesn't.

[/quote]

[url="http://www.electronicsweekly.com/blogs/eyes-on-android-updates/2011/11/what-is-android-native-code.html"]http://www.electroni...ative-code.html[/url]

[i][quote]The Android NDK is a companion tool to the Android SDK that lets you build performance-critical portions of your apps in native code. It provides headers and libraries that allow you to build activities, handle user input, use hardware sensors, access application resources, and more, when programming in C or C++. If you write [b]native code[/b], your applications are still packaged into a .apk file and [b]they still run inside of a virtual machine[/b] on the device. The fundamental Android application model does not change.[/quote][/i]


[quote name='CRYP7IK' timestamp='1331769604' post='4922102']
Most usages of C++ turn it into that anyway with smart pointers and things like that. Then you go even further with memory buckets etc. Until you basically end up writing verbose C#. If you don't do that with C++ your game or program is going to have so many possible ridiculous bugs and lots of undefined behaviour. Don't believe me? Look at this blog post by John Carmack.
[/quote]

John Carmack acknowledges problems, but what developer never encounters problems? What programming languages never have problems? Should a developer switch to another language simply because he found his current language too hard for him instead of working things out? Carmack never mentioned switching to Java anywhere in that blog post.

I'm not entirely discounting Java as a language for developing games, but with such a discouraging number of commercial games produced with Java, it doesn't support the opinion that Java is good for general game development especially if the developer wants to stay on the cutting edge.

I understand there are developers who feel a sense of romanticism for certain languages because of various reasons (e.g., it's their first language), but sentimentalism shouldn't taint the arguments of why languages are good or bad. Otherwise, why deny the shortcomings of a language in spite of evidence?
0

Share this post


Link to post
Share on other sites
[quote name='zoneweb' timestamp='1331832196' post='4922327']
Should a developer switch to another language simply because he found his current language too hard for him instead of working things out?
[/quote]

It's not a matter of not being man enough to work through problems. It's that you can do the same things faster, with less bugs and less serious bugs in other languages.

And it's not a matter of learning pains either. Good programmers with tons of experience in C++ still make more bugs than in other languages, and/or their peers using other languages.

[quote name='zoneweb' timestamp='1331832196' post='4922327']
I understand there are developers who feel a sense of romanticism for certain languages because of various reasons (e.g., it's their first language), but sentimentalism shouldn't taint the arguments of why languages are good or bad. Otherwise, why deny the shortcomings of a language in spite of evidence?
[/quote]

You're the one espousing C++'s virtues, you tell me.
0

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0