Jump to content

Which programming language should I learn?

It certainly does, but it's a bit more complicating than working with C#.NET

 

https://xamarin.com/platform

Is that a library? So that it becomes C# Xamarin instead of C# .net?

Basic guide to CPU's!

If I said I were 14, you would call me a kid. If I say 70, you’ll entitle me too old. If I say 20 you say I’m inexperienced and if I say 40 than I'm too boring.

龴 ͡ↀ ◡ ͡ↀ龴#locked( ͡͡ ° ͜ ʖ ͡ °)

Link to comment
Share on other sites

Link to post
Share on other sites

Thanks for the info, it makes sense now :P

Yet, Unity3D (IIRC and AFAIK) uses Javascript. If I still use C# insted of JavaScript in Unity3D, will that break the scripting when moving too Mac OS X and Linux?

My mistake, you are correct, Unity3D can use JavaScript.

I've never used Unity3D so I can't comment on how transportable your program will be if you use C#.

Javascript is natively supported in the game engine Unity3D. Alongside C#.

It does seem like C# is the more used one of the two.

I heard my teacher once says JS is more used in North America, whereas C# is more used in Europe (but I doubt this).

Interesting, didnt know it was supported for that. Also not too sure about what you're teacher said, sounds a bit like conjecture.

15" MBP TB

AMD 5800X | Gigabyte Aorus Master | EVGA 2060 KO Ultra | Define 7 || Blade Server: Intel 3570k | GD65 | Corsair C70 | 13TB

Link to comment
Share on other sites

Link to post
Share on other sites

C#

^^ for Unity, not sure if natively supported on Windows, same for Mac

C# is, technically, natively supported on Windows - Mac is a no though, since Visual Studio - the most popular C# IDE - can only export .exes. :/

Link to comment
Share on other sites

Link to post
Share on other sites

Hello, and thanks for reading this already!

 

I'm looking for a pretty good all round programming language to learn, and I'm looking for some advice

 

Things I want too program:

  • Simple desktop applications in Windows, and preferably Unix systems (Mac and Linux)
  • Games in Unity 3D
What do you guys advice?

 

Thanks in advance!

It's always good to have goals, but important to be realistic. Trying to jump into programming a game without ever even writing a hello world or bmi calculator before will probably lead to discouragement.

My advice is to go download codeblocks and start learning C++. There are several great resources and lectures on YouTube which will go through the basics as well as programming terminologies.

Link to comment
Share on other sites

Link to post
Share on other sites

It's always good to have goals, but important to be realistic. Trying to jump into programming a game without ever even writing a hello world or bmi calculator before will probably lead to discouragement.

My advice is to go download codeblocks and start learning C++. There are several great resources and lectures on YouTube which will go through the basics as well as programming terminologies.

C++ is one of the worst languages to learn first nowdays, because of all the little things you have to remember.

Link to comment
Share on other sites

Link to post
Share on other sites

C++ is one of the worst languages to learn first nowdays, because of all the little things you have to remember.

Ehh, I disagree. With the standard C++ library you can get going on coding pretty quickly since the syntax is pretty straight forward and as you advance, the language is right there with you to get more complicated. Is one of the reasons why the University I went to started freshman CS majors with C++. A lot less frustrating than trying to learn C as a first language for sure. It's also a language which is used widely in industry as well due to its versatility; so I think it's useful to learn for even just that alone.

Link to comment
Share on other sites

Link to post
Share on other sites

If you're wanting to use Unity, the languages supported are limited to C#, UnityScript (very similar to JavaScript and often plain referred to as JavaScript), and Boo. If you're looking to also work on desktop applications, then C# is a good choice. However, you will need to use the Mono framework if you want to get C# programs to run outside of Windows (like on Linux or OS X). If that's not an issue, then C# is the language you're looking for.

 

People will often also suggest C++ to answer this question. It's supported by just about everything, and it's a very popular language. However, it is not directly supported by Unity. It's also a very hard first language, with one reason being because it's one that someone can easily be careless with, and another reason being that it can be quite complex. Someone can very easily write code that compiles, but crashes due to bad memory management, sometimes long after the error happened, causing the program to do who-knows-what before it crashed. C++11 and later have support for smart pointers in the standard library (and a lot more nice things), which require less memory management and make programming in C++ much simpler. I don't recommend C++ as a first language, but it can be a very useful language to learn at some point, which is why I'm putting it out there.

Link to comment
Share on other sites

Link to post
Share on other sites

If you learn the c++ all others langs will be funny :)

Link to comment
Share on other sites

Link to post
Share on other sites

If you learn the c++ all others langs will be funny :)

Link to comment
Share on other sites

Link to post
Share on other sites

If you are completely new to programming or have little experience I would advise against C++.

While it is nice and might be able to teach you every little detail there is about programming and yes, it is probably the most powerful language out there, you are forced to learn very much before you are actually able to do little things.

 

Currently there are two kinda default languages I know of to learn at schools and universities: Java and Python.

While I consider Java to be decently obsolete, some people will advise learning that for the easy to read and understand Syntax ( = code grammar) aswell as platform independency. Wich is certainly true.

Python gets you more to stick to conventions (things you should always do unless unavoidable even though there are other solutions) and to focus more on what is actually happening. Wich again, is certainly true.

 

You cannot use them in Unity however.

The main languages for Unity are JavaScript and C#.

JavaScript however has downfalls in performance and usability. Frameworks (libraries that have prefactored and ready-to-use code) are usually designed for use in web applications and the whole thing is strictly interpreted (simplified: realtime translation from language into machine code). I know there are ways around it but that's why I would reccommend against that aswell when it comes to desktop applications.

 

The thing left is what I would have reccommended you regardless of Unity: C#.

In a nutshell, C# is C++ with a Java Syntax.

It is almost as powerful as C++ in most desktop scenarios if you leave out high-performance applications like CAD-Software, etc.

However, it is as easy to read and learn as Java and the underlying framework ( .NET) is probably one of the most powerful ones for a day-to-day use on the market that will allow you to focus on doing things, rather than on how to do things.

If you really want platform independency, you can use MONO, wich is a platform independent and open source .NET implementation. Unity uses this aswell for its C# implementation.

It is also possible to develop Web Applications with HTML/CSS and C# or iOS/Android Apps with the help of Xamarin.

 

And compared to Java, C# has an official standard.

Link to comment
Share on other sites

Link to post
Share on other sites

You could start with Python. Python is good for beginners.

Python's a perfect language for beginners but you can't use it with Unity and definitely not applications.

My life is consumed by CS:GO, even though I'm not exceptionally good at it.

CPU: AMD A10-5800K | GPU: Gigabyte R9 270 2GB | RAM: 8GB 1333Mhz HyperX Blu | Storage: 120GB Samsung 850 EVO + 1TB WD Caviar Blue | Chassis: NZXT H230 | Mobo: Gigabyte GA-F2A88XM-HD3 | PSU: Corsair CX500 500W | Cooling: CM Hyper 212 EVO | OS: Windows 10
In order of priority: GTX 970 Strix, 2 good 1080p monitors, i5 4690k, MSI Z97 Gaming 5 LGA 1150, a job
Link to comment
Share on other sites

Link to post
Share on other sites

Personally I would use Javascript with it seeing as it's easy to learn and is also supported by Unity. Once you fee confident wit hthat I would then recommend C#

My procrastination is the bane of my existence.

I make games and stuff in my spare time.

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×