Results: Which Programming-Language you prefer to program a game? 

Voters
23 You may not vote on this poll

  • Java
    8  34.78%
  • C#(Sharp)
    1  4.35%
  • C/C++
    3  13.04%
  • Python
    5  21.74%
  • Unity or any other SDK
    3  13.04%
  • Other (please specify)
    3  13.04%
Page 2 of 2 First 12
  • Jump to page:
    #16
  1. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Sep 2014
    Posts
    4
    Rep Power
    0
    C+ and Java are the most common languages on which games are made. I too prefer these languages only.
  2. #17
  3. Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Mar 2015
    Location
    USA
    Posts
    240
    Rep Power
    5
    I would love to make it in python but I doubt that I will be able to do it in the near future as it will take few years to learn it properly perhaps.
  4. #18
  5. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Mar 2015
    Location
    New York
    Posts
    1
    Rep Power
    0
    I`m Java supporter!
  6. #19
  7. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Feb 2014
    Location
    India
    Posts
    200
    Rep Power
    4
    Originally Posted by emmaback
    I`m Java supporter!
    I'm too creating a rougelike in Java as its the only language I know in depth and I've been working with java for a long time so I went with java. Java has not a very good support for traditional rougelike games as it does not have very good console support, there are few libraries like JCurses but they're more problem than help as they break the portability that Java offers. I found a few libraries which have an answer to this, mainly libjcsi. But libjcsi seems to a long dead project, but its stable, working and simple; I didn't go for it because it was too simple and I won't want my rougelike to be like that, and there seemed to be some problems with font.scb so I didn't use it.

    There's another library called Blacken, its fairly complex, has good support and seems to be active (I think it was built in java-7). Many developers are using it and it seems to be the best one out there, but I'm not gonna use it as I'm creating this game not for testing my knowledge of programming and to increase it so I'll pass on that, surely its a really good library but I'll first implement my own, if I feel there's some problem I can always fall back on that. On the contrary there's very good 2D games support in java, and now that the JVM is becoming faster with each release, 3D games are very much supported with all the new library bindings which are there. I've been playing lots of 3D games coded in java and they doesn't seem to have much problem, the GC which was a nightmare for 3D games back then is nothing right now. There are bindings available for SDL, OpenGL in java. Game-Engines like the JMonkey game-engine for 3D games are also in continuous development (3D game programmers should look up on jmonkey-engine, the jme3 sdk is surprisingly easy-to-use). But its sad that there's no java-binding for the libtcod rougelike library (there was one but that project was abandoned 2 years ago).

    For 2D there are numerous libraries like Slick2D, lwjgl, libgdx, even Java2D seems to work fine on mid-scale games but I don't know its limits.
  8. #20
  9. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Sep 2014
    Posts
    42
    Rep Power
    3
    It's true that C++ is the most popular language used in console games today, but that doesn't mean it's the first language you should learn.

    Increasingly, C/C++ is used to build a game engine, and a higher-level scripting language (often a variant of JavaScript, Python, or lua) is used to make the actual game levels and interactions.

    Microsoft's XNA architecture is attractive, as it uses the powerful C# language and allows you to test games on your XBox 360 (but not to market them without a prohibitive license fee.)

    However, the language isn't really the most important consideration. First you need to learn how to program, and then you need to know how to write games. Pick a language that makes these tasks as easy as possible.

    The important thing is to learn how to program. It really doesn't matter which language you learn, as they all have the same basic features:

    Data - basic data in variables, data types, more advanced data structures like arrays and objects.

    Control Structures - how to make the computer's behavior change - loops, branches, and functions.

    Then you'll need to learn how to program games - a specific and unique style of programming -

    Generating a 2D or 3D display (2D is generally much easier with a lot less math)

    Creating an animation loop that redisplays the screen at a decent frame rate (to give the illusion of continuous motion)

    The ability to create sprites (the visual entities on the screen that move around and crash into each other)

    User input - Getting user feedback from the mouse, keyboard, and joystick.

    Collision detection - managing how things bonk into each other and what should happen when sprites collide.

    AI - how do you get enemy objects to act in a realistic way?

    Physics - many games require at least a basic physics model to handle mass, acelleration, and gravity.

    I recommend starting in Python:
    It's completely free - nothing to buy.
    It's very powerful - it uses the same libraries you'll eventually use in C/C++ (SDL, DirectX, openGL, depending on how you do things - SDL is a great place to start)
    It's truly multi-platform. Unlike XNA, it works on virtually any computer.
    The syntax is cleaner and easier for beginners than C, C++, or Java
    You can use it to make any type of game imaginable.

    Comments on this post

    • hexman agrees : Good answer man, though I would recommend java or c for games :).
    • Will-O-The-Wisp agrees : Thanks for sharing your detailed thoughts :D
  10. #21
  11. Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Aug 2012
    Location
    Burb of Detroit, Michigan
    Posts
    107
    Rep Power
    96
    I like Flash for games for it's easy for me to design graphically in Flash, though I haven't coded in Actionscript in a long time.
  12. #22
  13. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Feb 2014
    Location
    India
    Posts
    200
    Rep Power
    4
    But yes, if you already know how to program then expand your knowledge of programming by writing simple software, those programs need not have anything to do with games but they'll teach you the language in depth, you'll learn about the process of development, the problems and difficulties; And if you know your language thoroughly then you don't need to bother about choosing any language.

    The best language for creating a game, is the one you know well. It doesn't need to follow any specified rules or anything, the main thing is that you know that language.

    If you don't know any (turing-complete) programming languages then learn what you want to learn. There are already good guidelines on choosing a programming-language. If you don't know any programming language, then HTML is a good one to start with:

    If you don't know how to program, writing HTML will teach you some mental habits that will help you learn. So build a home page. Try to stick to XHTML, which is a cleaner language than classic HTML.
    But bear in mind that its not a programming language, I would recommend an easy programming language to start with, like Python or Ruby. Perl is also compared to Python but its not easy and its syntax can be very confusing for beginners. There are other programming-languages too, much more powerful (like C) but they're not good for a beginner. According to esr:

    But HTML is not a full programming language. When you're ready to start programming, I would recommend starting with Python. You will hear a lot of people recommending Perl, but it's harder to learn and (in my opinion) less well designed.

    C is very efficient, and very sparing of your machine's resources. Unfortunately, C gets that efficiency by requiring you to do a lot of low-level management of resources (like memory) by hand. All that low-level code is complex and bug-prone, and will soak up huge amounts of your time on debugging. With today's machines as powerful as they are, this is usually a bad tradeoff it's smarter to use a language that uses the machine's time less efficiently, but your time much more efficiently.
    Then you can move on to choosing your own programming-languages. I would recommend sticking with the language you learnt first then after you grasp onto the main programming topics you can move onto the language(s) of your choice. Its a good practice to learn programming languages which handle problems differently (like learning Common-Lisp and C; not C++ and Java).

    C is generally good for all kinds of programming, C++ has added features to C for more advanced programming (mainly systems programming), it is fast (faster than what most compiled languages are), it has advanced object-oriented features like operator overloading, multiple-inheritance which handles all kinds of problems efficiently; but on the contrary, due to these features, it becomes ridden with overly complex and hard-to-grasp topics. That's why its not good for learning as your first language but learning C/C++ will become an imperative if you move onto more advanced fields (mainly 3D games and System-Programs).

    C++ is the best language for games as its object-oriented, handles large projects efficiently, has a large codebase of supported libraries (most of the game libraries are in C++) and on top of it, its faster than most languages out there, so its the first choice for games, especially 3D games (the other option for 3D games is Java).

    Java is good for getting a good knowledge of Object-Oriented programming which will help you later while designing applications which solve real-problems. It has OO features like that of C++ but not the ones which will overly complicate the language. As a result, Java does not have multiple-inheritance or operator-overloading. Java has garbage-collection, which will spare you the burden of managing memory by hand, while increasing your efficiency greatly. Java has a bad reputation for being "slow" but its not an issue anymore, and with JVMs being faster released every year, this issue has been greatly exaggerated by those who don't know that the speed of the program mainly depends on how its coded; not by which vm its being run.

    For Common-Lisp, I'll just quote esr here,

    LISP is worth learning for a different reason the profound enlightenment experience you will have when you finally get it. That experience will make you a better programmer for the rest of your days, even if you never actually use LISP itself a lot. (You can get some beginning experience with LISP fairly easily by writing and modifying editing modes for the Emacs text editor, or Script-Fu plugins for the GIMP.)
    I would recommend starting with Common-Lisp which will spare you the confusion of these so-called Lisp-Variants. Scheme is good if you have previous academic experience but Common-Lisp is one of the major dialects of Lisp which is useful even in real-life applications (the other being Clojure). It will teach you good programming practices, functional programming and a different-type of OO system (CLOS, that is). Unlike what most people think, Common-Lisp (or any Lisp) is a very good language to start with, even if you don't know any programming language. The syntax of S-Expressions which look complicated to other programmers are easy to grasp for someone who hasn't learnt any kind of programming. If you still don't understand what this "enlightenment" means, then the only way to know is to learn the language. Get a copy of SLIME (and learn to use Emacs if you don't know) and get the "Practical Common-Lisp" book to get started.

    There are numerous other programming languages but these (Python, Perl, Java, C/C++, Lisp) are the traditional ones.

    # New programming languages are being created every year. That doesn't mean that they're not worth a look. Ruby is an awesome programming languages for oo fans and py (and perl) programmers alike, its pure object-oriented, with a syntax not as confusing as C but not as ambiguous as Python though being as easier and equally powerful.

    # C programmers should take a note about Go-lang. A new programming language created by google, it has a syntax which reminds of Python and C. Its semantics are similar to that of C, having garbage-collection and without having the weaknesses of C along with the easy syntax of Python.

    # C++ and dynamic-language programmers should take a look at D. Its a (relatively) new language, with Java-like features, multi-paradigm (full OO and functional support), garbage collection and without compromising the power of C++ (i.e. low-level memory manipulation like C++). It aims to combine the power of (interpreted) dynamic languages with the speed of compiled languages like C++. I don't know how much it has progressed till now but surely it looks promising.

    The only problem with these languages is the problems that most new languages face. As they've not been around for a while, they've gathered little support, so finding libraries and code (existing projects) is hard. Especially when developing games, you won't find bindings for popular game libraries (OpenGL for an instance) for languages like Go. But efforts by the community to code bindings are underway but I don't know for sure if the complete bindings available or not.

    Windows programmers, do not settle for Visual-Basic. I know that its pretty much outdated right now but there are still some programmers working on VB (though their numbers are decreasing); Others are going for either VB.NET or C#.

    But there is a *better* (and easier) alternative, Free-Pascal (or Delphi) is an extension of the old Pascal programming language, its free and open-source (Delphi is not, Free-Pascal is), there is extensive support for Windows applications and rapid-application development. It is object-oriented, easy to use and has speed compared to compiled C programs. Despite the fact that it has good support for Windows, its can be easily ported to another architecture or OS provided that there's a FPC compiler available for that system (for a detailed list see: Free Pascal - Wikipedia, the free encyclopedia).

    Visit the Free Pascal site for more information: Free Pascal - Advanced open source Pascal compiler for Pascal and Object Pascal - Home Page

    Links:

    Ruby Website: https://www.ruby-lang.org/en/
    Programming Ruby: Programming Ruby: The Pragmatic Programmer's Guide

    D Programming Language website: Home - D Programming Language
    Programming in D (Free D-Programming language book): http://ddili.org/ders/d.en/index.html

    Go-Lang Site: https://golang.org/
    Introduction to programming in Go: http://www.golang-book.com/

    Comments on this post

    • Will-O-The-Wisp agrees : Thanks for sharing your thoughts - this is a really big write-up!
    Last edited by hexman; April 5th, 2015 at 09:31 AM. Reason: added info on VB and pascal; added links and other stuff
  14. #23
  15. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Dec 2009
    Location
    Nevada, USA
    Posts
    17
    Rep Power
    0
    Love basic and Java, used Blitzbasic and MonkeyX, but now moved on to Unity since its free, I absolutely love it! Using C# scripts.
  16. #24
  17. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Sep 2015
    Posts
    6
    Rep Power
    0
    I like C++. It is super powerful and you can literally do anything you can think of.

    I would use java if I were writing some software that needed to be cross-platform, but I find it isn't as powerful.
  18. #25
  19. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Sep 2014
    Posts
    42
    Rep Power
    3
    While major AAA games often have a C++ engine, they rely on many languages internally. Often they will have one or more scripting languages for game logic, plus additional languages used for tools and ancillary technologies.

    Over my own career I have written games of varying quality in every one of these languages:
    C
    C++
    C#
    Java (standalone)
    Java (applets)
    Objective C
    HTML + JavaScript
    Pascal
    Flash
    Python
    Assembly
    COBOL (just one game as I learned the language for fun at age 15...)
    Assorted forms of BASIC, including one for a DSP board.

    Those are games that I have personal experience with.

    Some of those games were very simple, such as 'guess the number' style games. Others were much more complex, including several AAA titles I have worked on. Some were just for fun because I had time to kill -- I worked with a traffic sensor company and we draw a little road that showed the cars as they drove by; I couldn't stop myself and threw in a simple frog-like sprite that could hop around the lanes.


    Really it all depends on what you want to define a game as. I recall a comic strip years ago where people programmed two elevator shafts as paddles in a very large pong game.
  20. #26
  21. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Feb 2014
    Posts
    2
    Rep Power
    0
    I am using Free Pascal/Lazarus, I just like the language and I think that is important. it can link to C lib's so I am using Sdl2, FreeType, Opengl, OpenAl at the moment and Vulkan is very high on my list when it is released.
  22. #27
  23. Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Apr 2009
    Posts
    351
    Rep Power
    258
    I'm using JavaScript to develop an MMO. Node.js for the server, and HTML5 for the client.
    - The Wise Guy
  24. #28
  25. No Profile Picture

    Join Date
    Apr 2016
    Location
    United Kingdom
    Posts
    2
    Rep Power
    0
    My first game was with Java using JavaFX which was fun so I'm going to stick with that.
    Although I'm more into using Unity at the moment it's a lot of fun.
Page 2 of 2 First 12
  • Jump to page:

IMN logo majestic logo threadwatch logo seochat tools logo