Answer the question
In order to leave comments, you need to log in
What to teach a teenager in the field of programming?
I have been learning python for almost a year.
Now I am 13 years old, and now I have a "dead point".
I wrote: parsers, gui programs, bots for social networks, I know at a superficial level pascal, delphi (similar to pascal), ruby. More in depth Python. I also sit on CodeWars.
And my question is: what's next?
Answer the question
In order to leave comments, you need to log in
WITH#. And the whole "stack" of Microsoft. (Java is better (in terms of money), but everything is more difficult there until you pull it up to the mark.)
I also studied pascal, delphi. That was a long time ago. Meaning? Outdated languages and technologies.
Python, PHP, JavaScript, HTML, CSS and the list goes on - useful, but sad in terms of perspective.
You can learn anything for yourself. But you probably want to become a well-paid specialist?
Almost everyone in the banking industry runs on Java. Many in C#. State companies are similar. Large companies. And Python / PHP and Linux (holivar is open) - this is not serious.
Why? No Warranty - no warranty.
Businesses need guarantees. And the business has money.
Microsoft is a business, these are products for business. And where there is business, there is money.
If you want money - Java, С#. If you want something else - Python and so on ...
The question of the language is not what is good - which is better, more productive, more beautiful, and which is more common and better paid.
Here C++ is universal. There is Qt on which a lot of popular software is written.
But this language is not from a large company. And a framework that was repurchased several times.
Yes, there are vacancies in Qt, but there are few of them, and the work there .. tried, did not like it.
And there is Microsoft, which promotes .NET and C#. It's just a big company that eats whatever it likes. Yum and ate skype. Op and ate github. And he looks at Linux, in terms of pushing .NET.
Therefore, when studying C# and .NET, you will not have No Warranty or a community of even smart and talented programmers behind your back, but the largest giant with the best programmers (he will just buy them), managers, advertising and a thirst to cram C# and .NET into every coffee maker.
In addition, websites and games (Unity), etc. are written in C # (ASP).
Microsoft has taken care of everything. This is business, nothing personal.
Same with Java.
Decide what you like to do. If you like web programming, learn it. Decide what you will do on the web (write back or front). Further study this topic. First, learn how the Internet works (http, DNS, request, etc.), html, css, backing language (most often used: JS, Python, Php, Ruby, Go), learn how to work with a database, with sql, with various servers, nginx, apache. (don't forget about English). Well, what exactly to read, to watch on this topic, you will probably figure it out yourself, watch a video like "how to learn web programming." If you like to develop software, then you also choose a language for this and just study it. You read books (preferably when you read, immediately put your knowledge into practice), watch videos, write code. For this task, I most often use JS, C #, C ++. Same with games you choose a language, learn it, read, practice and also study game engines (Uniy, UnrealEngine, CryEngine), well, in terms of languages ... Then there are two of them either C # or C ++. In short, just decide what you like and delve into this topic.
And Python / PHP and Linux (holivar is open) - this is not serious.
Why? No Warranty - no warranty.
A simple thesis: Generalists in programming almost do not survive, there are ingenious exceptions with many reservations, but in general - it is advisable to choose a stack 1 time and work it out to the nuances. Then you are special.
Throwing from one technology / language to another is a direct path to nowhere, this can be practiced in the early stages of formation, it’s even good and helps to understand the topic of programming in general, well, you won’t decide otherwise with the choice of your stack, but you shouldn’t do it all the time. This does not mean that it is necessary to score on other technologies, but you need to know 1 area thoroughly, and it is enough to be "familiar" with the rest.
I will add from myself.
C# and everything connected with it or Java / Kotlin
OSI and basic knowledge of protocols of level 7 (and perhaps 4) will not be superfluous
Front: a standard bundle of HTML, CSS, DOM + a couple of frameworks like VUE React
SQL: SQL92 + vendor implementations of
VCS: Git maybe TFS
command line: bash + basic Linux commands + PowerShell
Office work: Outlook Word Excel
Bug trackers: Jira, RedMine, MS Project
System administration: Understanding how the OS works, what your program uses at a low level, how to monitor it
Ability to communicate and prove what your decision is correct, the ability to find compromises, the ability to estimate deadlines and "cut the bones"
What to teach a teenager in the field of programming?
It doesn't make much sense to learn a bunch of programming languages. They are all plus or minus the same. There are, of course, major differences between declarative, functional, and OOP languages. Perhaps it is worth knowing at least one language from each paradigm (at a glance: SQL, Haskel, C ++) in order to add up the presentation as a whole.
It is worth studying technologies, namely network programming, parallel programming, databases, ...
These technologies are used almost everywhere, in all programming languages and are themselves independent of the language. So knowing, for example, databases, you can successfully apply them in any PL.
Learn technologies in relation to your favorite programming language now, so that it is more specific and with practice.
If you are interested in games, then take up linear algebra, physics.
If you plan to do data science in the future - mathematical analysis, mathematical statistics and others, but at 13 they don’t teach this at school yet. Therefore, for now, school mathematics.
It is also worth understanding the general structure of operating systems and computers. No recess. If in the future you need more details, you can further tighten everything yourself. It's just enough to buy an explanatory book on the topic to read and try to figure out what they write about.
a question with an ambiguous answer, you can learn all the technologies of your favorite language, you can start learning another programming language (Java, C ++, C #, JS and PHP (CSS, HTML as a gift)). You don't know what to do next? study while you can and when you can get a job you will be a pro in your favorite language.
Most are good answers.
What would I advise today to "myself 13 years old today"?))
Follow the culture of programming, clean code, architecture.
Look at yapy: interpreted, on VM, compiled. Do not chase the trendy / highly paid!
Computer science: not necessary, but it would be nice to understand how a computer works.
You can look in the direction of microcontrollers, from here: C, C ++, Rust.
About programming: AI, ML, MD, DS.
And most importantly: what you like is then look-study-try. You are not burdened by the rigid need to know to be able today.
And remember, childhood, youth, youth once! Young girls will be hung around the neck only in their youth, then it is already difficult (more expensive).
Good luck! Write here in 5 years what happened). Subscribed)
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question