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!