97 Things Every Programmer Should Know Nine Easy Piece

Author: Zen and the Art of Computer Programming

1 Introduction

Computer programming languages ​​are becoming one of the most popular technologies in the world, providing a convenient and fast way to solve problems. However, in order to become an excellent programmer, you also need to know other related computer science, economics, philosophy, mathematics and other knowledge. Many programmers lack knowledge of computer science, causing them to write inefficient or faulty code. This book is designed to help those who are just starting to learn programming understand the basics of computer programming languages ​​and improve their programming abilities. After reading this book, readers will be able to give full play to their programming skills and develop better, more reliable and robust software systems.

The author of this book is British technology expert George R. Rose. He is a famous computer scientist, software engineer, and founder of Silicon Valley Venture Capital. He has served as co-CEO of Microsoft and Amazon and currently works in Facebook's software engineering department. He is also an honorary professor and is known as the "pied piper of the computer industry". He has more than ten years of rich experience in computer science and software development.

2. Background introduction

Due to the wide variety of computer programming languages, the difficulty varies, but many programmers believe that mastering the C language is enough to do the job. In fact, mastering C language is just the beginning of mastering programming languages. It is also important to master other programming languages. Mastering programming languages ​​also helps with software project management, team collaboration, solving technical problems, and getting to the bottom of things. Therefore, it is also necessary to understand other programming languages ​​and the differences between them.

The development history of computers is a context diagram consisting of hardware, operating systems, and application software. It has undergone tremendous changes from ancient times to the present. Early computers were mainly used for scientific calculations, such as engineering, mathematical modeling, physical experiments, etc. With the rise of the Internet, application fields such as network communications and e-commerce have become popular, and scientific research and manufacturing have turned to the rapid expansion of the Internet. Today, people increasingly rely on computers for various tasks, such as writing documents, processing data, editing videos, designing CAD drawings, etc. However, computer science knowledge is not necessary for programmers. As long as you master the basic knowledge of programming languages, algorithms and data structures, you can complete various complex tasks.

3. Explanation of basic concepts and terms

Here’s what this book covers:

1. Chapter 1: Introduction to basic knowledge of C language

2. Chapter 2: Introduction to basic knowledge of Java language

3. Chapter 3: Introduction to basic knowledge of Python language

4. Chapter 4: Introduction to basic knowledge of Go language

5. Chapter 5: Introduction to basic knowledge of HTML/CSS/JavaScript language

6. Chapter 6: Introduction to basic knowledge of database SQL language

7. Chapter 7: Introduction to basic knowledge of PHP language

8. Chapter 8: Introduction to basic knowledge of Ruby language

9. Chapter 9: Introduction to basic knowledge of C++ language

10. Chapter 10: Introduction to basic knowledge of Perl language

11. Chapter 11: Introduction to basic knowledge of MATLAB language

12. Chapter 12: Introduction to basic knowledge of C# language

13. Chapter 13: Introduction to basic knowledge of Shell language

14. Chapter 14: Introduction to the usage of Linux command line tools

15. Chapter 15: Introduction to basic knowledge of computer networks

16. Chapter 16: Introduction to basic knowledge of software engineering methodology

17. Chapter 17: Introduction to Software Architecture Patterns

18. Chapter 18: Introduction to basic knowledge of algorithms

19. Chapter 19: Introduction to basic knowledge of data structure

20. Chapter 20: Introduction to Interview and Recruitment Guide

21. Chapter 21: Introduction to software debugging skills

22. Chapter 22: Introduction to software testing

23. Chapter 23: Introduction to distributed computing

24. Chapter 24: Introduction to cloud computing

4. Explanation of core algorithm principles, specific operating steps and mathematical formulas

This book will introduce the basic knowledge points of each programming language one by one, including syntax rules, function libraries, data types, operator precedence, loop statements, arrays, pointers, strings, structures, enumerations, recursion, and file input. Knowledge of output, exception handling, etc. Each chapter will be explained with practical examples of programming languages, allowing readers to quickly understand the core concepts and operation methods of the language. In addition, the book will also contain some important mathematical formulas, showing ideas for solving problems through formulas and graphics to provide convenience to readers.

The specific content of each chapter is as follows:

1. Chapter 1: Introduction to the basic knowledge of C language. C language is an ancient and easy-to-learn programming language. Its grammatical rules and standard definitions are very simple, and it is not difficult to learn. This chapter will introduce in detail the basic syntax rules and some commonly used basic data types and operators in C language.

2. Chapter 2: Introduction to Java Language Basics Java is a very popular object-oriented programming language, especially suitable for creating dynamic interactive applications. This chapter will introduce some basic syntax rules of the Java language, basic usage of classes and objects, and introduce how to use object-oriented features to build complex applications.

3. Chapter 3: Introduction to Python Language Basics Python is a high-level programming language designed with powerful data analysis capabilities and supports multiple programming paradigms. This chapter will introduce some basic syntax rules, data types, control structures and functions of the Python language, and introduce how to use Python for data analysis, web development, machine learning and other applications.

4. Chapter 4: Introduction to the basics of Go language Go language is a new open source programming language that is designed to pursue simplicity, security and concurrency. This chapter will introduce some basic syntax rules, data types, control structures and functions of the Go language, and introduce how to use Go for web service development, network programming and concurrent programming.

5. Chapter 5: Introduction to HTML/CSS/JavaScript Language Basics HTML, CSS and JavaScript are front-end web development technologies used to build user interfaces and dynamic interactive pages. This chapter will introduce some basic syntax rules, data types and expressions of HTML, CSS, and JavaScript, and introduce how to use these technologies to develop Web pages.

6. Chapter 6: Introduction to basic knowledge of database SQL language SQL is the standard language of relational database management system (RDBMS), which is used to access, update and manage data in relational database tables. This chapter will introduce some basic syntax rules, data types, query statements and indexing technology of the SQL language, and introduce how to use SQL for data storage, query and optimization.

7. Chapter 7: Introduction to PHP language basics PHP is a server-side scripting language that can be embedded into HTML to generate dynamic web pages. This chapter will introduce some basic syntax rules, data types, control structures and functions of the PHP language, and introduce how to use PHP for web development, website security protection and software deployment.

8. Chapter 8: Introduction to Ruby Language Basics Ruby is an object-oriented, dynamic scripting language, similar to Perl and Python, that can easily build dynamic web applications. This chapter will introduce some basic syntax rules, data types, control structures and functions of the Ruby language, and introduce how to use Ruby for web development, website security protection and automated script development.

9. Chapter 9: Introduction to C++ Language Basics C++ is a statically typed, class-based object-oriented programming language that can fully utilize the performance advantages of modern hardware. This chapter will introduce some basic syntax rules, data types, operators, memory management, templates and operator overloading of the C++ language, and introduce how to use C++ for game development, system programming, graphics rendering, image processing and other applications.

10. Chapter 10: Introduction to Perl Language Basics Perl is a powerful and flexible language, especially suitable for text processing, Web development, system management and other fields. This chapter will introduce some basic grammatical rules, data types, process control, functions and modules of the Perl language, and introduce how to use Perl for text processing, Web development, system management and other applications.

11. Chapter 11: Introduction to MATLAB language basics MATLAB is a matrix computing language that can easily implement functions such as numerical calculations, signal processing, and data analysis. This chapter will introduce some basic syntax rules, data types, operators, linear algebra operations and drawing functions of the MATLAB language, and introduce how to use MATLAB for data analysis, signal processing, control system modeling and other applications.

12. Chapter 12: Introduction to C# language basics C# is an object-oriented, static type, language integrated environment launched by Microsoft, which can build rich enterprise-level applications. This chapter will introduce some basic grammatical rules, classes, structures, interfaces, delegates, events and properties of the C# language, and introduce how to use C# for Windows desktop application development, mobile phone application development, database access development, graphics rendering development, etc. application.

13. Chapter 13: Introduction to the Basics of Shell Language Shell language is an interpreted command line language that can be used to control the operating system and perform various tasks. This chapter will introduce some basic grammatical rules, variables, control structures and functions of the Shell language, and introduce how to use Shell for script programming, batch processing, system maintenance and other applications.

14. Chapter 14: Introduction to the usage of Linux command line tools Linux is an open source Unix-based free and open source operating system with a high degree of portability and security. This chapter will introduce the usage of Linux command line tools, including installation, configuration, text processing, file management, network management, process management, etc.

15. Chapter 15: Introduction to basic knowledge of computer networks Computer networks are the infrastructure for information transmission and are hardware and software systems that connect network entities such as terminal devices, hosts, and routers. This chapter will introduce some basic concepts, protocols, transportation methods, physical layer, data link layer, network layer, transport layer, application layer and other aspects of computer network.

16. Chapter 16: Introduction to basic knowledge of software engineering methodology Methodology is a set of principles and models that can guide the software development process. This chapter will introduce some basic principles, methods, models and tools of software engineering methodology, and introduce how to apply these methodologies for software development, management, testing, deployment and other activities.

17. Chapter 17: Introduction to Software Architecture Patterns A pattern is a set of solutions that reflects a specific situation and usually consists of some common principles and constraints. This chapter will introduce some common patterns of software architecture patterns, including MVC, MVP, MVVM, CQRS, Event Sourcing, etc., and introduce how to use these patterns for software architecture design, optimization and expansion.

18. Chapter 18: Introduction to basic knowledge of algorithms. Algorithms refer to a series of operating methods or instructions used to solve specific problems. It is a basic technology of computer science. This chapter will introduce some common algorithms, including sorting, search, graph theory, dynamic programming, greedy algorithm, backtracking algorithm, etc., and introduce how to correctly analyze, design and implement algorithms.

19. Chapter 19: Introduction to basic knowledge of data structure Data structure refers to a collection of data elements that have some relationship with each other. It is an important branch of computer science. This chapter will introduce some common data structures, including heaps, queues, stacks, trees, graphs, hash tables, etc., and introduce how to effectively select and use data structures.

20. Chapter 20: Introduction to Interview and Recruitment Guide This chapter will introduce common problems and techniques that may be encountered during the interview and recruitment process, including issues such as coding habits, abstract thinking, comprehensive ability, communication and expression, career planning, etc.

21. Chapter 21: Introduction to software debugging skills In the software development life cycle, software errors are inevitable. Debugging skills can help programmers quickly locate and solve software faults, reducing costs in software development, maintenance, deployment, etc. This chapter will introduce the general process and tools of software debugging, including breakpoints, logs, single-step debugging, monitoring debugging, etc.

22. Chapter 22: Introduction to Software Testing Testing is an important part of software quality assurance, which can help software developers discover, isolate, track software faults, improve software quality, and ensure software service levels. This chapter will introduce the various stages and tools of software testing, including unit testing, integration testing, system testing, functional testing, stress testing, performance testing, automated testing, debugging testing, etc.

23. Chapter 23: Introduction to Distributed Computing Distributed computing is a network-based parallel computing technology that can share computing resources among multiple computers while maintaining data independence. This chapter will introduce some basic concepts and principles of distributed computing, including remote procedure call RPC, message passing, asynchronous communication, distributed transactions, distributed databases, distributed file systems, etc.

24. Chapter 24: Introduction to Cloud Computing Cloud computing is a computing service based on on-demand allocation and elastic scaling of virtual machines on public cloud platforms, private cloud platforms, or hybrid cloud platforms. This chapter will introduce some basic concepts and principles of cloud computing, including cloud computing models, cloud computing services, cloud computing suppliers, cloud computing market, etc.

Guess you like

Origin blog.csdn.net/universsky2015/article/details/133502378