Beginners programming advice

ch33zw1z

Lifer
Nov 4, 2004
39,055
19,754
146
Quick background, I'm a hardware and networking guy, did some basic programming in c, c+, vb, java, cobol....but over 10 years ago.

Fast forward to now, my son is 10 and a complete tech nerd. but hardware and networking isn't enough, I can tell software is an interest.

My question is based around this...

What's a good starting place for younger programmers?

Edit: I do see the stickies at the top, just looking to get him started off well
 

Gryz

Golden Member
Aug 28, 2010
1,551
204
106
Python.

Easy to get started. The interpreter part makes it so he can see immediate results of single lines of code. Python is very popular in many places (including Network Operators). After a while, your son will even get in touch with Object Oriented Programming. I don't see how you can go wrong with Python as your first language.

Personally I would quit my job if my boss forced me to program in Python. But for people new to programming, Python seems a lot better than the alternatives (Basic, Java, JavaScript, C++, C#, etc).
 

HumblePie

Lifer
Oct 30, 2000
14,665
440
126
Depends on what you are looking to do and also where you are geographically.

Python development is HUGE in some parts of the country and less so in others.
C/C++ is still big in government work and some industries. Heck in COBOL/Fortran still has a demand in many places.
Other parts of the country has a lot of Java industry
Finally there is a large demand for C# and .Net developers all over the place as well.

Even still, most places are going to have your average developer know some database stuff including database languages. SQL is pretty standard to know and learn, but SAP is also big in many places. Oracle is still in use but from my experience not as big as it once used to be.

If he is interested in web applications then knowledge of Javascript is a must as well as basic HTML. There are some additional frames to learn for web application development, but those aren't always as widespread in usage.

Real question is what type of development is he interested in? If he says game development, then he's in for a rough road from competition. Every 15 year old boy today seems to all want to be a game developer.
 

Gryz

Golden Member
Aug 28, 2010
1,551
204
106
The kid is just 10 years old !
I think he just needs a programming language to toy around with. Python seems ideal for that, imho.

SQL, SAP, even Javascript and HTML, what has that poor kid done, that you're trying to kill him ? He just needs to learn about variables, if/then/else, for-loops, what is a function ? He's not looking for a career. He's not looking what is most demanded in the industry, what gets him a guaranteed job. He's 10. He just wants to write a "real computer program".
 

HumblePie

Lifer
Oct 30, 2000
14,665
440
126
The kid is just 10 years old !
I think he just needs a programming language to toy around with. Python seems ideal for that, imho.

SQL, SAP, even Javascript and HTML, what has that poor kid done, that you're trying to kill him ? He just needs to learn about variables, if/then/else, for-loops, what is a function ? He's not looking for a career. He's not looking what is most demanded in the industry, what gets him a guaranteed job. He's 10. He just wants to write a "real computer program".

I was learning all that at 10....

In fact I started with BASIC on my commodore 64 when I was 6 years old. Wrote a few decent programs including my own game and such. Wasn't anything spectacular, but it was a few thousand lines of code.

By the time I was 10 I was programming in pascal, C, and Fortran. Only because my Dad was showing me how on some of it.

HTML and Javascript are easy by comparison.
 

DaveSimmons

Elite Member
Aug 12, 2001
40,730
670
126
If it is games he's interested in, maybe get Skyrim and let him play with the modding tools for it?

But yes, interpreters are nice to start with for the immediate feedback even if you do lose type safety and other error detection. BASIC wasn't a bad choice on the old 8-bits like the C=64 and Atari but it's a dead language now.
 

ch33zw1z

Lifer
Nov 4, 2004
39,055
19,754
146
Thanks for the replies so far.

Do most tools center around Windows? we're not shy around linux
 
Feb 25, 2011
16,985
1,616
126
Thanks for the replies so far.

Do most tools center around Windows? we're not shy around linux

For programming? Windows is fine, Linux is marginally better. (mostly little stuff - line endings, executable bits and hashbangs, an unlimited variety of slightly different text editors because Linux guys are insane, etc.)

Specifically w/r/t Python, I do like Linux better because the python module managers (pip, etc.) are easier to deal with, everything's installed through the primary package manager (yum/apt/whatever) and it's... it's just less finicky.
 

Aikouka

Lifer
Nov 27, 2001
30,383
912
126
You can always grab a copy of LabView Home. While it's vastly different from anything else suggested here, it is used in certain industries quite a bit, and the thought processes are generally the same. Tell him he can work for Elon Musk at SpaceX if he gets good enough.
 

beginner99

Diamond Member
Jun 2, 2009
5,312
1,750
136
I vote for python especially Anaconda Python as it comes with many important libraries pre-shipped and is in general easier to use than default python. It also ships with the Juypter Notebook which is a great tool for learning. A way, way better interactive python shell.

Example what you can do with it: (Combine text, programing and output, graphical and interactive output possible)

 

Bernard20

Junior Member
Nov 30, 2016
7
0
1
You can learn the basics of programming from codeacademay and Udemy websites. If you want to be a developer then for web development, you need to learn HTML and CSS. Without HTML and CSS, you cannot design the contents of a website. For learning HTML and CSS, you can also check w3school website. With HTML and CSS, you also need a language to create the functionality of the system. For this, you can choose a language between PHP, JAVA and .NET. Since you already know java you need to learn advance java to create applications.
 

MrBailey

Member
Dec 1, 2005
107
73
101
Another supporter for Python. For a beginner, try the Thonny IDE.

It is a very simple IDE with Python 3.5.2 included. It's very simplistic and will not overwhelm a youngster, unlike some other IDEs. It has nice stack and variable windows, so the young programmer can see what's going on in the background...plus a nice debugger.


 

sao123

Lifer
May 27, 2002
12,653
205
106
I think Alice 3.0 is a great way to get started for kids.
learn OOP and have fun at the same time.
 

Murloc

Diamond Member
Jun 24, 2008
5,382
65
91
You can always grab a copy of LabView Home. While it's vastly different from anything else suggested here, it is used in certain industries quite a bit, and the thought processes are generally the same. Tell him he can work for Elon Musk at SpaceX if he gets good enough.
It gets lots of hate and it isn't text-based programming anyway so I wouldn't start with that as whatever he learns isn't that easy to transfer.

Matlab a very easy-to-use program with great help resources, and the language just requires you to write stuff and run it, without worrying about a bunch of stuff like in C. So it lets you start off easily.
It depends on what he wants to do though. Matlab is usually used by engineers who already know the physics and need the calculator.
So he's probably better of with python.
 

PricklyPete

Lifer
Sep 17, 2002
14,582
162
106
I think a lot of these options mentioned are great. A big question is whether it will hold his interest. My vote would be for JavaScript/HTML/CSS. The reason is two fold:

1) He can get immediate, visible results that he can even share with friends

2) For the foreseeable future, having a basic understanding of JavaScript/HTML/CSS will be a good life skill.
 
Reactions: Ken g6

Aikouka

Lifer
Nov 27, 2001
30,383
912
126
It gets lots of hate and it isn't text-based programming anyway so I wouldn't start with that as whatever he learns isn't that easy to transfer.

Eh, I don't really agree with the last bit. In most situations, programming is just mental work, and regardless of what you work in, you're going to learn how to tackle problems. Migrating from one language to another is simply learning how the difference in constructs. As for LabView, I don't do a ton of it, but when I do, it's literally just learning what construct is the equivalent of what I've already learned in other languages... or if it already has stuff built in.

It's probably not what I'd actually push as a first programming language. They do actually have languages designed to be simpler for younger kids... I believe Microsoft actually used one in their Project Spark game for the Xbox One and Windows. (It was based off one of their tools, but I can't remember the name.)
 

Murloc

Diamond Member
Jun 24, 2008
5,382
65
91
Eh, I don't really agree with the last bit. In most situations, programming is just mental work, and regardless of what you work in, you're going to learn how to tackle problems. Migrating from one language to another is simply learning how the difference in constructs. As for LabView, I don't do a ton of it, but when I do, it's literally just learning what construct is the equivalent of what I've already learned in other languages... or if it already has stuff built in.
you're right about the mental part, but also the menial stuff like understanding parenthesis, function arguments, variables and indentation has to be learned at some point.
I started programming after I already knew what a function was from the maths classes, at 10 years old I'm not sure he knows.

I think a lot of these options mentioned are great. A big question is whether it will hold his interest. My vote would be for JavaScript/HTML/CSS. The reason is two fold:

1) He can get immediate, visible results that he can even share with friends

2) For the foreseeable future, having a basic understanding of JavaScript/HTML/CSS will be a good life skill.
that's surely one thing to consider, I first got interested in coding by wanting to make a simple website in static html, which isn't even programming.

Having the ability to show your website to others or make one for friends is an incentive.
 

russ6150

Junior Member
Dec 13, 2016
7
0
6
The kid is just 10 years old !
I think he just needs a programming language to toy around with. Python seems ideal for that, imho.

SQL, SAP, even Javascript and HTML, what has that poor kid done, that you're trying to kill him ? He just needs to learn about variables, if/then/else, for-loops, what is a function ? He's not looking for a career. He's not looking what is most demanded in the industry, what gets him a guaranteed job. He's 10. He just wants to write a "real computer program".

I agree.

I think that since javascript and HTML are often the first entry into the world of programming, a lot of first timers can potentially get turned off because a huge portion of dev time can be chasing down browser compatability issues etc...

I realize that js frameworks have minimized a lot of those issues but still....

I need to get into Python more in depth, though I have so much on the plate. I must admit I find certain aspects of Python a little off-putting - I don't want to relinquish control over my whitespace and the absence of curly braces gives me mild panic attacks....
 

bshole

Diamond Member
Mar 12, 2013
8,315
1,215
126
Don't worry about it too much. If he is that interested in it he will find what he wants on the internet. Let him decide on his own.

A software engineer I work with has a son a lot like yours. His son did it all on his own he had far surpassed his dad's knowledge of the windows registry by the age of 12. The kid is now 30 years old now and making 300k+ at Microsoft (more than his old man and me combined).
 
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |