Jump to content

Which programming language should i start with as a 15 year old?

memz
Go to solution Solved by Sauron,
4 minutes ago, WolframaticAlpha said:

OH MY GOD!!!!!!!!!!!!!!

Wow, God forbid a 15 year old who has never programmed anything doesn't know what .NET is... maybe chill?

9 minutes ago, memz said:

my uncle was telling me to start with python but i dont know if it'll take me anywhere in the future as there will be many other python programmers to compete with 

Never think like this. Think of it as learning how to program, not learning a specific language. If you get your driver's license on a Honda Civic you're equally capable of driving a Jeep with a little practice - it's the same with programming. If you get good at it it won't matter what language you need to use. There's really no such thing as a programmer who only writes Python, though one may choose to specialize and get more experience writing in that language.

 

Python is a good language to start with because it removes a lot of obstacles and lets you focus on what you want the code to do. I suggest you worry less about what language to start with and more about actually starting 😉

1 minute ago, WolframaticAlpha said:

Bruh I have a job writing Java and C and C++. Please don't lecture me on sexy stuff.

Lol my job is in Java and .NET development so I'm well aware of the benefits/struggles.

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, memz said:

my uncle was telling me to start with python but i don't know if it'll take me anywhere in the future as there will be many other python programmers to compete with 

There's always going to be programmers to compete with. To me it is important to recognize the fact that in most cases you'll likely be doing upkeep on legacy code. Sure python is a huge language being used really often nowadays, but it doesn't really translate to many languages easily as other languages can. Python is in a league of its own with a lot of its concepts so in starting with that language you may find it difficult to apply basic programming principles to other languages.

i5 4670k| Asrock H81M-ITX| EVGA Nex 650g| WD Black 500Gb| H100 with SP120s| ASUS Matrix 7970 Platinum (just sold)| Patriot Venom 1600Mhz 8Gb| Bitfenix Prodigy. Build log in progress 

Build Log here: http://linustechtips.com/main/topic/119926-yin-yang-prodigy-update-2-26-14/

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, CJPowell27 said:

There's always going to be programmers to compete with. To me it is important to recognize the fact that in most cases you'll likely be doing upkeep on legacy code. Sure python is a huge language being used really often nowadays, but it doesn't really translate to many languages easily as other languages can. Python is in a league of its own with a lot of its concepts so in starting with that language you may find it difficult to apply basic programming principles to other languages.

I agree with this.

 

I think C# and .NET is a great starting point for new-comers due to its support and compatibility with familiar systems, but to each their own.

Link to comment
Share on other sites

Link to post
Share on other sites

5 minutes ago, Raid Owl said:

I agree with this.

 

I think C# and .NET is a great starting point for new-comers due to its support and compatibility with familiar systems, but to each their own.

C# is a pain to develop for. AFAIK, you have to create a new project everytime you want to create and compile a.cs file.

 

 

If microsoft just gave people the ability to create compile and execute source in the terminal

Link to comment
Share on other sites

Link to post
Share on other sites

5 minutes ago, Raid Owl said:

I agree with this.

 

I think C# and .NET is a great starting point for new-comers due to its support and compatibility with familiar systems, but to each their own.

so c or c#

Link to comment
Share on other sites

Link to post
Share on other sites

4 minutes ago, WolframaticAlpha said:

OH MY GOD!!!!!!!!!!!!!!

Wow, God forbid a 15 year old who has never programmed anything doesn't know what .NET is... maybe chill?

9 minutes ago, memz said:

my uncle was telling me to start with python but i dont know if it'll take me anywhere in the future as there will be many other python programmers to compete with 

Never think like this. Think of it as learning how to program, not learning a specific language. If you get your driver's license on a Honda Civic you're equally capable of driving a Jeep with a little practice - it's the same with programming. If you get good at it it won't matter what language you need to use. There's really no such thing as a programmer who only writes Python, though one may choose to specialize and get more experience writing in that language.

 

Python is a good language to start with because it removes a lot of obstacles and lets you focus on what you want the code to do. I suggest you worry less about what language to start with and more about actually starting 😉

Don't ask to ask, just ask... please 🤨

sudo chmod -R 000 /*

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, Sauron said:

Wow, God forbid a 15 year old who has never programmed anything doesn't know what .NET is... maybe chill?

Never think like this. Think of it as learning how to program, not learning a specific language. If you get your driver's license on a Honda Civic you're equally capable of driving a Jeep with a little practice - it's the same with programming. If you get good at it it won't matter what language you need to use. There's really no such thing as a programmer who only writes Python, though one may choose to specialize and get more experience writing in that language.

 

Python is a good language to start with because it removes a lot of obstacles and lets you focus on what you want the code to do. I suggest you worry less about what language to start with and more about actually starting 😉

Yeah, honestly just pick one and roll with it. As long as you are learning then you are on the right track. 

Link to comment
Share on other sites

Link to post
Share on other sites

3 minutes ago, Sauron said:

, God forbid a 15 year old who has never programmed anything doesn't know what .NET

I know you are trying to poke fun at me, but I knew what it was when I was 15.  

 

Also I was alluding to the people who say: "OH MY GOD! YOU HAVEN'T WATCHED GAME OF THRONES! OH MY GOD"

 

 

 

 

 

I still hate myself for telling someone that everyone should program in .net when I was 19

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, WolframaticAlpha said:

I know you are trying to poke fun at me, but I knew what it was when I was 15.  

 

 

 

 

 

I still hate myself for telling someone that everyone should program in .net when I was 19

its been a week ive started, havent taken a single course just learned on things just by reading little by little 

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, WolframaticAlpha said:

I know you are trying to poke fun at me, but I knew what it was when I was 15. 

That's great, not everyone does though and frankly I don't think it's a big deal either way. At some point you didn't know what it was either and I doubt you'd have appreciated people making fun of you for it when you were trying to learn.

Don't ask to ask, just ask... please 🤨

sudo chmod -R 000 /*

Link to comment
Share on other sites

Link to post
Share on other sites

6 minutes ago, Sauron said:

Python is a good language to start with because it removes a lot of obstacles and lets you focus on what you want the code to do. I suggest you worry less about what language to start with and more about actually starting

A question. I started programming in BASIC and then moved on to C. While I am fairly proficient in programming, I seemingly hate Python. Am I a contrarian or has C blinded me?

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, Sauron said:

That's great, not everyone does though and frankly I don't think it's a big deal either way. At some point you didn't know what it was either and I doubt you'd have appreciated people making fun of you for it when you were trying to learn.

Yeah well. You're right. Have my tick mark sir.

Link to comment
Share on other sites

Link to post
Share on other sites

Just now, WolframaticAlpha said:

A question. I started programming in BASIC and then moved on to C. While I am fairly proficient in programming, I seemingly hate Python. Am I a contrarian or has C blinded me?

maybe you're an elitist? 🤔 horses for courses and all that

Don't ask to ask, just ask... please 🤨

sudo chmod -R 000 /*

Link to comment
Share on other sites

Link to post
Share on other sites

thanks for the help guys!

 

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, WolframaticAlpha said:

I know you are trying to poke fun at me, but I knew what it was when I was 15.  

 

Also I was alluding to the people who say: "OH MY GOD! YOU HAVEN'T WATCHED GAME OF THRONES! OH MY GOD"

 

 

 

 

 

I still hate myself for telling someone that everyone should program in .net when I was 19

The second language I looked at after C++ was assembly so I know that feel, pain. only pain.

Just now, memz said:

its been a week ive started, havent taken a single course just learned on things just by reading little by little 

If you do decide to go with either Python or C++ thenewboston on youtube puts complex concepts into simple terms that even a brand new programmer can understand. If you go with C++ let me know and I can create a google doc folder with all of my lectures from one of the most brilliant programmers/professors I've ever seen and learned from.

i5 4670k| Asrock H81M-ITX| EVGA Nex 650g| WD Black 500Gb| H100 with SP120s| ASUS Matrix 7970 Platinum (just sold)| Patriot Venom 1600Mhz 8Gb| Bitfenix Prodigy. Build log in progress 

Build Log here: http://linustechtips.com/main/topic/119926-yin-yang-prodigy-update-2-26-14/

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, CJPowell27 said:

The second language I looked at after C++ was assembly so I know that feel, pain. only pain.

Oh god...you're giving me PTSD...

Link to comment
Share on other sites

Link to post
Share on other sites

3 minutes ago, CJPowell27 said:

The second language I looked at after C++ was assembly so I know that feel, pain. only pain.

If you do decide to go with either Python or C++ thenewboston on youtube puts complex concepts into simple terms that even a brand new programmer can understand. If you go with C++ let me know and I can create a google doc folder with all of my lectures from one of the most brilliant programmers/professors I've ever seen and learned from.

yeah i think c++ is where im going to be heading 

 

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, memz said:

yeah i think c++ is where im going to be heading 

 

I found my professors archive for her 3 C++ classes. I'll send you a link in your DMs, start with 162 then 163, then 202 and look at all the lecture materials she's amassed .

i5 4670k| Asrock H81M-ITX| EVGA Nex 650g| WD Black 500Gb| H100 with SP120s| ASUS Matrix 7970 Platinum (just sold)| Patriot Venom 1600Mhz 8Gb| Bitfenix Prodigy. Build log in progress 

Build Log here: http://linustechtips.com/main/topic/119926-yin-yang-prodigy-update-2-26-14/

Link to comment
Share on other sites

Link to post
Share on other sites

41 minutes ago, memz said:

yeah my maths limits my knowledge with python apparently as its not my strongest subject

 

Start getting good at math since game development is entirely math driven... If you decide to try to do it professionally in the future companies will administer a math test of sorts as a part of the interview process. 

 

As far as a language goes I would probably jump into C++ since that is the dominant language in the game development industry. Thats not to say that you shouldn't learn others since Python is very popular in the industry for the development of tools. Lua is probably the most prominent scripting language with C# starting to gain a lot of popularity due to unity. It basically comes down to make sure you know how to program. Make sure you have a solid understanding of math and ensure that you understand the hardware at a low level.

CPU: Intel i7 - 5820k @ 4.5GHz, Cooler: Corsair H80i, Motherboard: MSI X99S Gaming 7, RAM: Corsair Vengeance LPX 32GB DDR4 2666MHz CL16,

GPU: ASUS GTX 980 Strix, Case: Corsair 900D, PSU: Corsair AX860i 860W, Keyboard: Logitech G19, Mouse: Corsair M95, Storage: Intel 730 Series 480GB SSD, WD 1.5TB Black

Display: BenQ XL2730Z 2560x1440 144Hz

Link to comment
Share on other sites

Link to post
Share on other sites

I always wonder why so many people instantly jump to programming game engines when they hear game development. Writing your own engine is NEVER a good idea unless you can name at least 5 valid technical reasons why existing and available game engines won't be sufficient. The truth is: writing your own game engine as an amateur is a doomed project. If you think you on your own can pull off a better job than the engine developers at Epic (Unreal engine - free to play around with, free for low budget games up to a certain point, then you'll need to pay some fees) or Unity (Unity engine - to my knowledge same model as Epic's Unreal engine), heck, if you think you can do a better job than the folks who made babylon.js (to my knowledge the most popular JS 3d game engine) or even just the bloody Quake engine then you're most likely delusional.

 

The only valid reason for an amateur is the pure educational aspect as the result will not be better than what's already available. Prepare for years (!!!) of work before the engine with the necessary subsystems is done. 

 

We're not in the early 90s any more, game development is a lot more complex than it used to be. You can start making games without knowing C++ or C# or JS -  just use the engine editors. At least Unity uses Lua for most of the scripting.

 

And people saying you'll need good math skills ... yeah, well, the necessary math is not very complex for vector operations. I'd dare to say it's actually trivial and can be learned by 12 year olds if they only wanted to learn it. And guess what, it's mostly part of the graphics part of the engine. Where it can get more complicated is writing shaders or to subsystems (with multiple shaders) that try to emulate certain physical effects. Excellent developers often enough write scientific papers about some of that stuff. Volumetric clouds and atmospheric scattering for example. That's where you need lots of math because you need to model physics. But that ain't the usual level. 

 

What an engine REALLY is, is a way to organize data interconnecting different subsystems. An engine is something like a classical orchestra with various instruments that need to be tied together and that need to be coordinated. That is what a game engine does.

 

At the core a game engine isn't any different than any larger scale application. Software development is not knowing how to write code that sort of works, it is about designing a software architecture that ties everything together, that manages dataflow. That is software development. 

 

It doesn't matter what language you use to learn those skills, you'll be able to transfer your knowledge. Learning that stuff will take years. People go to university for that.

 

It doesn't matter if you start with JS, Python, C++, C#, Rust, etc. Pick a language that suits what you want to do right now. If you want to do web development: JS is probably your best bet as it is the only actual programming language (as CSS and HTML aren't, they are markup languages) your browser understands natively. Sure, you could transpile other languages to WebAssembly or use Java or .Net but ... that's sort of niche.

 

There's a plethora of information available and most available frameworks already manage most of the information flow for you, so you can start learning how to write algorithms and tackle problems. Once you got that, go and write bigger systems.

Use the quote function when answering! Mark people directly if you want an answer from them!

Link to comment
Share on other sites

Link to post
Share on other sites

10 hours ago, Sauron said:

maybe you're an elitist? 🤔 horses for courses and all that

Nah. I still use Debian and clear linu-- OH FUCK I AM AN ELITIST

 

6 hours ago, bowrilla said:

always wonder why so many people instantly jump to programming game engines when they hear game development. Writing your own engine is NEVER a good idea unless you can name at least 5 valid technical reasons why existing and available game engines won't be sufficient. The truth is: writing your own game engine as an amateur is a doomed project. If you think you on your own can pull off a better job than the engine developers at Epic (Unreal engine - free to play around with, free for low budget games up to a certain point, then you'll need to pay some fees) or Unity (Unity engine - to my knowledge same model as Epic's Unreal engine), heck, if you think you can do a better job than the folks who made babylon.js (to my knowledge the most popular JS 3d game engine) or even just the bloody Quake engine then you're most likely delusional.

 

The only valid reason for an amateur is the pure educational aspect as the result will not be better than what's already available. Prepare for years (!!!) of work before the engine with the necessary subsystems is done. 

 

We're not in the early 90s any more, game development is a lot more complex than it used to be. You can start making games without knowing C++ or C# or JS -  just use the engine editors. At least Unity uses Lua for most of the scripting.

 

And people saying you'll need good math skills ... yeah, well, the necessary math is not very complex for vector operations. I'd dare to say it's actually trivial and can be learned by 12 year olds if they only wanted to learn it. And guess what, it's mostly part of the graphics part of the engine. Where it can get more complicated is writing shaders or to subsystems (with multiple shaders) that try to emulate certain physical effects. Excellent developers often enough write scientific papers about some of that stuff. Volumetric clouds and atmospheric scattering for example. That's where you need lots of math because you need to model physics. But that ain't the usual level. 

 

What an engine REALLY is, is a way to organize data interconnecting different subsystems. An engine is something like a classical orchestra with various instruments that need to be tied together and that need to be coordinated. That is what a game engine does.

 

At the core a game engine isn't any different than any larger scale application. Software development is not knowing how to write code that sort of works, it is about designing a software architecture that ties everything together, that manages dataflow. That is software development. 

 

It doesn't matter what language you use to learn those skills, you'll be able to transfer your knowledge. Learning that stuff will take years. People go to university for that.

 

It doesn't matter if you start with JS, Python, C++, C#, Rust, etc. Pick a language that suits what you want to do right now. If you want to do web development: JS is probably your best bet as it is the only actual programming language (as CSS and HTML aren't, they are markup languages) your browser understands natively. Sure, you could transpile other languages to WebAssembly or use Java or .Net but ... that's sort of niche.

 

There's a plethora of information available and most available frameworks already manage most of the information flow for you, so you can start learning how to write algorithms and tackle problems. Once you got that, go and write bigger systems.

 

Writing your own game engine is something fun, not practical. When you write your compiler, are you thinking, "Oh fun, I will replace gcc". NO! When you start writing code, do you want to start making a database or tetris? 

My first major project was porting Doom to knoppix. I knew other people had much better ports, but I was programming for fun. Unless you program for fun, you are DOOMed(geddit?)

 

> Javascript.

 

You must be pretty delusional if you think that game engines can be written in javascript. If stuff like go is not performant enough, saying javascript will get you slapped.

 

And people saying you'll need good math skills ... yeah, well, the necessary math is not very complex for vector operations. I'd dare to say it's actually trivial and can be learned by 12 year olds if they only wanted to learn it. And guess what, it's mostly part of the graphics part of the engine. Where it can get more complicated is writing shaders or to subsystems (with multiple shaders) that try to emulate certain physical effects. Excellent developers often enough write scientific papers about some of that stuff. Volumetric clouds and atmospheric scattering for example. That's where you need lots of math because you need to model physics. But that ain't the usual level. 

 

Yes, I said you need simple maths. A good knowledge of trignometry, algebra and the "vector stuff" is taught in high school. None of that higher order mathematics shiz. A 12 year old might know how to solve that stuff, if you taught them, but they won't be able to apply it. Application is important, not mathematics. And when you are 15, you don't write a shader engine or a compute subsystem. I would be pretty impressed if someone even managed to create a shadowcaster(og doom 1993) like game engine, when they are a teenager.

 

> There's a plethora of information available and most available frameworks already manage most of the information flow for you, so you can start learning how to write algorithms and tackle problems. Once you got that, go and write bigger systems.

 

Typical python programmer stuff. When you are a 15 year, nobody codes to get a job. We coded to have fun, and make something cool. No one writes a fucking "FInd the nth number" program for fun. Fun is in making text based games, porting stuff and learning.

Link to comment
Share on other sites

Link to post
Share on other sites

16 hours ago, WolframaticAlpha said:

Hohohoho! No maths = No game developement. Study maths first. It will be very IMPORTANT(Unless you want to become a worthless database/sysadmin people)

tell that to the banks that have head hunter tryign to buy you before you've finish your DBA diploma with meager 300k salary. shame on them.

Link to comment
Share on other sites

Link to post
Share on other sites

6 hours ago, WolframaticAlpha said:

 

> Javascript.

 

You must be pretty delusional if you think that game engines can be written in javascript. If stuff like go is not performant enough, saying javascript will get you slapped.

Babylon.js? Pixi.js? Three.js? PlayCanvas? Before you're making claims, spend 5mins googling the topic.

Use the quote function when answering! Mark people directly if you want an answer from them!

Link to comment
Share on other sites

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

×