I want to learn programming, but do not know where to start

原文地址: I Want to Learn Programming but I Don’t Know where to Start

Original author: Robyn Silber

Address Translation: I want to learn programming, but do not know where to start

Translator: Pu Ruiqing

Frequently asked questions

As a teacher, I often asked the following questions:

  • "If I am a novice, which programming language should I learn?"
  • "Which programming language best suited to work?"
  • "What is the most popular programming language?"

Top Programming Languages

If you are looking for top-ranking official programming language, can be found here: the IEEE Spectrum Top Programming languages

The list is suitable for checking whether the specified language is still widely used. However, if you are not familiar with the program, I recommend that you do not just to choose a language through this list.

Translator's Note: PHP is not necessarily the best development language it ... (voice breaking)

How to choose a programming language

Computer science is a cumulative area of ​​research completely. This means that each subsequent knowledge are based on previous knowledge-based.

If you worked in the school make every effort to learn programming (or any other field of science) but failed - perhaps the problem is not in you any good professor cumulative discipline will have to carefully plan the course as long as every student. and fully prepared to meet the prerequisites (Professor) for prior knowledge of the students should be expected to be clear. a good professor understand the expectations and assuming no knowledge beyond that range. Therefore, any knowledge beyond the expected range must be taught to each course knowledge is gradual.

When a subject is cumulative and must be meticulous in designing the curriculum or learning path.

In summary, do not select a language based on the rankings. You have to select a complete learning path and does not need to make any assumptions about prior knowledge of the language.

Translator's Note: To select the programming language into consideration, such as language learning curve, community activity, job demand (if you work for it), your own foundation and intentions and other industries engaged

A few words of advice

Before starting coding, be sure to repeatedly think about the author's point of view: all computer science are gradual .

I like to reiterate this point, because programmers have pursued may commit the biggest mistake is due to mistakenly think they are not smart enough to learn programming and give up. Coding learning nothing to do with your intelligence. Indeed, it is difficult to learn programming, but this does not depend on who you are, but because there are too many knowledge points need to learn.

First of all, please accept the following circumstances imminent: to introduce you to a completely new knowledge does not make sense to you.

This situation will occur over and over again. Every time this happens, your treatment will determine your success.

If you're studying current knowledge does not make sense to you, please stay on the current position, do not hold the next knowledge points. Again, these knowledge is gradual. Skip previous knowledge is tantamount to building castles in the air .

Translator's Note: I have a trick palm method from heaven, not to learn Shaoxia - emmm ... I'd better exercise, right?

I always found myself in this situation. Often have multi repeatedly watch the same video tutorial lectures, in order to grasp what has been learned. If you find yourself in the same situation and the author, please do not be discouraged.

If tutorials you use (or books) is not fully interpret this knowledge, so be sure to find other resources for you. There is no reason because of the knowledge counseling information covered by useless for you to give up. You can be on YouTube free find pretty much everything you want to learn. to find out what you want to search (for example, [knowledge] [your programming language] + in any other useful keywords).

If you are looking for tutorials on YouTube, please view the statistics. Quick view ratings or views. If you are still not sure if it is worth taking the time to watch a video, read some of the reviews to find out the views of others.

First time I saw a lot of knowledge it is nonsensical, so please avoid excessive negative self-reflection.

Translator's Note: Do not be mean to doubt that the fight against the problems of life and stick to it

For every knowledge you learn through the course, you need self-reflection, which aims in learning to understand your point of knowledge for each covered, ask yourself some questions, such as:

  • "This knowledge made sense to me right?"
  • "There is no new terminology? If so, whether to provide a formal definition for each new term?"
  • "There is no new skills? I know how to use each application of new skills? I can verify my understanding of this skill through practice to solve the problem?"
  • "Tomorrow I'll remember what you just learned? Acquired? If not, how do I remember it?"

The last piece of advice: Never underestimate the power of memory is a memory method has not been fully utilized in the study is true that understanding is the ultimate goal of a knowledge but may take time to understand if you are really hard to comprehend a knowledge.... point, break down the knowledge and remember its core content. If you do not understand the principles of something, then your goal should be to back down. If you need tips on how to remember, consider learning tips card. You can Interview Prep document read more information about how to use this technique.

Translator's Note: figure out, first memory, after understanding.

A scientific basis for computer

The first step is to learn the basics of computer science, which will in my article "Intro to Computer Science Terminology" presentation. This article is written specifically for each person. I specifically write this article, even without a computer backgrounds are easy to understand .

This article covers the main concept is to define the nature. You can read any article, enough to meet your needs. I suggest these terms in mind. Treat each term as at school, you need to be able to recall exams definition of each term. If you do not want to do this, do not insist. However, the more you remember concepts more easily understood knowledge points behind.

II. Propositional logic (optional)

You do not have to have a strong aptitude for mathematics to become a programmer. Math skills may be helpful, but not required.

If you are not sure of their mathematical ability, I recommend that you learn propositional logic principle is the basis of propositional logic covers programming.

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

Three. Java programming

After learning the basics of computer science, you will be ready to learn a programming language.

Regardless of everyone's background, I designed a route for most people to learn. Java was chosen this route, because Java is my most experienced language.

Java programming language is one of the largest demand. It is classified as an object-oriented programming language (Later you will learn what it means), and for the production of desktop, Web and mobile applications.

If you prefer to learn from the book, I suggest the following: Head First the Java .

If you are looking for video tutorials, we recommend that you Derek Banas the Java YouTube tutorial: the Java in the Tutorial Video Watch 1-19,31-33,88 and 93.

YouTube's first video tutorial will guide you to download a file named Eclipse computer program. Eclipse is an integrated development environment (IDE) . You can IDE as a programmer jargon dedicated text editor. It's just a computer application that provides a text editor for programming and other tools used to run the program. This is about how Derek Banas download Eclipse YouTube video link: the Install the Eclipse for the Java .

Translator's Note: Recommended IDEA, an Eclipse competing products, ease of use is currently slightly higher than the Eclipse

IV. Algorithms and data structures

Algorithm is a set of instructions (or step) which performs certain tasks, wherein each step must be clearly defined, and can be performed is limited (that is, it does not perform unlimited).

The data structure is a way of organizing data in memory.

Programming algorithms and data structures are two of the most challenging topics in programming, you do not need the algorithm as the essential foundation for learning, but if you want as a software engineer at a leading technology company, you will interview exhibit understanding of algorithms and data structures.

Translator's Note: the original author recommends a class 99 knife (point in), translators feel very expensive, my links are deleted, home brush "Introduction to Algorithms" it

Five. Android Development

In my opinion, Android development is one of the most interesting of the Java programming applications. Android applications using Java main program, so once you learn Java, it is ready to learn Android.

Translator's Note: There is Kotlin Google Android as the preferred development language .

This is an excellent start learning Android Free Video Tutorial: Udacity-developed Android for beginners .

After completing the above Udacity course, you will have several options. Over the course of the same team of Google employees should be extended. After completing the course, the other lectures should be displayed (if not found, search on Udacity). It will be a a good choice, especially because it's free.

However, if you are willing to spend money to buy a good book, I strongly recommend recommend: "Head First Android Development: A Brain-Friendly Guide" . This book provides detailed explanations and useful visual effects can really help you learn Android mind. each chapter will guide you through a sample application. use everything that anyone can understand the text and graphics thorough explanation.

Useful resources

Stack Overflow is a programmer in which you can get free help site code. If you are confused and have a question, please search. If you can not find the problem, then create an account and post a question yourself!

Translator's Note: The search engine is a tool, look for the answer is the ability to ask questions is a kind of wisdom.

How To Ask Questions The Smart Way

If you're below to learn how to program any opinions, comments welcome the discussion.

If this article helpful, please point a praise it (¯ ▽ ¯) "for you

Recommended Reading

Welcome to public concern number (Code poetic):

[Copyright]
This article published in Pu Ruiqing's blog , allows non-commercial use reproduced, reprinted but must retain the original author Pu Ruiqing and links: blog.piaoruiqing.com . If the authorization aspects of consultation or cooperation, please contact E-mail: piaoruiqing @ Gmail. COM .

Guess you like

Origin juejin.im/post/5dbef9b86fb9a020672192c4