Sign in to follow this  
EEletri

Second programming language...

Recommended Posts

Hello guys, right, I learned C++ during the last year and now I think it's time to learn a second language.

I've been programming simple console applications and even some games with SFML during this time.

 

Now, I think I should learn a second programming language and I am thinking between learning HTML5 (Javascript), Python, C# or another.

 

What do you guys recommend, what is good for a 14 years old programmer to learn to get better at coding ?

Edited by EEletri

Share this post


Link to post
Share on other sites

After reading through some of your previous post, you have already started discussions on this topic and told us you had started learning HTML5/JS.

 

What more are you gaining by starting a new thread? Is there anything in specific you want advise on that wasn't covered in the last thread?

 

EDITED: You have also mentioned you dabbled in Python before C++ and you gave someone advise on a C# book and told them you learnt alot by reading it. Now your asking if you should learn C#? Make up your mind, stop wasting peoples time and stick with a language.

 

You are 14 years old, I wouldn't have recommended starting with a language like C++ but if you are most comfortable with it, why change now?

Edited by Kirkkaf13

Share this post


Link to post
Share on other sites

Why learn only one or two? Dabble in it all, work out what you like about each. It will all make you a better programmer in the end (and it sounds like you have plenty of years ahead of you yet). Btw I'm coming from the opposite end with 14 years OF commercial programming experience - hmm been a long time since I was 14 smile.png

Edited by spazzarama

Share this post


Link to post
Share on other sites

Oh, my bad. I interpreted "14 years programmer" as programming for 14 years, not 14 years old. Yeah, functional programming might be a bit premature.


Besides, C# gets you close enough to functional programming, without going full weirdo.

Share this post


Link to post
Share on other sites

Why learn only one or two? Dabble in it all, work out what you like about each. It will all make you a better programmer in the end (and it sounds like you have plenty of years ahead of you yet). Btw I'm coming from the opposite end with 14 years OF commercial programming experience - hmm been a long time since I was 14 :)


Bad advice for now. Focus, focus, focus. Yes, eventually learn as many as you can/need. For now though, focus your efforts as much as possible.

Share this post


Link to post
Share on other sites

Oh, my bad. I interpreted "14 years programmer" as programming for 14 years, not 14 years old. Yeah, functional programming might be a bit premature.


Besides, C# gets you close enough to functional programming, without going full weirdo.


Very true. I much prefer using functional style in C# when I want to rather than being forced into it at all times in F#.

Share this post


Link to post
Share on other sites


but if you're a developer and you cannot read the HTML source your geek credentials will be revoked and other developers will openly mock you when they discover it.

 

Actually I've found as a developer I'm expected to be able to read any language weather it be a human language like Japanese or Polish to machine languages like C++ etc.. otherwise I'd loose my geek creds ;)

Oh by the wayI cannot actually read Japanese or Polish but I am expected to figure out what is being conveyed from code comments or emails.

Share this post


Link to post
Share on other sites

I vote for python. Nice way to make tools and it can be linked with C++ also so you can write some game code in python. C# is so close to C++ so i do not think that will be to hard to use when you start to play with it.

Edited by DUDVim

Share this post


Link to post
Share on other sites
Eww Python, really? I'm only half joking, Python strikes me as a language that forgot to die. The fragmentation then stagnation effectively killed it. Plus it's performance ain't great, at least with vanilla Python.

Share this post


Link to post
Share on other sites

Eww Python, really? I'm only half joking, Python strikes me as a language that forgot to die. The fragmentation then stagnation effectively killed it. Plus it's performance ain't great, at least with vanilla Python.

 

Funny, a recruiter cold-called me less than 2 hours ago to see if i wanted a python job, seems to be quite alot of python jobs around and not much competition for them.

Share this post


Link to post
Share on other sites

Eww Python, really? I'm only half joking, Python strikes me as a language that forgot to die. The fragmentation then stagnation effectively killed it. Plus it's performance ain't great, at least with vanilla Python.

 
Funny, a recruiter cold-called me less than 2 hours ago to see if i wanted a python job, seems to be quite alot of python jobs around and not much competition for them.

I should imagine half of that statement is correct...

Listen Im normally the cheerleader for "pick any language it really doesn't matter", but frankly Python and PHP are the two exceptions. 6-8 years ago when Python was coming on strong, sure. But these days? Not so much. The language fracture and stagnation has really hurt it hard.

I don't really get why we would ever recommend Python.

It isn't fast, it's slow to the level that it will even impact beginners, who shouldn't even be concerned with performance. ( beginner will run into perf issues with PyGame almost immediately )
It isn't particularly popular anymore, outside of a few niche realms
It certainly isn't the easiest language to learn
It's user landscape is horribly fragmented
It's development has happened at a snails pace
It's not particularly easy to embed, nor performant when embedded
The user community isn't huge and I imagine is shrinking
Tools are fairly meh and the good ones are commercial

I mean, if you are going to use a scripting language with the learning curve of a complete language, why not just use the complete language? Or, for scripting... Use a more productive language like Lua or even ECMAScript, with all its warts.

People say it's used in games and that's a statement that you need to mark with an asterisks. Eve Online used Stackless Python server side. Disney used it as the scripting language for Panda for some MMOs and Civ4 used it as a scripting language. Those are all 5+ years old, and frankly none were actually directly Python powered.

It's a language whose star has waned, so I have trouble recommending it to people anymore, with one exception. Yeah, you can still find the occasional Python job, but then you can easily find COBOL or FORTRAN gigs too.

The one exception is if you want to be a Techincal Director in the CG world. In this realm, Python is hugely popular.

Share this post


Link to post
Share on other sites

Python is great for many reasons.

 

The biggest strength is not as the engine core, but as a utility. It is good at everything from "convert all these values" to "traverse the file structure and process what you find".  You can open an interactive python session window and it becomes an extremely powerful calculator and converter. You can build simple development tools quickly. 

 

In addition to the utility of the language itself, since EEletri mentioned only experience in C++, the thought process of idiomatic C++ is quite different from the thought process of Python, meaning he could learn many new techniques and patterns.

 

 

I wouldn't recommend python if the only use were to make something in PyGame. 

Share this post


Link to post
Share on other sites

Python is great for many reasons.
 
The biggest strength is not as the engine core, but as a utility. It is good at everything from "convert all these values" to "traverse the file structure and process what you find".  You can open an interactive python session window and it becomes an extremely powerful calculator and converter. You can build simple development tools quickly. 
 
In addition to the utility of the language itself, since EEletri mentioned only experience in C++, the thought process of idiomatic C++ is quite different from the thought process of Python, meaning he could learn many new techniques and patterns.
 
 
I wouldn't recommend python if the only use were to make something in PyGame.


Oh sure, Python for utilities or build tools, certainly. I am talking very specifically game dev due to the context of where we are. Python for game development or embedding, not so much. I suppose I should clarify that.

Share this post


Link to post
Share on other sites

Games need tools, games need utilities, games need scripts.

There is far more to game development than the code inside the engine.

Well that came across horribly patronizing.

Yes, in a large project you've often got a myriad of file formats, tools, converters, build scripts etc...
In those environments, Python can have some use.

However, here, in the beginner section of GameDev, there are so many better ways to direct his efforts. It's like recommending a back end loader as someone's first car. In certain contrived scenarios, it might thrive. But day to day, there are so many better choices.

Share this post


Link to post
Share on other sites

Learning Lua could be useful too, since you can use it as a lightweight scripting language with C++ and the language is quite compact/elegant so it should be easy to learn.


This I strongly agree with. In fact Lua is one of my preferred first language recommendations for learning programming in general.

Share this post


Link to post
Share on other sites

Well it's nice to see that the frontlines of the languages wars are never far away wub.png .

 

I do think python is a good choice for EEletri of the three he listed. Might not be a way to make games in but a good steping stone for learning to code in another language that can be used for custom tools and other experiments. I would not worry to much about it from the perspective of getting a job, you will forget more dead languages that you care to think about as a programmers. A list of all i have used can be found on a post on my website at http://spinningcubes.com/?p=3787 blink.png . Try out your next language for a while and change if you hate it laugh.png

Edited by DUDVim

Share this post


Link to post
Share on other sites
...And the nominations are:
 
- Python -> rapid prototyping, scripting
- Lua -> scripting
- C# -> managed general purpose programming
- Java -> managed web? programming (keep away from AWT/Swing!)
- Javascript -> web programming, scripting
- F# -> funcitonal if you like .net and enjoy math
- Objective Caml -> functional if you really? enjoy math and you don't care about interpreter's crashes!
- Go -> concurrency, cleaner compared to a lot of programming languages
- Assembly -> ...why not? It's a good teacher about the Hw & Sh interface happy.png
 
 
But please, for everything you love, avoid VisualBasic and VisualBasic.net Edited by Alessio1989

Share this post


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

Sign in to follow this