What code should I learn?

ThatGamingAirman

Well-Known Member
OP
Member
Joined
Dec 29, 2017
Messages
617
Trophies
0
Age
19
Location
Pekin Illinois
XP
1,484
Country
United States
As you all know I'm 13 but, what you don't know is I take High school math which is an advanced math class for 8th graders. This means I know more in math than most my age because of this, I wanted to know which code would fit for my level of expertise.
 
D

Deleted User

Guest
Introductory programming doesn't involve that much math, so you shouldn't be worried about that.

As for a first language, I'd say whatever works for you. Python is a popular language that's often touted as a good entrypoint for green programmers. You might also want to check out languages like Ruby, Java, and C# as well.

If you want to go with Python, check out Invent With Python, by Al Sweigart, it's the book I used when first starting out with Python. If not, TutorialsPoint is an excellent resource for quickly picking up any programming language.
 

ThatGamingAirman

Well-Known Member
OP
Member
Joined
Dec 29, 2017
Messages
617
Trophies
0
Age
19
Location
Pekin Illinois
XP
1,484
Country
United States
Introductory programming doesn't involve that much math, so you shouldn't be worried about that.

As for a first language, I'd say whatever works for you. Python is a popular language that's often touted as a good entrypoint for green programmers. You might also want to check out languages like Ruby, Java, and C# as well.

If you want to go with Python, check out Invent With Python, by Al Sweigart, it's the book I used when first starting out with Python. If not, TutorialsPoint is an excellent resource for quickly picking up any programming language.
Cool, Thanks for the information
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,348
Country
United Kingdom
There are some advanced maths concepts that might cause you to stumble in a very few select areas of programming (stuff like matrices can be troubling for some) but without those you can still do very useful things and I would encourage learning something if it is of interest to you. You might even learn those areas if they do come up. Once coding was all maths but today the maths is fairly basic (basic arithmetic, algebra and trigonometry will carry you most places), good skills in it tend to mean you think logically though which is far more valuable.

I am not going to suggest you go for any given "level" from what you wrote there. I have had people your age take well to low level stuff, I have those that benefited far more from the easier to handle stuff and I have had mixtures of both. If your end goal is the sort of thing that needs high performance, low level coding (high end games, drivers, video encoding/filtering, things that need to be fast basically) then starting out there is not a bad plan. If you are more interested in converting file formats, making simple tools for specific problems you have. If you have an open source project you like then maybe go for whatever they are using.

https://gbatemp.net/threads/so-you-want-to-learn-to-program.371255/ has a bit more discussion on things, feel free to ask other things here or elaborate on what your goals are here.
 

TheMrIron2

Well-Known Member
Member
Joined
Aug 5, 2017
Messages
218
Trophies
0
XP
978
Country
Ireland
I recommend starting with Lua. It's fast and teaches you a lot of concepts and encourages clean code without being difficult. Python isn't bad either. Lua can be practised in two game settings: Roblox and Computercraft, the latter I used.

Once you get a good grasp of one language, learning a new one will be much easier than you'd think since you already get the fundamentals and you're just translating "Okay, so if I would do this in Lua, how would I do it in X?" and simply learning syntax.

Other recommendations are Java/C#: They are faster than Python and are very widely supported on multiple platforms, and learning either of those will make learning C/C++ easier - and they are really the big language for games, anything involving graphics rendering and especially games/programs on old platforms, ie. homebrew.

Bottom line: if you want to go for an open source project or a program for modern PCs, then Python and Lua are a good bet. Python is flexible, simple and widely supported. Lua is similar, though a bit less popular and significantly faster. However, if you want to dive into the deep end, I recommend C or C++. C/C++ introduce computer science concepts like memory management, and they're difficult languages especially to start with, but if you can grasp them you will have exceptional and basically unparalleled performance (aside from assembly/machine code) and it's both good for performance-driven applications as well as for squeezing out the most from hardware without writing assembly, which takes much longer and is extremely difficult to interpret without a good understanding.
 
  • Like
Reactions: JellyPerson

JellyPerson

https://discord.gg/BMVma8j
Banned
Joined
Jul 26, 2017
Messages
1,158
Trophies
0
Age
20
Location
Pyongyang
Website
https.htp
XP
1,599
Country
Korea, North
I recommend starting with Lua. It's fast and teaches you a lot of concepts and encourages clean code without being difficult. Python isn't bad either. Lua can be practised in two game settings: Roblox and Computercraft, the latter I used.

Once you get a good grasp of one language, learning a new one will be much easier than you'd think since you already get the fundamentals and you're just translating "Okay, so if I would do this in Lua, how would I do it in X?" and simply learning syntax.

Other recommendations are Java/C#: They are faster than Python and are very widely supported on multiple platforms, and learning either of those will make learning C/C++ easier - and they are really the big language for games, anything involving graphics rendering and especially games/programs on old platforms, ie. homebrew.

Bottom line: if you want to go for an open source project or a program for modern PCs, then Python and Lua are a good bet. Python is flexible, simple and widely supported. Lua is similar, though a bit less popular and significantly faster. However, if you want to dive into the deep end, I recommend C or C++. C/C++ introduce computer science concepts like memory management, and they're difficult languages especially to start with, but if you can grasp them you will have exceptional and basically unparalleled performance (aside from assembly/machine code) and it's both good for performance-driven applications as well as for squeezing out the most from hardware without writing assembly, which takes much longer and is extremely difficult to interpret without a good understanding.
Once I made an RPG for the TI-84 calculator in machine code. It was a fun little endeavor.
 
Last edited by JellyPerson,

TheMrIron2

Well-Known Member
Member
Joined
Aug 5, 2017
Messages
218
Trophies
0
XP
978
Country
Ireland
I've done some programming in C and C++, almost nothing in assembly except for a tiny bit of MIPS for PS2/PSP debugging. I find pushing old hardware like my PSP to be exceptionally rewarding and it makes you think outside the box to find solutions and make your code better and faster. Call me whatever you like, but I find there is simply more fun in getting every drop of performance you can out of aging hardware, and in the process perhaps proving that "aging" hardware can still hold its ground. People still program for the Atari 2600 and Commodore 64, which is incredible, and I'm not that dedicated - but you can still learn a lot from programming for older hardware. Start wherever you want in that regard: be it your childhood console or one of the older machines you have lying around, and see what it's capable of. You'll be surprised: I found out the PS2 was perfectly capable of 1080p 60FPS 3D rendering! I don't start many ground-up projects on those systems: I prefer to take some base code, learn from that, and then say "Okay, how can this be improved?". But in essence, it's a great experience. Once you know some fundamental computer science, I recommend checking out an old console or whatever if you have a sliver of interest. It's rewarding and educational.
 

The Catboy

GBAtemp Official Catboy™: Boywife
Member
Joined
Sep 13, 2009
Messages
27,975
Trophies
4
Location
Making a non-binary fuss
XP
39,425
Country
Antarctica
Buy you a Raspberry Pi 3B+ and start you some learning! That's really the whole point of the RPi is teaching you how to code and they provide you more than enough to get you started. Python is basically tethered to everything involved with the Pi community and Raspbian (the official Linux distro for the RPi)
 
Last edited by The Catboy,
  • Like
Reactions: linuxares

Jayenkai

Makes Games
Member
Joined
Dec 25, 2007
Messages
415
Trophies
0
Age
44
Location
Bolton, England
Website
AGameAWeek.com
XP
1,041
Country
United Kingdom
Most modern languages are vaguely similar. It's not like the 80s when BASIC was one thing, Pascal was a very different thing, and C was a whole other kettle of fish.
Nowadays, they all seem to have settled on what works and what doesn’t. The biggest differences tend to be what commands are and aren’t available, and the preferred ways to do loops and functions. But in general (or maybe it's that I’ve learned so much?) I typically find myself jumping from BlitzMax to MonkeyX to C++ to PHP to JavaScript and back, frequently.. they’re all similar enough that I can handle the differences, and simply continue to create.

If I were to start from scratch, today, I’d probably choose to learn using HTML5 and JavaScript.
Sure, those might not be the world's most ideal languages, but whatever you build, assuming you have somewhere to host it, you can happily show it off to oodles of people. Browsers are all over the place, including people's phones, and being able to say “look what I made” and have people actually see it, without needing to download and unzip and install and run the exe, can be a huge boost for your morale.

It might be slightly more complicated having to juggle both html and JavaScript simultaneously, but it'll be good practice for more complex things in the future.
 
D

Deleted User

Guest
I've done some programming in C and C++, almost nothing in assembly except for a tiny bit of MIPS for PS2/PSP debugging. I find pushing old hardware like my PSP to be exceptionally rewarding and it makes you think outside the box to find solutions and make your code better and faster. Call me whatever you like, but I find there is simply more fun in getting every drop of performance you can out of aging hardware, and in the process perhaps proving that "aging" hardware can still hold its ground. People still program for the Atari 2600 and Commodore 64, which is incredible, and I'm not that dedicated - but you can still learn a lot from programming for older hardware. Start wherever you want in that regard: be it your childhood console or one of the older machines you have lying around, and see what it's capable of. You'll be surprised: I found out the PS2 was perfectly capable of 1080p 60FPS 3D rendering! I don't start many ground-up projects on those systems: I prefer to take some base code, learn from that, and then say "Okay, how can this be improved?". But in essence, it's a great experience. Once you know some fundamental computer science, I recommend checking out an old console or whatever if you have a sliver of interest. It's rewarding and educational.
I don't really talk about my programming endeavours as much as I used to, but I am exactly in the same boat! The knowledge gained from tinkering around with older consoles can be extremely precious. Especially as I've personally found it to be more in my comfort zone as opposed to some of the later-gen consoles believe it or not; let alone it's also showed me the ropes of advanced C and C++ techniques much quicker and efficiently. Original Xbox is a great example thanks to its easy use of DirectX and Visual Studio, and the vast amounts of documentation already available publicly.
It sort of reminds me of when I used to play around designing different shaders for the 3DS not too long ago. The 3DS's GPU lacks pixel/fragment shader support, but with enough logic and use of multiple shader passes, you're still able to closely mimic some per-pixel shading effects which look equally as pleasant. It's just a really great feeling knowing that you're kind of "defying the laws" of the hardware that you're building an app or game on.

As for the topic at hand, I would go for Python too, I guess? I'm a C/C++ person, born and bred, but when I used to be at school studying computer science, where 80% of the people weren't particularly code-savvy, everybody seemed to be getting to grips with it quite nicely as the weeks went on. (And even I learnt a thing or two from it as well)
 
  • Like
Reactions: TheMrIron2

SuperKirbylover

Member
Newcomer
Joined
Aug 30, 2018
Messages
8
Trophies
0
Age
21
Location
planet earth
Website
superkirbylover.tumblr.com
XP
61
Country
United States
I started with Lua. On Roblox.

Problem is, I took Geometry in 8th grade, so ymmv with that.

hey same i learned lua first
i moved on from lua, to c#, and i found it they're pretty similar.
basically what everyone else said, start with java, c#, or python! most languages are usually easy to learn at first, not to mention a lot of them now are similar.
 

CosmoCortney

i snack raw pasta and chew lollipops
Member
Joined
Apr 18, 2013
Messages
1,768
Trophies
2
Location
on the cool side of the pillow
Website
follow-the-white-rabbit.wtf
XP
3,017
Country
Germany
Before I touched any programming language I started with HTML and CSS to get into coding in general. After that I quickly mastered JavaScript and later jQuery.
After a few months of web-based coding I achieved a good feel on writing code and got into C++ and x86/64 Assembly with great success.
By now I'm familiar with about 10 programming languages.
If you want to skip HTML and CSS I'd suggest to start with Python.
But if you ask me, Python is to be taken with a grain of salt:
  • It does not use semicolons (;) to end a set of commands like almost all programming languages do
  • Code blocks are written within indents instead of curly braces
  • It has no classy for-loop. Python's for-loop is more like a foreach-loop
I find these features very irritating.
But whats good for beginners, you don't have to care about datatypes as much as with languages like C++, C# or Java
 
  • Like
Reactions: Coto

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • BigOnYa @ BigOnYa:
    What a weird game
  • K3Nv2 @ K3Nv2:
    Yeah I wanted to see shards of the titanic
  • BigOnYa @ BigOnYa:
    I kept thinking jaws was gonna come up and attack
  • K3Nv2 @ K3Nv2:
    Jaws is on a diet
  • K3Nv2 @ K3Nv2:
    Damn power went out
  • BigOnYa @ BigOnYa:
    Ok xdqwerty, your little bro prob tripped On the cord and unplugged you
  • K3Nv2 @ K3Nv2:
    Ya I'm afraid of the dark hug me
  • BigOnYa @ BigOnYa:
    Grab and hold close your AncientBoi doll.
  • K3Nv2 @ K3Nv2:
    Damn didn't charge my external battery either
  • BigOnYa @ BigOnYa:
    Take the batteries out of your SuperStabber3000... Or is it gas powered?
  • K3Nv2 @ K3Nv2:
    I stole batteries from your black mamba
    +1
  • K3Nv2 @ K3Nv2:
    My frozen food better hold up for an hour I know that
  • BigOnYa @ BigOnYa:
    Or else gonna be a big lunch and dinner tomorrow.
  • BigOnYa @ BigOnYa:
    Did you pay your power bill? Or give all yo money to my wife, again.
  • K3Nv2 @ K3Nv2:
    Oh good the estimated time is the same exact time they just said
    +1
  • BigOnYa @ BigOnYa:
    Load up your pc and monitor, and head to a McDonalds dining room, they have free WiFi
  • K3Nv2 @ K3Nv2:
    Sir please watch your porn in the bathroom
    +2
  • BigOnYa @ BigOnYa:
    No sir we can not sell you anymore apple pies, after what you did with the last one.
  • K3Nv2 @ K3Nv2:
    We ran out
  • HiradeGirl @ HiradeGirl:
    for your life
    +1
  • K3Nv2 @ K3Nv2:
    My life has no value my fat ass is staying right here
    SylverReZ @ SylverReZ: https://www.youtube.com/watch?v=8EmXheuVzFo