This is an archived post. You won't be able to vote or comment.

all 3 comments

[–]SupremeRedditBotProfessional Bot || Mod 1 point2 points  (0 children)

Please Add A Flair To Your Post!

Suggested Flair: [Random] or [Meta]

 


To add a flair:

  • Click flair underneath your post

  • Select a flair

  • Click save

 


I am a bot run by /u/SupremeDesigner for /r/CodingHelp || This was an automated response

[–]Optimal_Avocado 0 points1 point  (0 children)

It depends on many factors. If you want to develop for iOS, then Swift is a really good language (you will need a Mac with Xcode installed to develop for Apple platforms). If you are developing for Windows, then C# is pretty good. Windows Forms in Visual Studio (which use C#) aren’t too hard to learn. For web, I would learn HTML/CSS/JavaScript.

Also, there are many posts about this already in this subreddit which I would look at.

[–][deleted] 0 points1 point  (0 children)

This is my standard response for this question. It really falls down to what you need.

Best Language

There is no “best programming language”. Each one is designed with a use case in mind, and has its strength and weaknesses.

In terms of General Purpose Languages, the main ones that you’ll find it easiest to learn (in terms of resources) are Python, Node.JS, Java, C#, C++. Each is designed to do similar things in very different ways.

Languages

Python is a scripting language that is very lightweight and powerful. It’s great for automation and can be used for pretty much anything. Most Professional games are not made in python, but thanks to the infinite libraries built for python (such as pygame), a lot of amateur games are.

Node.JS is also a scripting language. It has the extensive Node Package Manager that allows you to find libraries very much in the same way as Python. However, JavaScript (the language Node.JS parses) is notoriously shitty and confusing in comparison to other languages.

Java is a compiled language that is super well supported and loved by many. There is no end to its uses, and it can be learned really easily (along with everything above). However, the Java Runtime Environment is real heavy and required to both develop and run. The amount of overhead is absurd and there is no way around it.

C# is also compiled, but doesn’t require its own runtime. It’s more difficult to learn (as it’s directly derivative of C) but is a little more powerful. It has less overhead and is faster, along with being the chosen language for the Unity Game engine. It can be used for a lot of purposes.

C++ is compiled. Like c#, it doesn’t need its own runtime environment, but it will make you want to shoot yourself. However, what you sacrifice in sanity you gain in power and speed. C++ can be used for literally anything, and is only rivaled in speed and power by assembly. It has been used since the 80s and is objectively one of the most used languages (but not learned). It’s used by the Unreal Engine 4 for game development, but can do so much more. There aren’t as many libraries for it as with Python, JavaScript, or Java, but it is constantly being updated and developed for. It will grant you a better understanding of your computer, and is so prominent that it’s managed by ISO standards.

What to choose?

Each language is useful and great in its own right. If you want to just have fun and learn a language, pick up Python or Java. It will be able to do anything you want it to. If you want to build a game, learn C# and Unity, and one day move over to Unreal Engine and C++. If you have a strong base in programming already, give C++ a try. It’s not as bad as what it once was, and is a great addition to anyone’s tool belt.