what language should I learn?

hello, my name is stijn and I am 13 years old.
I would like to learn and understand programming,
what language should i take?

also visit:
BLOG:www.stijniman.blogspot.com
YOUTUBE:www.youtube.com/stijnimanbik

If you are just interested in Unity, then UnityScript. If you want to know more advanced programming, then C# as it us closer to Java and C++.

In my opinion, C#. Its got a wider use so even if for some reason you stop using unity. you’ll still be able to put your c#/.net knowledge to good use.

I have to agree, c# is used by many more developers and companies. Probably better to learn it if you want to be a developer.

I agree I went down the rode of learning unity/javascript but now wish i invested my time with
c# as there seems to be a little more traction with pro studios asking for that skill

There’s very little difference between js and c# though, in syntax. So if you master one it really takes only a day to get to grips with the other. In other words, if you know any ECMA style language, you can deal with the rest.

C++ would be considerably more difficult to master, however due to all it’s little nuances and the fact everything has to be managed by you.

But C# is generally taking over the world. Most game engines are going to support it, or already support it, with the actual engine being designed in C++.

I’d recommend C# for reasons that other’s have stated, but I’d be against Unityscript. UnityScript lets you write sloppy code where as C# is a lot stricter and gets you into better habits

That`s still nonsense, sorry. The Programmer writes sloppy code, not the language. When you really need strict code for Unityscript, then use @pragmastrict. Problem solved :slight_smile:

The only thing you really need to worry about is about working code and not working code.

There is not a really difference inside Unity between the languages. Its mostly a thing of personal flavour. You have the same functionality, you have the same performance. What speaks for Unityscript in Unity is that most tutorials for Unity are written for Unityscript. It is easier to learn than C#, and you need a bit less code to write to achieve the same. And its a bit more forgiveable. See strict …

UnityScirpt or Boo will likely be easier to learn than C#, but I’d recommend looking at code samples of all 3 and choose the one that makes the most sense to you. And since you’re only 13, you have plenty of time to master all 3 if you so desire.

Oh, and if you do decide on UnityScript, this is a good place to start:

http://forum.unity3d.com/threads/34015-Newbie-guide-to-Unity-Javascript-(long)

C# as when you are an adult looking for a job it is very possible and very likely that your job will NOT be in the gaming industry.

Learning C# in school helped me get a job recently for a company using VB.Net.

I tinker with gaming, maybe someday I will do it as a day job but right now non game related programming pays my bills.

Like everyone else here I agree C# given the choice between it and UnityScript. We just finished our first Unity game and looking back, one of my regrets is not having done it in C#. I already knew C and C++. It was pretty easy getting started with UnityScript but in the long run I struggled with some issues and wrote some code I’m not proud of at times. It’s too bad Unity doesn’t support Java. I always wanted to learn it but never got around to it until we wrote a simple game for our Android just to get familiar with it.

http://bashthebankers.com

As much as I love C#…

DO NOT PICK IT FOR A JOB.

You are 13… attempt to go through a dozen languages before you get to ‘job’ status. Each time you learn a new language you’ll understand new concepts/paradigms and get better at learning and writing code. As such picking a language for work at this early stage is rather unimportant - you can pick it up anytime.

@Tiles, this was all mentioned in the discussion on another thread you were involved in. JS and C# do not have the same feature set.

Unity’s Javascript, does not have: Anonymous Delegates, LINQ, Event declaration, delegate +/= overloading, ref, out, char literals, Extension Methods, Null-coalescing operator, Using Alias, and Using (IDisposable), lock, params, documented property declarations (they exist, but are undocumented), and probably a handful more I missed. Additions: Namespaces and Interfaces (Diviner)

You could say it’s not important functionality(in which case I would strongly disagree), but you can’t say they have the same functionality.

On Topic, I suggest C# for magnitudes more documentation and learning resources (MSDN alone is massive for what it can provide for you). Why restrict learning resources if you don’t have to?

Also add Namespaces and Interfaces on the list above.

Done, though it also makes me want to test what’s available out of: abstract, virtual, override and new(when referring to an inheriting function).

Do it right and start with C#.

I prefer to start with C++ or C since there are tons of books available. But you should only touch the basic concepts for now, and that should be enough to make most games. Once you are there, switching to any other language is easy.

I would suggest uniscript (variant of javascript), only because it is easier to start off with, it’s not too hard to switch over to c#, but mostly because in my opinion and experience, starting off from scratch with c# would be too overwhelming. Yes, there is more documentation relating to it, but it is difficult to start off with and it could frustrate you to the point where you give up, and you don’t want that.

Console Applications + Video tutorials.

I’ve always thought that C# could do with a few more books…

:stuck_out_tongue: