How to get started with programming?

You can start from the field you are interested in, learn related programming languages ​​from basic to advanced, and practice projects step by step. Here I recommend Python more

Come with me first to understand the programming language and its application:

        Python - a good introductory language for web applications, gaming domains, artificial intelligence and big data

  • Java - Used in countless types of programs, from games to web applications to ATM software

  • HTML - the basic starting point for any web developer

  • C language - is an older language, C is still a powerful tool and is the basis of C++, Objtovi-C

The steps of self-study programming are as follows:

  1. Read books, read blogs, take courses or watch videos, etc.

  2. Imitate the code in the book or blog, and reproduce it. Replication is not important, thinking is the key ️

  3. After thinking and learning other people's ideas, get rid of books and blogs, and realize the functions completely by yourself

  4. Implement some DEMOs by yourself, look at other people's project codes, discuss with others, and improve your coding ability

  5. Under the framework and requirements of others, write code to realize business

  6. Responsible for the implementation of modules designed by others

  7. Independently design and develop business modules

  8. Responsible for large project framework design and splitting, leading others to develop

  9. Other high-level architecture and management tasks are no longer just code capabilities

Here are some learning resources and tips summarized for you!

1. The correct learning method

Before learning any programming language, you need to set up the environment for writing code. Whether it is online or downloading the free version, you need to test every concept in the book through your own practice.

Reading is not the same as understanding, and actually trying to write the code yourself and run it will be more conducive to the learning process.

2. Study official documents

No matter what programming language you use, official documentation is always the best choice for learning. The latest and most detailed code descriptions are in the official documentation.

The same is true for Python. Although there are many tutorials on the market, the official documents must be read.

Now there are both English and Chinese versions, which is very convenient.

https://docs.python.org/zh-cn/3/

3. Code ability improvement

When reading a paper, there will be code attached, or there are many open source projects on websites such as github. You can find the direction you want or the code you are interested in.

  • github:https://github.com

  • codeforge:http://www.codeforge.cn

  • codesoso:http://search.codesoso.com

  • Open Source China: https://www.oschina.net/

——Which books do you read?

  • "Reconstruction":  https://book.douban.com/subject/30468597/

  • 《Clean Code》: https://book.douban.com/subject/4199741/

  • "Code Encyclopedia":  https://book.douban.com/subject/1477390/

  • "The Art of Writing Readable Code":  https://book.douban.com/subject/10797189/

  • write-readable-code: https://github.com/biezhi/write-readable-code

  • 《Effective java 》: https://book.douban.com/subject/3360807/

  • 《 The Clean Coder》: https://book.douban.com/subject/26919457/

  • "The Way of Clean Architecture":  https://book.douban.com/subject/30333919/

  • "Mythical Man-Month":  https://book.douban.com/subject/1102259/

  • "Domain Driven Design: How to Cope with the Complexity of Software Core":  https://book.douban.com/subject/5344973/

  • "The Future of Code":  https://book.douban.com/subject/24536403/

  • "In-depth Design Patterns":  https://book.douban.com/subject/1488876/

  • "Software Architecture Design: The Way to Integrate Technical Architecture and Business Architecture of Large Websites":  https://book.douban.com/subject/30443578/

  • "Microservice Architecture Design Patterns":  https://book.douban.com/subject/33425123/

4. The "positive cycle" of learning

Interest is the best teacher, and the "positive" interest cycle in the learning process is crucial to persist in learning. Strong interest and a sense of accomplishment are the "engine" of the entire learning process , which can provide a strong impetus for your entire learning task.

The reason why many people find programming difficult is because they have not found an interest or a learning method that suits them.

In addition, in the exam-oriented education we have received before, there is a set of clear standards, so what we value is the pursuit of standard answers. Programming requires us to form a systematic learning method. When facing practical problems, we need a set of effective methodology to support it to solve problems.

The core of programming is not programming, not grammar, nor algorithms or data structures themselves, but how to decompose problems—using laws to build models to solve problems. ​​​​​​​​

l recommend some programmers to learn websites:

gitHub:https://github.com/

gitHub is a hosting platform for open source and private software projects, because it only supports git as the only repository format for hosting, hence the name gitHub. There are many resources on gitHub, and many developers will find various open source projects to learn from, and can obtain different knowledge, content, and information from them. Ali, Tencent, ByteDance, Meituan, Google, Micosoft and other major domestic and foreign companies have their own Github open source libraries.

Stack Overflow:https://stackoverflow.com/

This is the world's largest programmer question-and-answer website, with a lot of high-quality questions and answers. If you encounter a bug during the development process, you can search it online. As long as you search in the right way, you can find the answer to 99% of the questions.

segmentfault:https://segmentfault.com/

Known as China's Stack Overflow, a very strong IT professional technical question-and-answer website, if you don't understand programming, you can ask questions casually, and many good people answer them, you can hang out, and it is very useful for technology accumulation.

Blog Park : https://www.cnblogs.com/

Blog Garden is a knowledge sharing community for developers and a very old technology community. Blog Park has been committed to and focused on creating a pure technology exchange community for developers, promoting and helping developers share knowledge through the Internet.

Open Source China : https://www.oschina.net/

Open Source China is currently a relatively popular Chinese open source technology community. It is committed to spreading the concept of open source, promoting open source projects, and providing a platform for IT developers to discover, use, and exchange open source technologies.

l Brush questions website:

  • Github: https://github.com/ This is not a dedicated website for brushing questions, but a code hosting platform with millions of Python projects, including many excellent Python learning resources.

  • Leetcode: https://leetcode-cn.com/ Leetcode is a professional website for writing questions. There are real interview questions from a lot of big factories on it. Of course, you can answer the questions according to the category.

  • Niu Ke.com: https://www.nowcoder.com/ Niu Ke.com provides quite a lot of enterprise interview question banks, mainly for programming, management, marketing and other face-to-face questions from all walks of life, with rich content.

  • Heywhale Community: https://www.heywhale.com/home is a data science community, mainly in the Python environment, which mainly provides a variety of data science projects, and you can practice code projects.

  • Fun IT: https://www.funit.cn/ An artifact of Internet job search questions, Dachang real questions, special exercises, interview discussion communities, etc. can be used for job hunting and self-test abilities of small partners who are studying at different stages.

Guess you like

Origin blog.csdn.net/m0_69824302/article/details/131143668