Skip to main content
GameDev.net gamedev.net
Using GameDev.net for your class this semester?
Learn more →
🔒 Locked

Second programming language...

Started by EEletri Jan 27, 2015 at 6:27 PM 23 replies 6.2k views
Original Post
EEletri
EEletri

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 ?

"For God so loved the world, that he gave his only begotten Son, that whosoever believeth in him should not perish, but have everlasting life." - John 3:16   Blog: exchargedeeletri.wordpress.com
Nypyren
Nypyren
You might as well learn a functional language to expand your horizons. I learned F# for a few months and it really opened my eyes to other styles of programming.
Promit
Promit

I would say C#. Going to a functional language strikes me as premature.

SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
Nypyren
Nypyren
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.
frob
frob




HTML5 (Javascript), Python, C#

I'd include all of them on an eventual "must learn" list.

In that regard it is difficult to go wrong with any of them. None of them are bad.

Of those, Python is likely the most immediately useful with long-term value. It is convenient to pop open a python window, type in some commands, and get an immediate result. If all you know is C++ you may be surprised at just how quickly you can accomplish many tasks.

After that, HTML generally is something everybody expects of developers. JavaScript less so, 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. Not so much at your age, but in five years or so you'll need it. You will need to learn it eventually.

The transition to JavaScript directly might be a bit tough if you haven't mastered the basics of HTML markup. You'll need to to be comfortable with the DOM (Document Object Model) used behind the scenes on HTML and related markup languages.

The transition to C# would be easy but not very educational. If you are shaky on the basics and not comfortable with a big step, C# might be good to help strengthen some of those fundamentals.

Kirkkaf13
Kirkkaf13

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?

acamer01
acamer01

I'd say before you start learning about other programming languages, pick up a good book on data structures and algorithms first. Once you understand those, then you can really begin to learn other languages.

C++ Data Structures
http://www.amazon.com/Data-Structures-Algorithms-Michael-Goodrich/dp/0470383275/ref=sr_1_6?ie=UTF8&qid=1422420958&sr=8-6&keywords=c%2B%2B+data+structures&pebp=1422420961378&peasin=470383275

http://www.amazon.com/Plus-Data-Structures-Nell-Dale/dp/1449646751/ref=sr_1_1?ie=UTF8&qid=1422420958&sr=8-1&keywords=c%2B%2B+data+structures

Algorithms

http://www.amazon.com/Introduction-Algorithms-3rd-Thomas-Cormen/dp/0262033844/ref=sr_1_1?s=books&ie=UTF8&qid=1422421016&sr=1-1&keywords=introduction+to+algorithms+in+books&pebp=1422421020531&peasin=262033844

The key to immortality is to live a life worth remembering.
Spazzarama
Spazzarama

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

Serapth
Serapth

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.
Nypyren
Nypyren


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#.
Buster2000
Buster2000




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.

EEletri
EEletri

Thank you, I think I will focus on learning python then, any advice ?

"For God so loved the world, that he gave his only begotten Son, that whosoever believeth in him should not perish, but have everlasting life." - John 3:16   Blog: exchargedeeletri.wordpress.com
SimonForsman
SimonForsman

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.

[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!
Serapth
Serapth


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.
frob
frob

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.

Serapth
Serapth

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.
frob
frob

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

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

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.