+ 11

What is the first programming language one should learn??

A couple of days ago, my nephew (11 years old) asked me where to begin programming. Instead of pouring out a seemingly endless list, I kept pondering. I belong to the generation who started out with BASIC family (Q-Basic, I'm 21, our school required it 😅), and didn't learn Java or Python until much later. So, I just can't decide. What would you answer to his question? Please only mention one language that a novice should start with and please explain why! Thanks ;)

9th Nov 2018, 2:51 PM
Hamidreza Fathi
Hamidreza Fathi - avatar
28 Réponses
+ 19
Suggestion is to start with learning the side everyone will see in a normal browser and no logic involved. Example being HTML which is a non-programming language, markup language. Followed by a styling language CSS... Configuration of screen details background, foreground, font, borders, and so on... JavaScript will get a bit more complexed but great for beginning canvas features... And also it begins some logic applications... Hope this helps... I too grew up in the time of Assembler, ASCII, Binary, Basic, Pascal, Fortran, Cobol, RPG, and so on and still do program in Cobol daily as well as RPG ~
9th Nov 2018, 4:01 PM
BroFar
BroFar - avatar
+ 13
Doc I would argue that the languages you mentioned such as C and Java does not necessarily require a specific thought process. Both are general-purpose programming languages and consist of similar constructs at the base level - Conditional statements, variables, loops, etc. You are not going to teach your nephew to connect a microcontroller to a host machine with C/C++. Likewise, we won't start off by writing mobile apps with Java. In fact, a kid can start from any general purpose programming language. It does not matter. We worry that they are too young to dive into something too pragmatic, but fail to realize that these young ones take in information way faster in a more efficient manner than we do. Such concerns of exposing them in their early age to this approach would "scare them off" or at least throw them off their feet is unnecessary.
10th Nov 2018, 1:36 AM
Hatsy Rei
Hatsy Rei - avatar
+ 9
If this "programming" you talk of is about getting the computer to perform a task to actually solve problems through the use of algorithms, instead of simply getting the computer to respond to you, structuring webpages and styling them may not be of your best interest. However, there is no denial towards its effectiveness at drawing in beginners. I just think that we should be starting off in a relevant direction. The FAQ link may not give you a length explanation of why you should start without those languages, but it made clear that whatever you learn should be relevant to your goal. In the case of your nephew, web dev may suffice, since, he doesn't have a specific goal and simply wishes to be exposed to programming. The catch, however, is that HTML and CSS is not programming. If you do not worry about these terminologies,it should be fine, but how about tweaking BroFarOps' suggestion, and start with JS? At least you can demo algorithms or mathematical operations, which is the core concept of programming.
10th Nov 2018, 1:48 AM
Hatsy Rei
Hatsy Rei - avatar
+ 6
Learn c
11th Nov 2018, 1:24 PM
Sharofiddin
Sharofiddin - avatar
+ 5
I like BroFarOps 🦃&🎃🍰 answer as they can easily see the results of their learning within minutes.
9th Nov 2018, 4:27 PM
John Wells
John Wells - avatar
+ 5
Hatsy Rei I concur as we see young intelligent students of programming here everyday exploring the other languages ~ and even exploring outside SL and practicing here. I see these youth as advanced as they may have started out with HTML CSS and JavaScript - then jumped / excelled into more advanced or wanted to explore the back-end languages...
10th Nov 2018, 2:31 AM
BroFar
BroFar - avatar
+ 4
Hatsy Rei, The question digs far deeper than I've sketched above. Programming is a highly cognitive function involving "language", "logical/mathematical " centers and an overall comprehension of what's going on (gestalt), among many other things. I guess, there should be an "ideal" age frame at which one should first be exposed to programming, like there are scientifically established ideal periods which maximize learning foreign languages or mathematics or chess. I keep pondering whether there is a an actual language that results in best outcome once learned first.
10th Nov 2018, 5:12 PM
Hamidreza Fathi
Hamidreza Fathi - avatar
+ 3
BroFarOps 🦃&🎃🍰 nice list to begin with. Indeed, your approach sounds plausible as from outside digging inside, a biological corollary would be as if going from phenotype to genotype. 👌
9th Nov 2018, 4:24 PM
Hamidreza Fathi
Hamidreza Fathi - avatar
+ 3
Honestly? the language that is a good start is the one which will be relevant to what you want to do. For me, im planning to do strictly front end web development. I will need to know HTML, CSS, and JavaScript mainly. So learning Server Side Programming isnt as relevant to me. Its good to know, but its not going to be useful to me to learn that as a foundation. That is where i would look and ask those questions. First find out what your nephew is interested in doing, and go from there.
9th Nov 2018, 10:40 PM
Ashley P
Ashley P - avatar
+ 3
I do agree completely with Hatsy Rei. Being aged just 11, he should be able to capture the basics of programming through a practically programming language, i. e., a language which clarifies the importance of logic and structure through its usage. I was 11 when I began my journey of programming with BASIC and QBasic, but I belong to such a place where it was hardly given any importance and hence I don't remember anything of those languages. However, when I got exposed to a real programming environment at the age of 12-13, the main thing I focused upon was not how easy a language was just for the sake of learning a programming language and boast about it. I chose to learn C++ first, which was denied by many because they thought it was not a good option to start with as it was difficult (although I didn't find anything so complex in it) and suggested me to go with HTML. I had HTML in school and hence learnt it as well.... (CHECK BELOW FOR FURTHER...)
11th Nov 2018, 3:16 AM
SSki11
SSki11 - avatar
+ 3
... But gradually I began realising that the reason that I earnt (and still earn) an A++ for my projects (including the web ones) was not because I knew many languages but it was probably because I had good command over C++, which many of my friends even feared of trying once. My algorithms have been improved a lot by C++ and therefore the way I program now in any language (such as Javascript) credits to it. So, GAIN COMMAND ON YOUR FAVOURITE PLATFORM AFTER YOU IMPROVE YOUR ALGORITHMS, PROBLEM-SOLVING AND STRUCTURING SKILLS. C++ can be a good language to start with.
11th Nov 2018, 3:23 AM
SSki11
SSki11 - avatar
+ 3
I would recommend C programming language. C makes one learn basics easily. Once you become pro at C, languages like C++ or Java would be cool to learn. Infact learning C at first, makes Python Programming and the recent language R much easier to learn, understand and code!
11th Nov 2018, 5:42 AM
Ivaturi Puja Ankitha
Ivaturi Puja Ankitha - avatar
+ 2
Satnam Singh This doesn't sufficiently explain. These languages are multi-paradigm languages and each come with a different philosophy. Each relying on specific thought-processes and are different pedagogically. C isn't simply an alternative for Java (for example). This list is far too pragmatical to be applicable. Kids don't generally learn programming to write webpages or earn bucks. They want to understand what a computer is and how it works, and they learn much from their interaction with computers.
9th Nov 2018, 2:57 PM
Hamidreza Fathi
Hamidreza Fathi - avatar
+ 2
C
10th Nov 2018, 2:35 PM
Talhaouy M'hammed
Talhaouy M'hammed - avatar
+ 2
1. HTML
10th Nov 2018, 4:02 PM
Erion Gogu
Erion Gogu - avatar
+ 2
Than java
10th Nov 2018, 4:02 PM
Erion Gogu
Erion Gogu - avatar
+ 2
Than css
10th Nov 2018, 4:02 PM
Erion Gogu
Erion Gogu - avatar
+ 2
And python.
10th Nov 2018, 4:02 PM
Erion Gogu
Erion Gogu - avatar
+ 2
Hatsy Rei I may be biased; but having seen people starting out with Fortran or BASIC versus Java or C family, I've found Basic works much better at defining a working foundation to base a future of programming on, one that'll make future corollaries between languages (and differences) easy to recognize and comprehend. Given the same problem (like Fibonacci's series or Factorial) to elementary school students who learn Basic and University students who are struggling to understand C, I've found first group working better.
10th Nov 2018, 5:02 PM
Hamidreza Fathi
Hamidreza Fathi - avatar
+ 2
Keep it simple
10th Nov 2018, 5:25 PM
BroFar
BroFar - avatar