What are the main languages C, C ++, Java, JavaScript, PHP, Python, and Ruby used for development?

Source: Internet
Author: User
0 reply content: This post is purely for common use. The following is only for the main purpose. Other uses are omitted due to space limitations.

C: system underlying layer, driver, embedded underlying layer, and basic service program.
C ++: Upper-layer service programs, application APIs, and large 3D games.
Java: server applications and client applications.
JS: A program running in a browser.
PHP: a program used by the Web server to generate Web pages.
Python: any graphic-less application, mainly on the server.
Ruby: It is mainly used in the RoR framework and is rarely used in other fields. Swoole: PHP High-Performance Network Communication Framework, which provides PHP asynchronous multi-threaded servers, asynchronous TCP/UDP network clients, asynchronous MySQL, database connection pool, AsyncTask, message queue, millisecond timer, asynchronous file read/write and asynchronous DNS query.

Swoole is used to replace C ++. Java is used to develop server-side programs with higher development efficiency.
Swoole: asynchronous, parallel, and distributed extension of PHP I am opposed to the obfuscation of "C/C ++.

Reprint a picture:



As I saw a long time ago, I used a knife to tease common programming languages. It can only be said. C: Write the operating system together with the compilation; system infrastructure. It is also useful for Large-scale Games, but it hurts a little.
C ++: complex but highly efficient facilities, such as large games, basic libraries, and large desktop applications.
Java: development is easy and error-free. Network servers are widely used, especially enterprise management applications. In addition, there are often scientific research programs that use the Swing guis.
JavaScript: Web client script. In recent years, Node. js has been used for server-side development.
PHP: mainly the network front-end, used to generate Web pages. You can also use php for the entire web server, such as many Forum engines.
Python: Actually, everything is available. Such as daily scripts for scientific research, system management, less complex GUI programs, and web servers. In addition, many desktop programs and Games use python as the script engine.
Ruby: It seems that Ruby on rails is mainly used for web development. Self-answer
When I was a senior, I asked this question when I was a freshman. You only saw the question I asked and did not know the motive behind the question, the reason for raising this question was that I was confused when I first got into college. I didn't know what to learn. I saw various languages and technologies in the library and on the Internet, and I don't know where to start.
If someone does not know how to choose these technologies to see this problem, I can give you some help.
Choosing a language mainly depends on what development you plan to develop in the future.
C and C ++ tend to be algorithms. They generally require strong data structures and algorithm capabilities. If you are good at this, you will be the champion of the ACM contest or a top-notch website such as TopCoder, you are not afraid to find a job after graduation.
It doesn't mean that other languages do not need data structures and algorithms. Programs = algorithms + data structures, but they are not as obvious as C.
Java, PHP, Python, and Ruby all have their own aesthetic and scope of use. The most common language is server Background Development. You need to learn various frameworks and understand object-oriented.
JavaScript is the scripting language of the browser. It is generally learned together with Html and CSS. It is mainly used for front-end development of websites to display various cool pictures.

In fact, sometimes the best choice is no choice, too many choices, but will be overwhelmed.
How can you try this language? Let's look at it again. I think this language has its shortcomings. I think it is too troublesome and I can only rely on other languages to achieve nothing.
If you select a language, you need to understand it in depth and tolerate it. each language has its own limitations. In theory, you can do almost everything in any language, but what you do is different. I know a lot about the language you mentioned. Let me give you a simple answer:
C: system underlying layer, driver, and embedded development.
C ++: Game Development, large-scale, high-performance, distributed programming (such as communication programs)
Java: webpage, enterprise-level development, common application software, game background
JavaScript: web Front-end, webapp, now using node. js is also quite suitable for the background. If anyone just wants to learn a language (itself unrealistic), then I only recommend js.
PHP: web page background, which also has weak connection to the game background.
Python: a daily scripting tool, which is very convenient. You can also use Django to develop the webpage background, but there are few.
Ruby: Ruby on Rails is currently the king of quick development for small websites.

It's interesting to forget where to see it.

Bytes ---------------------------------------------------------------------------------------------------------------

PHP is your sweetheart for the years of life, and she is the initial goal of your silly pursuit this summer. You can play it for a while, but never invest too much, because this girl has a serious problem.


Ruby is a pretty child in the script family. At first glance, you will be taken away by her beauty. She is also very interesting. At first, she looked a little slow and unstable, but she has matured a lot in recent years.


Python is a more sensible sister of Ruby. She is elegant, trendy, and mature. She may be too good. Many young people will say, "hey, brother, how can you not fall in love with Python !?". That's right. You like Python. You treat her as a Ruby with both temper and romance.


Java is a successful career woman. Many people who have worked under her feel that her abilities are not in perfect match with her status. She is more impressed by middle-level managers through skills. You may think that she is a wise person and you are willing to follow her. But you have to be prepared to hear the blame like "you used the wrong interface and you missed a semicolon" for years.


C ++ is the cousin of Java. She is similar to Java in many places. What's different is that she grew up in a naive age and does not consider the use of "protection measures ". Of course, "Protection Measures" refer to automatic memory management. What do you think I mean?


C is the mother of C ++. Talking about this name for some gray-haired programmers will make their eyes shine and create infinite memories.


Another member of the Objective C language family. She joined a strange church and was reluctant to date anyone outside of the church.

If you are proficient in any of these methods, you will be able to have no worries about food and clothing!
It is not a problem to be proficient in any of these learning methods!
In fact, language is just a way to solve computer problems in different fields!
SO don't care what it is! Find a learning that you can understand ~ In theory, C/C ++ can be used for any development. With proper hardware drivers and APIs, C/C ++ features high efficiency, which is basically the most efficient compiling language. (It is said that the efficiency of processing a single statement in the java background is close to that in C ++. However, there are several hard-hitting java statements that cannot be overcome and the memory usage is too large. This is a result of the explosion of C ++ and image processing, due to the relationship between jvm virtual machines, image processing efficiency is low. In addition, thread switching is performed. java threads are processed by jvm virtual machines. Because there are multiple packages, the thread opening efficiency is low ).
Js does not understand...
Python, ruby, perl, and php belong to the same class and are all scripting languages. They are characterized by no compilation and high development efficiency (many definition logics do not need to be considered), but at the same time, they are inefficient, generally, SA prefers this type of language. At the same time, this type of language also has an architecture suitable for Building websites. I don't know much about it, but many things are similar in Building websites, when the load is high, you can often use C to rewrite some architectures and optimize the server to improve efficiency. In this regard, some websites prefer python because pythong is written in C ++ and can directly use lib *. so to replace some python write efficiency modules.

For example, qq mail seems to use CGI .. That is, it is written in C ++ .. Facebook was initially developed with php (because of its high efficiency, Mark is familiar with php, and Mark is a front-end programmer ..?), Later, I used C to rewrite the module and database for acceleration. Many websites are written in java at the backend (java is suitable for backend development, Because java single-sentence execution efficiency is similar to C ++), like some games, for example, xianjian Qixia Chuan and others are developed using C ++, and DOOM and others are developed using C ++'s D3D api. The third answer is more accurate than the third answer.
Php: mainly uses the FastCGI mode to run the returned data stream. Therefore, the efficiency of the operation in the server mode will be improved, and the development of a single-node program will be optimized; for example, the Internet is the main form of data generation on the Internet.

Python, however, because of its balance, developers can use the same statement, but the opposite is not highlighted.

Ruby: the performance of CPU and memory is low. Today, it is mainly used for two purposes: 1. Making a net Rad for the RoR base, and 2. Making a binary statement in the memory engine.

C ++ is a low-cost Speaker of the system. However, the language features of C ++ are rich enough to build a large-scale system with the same level of complexity.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.