First of all, bottom tier development, application tier (business tier) development and front-end development have different development tasks. Bottom tier development tends to have two tiers, hardware resource management and container development, application tier development tends to implement business logic, while front-end development tends to complete content presentation and respond to user input.
Second, different levels of development tend to use different programming languages, the bottom tier development tends to use C, C++ or even assembly language with higher execution efficiency, application tier development tends to use programming languages such as Java, Python, PHP, C# and so on, while the front-end development usually adopts languages such as HTML, JavaScript and so on. Different programming languages tend to have different application scenarios, mainly depending on the characteristics of the programming language itself.
Finally, different levels of development require different knowledge structures. Bottom-level development often requires an understanding of hardware-related knowledge, for operating system architecture, electronic circuits, algorithm design, compilation principles, data structures, and other content has high requirements. Bottom layer development brings together a large number of R&D level programmers and requires a certain amount of experience.
Application layer development often involves specific business logic, and in the context of the current big data era, application layer development also has some new meanings, such as distributed storage, distributed computing and other content. Application layer development needs to master the knowledge structure including programming languages, computer networks, databases, algorithm design and other content, relative to the bottom of the development, application layer development often does not involve too much hardware knowledge.
The main task of front-end development is twofold, on the one hand, it is to provide users with an input page, on the other hand, it is to provide users with an information presentation page. With the development of mobile Internet, front-end development now includes not only the traditional PC, but also Android, iOS and other mobile development. Although front-end development does not require much content such as algorithm design and compilation principles, front-end development is more miscellaneous and varied and requires a lot of experience.
For developers, there is a clear difference in the knowledge structure of different positions, but there are also several trends that are more obvious at present, one of which is that Nodejs represented by JavaScript is moving from the front-end to the back-end, and another is that WebAssembly represented by Go is moving from the back-end to the front-end, which are showing that the boundaries between front and back-end are being blurring.
I have been engaged in the Internet industry for many years, and I am also currently taking graduate students majoring in computer science, and my main research direction is focused on the field of Big Data and Artificial Intelligence, and I will write some articles about Internet technology in the headline one after another, and those who are interested can pay attention to me, and I believe that they will definitely gain something.
If there are problems with the Internet, you can also consult me, thank you!