which programming language?

Discussion in 'General Off-Topic Chat' started by camochase, Oct 27, 2013.

  1. camochase
    OP

    camochase GBAtemp Regular

    Member
    164
    6
    Oct 26, 2010
    United States
    Hey tempers i need some advice. I want to learn a programming language but i don't know which one I've started on visual basic right now to make simple applications. But really what language would be best if my end result is to make video games? I mean i'm sure there is no best one but more like most versatile for (hopefully) multi-platforms. I am probably going to stick with 2d pc games though. thanks for your suggestions
     
  2. ilman

    ilman Gbatemp's Official Noise Eraser

    Member
    1,130
    243
    Jul 25, 2010
    Shibuya
    C# and C++ do the job well for me (C# being the better one for making games).
    Java isn't a bad choice, either.
    Just learn C and choose one of the above (since they're all C-based).
     
    camochase likes this.
  3. Niksy

    Niksy Advanced Member

    Newcomer
    97
    72
    Oct 23, 2010
    If your end-goal is to make games on PC than learn C/C++ and grab a book on OpenGL.
     
  4. Issac

    Issac I

    Global Moderator
    GBAtemp Patron
    Issac is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    5,368
    2,659
    Apr 10, 2004
    Sweden
    Sweden
    C++ and C# would be useful. Unity uses C# for example (and JavaScript, and Boo).
     
  5. Foxi4

    Foxi4 On the hunt...

    pip Reporter
    23,640
    21,698
    Sep 13, 2009
    Poland
    Gaming Grotto
    Starting with C/C++ will give you a free entry voucher for a great number of other languages as the syntax of for example JavaScript is heavily based on them.
     
  6. ThePowerOutage

    ThePowerOutage The Lord of the Flyes

    Member
    813
    24
    Mar 23, 2009
    Vallhallah
    No-one should even have to got through the pain of learning C as their first language. Ever.

    OT: Go for C#. It's great for making 2D games, and easy to pick up as a beginner. It's faster than python, and teaches better coding principals IMO. Also, with Mono, it is easy enough to build for different platforms (the SDK for Mono on android is quite expensive though IIRC)
    Learning your first language is always the hardest. C#, in my opinion, is a good mid point between difficult languages (C) and easy (Python, JavaScript), and the principals you'll learn make learning Python a breeze and C significantly easier.

    I would look around for a intro to programming video tut. (Lynda is usually good for stuff like this) These usually use a language like JS just to explain the basic principals common to all languages.

    EDIT1: Also, I prefer MonoDevelop to Microsoft VS, but I haven't used VS for a while. Play around with both, see which suits you better.
     
    calmwaters likes this.
  7. ilman

    ilman Gbatemp's Official Noise Eraser

    Member
    1,130
    243
    Jul 25, 2010
    Shibuya
    What's wrong with C? :huh:
    I've been using it as base knowledge for all the languages I know so far (Java, C++, C#, heck, it even resembles Basic a bit).
    And it isn't as difficult as you say. Try learning C++'s memory overloading and STL and tell me it isn't more difficult than C.
     
  8. the_randomizer

    the_randomizer The Temp's official fox whisperer

    Member
    22,476
    10,807
    Apr 29, 2011
    United States
    Dr. Wahwee's castle
    I always thought learning C# was an excellent way for beginners to be introduced into programming, sort of a way to break them in.
     
  9. Foxi4

    Foxi4 On the hunt...

    pip Reporter
    23,640
    21,698
    Sep 13, 2009
    Poland
    Gaming Grotto
    I don't see a problem with C/C++ either, they're probably the most straight-forward languages in the universe wheras a brief adventure with C# made me want to look for the nearest noose I could find to end myself.
     
    the_randomizer likes this.
  10. calmwaters

    calmwaters Cat's best friend

    Member
    1,718
    375
    May 27, 2013
    United States
    happy land
    I say Visual Basic and C++; they complement each other pretty good (except for the array bit) and are the easiest to learn. Then you can learn the nightmare that is C; better yet, you could just skip it.
     
    the_randomizer likes this.
  11. Zaide

    Zaide GBAtemp Regular

    Member
    296
    120
    Apr 2, 2009
    United States
    If you learn C/C++ now then it will make your life easier later if you try to learn other languages. People who learn Java first generally tend to struggle with C/C++, but people who learn C/C++ rarely have problems learning Java. It's just because C/C++ is a more complicated language.

    Also, don't learn C... learn C++. C++ adds classes which allows for other features like streams. Streams will immediately make your life easier as you are learning the language and classes will make your life easier later once you get used to the idea of Object Oriented Design.
     
  12. Ubuntuの刀

    Ubuntuの刀 :^D

    Member
    378
    213
    Apr 12, 2009
    United States
    I'd recommend learning Python if you know absolutely nothing(semms like you do).
    And then Java/C/C#/C++. They seem to have similar syntax, so choose your flavor. I'm learning Java as Java is available on all OS's. C/C#/C++ tend to be windows sided only(correct me if I'm wrong).
     
    AceWarhead likes this.
  13. Theconejo

    Theconejo GBAtemp Regular

    Member
    116
    16
    Mar 2, 2012
    United States
    Never really got into programming but I tried code academy when I was figuring out if I wanted to learn and it was pretty nice to have, essentially, free courses that teach you basics of Java. I think they offer other things too.


    My brother suggested Python like a few others here. He also shared this fellows sentiment about C.
     
  14. grossaffe

    grossaffe GBAtemp Addict

    Member
    2,767
    2,145
    May 5, 2013
    United States
    How are C/C++ windows only? The Linux kernel was programmed in C. Java's benefit is that it does not need to be recompiled for various systems because it's only compiled down into byte-code which is then run through virtual machines that are specially made for each system. That's also it's detriment as running through a virtual machine makes it less efficient to run. C code, on the other hand, needs to be compiled for each system it will be run on.

    As for languages to learn, I'm a big believer in C. It's a good foundation to be able to move onto other languages. It's not Object-Oriented, but after you learn the nuances of C, you can move onto languages like C++ and C# with a strong understanding of what you can do without object orientation, and then adding in objects will just make you all the more powerful. Biggest obstacles to overcome in learning C that I can think of are pointers and memory management, but they aren't really all that hard to learn, just takes a bit of extra reading and effort.

    But, if you've been scared off of learning C first, Java's decent to learn too, though I personally wouldn't recommend it for games. I'd use the experience of learning it as a stepping stone to a language like C and it's super languages. I had a pretty seemless transition when going from Java to C as the syntax is mostly the same, you just have to learn pointers and such.
     
  15. shakirmoledina

    shakirmoledina Legend

    Member
    6,611
    218
    Oct 23, 2004
    Tanzania
    Dar es Salaam
    Your Aim: Make Games

    Best Free Tool: Unity Engine 4.2
    Why?
    1.) Free
    2.) Porting same game to Android, iOS, and PC
    3.) Does not require high understanding of the programming language
    4.) Pah-lenty of tutorials on YouTube and Unity3d website

    My suggestion:
    Learn Unity with C# coding as you will need to learn less and faster. Graphics, forget about it for now and start with the basics also Unity handles a major part of the graphics so you will not need to program in that area, not even a cookie.

    My Experience:
    I started learning C# with head first books and it was lovely however there are some major parts that would really take you time to get used to.

    1.) You are beginning for the first time with a language and that means getting the fundamentals right; not easy rather steep.
    2.) C# with Visual Studio does not support graphics in the way you might want it however it does incorporate it at a higher level; not worth it.
    3.) You want to make games; Unity is a given really.


    Unity 3D