Java? Why not a different programming language?

    Joined
    Jul 21, 2013
    Messages
    2,932
    Reaction score
    460
    • Hardware Store
    This is true to the extent that the skilled programmer isn't already using something with bottlenecks. There are technical limitations with each coding language, so if the programmer is skilled you'd want to be using a program that can match that skill level, or whatever that specific program excelled at, right?
    Depends. How I (currently as a hobby programmer) view it, programming languages are like clothes. You are more comfortable in some, some may have more features/gimmicks, some look good. You may be very comfortable in pajamas, and thus use them more often, however, others are more comfortable in tuxedos, etc. (I deliberatly chose both pajama and tuxedo for this, since their roles in society are quite clear)
     

    SKC

    Joined
    Dec 8, 2014
    Messages
    36
    Reaction score
    1
    Java is known for memory leaks. While C++ performs much better for games, and is the most commonly used language for higher in and better performing games. It also performs rendering and graphics better as well. Since most of this game(code) is centered around its graphics, the game would run alot better if the language could support the game's graphics better.
    This explains why there seem to be more people with 4g ram computers posting problems running the game.
     
    Joined
    Jul 21, 2013
    Messages
    2,932
    Reaction score
    460
    • Hardware Store
    This explains why there seem to be more people with 4g ram computers posting problems running the game.
    Err, kinda. Java never uses all of the RAM, you need to set that value in the memory settings in the launcher. Not doing so results in the game running on 0.5Gb RAM, I think.(correct me if I failed to remember the default mem settings)
    Also, what WarSong said.
     

    MossyStone48

    Cmdr Deathmark
    Joined
    May 29, 2013
    Messages
    1,255
    Reaction score
    432
    Actually the reason for that is almost always a Java edition mismatch. Any machine with 4gb of ram or more really needs Windows 64x of w/e flavor and they need to be sure they installed Java for 64x as well. Some try to tweak the memory settings and end up making their copy look broken and require reinstall. Which never fixes the issue. You have to go back in and un-tweak the memory to use a max of 2048 megabytes. That's all StarMade ever needs. The reason servers use more is because the universe size starts getting too big too fast and no one thinks to use Mega's trimming tool or even just restart the server ever 6 or so hours.
     
    Joined
    Jul 21, 2013
    Messages
    2,932
    Reaction score
    460
    • Hardware Store
    no one thinks to use Mega's trimming tool
    Because I never ran a single test on it, nor have I recieved any message if it works or not from anyone. Whoever uses it is risking corrupting the entire universe :P
     

    MossyStone48

    Cmdr Deathmark
    Joined
    May 29, 2013
    Messages
    1,255
    Reaction score
    432
    Because I never ran a single test on it, nor have I recieved any message if it works or not from anyone. Whoever uses it is risking corrupting the entire universe :p
    More feedback would probably go a long way to fixing that. And the method you use could end up included in SM itself as a clean up routine. Just like some of my code made it into one of the scripts we use on NASS.
     

    MossyStone48

    Cmdr Deathmark
    Joined
    May 29, 2013
    Messages
    1,255
    Reaction score
    432
    Well back to the topic, which became GTA V for some reason..
    The reason Rockstar didn't have everyone code the game in Java is because, simply, why should they?
    Let's approach this from the other direction. Why isn't schema writing StarMade in any member of the C family?
    Well why should he?

    Anything you can claim without proof and be denounced without proof.

    So let's see some code. Prove to anyone who cares that SM or any boxel game would actually have ANY improvement if all the time was taken to re-write it from the ground up in whatever arbitrary language of your choice. Why not COBOL or FORTRAN? Ooo, Microsoft Visual FORTRAN ftw. Wanna play a game? Just run this warehouse full of punch cards through that terminal while it dials into AOL. Just because it appears historically to be reliable doesn't mean it's the only method to use. Or that it's even the right one.

    More to the point; The reason mainstream devs do not code in Java is because their coders don't use or even learn Java. Java is more enterprise level. (I think someone said that already..) while C++ is meant for commercial applications. Why use an enterprise level language (modern COBOL and FORTRAN are still considered enterprise languages btw) to code a game? Power, support, resilience. While you are trying to run GTA V in Windows 10 by forcing settings, using patches or hacks and maybe even an emulated runtime... StarMade will just run. No hunting around on steam forums skipping over troll posts to get your game working. No library or third party software downloads form iffy russian sites. Is Java installed? Sweet, just start the game. As long as OpenGL is kept up to date it'll hook onto your GPU and let you build, mine, explore and conquer to your heart's content.
     

    SKC

    Joined
    Dec 8, 2014
    Messages
    36
    Reaction score
    1
    StarMade will just run. No hunting around on steam forums skipping over troll posts to get your game working. No library or third party software downloads form iffy russian sites. Is Java installed? Sweet, just start the game. As long as OpenGL is kept up to date it'll hook onto your GPU and let you build, mine, explore and conquer to your heart's content.
    This is assuming Starmade gets to that level of programming where it actually runs like your scenario. Right now the game is a technical mess with bugs, memory allocations, graphics options, sound loops, etc.

    The game isn't exactly doing much to tell people how to get it to work either.
     
    Joined
    Jul 6, 2013
    Messages
    48
    Reaction score
    7
    • Purchased!
    This is assuming Starmade gets to that level of programming where it actually runs like your scenario. Right now the game is a technical mess with bugs, memory allocations, graphics options, sound loops, etc.

    The game isn't exactly doing much to tell people how to get it to work either.
    What problems are you having? Ask away and we will do our best to help get things working for you.
     

    SKC

    Joined
    Dec 8, 2014
    Messages
    36
    Reaction score
    1
    What problems are you having? Ask away and we will do our best to help get things working for you.
    What Draeke_Forther Said and "It's alpha, bro.".
    Lol, thanks, I appreciate the offer, but I've more or less now figured out the technical problems I had running the game. Everything else I ask is now basically gameplay oriented.

    What I meant by my critique of the technical problems is that people shouldn't need to go hunting for help on forums to get this game running.

    When the game runs for the first time it should have a detailed explanation of how to:

    A. Check to see which Operating System you have.
    B. Check which version of Java you have.
    C. Download instructions in case you need a different version of Java.
    D. Detailed guide on how to allocate more memory on Java and on Starmade.
    E. Detailed explanation on what each graphics option does.

    This should all be front and center for every user who downloads the game to see. Right now the game is very un-user friendly.

    It's far from start the game and play.

    It is an alpha, but people make impressions based on alphas, so there is a level of importance to at least get people smoothly into the game so they can experience what it has to offer.

    Right now the game greets players with a brick wall basically.
     
    Joined
    Oct 6, 2013
    Messages
    134
    Reaction score
    50
    • Purchased!
    • Legacy Citizen 2
    Ultimately, in My opinion, If a programmer is comfortable in a particular language and uses said language to build Their program, more power to Them. All of Us, from engineers, mechanics, to artists, tend to work within our own preferences and / or limitations.

    ...With that said, in a perfect world: Please, anything but Java. Everything that gets built by it tends to hit a wall, and the only response from the developers is usually just "Sorry guys, it's Java, lol"
     
    • Like
    Reactions: Ithirahad
    Joined
    Jan 22, 2014
    Messages
    1,047
    Reaction score
    299
    Java is known for memory leaks.
    No, it is not. Java doesn't even know memory leaks.
    In object-oriented programming, a memory leak may happen when an object is stored in memory but cannot be accessed by the running code.
    (Source)
    This doesn't happen in Java. If anything, the language is known for its awesome Garbage Collector which, for instance, makes JRuby faster than the native Ruby reference implementation in certain scenarios. Memory in Java can either be accessed by the running code, or will be released by the GC.
    It is possible that you are talking about the JVM appearing to never release memory, which is a whole different thing.

    Let's approach this from the other direction. Why isn't schema writing StarMade in any member of the C family?
    Well why should he?

    Anything you can claim without proof and be denounced without proof.
    The popular¹ alioth benchmark suggests that C++ code (compiled with GCC) is (but usually not more than 2 times) faster than Java, and takes considerably (up to ~50 times) less memory. So in terms of execution speed, Java is not that bad of a choice—in terms of memory, however, it is.

    ¹ often cited because of its representativeness
     

    MossyStone48

    Cmdr Deathmark
    Joined
    May 29, 2013
    Messages
    1,255
    Reaction score
    432
    I think that's a cop out. If it were C++ someone would blame a limit to a library.

    der_scheme thank you for a worthy argument. It's moot at this point. The game is not going to be re-written any time soon. And we'd lose portability. No OSX or Linux versions.
     

    Criss

    Social Media Director
    Joined
    Jun 25, 2013
    Messages
    2,187
    Reaction score
    1,772
    • Master Builder Bronze
    • Video Genius
    • Competition Winner - Stations
    Every time I download java it tells me its on billions of devices worldwide. Aside from that, Minecraft was incredibly successful on java and still is, and yet Starmade is adding features that Minecraft mods haven't even achieved yet. I think we will be fine with java.
     
    Joined
    Nov 16, 2013
    Messages
    1,169
    Reaction score
    48
    • Top Forum Contributor
    • Legacy Citizen 2
    Mine craft is also on consoles to, where it is still popular which isn't java. But the computer version is much better, got to love mods lol.
     
    Joined
    Sep 10, 2014
    Messages
    226
    Reaction score
    398
    • Supporter
    • Master Builder Bronze
    • Competition Winner - Small Fleets
    Thanks everyone for your feedback. It sounds like there's a divide among people who think Java is fine, and for others who think C++ has something to offer that might be beneficial.

    I realize I haven't been clear in some of my comments so I'll to fix that.

    In the simplest phrase I can think, was GTA 5 written in Java? Why or why not?[DOUBLEPOST=1418059729,1418059557][/DOUBLEPOST]

    This is true to the extent that the skilled programmer isn't already using something with bottlenecks. There are technical limitations with each coding language, so if the programmer is skilled you'd want to be using a program that can match that skill level, or whatever that specific program excelled at, right?
    Lol, thanks, I appreciate the offer, but I've more or less now figured out the technical problems I had running the game. Everything else I ask is now basically gameplay oriented.

    What I meant by my critique of the technical problems is that people shouldn't need to go hunting for help on forums to get this game running.

    When the game runs for the first time it should have a detailed explanation of how to:

    A. Check to see which Operating System you have.
    B. Check which version of Java you have.
    C. Download instructions in case you need a different version of Java.
    D. Detailed guide on how to allocate more memory on Java and on Starmade.
    E. Detailed explanation on what each graphics option does.

    This should all be front and center for every user who downloads the game to see. Right now the game is very un-user friendly.

    It's far from start the game and play.

    It is an alpha, but people make impressions based on alphas, so there is a level of importance to at least get people smoothly into the game so they can experience what it has to offer.

    Right now the game greets players with a brick wall basically.
    JUST LOL

    As if other games would simply work. Is this the first game you are playing? Seems so because no game gives you a guide on the frontpage how to run the game and which problems have to get solved. They just say: "Buy it! It´s awesome! Problems? No, the game works fine!"
     
    • Like
    Reactions: Ithirahad

    SKC

    Joined
    Dec 8, 2014
    Messages
    36
    Reaction score
    1
    JUST LOL

    As if other games would simply work. Is this the first game you are playing? Seems so because no game gives you a guide on the frontpage how to run the game and which problems have to get solved. They just say: "Buy it! It´s awesome! Problems? No, the game works fine!"
    With the exception of maybe a couple games, of all the hundreds of games I've played on steam, all I've had to do to launch a game was double click the name, and it ran fine. This is including the many Early Access games.

    Most games don't need a guide on the front page because they don't NEED the guide. They simply work.[DOUBLEPOST=1418071211,1418071146][/DOUBLEPOST]
    Actually its java on consoles too
    A quick search for me says that it's C++, at least on the Xbox's.