I’m going to take you into the world of Internet development. Today we introduce the language of Internet development.

What is Internet Development Language

Speaking of language, you may think of Chinese first. English is a way of communication that allows you to understand each other’s meaning. But what about the Internet development language? Since it is a language, it is also a way of communication, but this language is designed to be understood by computers.

Human languages can be divided into Chinese, English, Japanese, French and so on. In the computer world, there are also many kinds. The computer knowledge has a certain understanding of the partners, this time the mind may emerge Java, C, C++ and other programming languages. And I also know that if you want to learn programming and enter the development field, you must first learn a language or even several development languages.

In fact, there are many development languages, at present, still relatively common development languages may be hundreds of languages, and new development languages will emerge every moment.

Grace the Marilyn Top10 in the latest compilation of programming languages, April 2020.

From the list we can see a lot of familiar names, such as Java, C. If we want to learn Internet development, we have to learn these languages. But which one to study, let me explain a little about these languages before you decide.

Since the birth of computers, programming languages are inseparable. With the development of The Times, programming languages have evolved from machine language and assembly language to various high-level languages.

The diagram below illustrates the relationship between the three languages.

The left-most part is code written in C, the middle part is compiled from C to assembly language, and the right-most part is machine language. As you can see from this example, machine language is really for calculators. The only language we can understand and learn is probably C.

So in today’s content, the main focus of our introduction will be on these readable, easy-to-learn high-level languages.

Classification of Internet development languages

Even when we narrow it down to Internet development languages, we find dozens of common development languages. Each of these languages has a large user base and a wide range of application scenarios. If LET me choose, I still don’t know which one I should choose as my future job hunting direction.

Internet development, according to the functional division, now can be simply divided into front-end development, back-end development, mobile development.

Front-end development, mainly for browser pages, more focus on page interaction. It’s direct to the user.

Back-end development, mainly for data and some of the underlying data function logic, is not visible to users, so it is called the back-end.

Mobile development, which is mainly for mobile phones, pad and other mobile devices and a development scenario. Strictly speaking, mobile development can also be categorized as front-end development, which is also page-level development directly to users.

Now that we know the categories of Internet development, we need to know which languages are represented in each of these categories. And the characteristics of these languages.

Front-end development language

A basic website consists of many web pages, each made up of HTML, CSS, and javascript.

The HTML is the body, which loads various DOM elements; CSS is used to decorate DOM elements; Javascript controls dom elements.

Using a door metaphor is the relationship between the three: HTML is the door panel, CSS is the paint or pattern on the door, javascript is the switch of the door;

Knowledge of these three languages is a must for anyone who wants to learn front-end development. For programmers who do back-end development, except for those with large backends that only work with data and don’t care about page logic, these three languages should be somewhat familiar. From this courseware, these three languages in the Development of the Internet exactly how important. But don’t worry, it’s because of this foundation that these three languages themselves are not too difficult, and in the entire field of development, these three languages are arguably the easiest skills to learn.

HTML is introduced

HTML is a language used to describe web pages, it is not a programming language, but a markup language (markup tags), in general, HTML uses markup tags to describe web pages, this paper will use tags instead of markup tags to illustrate.

Tags are < HTML ></ HTML >, <div></div>.

Tags are semantic: headings use < H1 >, table displays use < TABLE >, links use <a>, unordered orders use <ul>, and so on.

Tags can have various attributes, the most basic being class and ID. The class attribute refers to CSS styles; Id is used with javascript and is unique. Here are a few examples

L The main attributes of the image tag <img> are SRC, Alt. SRC is the network address of the reference image (necessary); Alt is a description of the image, and if the image does not load successfully, Alt text will be displayed.

L The main attributes of hyperlink <a> are href, target. Href is the url to go to (necessary); Target tells the browser which window to open after clicking on the link. Target = “_blank” means to open a new window.

CSS is introduced

CSS, officially known as cascading style sheets (CSS), was developed to solve the problem of separating content from presentation and is stored in.CSS files.

Using CSS.

You can write it in the HTML header element <head>, or you can write it in a CSS file and reference it in HTML.

CSS priority.

Multiple CSS styles can be grouped together in a single HTML tag, and when this happens, they are generally classified by priority

  1. Browser default Settings (minimum)
  2. External style sheets
  3. Internal style sheets (written inside HTML tags)
  4. Inline style (written in the HTML tag, the style property) (highest)

Syntax of CSS.

CSS consists of two main parts, selectors, and one or more declarations.

Seletor is the name of the CSS style “.seletor “, preceded by a little “. . The declaration is made up of attributes and values. For example, “margin: 0 auto”, the colon is preceded by the attribute and followed by the value. This example defines the element to be centered.

Javascript is introduced

Javascript is a scripting language, it is the bridge between the front desk (HTML) and the background server, it is the master of manipulating HTML, this paper uses JS instead of javascript to illustrate.

Usually hear native JS, JS library, JS framework, JS plug-ins and so on, the following simple explanation.

L Native JS refers to the most basic JS, which has not been encapsulated. However, due to different browsers’ different support for JS, it is necessary to write compatible codes for different browsers with basic JS programming.

L Js library, Js framework, refers to the integration of a series of DOM operations, API encapsulation, interface UI encapsulation library class, common jQuery, extJS and so on, this aspect of the definition is difficult to distinguish, do not mislead you

L Js plug-in, is integrated to help programmers easily complete the function of the program. Js plug-in is used more, web page production can be seen everywhere. Such as picture rotation function, navigation production, upload pictures and so on.

Front-end programming difficulties

Front-end development is mainly oriented to the rendering effect on the page, from the above introduction can see that such a language is not difficult. And in recent years, the employment situation at the front end has been particularly encouraging, and companies have begun to strengthen recruitment efforts at the front end. But learning the front end, in fact, there are still some difficulties to explain in advance.

1. Have the same aesthetic ability and standards as the general public

This is easy to understand. The front end is the most direct user facing part of the development system. You have to have a good aesthetic to create a page that will attract users and keep them coming back.

Front-end developers have to have the same aesthetic standards as most people, and 80% of the people who want a page to look good will think it looks good. If your aesthetic is beyond the pale, then you might want to consider not rushing into front-end development.

2. Multi-platform compatibility is likely to drive you crazy

In my experience, one of the biggest challenges of front-end development is interoperability.

Front-end development of the page, the final need to rely on the browser display. There are many browser platforms known to us now, including Chrome (Google browser), FireFox (FireFox browser), IE, QQ browser, 360 browser and so on. These browsers may interpret the same front-end code differently because of their different cores, and therefore render it differently. This makes front-end development very difficult because we can’t predict what tools users will use, and our development needs to be compatible with all browser platforms, not just specific browsers.

With so many different browser versions, it’s enough. After entering the era of mobile Internet, the browser on mobile phones also brings more challenges to the development. Different sizes and different models of mobile phones also add a lot of fun to the front-end development.

3. Front-end technology changes with each passing day, so we should always be sensitive to technology and keep learning

This is probably the difficulty with all development languages.

In the past, the front-end is really easy, as long as you learn the most basic syntax, can cut the map to make the page is a good front-end developer. But now, it’s all different.

In the era of mobile Internet, many things have changed. HTML became HTML5, CSS became CSS3, javascript is even more exaggerated, the good front-end language must learn back-end language, also began to pay attention to the framework, pay attention to design patterns. From native javascript to JQuery and now ReactJs, Vue, Angular. After the rise of the mobile Internet, the front end of the list of development and appeared in the public number development and small program development. The development of technology is always fast, if we want to learn technology well, become a qualified programmer, we must be ready to learn quickly.

Backend development language

There are many back-end development languages, and each language has its own application scenarios and millions of users. We often see arguments about which programming language is better, but there’s really no way to say which language is better than the other, only which language is better for a given situation.

Next, I’ll take a look at the characteristics of each of the commonly used programming languages.

C/C++

In summary, the first language of most Chinese programmers.

C language is a representative of procedural language, often used to write operating systems. C++ is a superset of C, with both Pointers and objects making it the most complex language.

Almost all modern programming languages were born out of C/C++, so knowing C/C++ is a great way to learn everything about programming languages quickly. C/C++ can be embedded in any modern processor, and almost all operating systems support C/C++, which is very cross-platform.

C/C++ weakness: It is said that C/C++ was invented to make learning difficult in order to increase the barrier to entry and the income level of the industry. Despite the small size of C, C++, the most commonly used language, is large and has a large number of extremely complex functional interactions that can be wasteful. To sum up, C/C++ is a very expensive language to learn, which is more towards the bottom of the computer. If you don’t have the confidence or desire to do low-level computer development, don’t rush into learning this language.

Career Path:

(1) The development of Unix/Linux and other operating system software and embedded development.

(2) Android ROM customization and NDK development of Android App.

(3) developing games with cocos2d-x is also a good way for C++ programmers.

Java

This is the longest-lived language.

Java is the most typical object-oriented language. Java has not only absorbed the advantages of C++ language, but also abandoned the concepts of multiple inheritance and Pointers that are difficult to understand in C++. Java actively promotes object-oriented programming concepts and greatly improves the readability and maintainability of written code. Make large-scale programming, multi-person maintenance, easier and easier.

The Java platform is constantly introducing new features, such as Android in the era of mobile Internet, Hadoop in the era of big data, and TensorFlow in the era of artificial intelligence. Java is the most widely used language in the world because it continues to evolve and keep up with the trend of The Times. Who hasn’t seen the phrase “3 Billion Devices Run Java” when installing Java environments? Desktop applications, network programming, game programming, mobile programming, basically wherever there is code, we can see Java.

Java is also a bottom-facing language, which is suitable for the development of large projects. Its object-oriented, multithreading, package management and other features make Java a powerful and high security development language. It is these characteristics that determine the high development cost of Java development projects, a lot of pre-design for each development, too much emphasis on standardization, and the development cycle of Java development projects is imperceptible.

Career Path:

(1) The common “recruitment of Java development” on the recruitment website refers to the narrow sense of Java development — JavaEE based background development, SSH framework and SSM framework was once popular, now it is recommended to learn SpringMVC framework.

(2) In the era of mobile Internet, Java can be used for Android App development. But Kotlin may be taking Java’s place on Android.

(3) In the era of big data, Java can be used for the development of Hadoop, which has a very broad prospect, but may be flooded.

(4) In the era of artificial intelligence, Java can be used for the development of TensorFlow deep learning.

C#

A Java language that claims not to be Java

C# was invented by Microsoft when they saw that Java was too popular.

Advantages of C# : the greatest advantage of C# is full integration. Net library, provide excellent function and perfect library access ability. The advent of THE VR era has unity-3D developers in great shape.

Weaknesses of C# : it only runs on Windows and is poor cross-platform. At present.Net employment environment in China is not very good, low income.

Career Path:

(1) the common phrases “recruiting C# development” and “recruiting.net development” on job sites refer to C# development in a narrow sense — based. Net framework background development.

(2) unity-3d also uses C# as a development language, which will shine in the VR era in addition to developing 3d games.

Python

A language you need to learn with a vernier caliper

Python is an open source, server-side interpreted, uncompiled scripting language. Easy to learn, known as “the easiest language to learn”. Often nicknamed the Glue language, it makes it easy to link together various modules made in other languages, especially C/C++. Because a large number of data-related modules are preset in Python, they are widely used in data analysis, crawler processing and other scenarios.

Career Path:

(1) Web development using the Django framework: Just like Java.

(2) PIL framework for graphic processing

(3) Internet of Things: Raspberry Pi and other iot platforms use Python as their development language

(4) Python has an omnipotent Hack library. If you think “it’s impossible to work part-time”, be a freelance hacker

PHP

We often hear that PHP is the best language in the world. It is a common open source scripting language. The syntax absorbs the features of C language, Java and Perl, which is easy to learn and widely used. It is mainly applicable to the field of Web development. Billed as “the best language in the world”.

PHP is easy to learn and easy to get started quickly. The enduring PHP has a large and active official community, and most of the problems developers face have solutions ready to go, many of which are more than a decade old and are instructive today. Compared with compiled languages such as Java and C, PHP is fast in development, does not need to be compiled, and can quickly complete project development and run immediately, which has become the first choice of a large number of entrepreneurial teams for initial projects. But as the number of users increases, performance issues become more apparent, and often after a project reaches a certain size, companies will choose another language as an alternative to PHP.

With the rise of front-end technology in recent years, NodeJs has been accepted by developers, and the emergence of the new development language Golang, PHP has inevitably declined. However, with the advent of PHP7, the decline has eased somewhat, and with the emergence of a number of PHP projects in the market a few years ago, these projects still require a large number of PHP programmers to maintain, so the language still has a lot of market prospects.

NodeJS

NodeJs is actually a back-end oriented front-end language. It is Javascript at heart, but with a commitment to back-end development.

NodeJS is a scripting language that, like PHP, was born for the Web. Because the language is identical to Javascript, it makes it possible for front-end developers to move to the back-end, leading to the rapid rise of the concept of “full stack engineer”. In addition, at the beginning of its design, it introduced asynchronous invocation, greatly improving performance. In recent years, the upward trend is very obvious. If you are interested in front-end development and also want to try back-end development, NodeJs will be your first choice.

Golang

Go is the latest Web programming language to emerge in recent years. Because it is the latest, but also can be accepted by the majority of users. Must represent the best of our times in some way. Go basically integrates all of the above. Compared with C or Java, it is easy to learn, very low cost, has a good language design, preset a large number of functions for Web development, simplified development costs. Compared with PHP, Python, NodeJs, it has the characteristics of compiled language, the code is directly compiled into machine code, running fast, outstanding performance.

Golang has its drawbacks. It is a new language, after all, and its biggest problem is that the platform is still immature. Although the world is very optimistic about it, there are still many aspects that need to be improved. Such as related forums, the number of open source projects. And there is no mature official framework accepted by everyone, the stability of the version also needs to be further strengthened.

At present, the main application scenarios of GO language are focused on operation and maintenance development. We are known as Docker, K8S is to use go to develop. There are no other big, well-known projects that use Golang entirely, but the language has a long way to go and should be a must for future web development students.

Objective – C and Swift

Both are IOS – specific mobile languages. Objective-c was the highest-grossing language in the country a few years ago.

Apple provides a wealth of tools and libraries for developers to develop software using Objective-C.

But Objective-C has its own unique approach to programming that is quite different from other programming languages. And OC is losing subscribers every year.

Due to the large difference between OC and other mainstream languages, Apple later launched Swift. Over time, Swift will make up an increasing proportion of the code in iOS and OS X software.

But Swift has its drawbacks. Versions of it change too quickly and vary too much from version to version. There have been several “from master to beginner” situations in recent years. This is a huge change for the user. In addition, enterprises will be conservative in choosing Swift when making development decisions for stability.

conclusion

At present, some of the mainstream development languages have been introduced here. If you have the intention to enter the field of Internet development, read this article should also have a general understanding.


Hope this article can help you to choose, if you have any questions, welcome to pay attention to my public account (Xuji Bofa XujiBOFA001) to communicate with me.