I Want to Learn Programming but I Don’t Know where to Start

Robyn Silber

I want to learn programming, but I don’t know where to start

Translator: Park Ruiqing

Frequently asked questions

As a mentor, I am often asked the following questions:

  • “If I’m new, which programming language should I learn?”
  • “Which programming language is best for work?”
  • “What is the most popular programming language?”

Top-level programming languages

If you’re looking for an official ranking of the top programming languages, you can find it here: IEEE Spectrum Top Programming Languages

This list is good for checking whether a given language is still widely used. But if you’re not familiar with programming, I suggest you don’t just pick a language from this list.

PHP is not necessarily the best development language… (break)

How to choose a programming language

Computer science is an entirely cumulative field of study. This means that each successive knowledge point builds on the previous knowledge point.

If you tried your best to learn programming (or any other scientific field) in school and failed — maybe the problem isn’t you. A good professor of any cumulative subject will plan the course carefully. As long as each student is well prepared and meets preconditions, expectations of prior knowledge should be clear. A good professor understands this expectation and assumes no knowledge beyond it. Therefore, any knowledge beyond the expected range must be taught. Everything in the course is progressive.

When a subject is cumulative, care must be taken in designing courses or learning pathways.

Above all, don’t choose a language based on rankings. Choose a language where you have a complete learning path and don’t make any assumptions about prior knowledge.

Note: Choosing a programming language should take into account factors such as the language learning curve, community activity, job requirements (if you are working), your own background and the industry you want to work in

A few words of advice

Before you start coding, be sure to reflect on my point that everything in computer science is progressive.

I like to reiterate this point, because the biggest mistake ambitious programmers can make is to give up in the mistaken belief that they are not smart enough to learn programming. Learning to code has nothing to do with your intelligence. Sure, learning to program is hard, but it’s not because of who you are, it’s because there’s so much to learn.

First, accept that this is about to happen: A new point of knowledge that doesn’t make any sense to you.

This will happen again and again. Every time this happens, how you handle it will determine your success.

If you are studying a topic that doesn’t make sense to you, stay there and don’t move on to the next topic. Again, these things are step-by-step. Skipping the previous points is like building castles in the air.

Translator’s note: I have a stroke from the sky palm, shaoxia want to learn? Emmm… I’d better exercise first

I find myself in this situation all the time. I often have to watch the same video tutorials over and over again to master what I’m learning. If you find yourself in the same situation, don’t be discouraged.

If the tutorial materials (or books) you use don’t do enough to explain the point, by all means look for other resources that are appropriate for you. There is no reason to drop out of the tutorial because the information covered is not useful to you. You can find almost everything you want to learn for free on YouTube. Find out what to search for (for example, [knowledge point] in [your programming language] + any other useful keywords).

If you are looking for tutorials on YouTube, check the statistics first. Quick review of ratings or views. If you’re still not sure if the video is worth your time, read some of the comments to see what others think.

A lot of things don’t make sense at first sight, so avoid too much negative introspection.

Don’t let your problems discourage you into doubting your life

For every knowledge point along your learning path, you need to reflect on yourself, with the goal of understanding as you study. For each of the topics you cover, ask yourself questions such as:

  • “Does this point make sense to me?”
  • “Is there a new terminology? If so, are formal definitions provided for each new term?”
  • “Any new skills? Do I understand how each new skill is used in the application? Can I demonstrate my understanding of this skill by solving practical problems?”
  • “Will I remember what I just learned tomorrow? The day after tomorrow? If not, how am I supposed to remember it?”

One final piece of advice: Never underestimate the power of memory. Memorization is an underused method of learning. Of course, understanding a knowledge point is the ultimate goal. But understanding can take time. If you really have trouble grasping a concept, break it down and remember its core content. If you don’t understand how something works, your goal should be to memorize it. If you need tips on how to remember, consider using the learning card tips. You can read more about how to use this technique in the Interview Prep documentation.

Translator’s note: can’t understand, first remember, then understand.

Fundamentals of computer science

The first step is to learn the basics of Computer Science, which will be introduced in my article Intro to Computer Science Terminology. This article is written for everyone. I wrote this post so that even people with no computer background can understand it.

The concepts covered in this article are primarily defining. You can read this article as much as you want. I recommend keeping these terms in mind. Treat each term as you did in school, and you need to be able to recall the definition of each term on an exam. If you don’t want to, you don’t have to. However, the more concepts you memorize, the easier it will be to follow.

Ii. Propositional logic (optional)

You don’t have to be mathematically strong to be a programmer. Math skills may help, but are not required.

If you are unsure of your math skills, I suggest you study propositional logic. Propositional logic covers principles that are fundamental to programming.

You can learn Propositional Logic from the following YouTube tutorial: Basic Concepts in Propositional Logic.

Java programming

After you’ve learned the basics of computer science, you’ll be ready to learn a programming language.

I have carefully designed a learning route for most people, regardless of their background. I chose Java for this route because Java is the language I have the most experience with.

Java is one of the most in demand programming languages. It is classified as an object-oriented programming language (you’ll learn what that means later) and is used to make desktop, Web, and mobile applications.

If you enjoy learning from books, I recommend the following: Head First Java.

If you are looking for Video tutorials, we suggest you watch 1-19, 31-33, 88, and 93 in Derek Banas’s Java YouTube Tutorials: Java Video Tutorial.

The first video in the YouTube tutorial guides you through downloading a computer program called Eclipse. Eclipse is an integrated development environment (IDE). You can think of IDE as a technical term for a programmer-only text editor. It is simply a computer application that provides a text editor for programming and other tools for running the program. Here’s a link to Derek Banas’s YouTube video on how to download Eclipse: Install Eclipse for Java.

IDEA, a rival to Eclipse, is currently slightly more accessible than Eclipse

Algorithms and data structures

An algorithm is a set of instructions (or steps) used to perform a particular task, where each step must be clearly defined, capable of execution, and finite (that is, it does not execute indefinitely).

Data structures are a way of organizing data in memory.

Algorithms and data structures are two of the most challenging topics in programming. You don’t need to learn algorithms as a prerequisite for programming, but if you want to work as a software engineer at a well-known technology company, you will demonstrate an understanding of algorithms and data structures in your interview.

Note: This course costs $99, but it’s not as expensive as it should be

5. Android development

In my opinion, Android development is one of the most interesting applications of Java programming. Android applications are primarily programmed in Java, so once you learn Java, you’re ready to learn Android.

Kotlin is currently Google’s preferred Android development language.

This is a great free video tutorial to start learning about Android: Udacity-Android development for Beginners.

After completing the Udacity course, you will have several options. The above courses should be extended by the same team of Google employees. After completing the course, other lectures should show up (search Udacity if you can’t find them). This would be a good choice, especially since it’s free.

However, if you’re willing to spend money on A great book, I highly recommend: Head First Android Development: A Brain-Friendly Guide. This book provides detailed explanations and useful visuals that can really help you learn the ideas of Android. Each chapter walks you through a sample application. Everything is explained thoroughly in words and charts that anyone can understand.

Useful resources

Stack Overflow is a site where programmers can get free code help. If you are confused and want to ask questions, please search first. If you can’t find the problem, create an account and post the problem yourself!

The search engine is a tool, finding the answer is a kind of ability, asking questions is a kind of wisdom.

How To Ask Questions The Smart Way

If you have any insights on how to learn programming, feel free to leave a comment below.

If this article is helpful to you, please give a thumbs up (~ ▽ ~)”

Recommended reading

  • Repeatedly suit! How to migrate data
  • Open API Gateway Practice # 1 — Design an API gateway
  • Open API Gateway Practice ii – Replay attack and Defense
  • Open API Gateway Practice iii – Limiting traffic
  • Build K8S from scratch with official documentation
  • Kubernetes(2) Application deployment
  • How do I access the service from outside

Welcome to pay attention to the public account (code such as poem)

[Copyright Notice]

This article was published on
Park Seo-kyung’s blog, allow non-commercial reprint, but reprint must retain the original author
PiaoRuiQingAnd links:
blog.piaoruiqing.comFor negotiation or cooperation on authorization, please contact:
[email protected].