• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

14 year old wanting to learn programming

noclip

Junior Member
Hi there everyone, I'm 14 years old and am very interested in trying to learn programming but searching the internet has left me with more questions than answers and that everyone has a different need to suit so let me explain mine.

I'm 14years old with no prior experience in programming and am interested in learning (I'd like to hopefully get a job in the games industry and programming is on job in the industry so I am hoping to try it out)
I guess my main question right now is where to start, after searching many people have said C++ and others say that is too difficult for a beginner and that Visual Basic is more suited and it goes on and on. A side question would also be where and how to learn a language.

If you have any follow up questions please feel free to ask and I'll try to answer them to the best of my ability.
Thanks everyone
 
so far I have tried both java and C++. may also want to consider C#
 
Start with a simple scripting language and then work your way into something more complicated. Scripting languages are interactive so its easier to debug on the fly.

Load up any linux variant and just write Bash scripts to start. You'll learn the basics - for loops, assigning variables, creating functions, arrays, getting user input, printing to screen, etc. After you get comfortable with that, then you can dabble in C. Don't go straight to C++ or Java. I personally believe that what they call "object oriented" programming these days is an over-complicated abomination. Unfortunately its now a necessary evil, but you should still get very familiar with where it all started.
 
I personally believe that what they call "object oriented" programming these days is an over-complicated abomination.

The basic ideas of object-oriented programming - encapsulation, inheritance, and polymorphism - were as transformational as the basic ideas of structured programming two decades prior, and are now canon. In terms of the many and various implementations of those ideas, certainly some of them might fairly be called "overcomplicated abomination".

I feel that if a beginning programmer can tackle a compiled, C-like language, then there is no reason to start with C over C++. They need to start learning about classes and members and inheritance right up front, not as something to be grafted on later to a purely procedural foundation.
 
The basic ideas of object-oriented programming - encapsulation, inheritance, and polymorphism - were as transformational as the basic ideas of structured programming two decades prior, and are now canon. In terms of the many and various implementations of those ideas, certainly some of them might fairly be called "overcomplicated abomination".

I feel that if a beginning programmer can tackle a compiled, C-like language, then there is no reason to start with C over C++. They need to start learning about classes and members and inheritance right up front, not as something to be grafted on later to a purely procedural foundation.


I agree. The concepts of OO really do significantly change the way you look at things. It is crazy that some schools are trying to eliminate it from introductory curriculum http://existentialtype.wordpress.com/2011/03/15/teaching-fp-to-freshmen/ .
 
Hi there everyone, I'm 14 years old and am very interested in trying to learn programming ...
-this is promissing. But for now, forget about job... you know, it's like saying "I'd like to learn physics... and become an astronaut later" -sounds silly, doesn't it?
The only important thing right now is, you're interested to learn programming! Because, once you really know programming, you'll be able to make anything you wish (not necessary games). The thing is, knowing one primary (any) programming language is just a basis for further developement, which (in your future) might lead into different directions:
- databases -will also require knowledge of SQL programming
- games -will also require knowledge of assembler programming
- web interactive -will also require Javascripting (+whatever) knowledge,
..etc.
Let me explain this way: Long ago, I've started with Pascal language (now known as Delphi Pascal) and there's nothing I can't make with it. The same can be said for C++, C#, VB, etc. Why differences then? Well, some are more "powerfull" and flexible than others... and as one might expect, some are easier to learn than others. In general: more difficult (to learn) languages are usually more "powerfull".
Ok... what programming language then? If I would need to choose again, then it would be either C++ or Delphi Pascal. And if I would need to choose between these two, it would be Delphi Pascal again. Simply because it is easier to "understand" -in this regard, Pascal is somehow similar to Basic.
What you should do? Choose programming tool you can get (or can afford) and start reading manuals.

Wish you happy hours 🙂
 
It depends on how motivated you really are. If you are very passionate about programming, I would suggest diving right into a sample project with a language of your choice (that you can afford). Do something with immediate feedback, like scripting or web apps, so you can quickly see your progression of learning.

You are searching the internet and have more questions than before. There is no need to "know" everything about programming right now. That is information overload and you won't learn very fast. Learn through your sample project and focus your questions from the problems you encounter. Before you make your question, take a best stab at it first so those who answer can understand how you think. If you don't have a question but have multiple paths you could take, list them out and give your pros and cons before you present them. Following this formula will speed up your learning and focus your way of thinking.

In the end, it is all about how you organize your thoughts. I was interested in programming a little younger than you but my goal was to make an GUI wrapper to DOS 3.1 so the rest of my family could be motivated to actually use our expensive computer. It took a while but I didn't have nearly the amount of references as you do now but I eventually made a simple GUI to organize and launch most frequently used apps. My family still hated it, but I didn't care because I found more reasons to stay motivated to programming by then.

Keep it up and depending on your attitude, you might even get laid once in a while.
 
I feel that if a beginning programmer can tackle a compiled, C-like language, then there is no reason to start with C over C++. They need to start learning about classes and members and inheritance right up front, not as something to be grafted on later to a purely procedural foundation.

I don't know that I totally agree with that... Personally I started off with OOP and it wasn't until started using C in depth before I understood how a program could function without classes and objects. Using C heavily has improved my overall programming ability because it taught me to rely less heavily on objects in situations where they were unnecessary (in OOP languages).
 
Start with this: http://ocw.mit.edu/courses/electric...o-computer-science-and-programming-fall-2008/

Be honest and do all the work prescribed in the course.

The goal isn't to show people that you know how to code, but rather learn to love it and understand how it works on different levels. Thats the only way you will become a good programmer.

There are different types of programming,
- Object Oriented Programming (C++, Java are the major ones) - This is what is used more often that not.
- Procedure Oriented Programming (C)
- Web development
- functional programming

There are way too many languages. Some are easier than others, some are more useful. However the most important part is starting with languages that are closest to machine language. Since you're so young, you have the opportunity to really understand how computer programs work.

The course I linked above is a great way to start. There are video lectures, and the professor assumes that you don't have any background in CS. So he goes slow, and covers all the major concepts.

After you finish that I would move on to C then C++ then Java and then whatever you want!
 
I don't know that I totally agree with that... Personally I started off with OOP and it wasn't until started using C in depth before I understood how a program could function without classes and objects. Using C heavily has improved my overall programming ability because it taught me to rely less heavily on objects in situations where they were unnecessary (in OOP languages).

To me that reads the same as "rely less heavily on structs in situations where they were unnecessary" or "rely less heavily on procedures in situations where they were unnecessary."

Can you describe for me a situation where objects were "unnecessary" and what cost/benefit trade-off you were trying to take advantage of when you decided you didn't need them?
 
To me that reads the same as "rely less heavily on structs in situations where they were unnecessary" or "rely less heavily on procedures in situations where they were unnecessary."

Can you describe for me a situation where objects were "unnecessary" and what cost/benefit trade-off you were trying to take advantage of when you decided you didn't need them?

Objects are never "necessary" (excuse my poor word choice in my previous post)... they're simply just one tool in the toolbox. I simply argue that there is merit in learning a procedural language.
 
Objects are never "necessary" (excuse my poor word choice in my previous post)... they're simply just one tool in the toolbox. I simply argue that there is merit in learning a procedural language.

True, no approach to structure is ever strictly necessary, if you're willing to forego the benefits. By your logic then I could assert that procedures are never necessary, and a new programmer should first learn to use labels, gotos, and gosubs.
 
Well, there are cases where addong oop on top of things really just bloats things up. For example, a simple script that shoots off a few processes and manipulates the strings won't see much benefit from OOP.
 
Welcome to our forum, noclip.

Based on your spelling alone, I'm going to assume you're genuinely interested in a programming career, maybe in gaming (but there are lots of entertaining areas of programming). For now, as a hobby programmer, you have a lot of options. Others will gladly recount their favorite languages, environments, etc., for you. So I'll just offer this general advice:
- Have fun programming; try different things (languages, operating systems, etc.). People learn faster when they're entertained.
- Ask questions (this forum is a pretty friendly place for beginners)
- Do what you have to do to kick ass in math, if you don't already
- Plan to go to college to study computer science (even if you "just want to program", your options will be wider with a CS degree)
 
Well, there are cases where addong oop on top of things really just bloats things up. For example, a simple script that shoots off a few processes and manipulates the strings won't see much benefit from OOP.

Agreed, if the program is too small to benefit from higher level structural abstractions then it doesn't matter. For any program large enough to benefit from a procedural decomposition, an object-oriented decomposition is better.
 
Thanks everyone for the feedback. I think i'll be taking WantedSpidy's python course link. But by no means stop contributing
 
Python is a high-level programming language. It is user-friendly also. It is good for beginners.
Few months in the past I was searching for right programming language for me. I was trying C, C++, but it was too complicated for me. Later I tried learning Python from Learn Python the Hard Way book. What I have learned from that book is functions, loops and other programming basics which you can use in every programming language. So if you will learn Python basics from that book you will not regret.
 
Having been a programming instructor twice before... i believe that OOP with C++ is indeed a great starting point, however, im surprised noone has mentioned it yet...

If you want a true basic introduction to OO programming and have a little fun, why not try the alice 2 project? it is designed for high school programming classes, which should be just in your age bracket, and its fun to do. www.alice.org
 
Having been a programming instructor twice before... i believe that OOP with C++ is indeed a great starting point, however, im surprised noone has mentioned it yet...

I did that once before. People laughed at me and called me an idiot for it. Since the language doesn't really matter THAT much, I decided it was better to avoid the flame wars of "C++ sucks and is way too hard".
 
I did that once before. People laughed at me and called me an idiot for it. Since the language doesn't really matter THAT much, I decided it was better to avoid the flame wars of "C++ sucks and is way too hard".


Like it or not... most major universities require many of their degrees to take at least 3 credits of OO programming in some language.

Penn State (where I taught 2 semesters) requires all engineers and science majors to take a freshmen level basic C++/OOP course and some majors must go on to data structures in C++... AKA Linked lists stacks queues trees graphs, etc.
 
I have a niece who wanted to do something fun with games on the pc and at the same time wanted to learn programming. She has ADD so getting her to stay with something , especially something that requires a lot of reading of lines of code is near impossible. I needed something that would give quick results to hold her interest and I found it in Panda3d. The game engine is well written, uses python and there is loads of tutorials out there. She can literally write one line of code and have something happen on screen.
http://www.panda3d.org/
 
I have a niece who wanted to do something fun with games on the pc and at the same time wanted to learn programming. She has ADD so getting her to stay with something , especially something that requires a lot of reading of lines of code is near impossible. I needed something that would give quick results to hold her interest and I found it in Panda3d. The game engine is well written, uses python and there is loads of tutorials out there. She can literally write one line of code and have something happen on screen.
http://www.panda3d.org/

very similar to alice except that... Alice is java based, Panda3d is C++ based.
 
Back
Top