What programming language should I learn?

Discussion in 'Miscellaneous' started by 607, Dec 23, 2014.

?

Of which of these things do you know a fair bit?

HTML 16 vote(s) 39.0%
GML 4 vote(s) 9.8%
anything from the BASIC family 8 vote(s) 19.5%
Java 17 vote(s) 41.5%
Javascript 14 vote(s) 34.1%
C or C++ 20 vote(s) 48.8%
C# 5 vote(s) 12.2%
Python 14 vote(s) 34.1%
Unity 5 vote(s) 12.2%
Flash 5 vote(s) 12.2%
Multiple votes are allowed.
  1. Hi, it's me again!

    Lately I've been wanting to learn a new programming language, just for some diversity.
    When my next Ludum Dare comes around I would like to be able to do it in another language than GML (GameMaker).
    But I'm not too sure what I should do. I would like some tips from more experienced coders.
    I already know GML and have experience with GFA-BASIC.
    You shouldn't recommend me starting with something like Scratch.
    I already have programming experience, and know how the basics work.
    I would just like to learn a new language, and don't know what I should do.
    I'm open for real "languages" like Java and C# but also for programs like Game Maker or Unity that have a lot more than only coding to them, as long as it's flexible, unlike Scratch.
    I'm looking forward to seeing your replies :)
    ShelLuser likes this.
  2. you are screaming C# right now

    No but for real, if you want to get started with C# PM me and I'll get you setup with all the stuff you need :)
    Perry_Stahlsis and 607 like this.
  3. I'd go for Python if I was you. It's powerful, a lot of companies like you to have it, it's easy to learn and you can gain a lot from it :) If not that, Ruby.
    Kaizimir and 607 like this.
  4. Hey, you edited your post :p
    That first post was probably not so smart, because I could've easily missed this :p
  5. Java =D
  6. I hadn't actually ever heard of Ruby before! Interesting...
    sambish20 likes this.
  7. Could you motivate that suggestion? :)
  8. The question is: What do you want to program?
    Perry_Stahlsis likes this.
  9. That's a great question :p
    Up until now, pretty much everything I've created are games. Just fun little indie games, like this one I made for the previous ludum dare I joined. Something I've been looking for though, is a way to create multiplayer games. Like, online. So that would be great, if I can get a language which I can use to make online games.
    Pab10S likes this.

  10. Oh noes, it's you! :)

    Errr, I mean: Hi there!


    But what scratch?

    Because if I am not mistaken then both GFA-BASIC as well as GML (Geography Markup Language)... Err, ok: Gamemaker (had to Google both) are both pretty linear. At least that's my first impression, and considering my state I could be wrong.

    Even so.. I grew up with C64 Basic, then assembly (awesomeness), then BBC Basic (which you could actually enhance with in-line assembly, we're talking the 80's here in case you (dear random reader) don't recognize the awesomeness (even my c64 with 'extensions' couldn't do this)) then Pascal (PC) and what followed later was all self-taught.

    Eventually I started to specialize in Java (due to my Sun heritage) and shifted a bit to C# (mainly fueled by Oracle).

    My point: there is a major difference between programming in 'linear language' and a object orientated language.

    I can't tell for sure what GFA-BASIC is at this time, but it seems to be linear to me.

    In which case learning an OO language could actually mean re-learning your basics. Trust me; there's quite a difference between those.

    Still.. I'll re-read this thread (I am in a funny mood right now) but.. If the choice is between Java or C# then I would concentrate on C# to be honest. Its not that I favor Microsoft heavily, but more my dislike for Oracle. I don't see a future there, especially not for the regular market (non-enterprise aka non high-cash).

    One question though: what do you have in mind with regards to programming? Any specific projects in mind? (desktop app, webapp, etc.)?
  11. HTML isn't a programming language. Javascript and PHP are programming languages - both of which I suggest learning.

    He doesn't know Java so I don't know what motivation that he can give :p
    ShelLuser and sambish20 like this.
  12. If you go to these two links - you can see some of the comparisons between java and c# | vb.net and c#

    http://en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Java
    http://en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Visual_Basic_.NET

    most people here will first say 'java' ...totes java 'but' it depends all on what you want to make... if you want to make desktop applications, i'd personally say learn vb.net or c# for windows... for mac and linux you could use mono support - but java might be easier there....

    If you want to make windows phone apps c# or vb.net , for apple mobile devices ... xcode , for android i'd say java.

    for consoles - c# is mainly used .... java isn't really used for consoles ... you might see c++ if c# isn't used.

    Also, from what I've gathered...

    When I took game maker class, you had to know how to do coding in the style of javascript; javascript is more widely used than gml and is more widely known for usage on websites, and browser-based games, but gml uses it's own library to run things off of separately from regular javascript. (very similar style, however)

    html, there actually is more than just html that you can use to write web pages, but html is most widely known; for me, learning it was pretty easy... you can take classes at college...

    everyone has their own website they prefer for reference - I occasionally use this: http://www.w3schools.com/

    or i'll just google something, If i don't know the answer...

    -If you want to get into animations for the coding aspect you'll see python used a lot, especially in some programs like 'blender'

    flash, is personal preference, It's been too long since I've worked with flash - I have no help in that aspect. :)

    that's about all I can think of.
    607 likes this.
  13. It really depends on what you need it for.

    For web development:
    • HTML is a definite requirement, since you can't do anything web-related without it. Also not a programming language.
    • Javascript. Another definite requirement.
    • PHP. Again, everyone looking to go into web development has to learn this otherwise they can't do anything without it.
    • Python?
    • Ruby?
    For game/software development:

    • LUA
    • C#/C++
    • Unity (which is an engine, not a programming language.)
    • Javascript (mainly if you use Unity.)
    • The Blender engine. Which requires my next suggestion...
    • Python?
    • Again: Ruby?
    • Java is a horrible language for games, but if you want to make software with it: Java?
    There are so many, many different programming languages to choose from and they all depend on what you need and your level of experience with other languages.
    I'd also like to suggest ActionScript 2/ActionScript 3, if you're willing to blow out a bit of money on Flash. I also wouldn't reccomend it since Flash is really, really slow in both browsers and windows. Another thing I'd like to suggest is Construct 2: its expensive to buy a license for it, but there's a free version and its fun to play around in. It also requires little to no programming experience, so its great for beginners.
    ShelLuser and 607 like this.
  14. I speak as someone who has been programming for 18 years and written software professionally for 7. Yes, that's an appeal to authority, so do with this information as you wish... ;) Oh, and I type a lot, so I apologize in advance for this upcoming wall of text.

    I recommend starting with a language that is "simple," such as Javascript or Python. I say they're simple not because they can't be used for great things, but because they're very easy to get started in. You don't have to deal with variable types, memory management or a very cumbersome syntax. I think Ruby falls into this category as well, but I have yet to work with Ruby, so I'm just saying that based on what little I've seen of it.

    Once you're comfortable writing stuff in those kinds of languages, you could move on to languages that are a little more strict, and which come with gigantic frameworks to support them. I am of course talking about Java and .NET. My personal favorite programming language is C#, but Java is okay too, especially since Java 8 came out.

    Finally, once you're super-comfy with software development, I suggest you give one of the compiles-to-machine-code languages a go. C++ is a favorite among many, although I personally detest it and would rather suggest you use C. Another great choice, at least on Linux, is a relatively new contender called Vala. To make a long story short, it's basically C# that "compiles" to C.

    I see some people here have said to look at PHP for web development. While PHP is very common for web development, it's a very inelegant and messy language/framework. It's useful to know, but I wouldn't start any new project in it personally. As a C# enthusiast, I'd obviously be wont to go with one of the ASP.NET variants.
    ShelLuser and 607 like this.
  15. Or learn C++ which is native to all Operating Systems.

    Didn't Microsoft stop support for VB.NET to work with Windows Phone? Also, PS4 and XBOX One are both running C++.

    For PS4: https://twitter.com/adamjsimmons/status/316981703589638144
    And for XB1 (while not a reliable source, however it makes sense): http://forums.xbox.com/xbox_forums/xbox_support/xbox_one_support/f/4269/t/1638483.aspx
    ShelLuser likes this.
  16. According to my brother, who plans to do cyber warfare in the US Army, Python is an easy-to-learn language, and a lot of universities are switching to it.
  17. I'd recommend that you learn PHP. It's a fairly simple language and doesn't teach you bad habits like VB.NET does.

    If you're going to go to the trouble of learning C# (which IMO isn't a very good language), you may as well go the extra step and learn C++, which can be used in so many more places and is a much better language (in my opinion).

    But PHP, I think, is a very good language to get started with, the one issue with it is that you need a working web server with PHP installed to test it out. However, there are some issues with PHP, so you might want to learn something like LUA or Python, both of which are easy to use and you can pretty good programs with this (primarily games and interactive programs).

    It's all down to what you want to do but I'd recommend you start of with PHP or something like Python (which I've never actually used).
  18. VB.NET is more of an introduction into programming. It teaches the basics behind programming such as logic. It also lets people learn about logic errors (the most annoying type of error ever).
  19. But it also teaches you bad habits. It's the only programming language I know which doesn't require semicolons at the end of a line.
    jkjkjk182 likes this.
  20. That's because it's a modern language ;)