Best programming language to learn?

Watch this thread
Serentonin
Badges: 16
Rep:
? You'll earn badges for being active around the site. Rep gems come when your posts are rated by other community members.
#1
Report Thread starter 8 years ago
#1
I'm fairly okay with python, and while I will continue with it, I wanted to pick something new up as a new challenge as my uni workload is quite low this term...was thinking C++, but does anyone have any recommendations for anything that would be more useful?

Thanks.
0
reply
ArafH
Badges: 1
Rep:
? You'll earn badges for being active around the site. Rep gems come when your posts are rated by other community members.
#2
Report 8 years ago
#2
Pascal i think,
3
reply
Padwas
Badges: 3
Rep:
? You'll earn badges for being active around the site. Rep gems come when your posts are rated by other community members.
#3
Report 8 years ago
#3
java = mobile development
c++ = pc and games
visual basic = beginner
1
reply
SorryInAdvance
Badges: 11
Rep:
? You'll earn badges for being active around the site. Rep gems come when your posts are rated by other community members.
#4
Report 8 years ago
#4
We were learning Haskell for the introduction course for computing - it's a bit weird, it's purely functional (controlled side affects) so it's fairly niche- but it's so cool!!!
0
reply
FireGarden
Badges: 14
Rep:
? You'll earn badges for being active around the site. Rep gems come when your posts are rated by other community members.
#5
Report 8 years ago
#5
C/C++ would be my suggestion. In particular, C++ if you've got some familiarity with the OOP concepts from Python. They're the most used/widespread languages, which have had a lot of influence on many others (a lot of javascript looks identical to C!).
1
reply
VisualKiddy
Badges: 2
Rep:
? You'll earn badges for being active around the site. Rep gems come when your posts are rated by other community members.
#6
Report 8 years ago
#6
(Original post by Padwas)
java = mobile development
c++ = pc and games
visual basic = beginner
Yeah, C++ is so much better than VB.net for an amateur who wants to make games. :rolleyes:
0
reply
Padwas
Badges: 3
Rep:
? You'll earn badges for being active around the site. Rep gems come when your posts are rated by other community members.
#7
Report 8 years ago
#7
(Original post by VisualKiddy)
Yeah, C++ is so much better than VB.net for an amateur who wants to make games. :rolleyes:
yes it is but of course i have no idea what I'm talking about with 6 years programming experience lol
0
reply
Jarred
Badges: 18
Rep:
? You'll earn badges for being active around the site. Rep gems come when your posts are rated by other community members.
#8
Report 8 years ago
#8
I think Pascal or Java would be good languages to start with.
0
reply
Serentonin
Badges: 16
Rep:
? You'll earn badges for being active around the site. Rep gems come when your posts are rated by other community members.
#9
Report Thread starter 8 years ago
#9
(Original post by FireGarden)
C/C++ would be my suggestion. In particular, C++ if you've got some familiarity with the OOP concepts from Python. They're the most used/widespread languages, which have had a lot of influence on many others (a lot of javascript looks identical to C!).
Thanks for
a) Being pretty much the only person who replied to actually read my post
b) Actually explaining your answer.

Probably a stupid question, pros and cons of C vs C++?
0
reply
FireGarden
Badges: 14
Rep:
? You'll earn badges for being active around the site. Rep gems come when your posts are rated by other community members.
#10
Report 8 years ago
#10
(Original post by Serentonin)
Thanks for
a) Being pretty much the only person who replied to actually read my post
b) Actually explaining your answer.

Probably a stupid question, pros and cons of C vs C++?
Haha! That's ok!

My disclaimer is that I strictly only know C to a certain competency, and 'know of' C++; So I'm going to answer essentially "The pros and cons of C, and hence to some extent its related languages", and hope that it's still helpful.

Pros of C:

It is a powerful compiled language, with a lot of cross-platform capability. Literally compiling the same source code on a different machine will probably get it to run. By 'powerful', I mean it does.. just about anything. The OS UNIX was/is basically entirely C, and most software today uses C or some variation (C++, C#, Objective C), the last is what iPad and iPhone software is written in. I found it pretty straightforward to learn, and lots of resources if anything became a problem. As i said in my previous post, it has had a lot of influence on other languages - particularly syntax, so learning another language will be easier from this base knowledge. The compiled thing means the program you write will run stand-alone (in contrast to say, Java, which needs a runtime environment, or python, which needs an interpreter), and as a consequence, are faster. Lots of useful libraries around, too.


Cons of C:

It might do 'almost everything', but that isn't near a guarantee that it's a good idea! Some things are better suited to other languages with a different focus; C is a procedural language. In contrast, C++ is object oriented; the difference being in how they can handle your data. "Objects" allow the programmer to deal with the relationships between their data much more 'humanly' than other languages. I have no idea what you'd like to do with it, but I shall say everything I have ever done runs inside a console window. The package I use (Xcode) doesn't really allow much help for GUI programs; maybe other development environments will make this easier, but I don't know! In general though, there aren't too many cons, unless you have something specific in mind. Such as, if you were going to write smallish programs to run on a website for various tasks, you'd never use one of these languages! you'd use javascript, PERL, PHP, or something along those lines (i.e., designed for the task). The upshot again is that javascript in particular has essentially identical syntax to C for certain things.


This is all I can really think of off the top of my head right now.. If you have any more questions though, I'm happy to answer as best I can!
0
reply
VisualKiddy
Badges: 2
Rep:
? You'll earn badges for being active around the site. Rep gems come when your posts are rated by other community members.
#11
Report 8 years ago
#11
(Original post by Padwas)
yes it is but of course i have no idea what I'm talking about with 6 years programming experience lol
Care to explain why, then?
0
reply
Psyk
Badges: 16
Rep:
? You'll earn badges for being active around the site. Rep gems come when your posts are rated by other community members.
#12
Report 8 years ago
#12
(Original post by Padwas)
java = mobile development
c++ = pc and games
visual basic = beginner
I wouldn't say "Java = mobile development" these days. "Java = Android development" would be more accurate. I'm not sure it's possible to use Java on iOS.

VB has a bad reputation. It's a perfectly valid and useful language for all sorts of development. Modern VB is pretty much equivalent to C#, mostly just different syntax. The only thing that makes it more beginner friendly is that the syntax looks slightly more like English.

(Original post by FireGarden)
Haha! That's ok!

My disclaimer is that I strictly only know C to a certain competency, and 'know of' C++; So I'm going to answer essentially "The pros and cons of C, and hence to some extent its related languages", and hope that it's still helpful.

Pros of C:

It is a powerful compiled language, with a lot of cross-platform capability. Literally compiling the same source code on a different machine will probably get it to run. By 'powerful', I mean it does.. just about anything. The OS UNIX was/is basically entirely C, and most software today uses C or some variation (C++, C#, Objective C), the last is what iPad and iPhone software is written in. I found it pretty straightforward to learn, and lots of resources if anything became a problem. As i said in my previous post, it has had a lot of influence on other languages - particularly syntax, so learning another language will be easier from this base knowledge. The compiled thing means the program you write will run stand-alone (in contrast to say, Java, which needs a runtime environment, or python, which needs an interpreter), and as a consequence, are faster. Lots of useful libraries around, too.


Cons of C:

It might do 'almost everything', but that isn't near a guarantee that it's a good idea! Some things are better suited to other languages with a different focus; C is a procedural language. In contrast, C++ is object oriented; the difference being in how they can handle your data. "Objects" allow the programmer to deal with the relationships between their data much more 'humanly' than other languages. I have no idea what you'd like to do with it, but I shall say everything I have ever done runs inside a console window. The package I use (Xcode) doesn't really allow much help for GUI programs; maybe other development environments will make this easier, but I don't know! In general though, there aren't too many cons, unless you have something specific in mind. Such as, if you were going to write smallish programs to run on a website for various tasks, you'd never use one of these languages! you'd use javascript, PERL, PHP, or something along those lines (i.e., designed for the task). The upshot again is that javascript in particular has essentially identical syntax to C for certain things.


This is all I can really think of off the top of my head right now.. If you have any more questions though, I'm happy to answer as best I can!
I mostly agree but I'd be careful with that line of thinking (the bit in bold). Javascript and C do have similar syntax, but they are very, very different languages. Their similarity is very superficial. I'd say Javascript is far closer to Python than C/C++ (or Java for that matter).
0
reply
Chrosson
Badges: 13
Rep:
? You'll earn badges for being active around the site. Rep gems come when your posts are rated by other community members.
#13
Report 8 years ago
#13
(Original post by Serentonin)
I'm fairly okay with python, and while I will continue with it, I wanted to pick something new up as a new challenge as my uni workload is quite low this term...was thinking C++, but does anyone have any recommendations for anything that would be more useful?

Thanks.
If you're ok with python then it might be interesting to pick up C with the intention of writing a python C extension.
I.e. you load the compiled C code like a normal module and call functions you've registered.

Gives you some C and some understanding of how you might implement performance critical bits of code in Python, or interface with libraries that only have a C interface.
Though it's worth noting that in practice you shouldn't do it for performance reasons until after profiling!
0
reply
John Stuart Mill
Badges: 3
Rep:
? You'll earn badges for being active around the site. Rep gems come when your posts are rated by other community members.
#14
Report 8 years ago
#14
C++ over C.
Can't stand Java anymore.
0
reply
Potally_Tissed
Badges: 19
Rep:
? You'll earn badges for being active around the site. Rep gems come when your posts are rated by other community members.
#15
Report 8 years ago
#15
A rudimentary grasp of SQL is potentially quite handy to have.
0
reply
John Stuart Mill
Badges: 3
Rep:
? You'll earn badges for being active around the site. Rep gems come when your posts are rated by other community members.
#16
Report 8 years ago
#16
(Original post by Padwas)
yes it is but of course i have no idea what I'm talking about with 6 years programming experience lol
Sorry for someone with 6 years experience you're clueless, VB is a horrible language for learning anything and teaches crappy conventions.
0
reply
Padwas
Badges: 3
Rep:
? You'll earn badges for being active around the site. Rep gems come when your posts are rated by other community members.
#17
Report 8 years ago
#17
(Original post by John Stuart Mill)
Sorry for someone with 6 years experience you're clueless, VB is a horrible language for learning anything and teaches crappy conventions.
did me fine
0
reply
John Stuart Mill
Badges: 3
Rep:
? You'll earn badges for being active around the site. Rep gems come when your posts are rated by other community members.
#18
Report 8 years ago
#18
(Original post by Padwas)
did me fine
'fine' Java or even C# would still be better, VB should die it's a piece of crap
0
reply
INTit
Badges: 17
Rep:
? You'll earn badges for being active around the site. Rep gems come when your posts are rated by other community members.
#19
Report 8 years ago
#19

(Original post by John Stuart Mill)
'fine' Java or even C# would still be better, VB should die it's a piece of crap
There's nothing wrong with modern vb.

Op I would go with c# to start with then learn c++ for 3d game development.
C++ has a steep learning curve for a beginner. Just getting anything graphical together is a fair bit of work.

C# will be good to know for general purpose programming(and employability) and will reduce the learning curve for c++
0
reply
John Stuart Mill
Badges: 3
Rep:
? You'll earn badges for being active around the site. Rep gems come when your posts are rated by other community members.
#20
Report 8 years ago
#20
(Original post by INTit)



There's nothing wrong with modern vb.

Op I would go with c# to start with then learn c++ for 3d game development.
C++ has a steep learning curve for a beginner. Just getting anything graphical together is a fair bit of work.

C# will be useful for general purpose programming and will reduce the learning curve for c++
oh God there really is, it's not that it's awful it's that there's no reason for it, the syntax is horrible and the alternatives are much more efficient.
0
reply
X

Quick Reply

Attached files
Write a reply...
Reply
new posts
Back
to top
Latest

Does school Maths prepare people well enough for the future?

Yes, it gives everyone a good foundation for any future path (50)
30.12%
Somewhat, if your future involves maths/STEM (73)
43.98%
No, it doesn't teach enough practical life skills (41)
24.7%
Something else (tell us in the thread) (2)
1.2%

Watched Threads

View All