Some notes on programming self-training
First things first: Don’t rush to choose a language
A common mistake newbies make is hesitating to decide which programming language is done well and should be learned first. We have a lot of options, but you can't speak that language best. We should understand: in the end, it doesn't matter what language. It is important to understand data structures, control logic and design patterns. Any language or even a simple scripting language will have various characteristics common to all programming languages, which means that all languages are connected. I'm working on my Computer Science degree and I program in Pascal, Assembly, and C, and I've actually never looked at it as a career to get paid. I have been teaching myself programming and I don’t need it at work. I use my existing knowledge and refer to various documents and books to learn their usage. So, don’t be in a hurry about which programming language to choose. Figure out what you want to develop, use a language that does the job, and that's it. Depending on the various development platforms, there are many different forms of software development for you to choose from: from website applications to desktop software to smartphone software to command line scripting tools. In this article, I will highlight some popular introductory tutorials and resources that can help you learn how to program and develop on various mainstream platforms. I'm going to assume that you are a very savvy reader, but for newbies, when I talk about programming code, I'm going to talk about it at an entry-level level. Because even if you read an introductory programming manual by yourself, if you find that you can understand it, you will naturally feel very happy, which will help you further study.
If you want to start programming in Windows or Apple systems, the easiest way is to start with a scripting language or macro language, such as AutoHotkey ( Windows) or Automator (Mac OS). Some hardware programmers are screaming at their screens these days that AHK and AppleScript are not real programming languages. Maybe they're right that technically these kinds of languages can only do some high-level programming. But for newbies who just want to get started and want to implement some programs that can run automatically on their computers, these languages will be a wonderful entry point and you will be surprised by their rich functionality. For example, everyone’s favorite Texter is a Windows application developed by Adam using AutoHotkey that can run independently. Therefore, this scripting language is far from being limited to the development of small-scale script software. If you want to start with AutoHotkey, here's Adam's guide: how to turn any action into a keyboard shortcut using AutoHotkey (you can then download the Texter source code to see the internals of a fully functional Windows application developed using AHK) .
Web Development
In addition to constraining yourself to a specific programming language and a specific operating system, you can also develop your killer program in the browser and let it run on the Internet, This is webapp. Welcome to the wonderful world of web programming.
HTML and CSS: When developing a website, the first thing you need to know is HTML (which web pages are made of) and CSS (a style tag that makes the appearance better). HTML and CSS are not programming languages, they are just the structure and style information of the page. However, you must learn how to manually write simple HTML and CSS before you can start developing web applications. A web page is the front-end display part of any webapp. This HTML guide is a good place to start.
JavaScript: Once you can build a static page with HTML and CSS, things start to get interesting because it’s time to learn JavaScript. JavaScript is a programming language on web browsers. Its magic is to create some dynamic effects in the page. JavaScript can do bookmarklets, Greasemonkey scripts, and Ajax, so it's a factor in all kinds of good stuff on the web. Learn JavaScript from here.
Server-side scripting: Once you learn the knowledge in the web page, you need to start adding some dynamic server operations to it. To achieve this, you need to turn your attention to a server-side scripting language, such as PHP, Python, Perl, or Ruby. For example, if you want to create a web-based contact form that sends emails based on user input, you would need to use server-side scripting. Scripting languages like PHP allow you to communicate with a database on a web server, so if you want to build a website where users can log in and register, this language is exactly what you need. Webmonkey is an excellent web development resource website, which contains a large number of instruction manuals for various web programming languages. Check out their Beginner’s Guide to PHP. When you feel more comfortable, check out the WebMonkeys PHP and MySQL tutorial to learn how to use PHP to interact with a database. The best thing on the Internet is the official online documentation and function reference of the PHP language. Each knowledge point (such as strlen function) has user comments and comments listed at the end, which are very valuable to the document itself. (I really like PHP, but there are many other server-side scripting languages that you can choose from.)
Web Framework:
Over the past few years, web developers have been developing In the process of building a dynamic website, you have to write repeated codes over and over again for repeated problems. In order to avoid this problem of repeating work every time when developing some new websites, some programmers have built some frameworks and let the frameworks complete the repetitive work for us. The very popular Ruby on Rails framework, as an example, uses the Ruby programming language to provide us with a specifically web-oriented architecture that can be used to complete ordinary web applications. In fact, Adam used Rails to develop his first serious (and stunning!) web application, MixTape.me. This is how he built a website without any experience. There are some other web development frameworks including CakePHP (for PHP programmers), Django (for Python programming), and jQuery (for JavaScript).
Web APIs: API (Application Layer Programming Interface) refers to different A programmatic way for software to be exchanged with each other. For example, if you want to put a dynamic map on your website, you can use Google Maps without developing your own map. The Google Maps API allows you to easily introduce a map to your page through JavaScript. Almost all modern web services you know and love provide APIs through which you can obtain their data and widgets and use these interactive things in your applications, such as Twitter, Facebook, Google Docs, Google Maps, the list goes on and on. Integrating other web applications into your web application through APIs is now the forefront of rich web development. Every good mainstream web service API comes with complete documentation and some quick-start instructions (for example, this is Twitter). Go crazy.
Command line script
If you want to develop a program that can read text or files, input and output something useful, then the command line script language will be a good choice. However, it is not as attractive and good-looking as web applications and desktop applications, but as a scripting language for rapid development, you cannot ignore them.
Many web scripts that run on the Linux platform can also be run in command line mode, such as Perl, Python and PHP, so if you learn to use them, you will be able to run in both environments Use them. My learning path has never left Peal too far. I taught myself Python using this excellent online free book Dive into Python.
If becoming a Unix master is also your learning goal, then you must definitely be proficient in the bash scripting language. Bash is a command-line scripting language in Unix and Linux environments. It can do everything for you: from automatic backup database scripts to full-featured user interactive programs. At first I didn't have any experience with bash scripts, but eventually I developed a full-featured personal to-do task manager using bash: Todo.txt CLI.
Plug-ins (Add-ons)
Today’s web applications and browsers can enrich themselves through some extension software function. As some existing software, such as Firefox and WordPress, are getting more and more attention from developers, the development of plug-ins is also becoming increasingly popular. People are saying But if only it could do THIS
As long as you master HTML, JavaScript and CSS , you can develop many things you want in any browser. Bookmarklets, Greasemonkey user scripts, and Stylish user styles are all written in the same language as more common pages, and are worth looking into.
More advanced browser extensions, such as the Firefox extension, they can help you a lot. Developing Firefox extensions, for example, requires you to be proficient in JavaScript and XML (a markup language, similar to HTML, but with a stricter format). Back in 2007 I wrote down how to build a Firefox extension, the result of my clumsy research into some online learning materials.
Many free and popular web applications provide extension frameworks, such as WordPress and MediaWiki. These applications are all written in PHP, so you can only do these things if you are familiar with PHP. This is how to write a WordPress plugin. Developers who want to harness the cutting-edge technologies of Google Wave can start by writing widgets and gadgets using HTML, JavaScript, Java, and Python. The first Wave bot I wrote started with this one-afternoon quick-start guide.
Developing Web Applications on the Desktop
The best result of learning programming is that what you learn in one environment can be applied to another environment. The advantage of learning to develop web applications first is that we have some methods to make web applications run directly on the desktop. For example, Adobe AIR is a cross-platform instant runtime platform that allows the programs you write to run on the desktop of any operating system equipped with AIR. AIR applications are written in HTML, Flash, or Flex, so it allows your web applications to run in a desktop environment. AIR is an excellent choice for developing and deploying desktop applications, as we've mentioned in these 10 apps worth installing AIR for.
Mobile Application Development
The development of mobile applications that can run on iPhone or Android smartphones is now booming, so You can also dream about how you can make tons of money with your genius program in the iTunes App Store. However, as a newbie to coding, jumping straight into mobile development can be a steep learning curve as it requires familiarity with high-level programming languages such as Java and Objective C. However, you should certainly take a look at what iPhone and Android programming is really like. Read this simple iPhone application development example to get a preliminary understanding of the iPhone program development process. Android programs are all written in Java. Here is a simple video tutorial to teach you how to develop your first Hello Android program (Note: You may need an agent to watch this video).
Finally: Patience, hard work, try, fail
Good programmers have the quality of never giving up until they achieve their goals. They will be pleasantly surprised by how they can change through long-term deliberation and failure. Some achievements come. Learning to program can be very rewarding, but the learning process can be frustrating and lonely. If possible, it is best to find a partner to do this with you. If you want to master programming, like anything else, you need to persist, try again and again, and gain more experience. You must learn to write your own technical blog. PHP Chinese website provides a free technical blog system. Go and write your personal blog...
The above is the detailed content of Some notes on programming self-training. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











In C++ development, null pointer exception is a common error, which often occurs when the pointer is not initialized or is continued to be used after being released. Null pointer exceptions not only cause program crashes, but may also cause security vulnerabilities, so special attention is required. This article will explain how to avoid null pointer exceptions in C++ code. Initializing pointer variables Pointers in C++ must be initialized before use. If not initialized, the pointer will point to a random memory address, which may cause a Null Pointer Exception. To initialize a pointer, point it to an

During the Mingchao test, please avoid system upgrades, factory resets, and parts replacement to prevent information loss and abnormal game login. Special reminder: There is no appeal channel during the testing period, so please handle it with caution. Introduction to matters needing attention during the Mingchao test: Do not upgrade the system, restore factory settings, replace equipment components, etc. Notes: 1. Please upgrade the system carefully during the test period to avoid information loss. 2. If the system is updated, it may cause the problem of being unable to log in to the game. 3. At this stage, the appeal channel has not yet been opened. Players are advised to choose whether to upgrade at their own discretion. 4. At the same time, one game account can only be used with one Android device and one PC. 5. It is recommended that you wait until the test is completed before upgrading the mobile phone system or restoring factory settings or replacing the device.

Methods and precautions for installing pip in an offline environment. Installing pip becomes a challenge in an offline environment where the network is not smooth. In this article, we will introduce several methods of installing pip in an offline environment and provide specific code examples. Method 1: Use the offline installation package. In an environment that can connect to the Internet, use the following command to download the pip installation package from the official source: pipdownloadpip This command will automatically download pip and its dependent packages from the official source and save it in the current directory. Move the downloaded compressed package to a remote location

With the rise of short video platforms, Douyin has become an indispensable part of many people's daily lives. Live broadcasting on Douyin and interacting with fans are the dreams of many users. So, how do you start a live broadcast on Douyin for the first time? 1. How to start a live broadcast on Douyin for the first time? 1. Preparation To start live broadcast, you first need to ensure that your Douyin account has completed real-name authentication. You can find the real-name authentication tutorial in "Me" -> "Settings" -> "Account and Security" in the Douyin APP. After completing the real-name authentication, you can meet the live broadcast conditions and start live broadcast on the Douyin platform. 2. Apply for live broadcast permission. After meeting the live broadcast conditions, you need to apply for live broadcast permission. Open Douyin APP, click "Me"->"Creator Center"->"Direct

Steps and precautions for using localStorage to store data This article mainly introduces how to use localStorage to store data and provides relevant code examples. LocalStorage is a way of storing data in the browser that keeps the data local to the user's computer without going through a server. The following are the steps and things to pay attention to when using localStorage to store data. Step 1: Check whether the browser supports LocalStorage

As a high-level programming language, Python is becoming more and more popular among developers due to its advantages of being easy to learn, easy to use, and highly efficient in development. However, due to the way its garbage collection mechanism is implemented, Python is prone to memory leaks when dealing with large amounts of memory. This article will introduce the things you need to pay attention to during Python development from three aspects: common memory leak problems, causes of problems, and methods to avoid memory leaks. 1. Common memory leak problems: Memory leaks refer to the inability to release the memory space allocated by the program during operation.

Recently, a car blogger released the price of the Lynk & Co Z10, which is suspected to be exposed for sale. According to this employee from a Lynk & Co center in Nanning, Guangxi, the starting price of the Lynk & Co Z10 400V version is 189,800 yuan, while the starting price of the 800V version is 229,800 yuan. The employee also said that "starting at 180,000 yuan, Zhenxiang warning", which seems to imply that there may be more rights and interests during the first sale. Fenye Lynk & Co Z10 According to indirect reports from car bloggers, Lynk & Co Z10 is expected to be: Pre-sale time: July Official delivery: August Price: Starting price: 182,800 yuan Mid-range model: 192,800 yuan High-end version: 207,800 Yuan first launch discount: fenye Lynk & Co Z10 price around 8,000 yuan revealed

The installation steps and precautions of pip in the Linux environment Title: The installation steps and precautions of pip in the Linux environment When developing Python, we often need to use third-party libraries to increase the functionality of the program. As a standard package management tool for Python, pip can easily install, upgrade and manage these third-party libraries. This article will introduce the steps to install pip in a Linux environment, and provide some precautions and specific code examples for reference. 1. Install pip to check the Python version
