0
9

[–] Boyakasha 0 points 9 points (+9|-0) ago 

Python teaches good formatting habits. It's a great beginner language.

0
3

[–] Schrodingers_Spy 0 points 3 points (+3|-0) ago 

Dynamically typed, no memory management required - I'd also start here before moving onto C.

Saying this having learned C first - python serves as a much easier entry point to getting the basics down like control flow, etc.

0
4

[–] SaveTheChildren 0 points 4 points (+4|-0) ago 

pythton for starting

0
4

[–] iamrage 0 points 4 points (+4|-0) ago  (edited ago)

C is the foundation of most other languages. I highly recommend you start with it and doing simple CLI. That's how I got started when I was around 8 years old and slowly branched into other things. Although, I taught myself by borrowing books from the library. Kids who are interested in it will seek it out for themselves. Don't force it.

Edit: My personal opinion, don't start with python. It'll make things difficult to branch into other languages, as python is very unique in the way it's structured. python has it's perks, but i recommend exploring it at a later point. Learning C will allow you to branch to JavaScript, PHP, C#, C++, and many others very rapidly. pthon lets you branch into only lisp like languages.

0
0

[–] Mechanicalmechanic 0 points 0 points (+0|-0) ago 

I agree with you. C is a great way to begin object oriented programming. I started with Python and just got annoyed with it.

1
3

[–] Clem_Fister 1 points 3 points (+4|-1) ago 

Objective C. Hahahahahahaha! No, C is good. Then he could appreciate the power & logic of C++. When I was in college I had a programming assignment (in C), that caused me to think how nice it would be to develop a set of structures that contained not only the data of a particular entity, but the functions that could operate on that data...

Only a thought, and there was no time, but you get the picture: the logic of C++. Unbeknownst to me, it already existed at the time. Such a perfect language, I don't know why people always want to use something other?

0
0

[–] Wowbagger 0 points 0 points (+0|-0) ago 

You could have accomplished what you wanted in C. Pointers to functions in a struct would effectively give you a class with methods and properties.

0
0

[–] Clem_Fister 0 points 0 points (+0|-0) ago 

Exactly.

0
0

[–] individualin1984 [S] 0 points 0 points (+0|-0) ago 

Thanks, I was thinking along these lines. I am also trying to come up with a good project to work towards. Just learning basic programming theory gets dry (at least for me). I always learn better when I have a project I am trying to solve. I am struggling for a good C project he would be interested in. I could go embedded (my strong point). That may be of interest when you control everything in a small world like an ARM processor. I may grab a development board from work and have him work on that.

0
1

[–] Hlatbern 0 points 1 points (+1|-0) ago 

The final project I did for my Intro to programming class was make a tic-tac-toe game in the terminal with these criteria: The computer goes first, and always wins or ties.

0
0

[–] Mechanicalmechanic 0 points 0 points (+0|-0) ago 

I agree with ANSI C or C++ particularly because it teaches a firm foundation in object oriented programming. From there he could transition to Java and the opportunities are endless.

0
2

[–] matthewlinton 0 points 2 points (+2|-0) ago 

I see this question a lot in various forums like Voat. Overall the given answers usually boil down to "This is my favorite language right now." some people have very good reasons for liking a specific language, but for a beginner most of the reasoning behind their decisions won't matter. Once you have some experience and a good grasp of what a programming language excels and falls short at, then it's time to start asking "What language should I learn to solve my task at hand?"

My recommendation? Any of the languages listed in the top 10 here:

http://spectrum.ieee.org/computing/software/the-2016-top-programming-languages

That's a list of the top 10 most popular programming languages put together by IEEE. Why choose a popular language? Not for any other reason than there will be more resources available to help you learn. Picking a popular language helps to ensure that there are plenty of other people who have done that before, had the same questions, and now have answers for you. There's nothing more frustrating than starting the learning process and having to spend hours searching and reading to find a solution. Picking a popular language helps to ensure that this is less likely to happen. Learning any one of those languages will tech you the basics of syntax and logic behind programming, and once you have a firm grasp of that, it becomes much easier to transition to other languages that might meet your needs better.

Once your son has a good grasp of programming, and if he's interested in moving beyond just hacking out code, I highly recommend learning about design patterns. Design patterns are general solutions to common programming problems. These aren't programmed in any specific language, but they provide general frameworks for solving common problems in any language. He might also want to start contributing to open source projects. They could use the help.

0
1

[–] individualin1984 [S] 0 points 1 points (+1|-0) ago 

Thanks for the post. I think c is the way to go for now for a variety of reasons. I wish I had your second post back in the day when I used to code.

1
2

[–] LordEastwood 1 points 2 points (+3|-1) ago 

C then Java and .net if the kid I learning to land a higher paying job.

0
1

[–] Mechanicalmechanic 0 points 1 points (+1|-0) ago 

I second this.

0
2

[–] Jiwaveya 0 points 2 points (+2|-0) ago 

Have a look at the current Humble Bundle for books right now? It is mostly Python Books that could help with teach programming. https://www.humblebundle.com/books/python-book-bundle

0
1

[–] Necronomicon11 0 points 1 points (+1|-0) ago 

I'd recommend Python or Ruby. They're pretty easy to learn and simple to make programs out of

load more comments ▼ (9 remaining)