What Is The Best Programming Language?

  • Thread starter RyuShinobi500
  • Start date
  • Views 3,102
  • Replies 25
R

RyuShinobi500

Guest
I am looking for a programming language that is the best, and i was hopping someone could give me a few suggestions. Thanks.
 

Quantumcat

Dead and alive
Member
Joined
Nov 23, 2014
Messages
15,149
Trophies
0
Location
Canberra, Australia
Website
boot9strap.com
XP
11,069
Country
Australia
There's no best programming language, otherwise the others would have disappeared leaving only the best one.

It depends what you want to do. C++ is best if you need fine control over memory. Python is best if you want to do some scripting. JavaScript is best if you want to make pretty websites. Java or C# is best if you want a language that can do everything (websites, applications, scripting...) but none of it super well.

Just depends on what you want to make.

If you are asking for the best language to start with - visual basic is pretty easy to start with. Then maybe python or JavaScript. But if you want to be a "proper" programmer one day, python and JavaScript may teach you bad habits (like not being used to using braces and semicolons, or thinking objects can turn into any other object given the right context), in which case java/c# would be better next. C++ has more complex things in it and you'd want to have a grasp of more basic things before you explored it (even though I actually learned c++ first at uni lol).
 

ThoD

GBATemp Addict (apparently), but more like "bored"
Member
Joined
Sep 8, 2017
Messages
3,631
Trophies
1
Age
26
XP
3,016
Country
Greece
For absolutely general purpose, it's Lua first, then C, since almost all other languages are just derivatives of those two, meaning they can be adapted to fit whatever use you could possibly need, with Lua being supported to a greater degree between different devices. However, Assembly is the only language that can do literally anything, but good luck learning all the different types of it for each processor architecture/class and actually programming in it when working on anything even remotely complicated:P
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
35,512
Trophies
2
Website
trastindustries.com
XP
25,370
Country
United Kingdom
Whatever one does the job you want it to do.

There are wrong answers (some of the esoteric stuff probably not to use for anything real) but everything is so situational and subjective that there is no answer we can give. This goes double if you plan to earn any money doing something down the line. At the same time if you want to join in on an existing project you might well find yourself having to learn what they do, even if only to port it out to something "better".

I would say pick a popular one. Probably best one not tied to a company -- Apple has that Swift thing and objective C but unless you want to find yourself tied to apple then I would probably not.

You tend to have low level languages and high level languages, also web programming languages as nobody really uses the former two to make websites these days. Higher tend to be easier to write, less prone to errors and slower, larger and more memory intensive. Lower level stuff allows you to be small, fast and handle your business (assuming your compiler and OS allows it -- Windows, and MS' compilers this last decade or so have been stripping out things from C family compilers that the most hardcore peeps were once doing).

http://programming-motherfucker.com/become.html is a good resource.

I did cover some in https://gbatemp.net/threads/so-you-want-to-learn-to-program.371255/

In the real world that means mostly C++. C#, Python, Java (especially with android as big as it is), php if we are counting websites, JavaScript (again mostly website related), Ruby, maybe Perl and that is about it. C sticks around for legacy things and some of the really high end stuff, and if you can handle it then it is a fantastic skill to have. Databases will also crop up early on, especially on websites but eh. C++ is probably still about low level, and C# has its moments (though it tries to make life easier in an awful lot of ways). As well as databases any one of those will have a million ways to spin off -- you mentioned opengl in older threads and that is a whole field unto itself that most programmers won't know and won't care to know, however you probably won't know how to do high end secure software or any number of other things if you spent all your time on opengl.
Lua certainly has its fans, and emulators often use it to allow some quite impressive enhancements to their capabilities, but I don't think it would pick it for day to day stuff. Maybe learn it afterwards, or first if you have a path into something more "useful".
The other things on the first link above aside from HTML (which is actually a programming language these days, was not for for a long time though) have very specific uses (R and Latex being two examples) or were usually made by academics to teach programming to their students and dodge some of the quirks that come with the programming languages mentioned above, and possibly still used by said academics as "it works" and might well represent decades of work to get it to that stage doing a very hard task.

If you plan to be a big boy hacker you will probably want to learn the assembly of a machine you are interested in (PC is X86, Nintendo handhelds since the GBA have been some flavour of ARM, most other consoles since the PS2 have been one of those or some flavour of powerpc, save for the PS2 which was another called MIPS that the PSP, PS1 and N64 also used variations of), and by the time you learn the assembly for your third machine it is all the same really with minor tweaks so eh. Learning a bit of assembly is generally viewed as good as it will help you understand what is going on with the processor and stop you from making if not mistakes then things that will slow your code down.

If we are doing the videos thing then
For an in depth lecture series on learning to program then we often suggest
https://www.youtube.com/view_play_list?p=6B940F08B9773B9F

For more of a fun thing that makes you think about problems a bit that are related to programming (and are usually far quicker) I quite like Tom Scott's the basics playlist (fizzbuzz really is classic and teaches an important lesson).
https://www.youtube.com/playlist?list=PL96C35uN7xGLLeET0dOWaKHkAlPsrkcha
 

Foxi4

Endless Trash
Global Moderator
Joined
Sep 13, 2009
Messages
29,397
Trophies
2
Location
Gaming Grotto
XP
27,302
Country
Poland
As everyone already mentioned above, there is no "best" programming language as your choice is dependant on a variety of factors, from what you're intending to do to what platform you're working on. With that said, some languages are better to start with than others, and I've always maintained the position that beginners who are serious about their hobby should probably start with C - it's extremely basic, easy to use and its syntax has imprinted itself on a variety of languages used today, from the obvious successors like C++ and C# to JavaScript, PHP or Python. If you're familiar with C, you'll be able to at least read most code put in front of you, even if you're not familiar with the specifics, so it's a great starting point.
 
  • Like
Reactions: VinsCool

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
35,512
Trophies
2
Website
trastindustries.com
XP
25,370
Country
United Kingdom
supersega said:
The easiest to learn? Python. Most useful? C. Most likely to make you want to vomit? Ada.

I would say there are easier things to learn than python, especially nowadays with all the libraries and weirdness from later versions. Still pretty easy for a practical use language.
C as most useful? C is good stuff but unless you are writing drivers and operating systems, and even then I am dubious, I would say C++ is more useful by virtue of OOP alone. It is almost at the point where I would turn people away from C unless I know they are going to use it, or only do minimal C like the UNSW lectures I linked before.
Ada as most likely to make you want to vomit? Even among academic languages I would probably put having to get a handle on the various flavours, or I suppose we should use the phrase they use and go with dialects, of LISP to be more fun, Scheme once more. That said you would rather do something in Brainfuck than Ada?
 

Foxi4

Endless Trash
Global Moderator
Joined
Sep 13, 2009
Messages
29,397
Trophies
2
Location
Gaming Grotto
XP
27,302
Country
Poland
Oh, for sure @FAST6191, I mean learning C purely for educational purposes, very few applications require such a low-level approach and obviously C++ is a natural extension and target to go for ultimately, but knowing the basics helps as a very good baseline to build upon. Yes, you'll learn some legacy stuff that's hardly ever in use these days, but from where I'm sitting, it's better to know what's going on down in case something confusing does happen at a higher level. Different strokes for different folks though. :)
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
35,512
Trophies
2
Website
trastindustries.com
XP
25,370
Country
United Kingdom
Foxi4 said:
Oh, for sure @FAST6191, I mean learning C purely for educational purposes, very few applications require such a low-level approach and obviously C++ is a natural extension and target to go for ultimately, but knowing the basics helps as a very good baseline to build upon. Yes, you'll learn some legacy stuff that's hardly ever in use these days, but from where I'm sitting, it's better to know what's going on down in case something confusing does happen at a higher level. Different strokes for different folks though. :)

I think it is more an extension of "everybody programs well in their first language" and if that does not include OOP these days I tend to find it makes people as hazy on the concept as those that started with python and then "behold these are called pointers".

If RyuShinobi500 is also wanting games then as a thought exercise program, or indeed just outline and do the basic loops for a vaguely modern style FPS in a procedural language, repeat with OOP.

As for "I like C++ the most as it is rather easy to grasp" then while not quite the same as "if you think you understand subatomic physics then you don't" there are a lot of things to trip you up which is probably part of what is causing the hesitation for me and some of the pushback from others (I mentioned pointers above and while I can take 5 minutes to refresh myself on syntax and then solve the classic 30 something nested pointer vs whatever exam question if you asked me something equally fun with C++ class inheritance you will easily get my best fish impression). The other being that there are easy ways to dig yourself into a hole with the C family that you never would with something higher level. I did see a great lecture once on it all but can't find it right now.
 

Quantumcat

Dead and alive
Member
Joined
Nov 23, 2014
Messages
15,149
Trophies
0
Location
Canberra, Australia
Website
boot9strap.com
XP
11,069
Country
Australia
C++ is the least easy to learn first - you have to worry about pointers and memory leaks which are taken care of for you in other languages.

Good point though that it is better to learn an OO language first so that it feels natural.

I'll change my mind and say Java is best to learn first - properly object oriented and strongly typed, without the aforementioned complexities of C++. Less powerful, but the extra power of C++ is not going to be needed by any beginner's applications.

Although if it is just for fun and the person is not planning to become a professional, visual basic is fine and easy.
 

strawpoll-legend

Member
Newcomer
Joined
Apr 17, 2020
Messages
20
Trophies
0
XP
90
Country
United States
Python is the best first language to learn. C++ is the best language period. You can theoretically use C++ to make literally anything, although it wouldn't be efficient to, for example, script in C++.
The reason Python is great for learning is that it's just common sense programming. If you don't know anything about programming, Python nearly allows you to just type what you're thinking and it works. Of course, it's a little more complicated than that, but Python is simple. After you learn the basics in Python, it also makes C++ way easier to learn, even though the languages don't have a ton in common, because Python is great at teaching you basic ideas that are present in most languages.
 

jettyxi

New Member
Newbie
Joined
Dec 10, 2021
Messages
1
Trophies
0
Age
23
XP
14
Country
Austria
Hi! I want to turn to the guys who know about the programming business. I'm going to learn new information about software here and I also want to start working in this field. I've been in the programming department for four years)
 
General chit-chat
Help Users
  • No one is chatting at the moment.
    KenniesNewName @ KenniesNewName: Well new hocus pocus already looks like shit