What do you think of the "Battle of programming language" of 2012?

Source: Internet
Author: User
Keywords Question oschina 63456 http net
The problem compares the water, saw someone to organize several blog views, recently also quite lively:
http://www. OSCHINA.NET/QUESTION/28 _63456
Maybe you didn't see what people were expecting to say ...
I forgot to answer before the link in a few blogs, after all, some views repeated many times

Reply content:

People who are not specifically PL say that there is little point in discussing this? And there are only a few languages involved. Instead of taking the time to discuss it, take the colon class and get it out of popular science (there is a saying: there is no best language, only the most appropriate language). If you want to find someone who has a say, I think I can ask Wang Yin.
To make an advertisement: I have collected some basic books and functional aspects of the programming language theory. However, most of them are only related to my personal research direction or the recommendations of the surrounding people, which inevitably have a lot of inappropriate places, welcome advice.
/ http book.douban.com/doulist /1373274/
/ http book.douban.com/doulist /1430378/ It's pointless to say the hype on the question without an answer.
The competition of language is more entertaining than knowledge.
All the answers to this question are inconclusive.
All the answers that seem plausible are not directed at the question itself.
To sum up, answer the LZ question, "How to see this programming language dispute?" The answer is not to look, because it's a waste of precious time in your life. (I unexpectedly wasted so much time to answer this question, but also looked at the LZ provides the connection address, the harvest is to know, @ The winter winter @ Zhuang Wei @ the left ear Mouse (Chenhao) @Laruence (xinchen) @ Lao Zhao, they all quite have the time) the language has the good or bad cent?
No, only suitable for
Suitable, is good language good not very difficult to compare, all good.
Yards in the code when writing a lot of time comfortable or uncomfortable feeling from the use of what the IDE
An excellent IDE can greatly shorten the time you write your code. You've managed to pull the line to the ground. If the old Hitler was alive, he would say that the language used by the Germanic people is the best language, want to use the other? Hit the computer. Can only say that too many idlers. There are too many people in charge of 13. Please pay more attention to some useful things. C + + is definitely the worst language, templates and template-based STL are the worst features

Objective-c without a GC, resources can get out of control when unexpected anomalies occur. It's a lot better to use GC, but the language is too complicated. Oo Smalltalk paradigm (like objective-c/com) is the paradigm of overkill,simula (like java/c#)

Python/ruby really spent a long time, I know that there is no good imagination. The main is the version between the peace platform between the compatibility is not good enough, a script finished, less than 5 years basic can not run on the latest system. Script can be used to do support system not enough server: Ruby
Browser: jQuery
Game script: Lua
Ios:object-c
windows:c#
Bottom: C

These are the languages that I use when I develop my personal development

There is no one in the world the only "best" language, only in the right environment at the right time to choose a suitable language, to create the greatest value of programmers the problem is like asking the programmer which editor is the best editor, always cause war.

* * C * * is obviously a great language, it is almost symbiotic with UNIX, almost all operating system development is based on C, OSX's bottom is also c developed (because essentially a Unix). The problem with C is that it is very granular in its operations and lacks a more abstract mechanism like the object-oriented language to implement code reuse and encapsulation (don't talk to me about how to implement object-oriented in C, you really have to do it, but the amount of code is great, and if you do, It's almost like a python in C.

* * OBJC * * is a simple mechanism to implement object-oriented on the basis of C, but OBJC is a message-based object oriented, which is obviously different from C + +. The result is OBJC's object-oriented mechanism is relatively simple to understand, Apple's OSX and iOS in addition to the bottom part, the System Finder and so on are used OBJC, so on the Apple device for system development and GUI development, OBJC is the best choice, no other.

I also think that OBJC is a more elegant object-oriented language if you put aside the platform.

PS: By the way, many people are discussing which programming language is the best when, in fact, inadvertently consider the library, Apple for OBJC provides a cocoa library is really great, a lot of use of design patterns, and really do very well (you and MFC compared to know how good)

* * C + + * * This language I can only say that unless there is a special need, such as the system of high performance requirements, do graphics and image computing and other specific areas, generally still do not touch better. This thing has developed to master it has become a burden, not to have a good grasp of it and to use it will become a disaster of the language. Remember when I met C + + in high school, it was a relatively easy-to-learn language for c+ object-oriented, but after introducing too much, the complexity of language was completely out of control. So do not easily self-abuse, object-oriented language inside C + + is absolutely ugly ("Simple is the beauty" of the opposite).


* * Java * * I do not learn in depth of Java, can only be said to learn, but not a lot of practical experience in the development of the program. The language is clearly becoming a very important standard in the software industry, the most popular language in the object-oriented language, to the bookstore to see how many Java on the shelf to know how much it is important to the current software industry.

It seems to me that Java's success is achieved by overcoming or absorbing the lessons of C + + design. First of all, Java is syntactically similar to earlier C + +, basically c plus a layer of object-oriented mechanism, and then provide a package and other mechanisms to achieve better encapsulation. Control the complexity of the language, and then provide the JVM-based cross-platform and catching up with the Internet development Wave has made it a great success.

In addition, Java's own library is also very rich, so programmers will generally have a different liking for it.


* * Python * * This language is what I like more. I once thought that in object-oriented languages, Python should be the most elegant of syntax in object-oriented languages, if it is about the syntactic nature of the programming language itself. I'm largely interested in this language, and another reason is that Python's standard installation package provides almost any common class library that can satisfy most applications. This is also a boon for beginners.

In the last year or two the country has started to get popular. There are a lot of books. Some of the features that Python makes me uncomfortable are the GIL (Global Lock), the recent advanced usage of advanced features based on the @ syntax, which somehow destroys the elegance of the syntax, consumes a lot of memory, and is more cumbersome to debug.


* * Ruby * * This is not a shame to learn! There was a direct hesitation in Ruby and Python, when there were no books on Python and Ruby in the market, and the last reason to choose Python instead of Ruby was because of the existence of Douban, at least knowing that someone else was tossing python, And then heard that Ruby is a Japanese toss, out of the university during the anti-Japanese sentiment is high, did not choose Ruby, but read a document, it seems that Ruby for the object-oriented relatively thorough.

No how deeply toss over, specific good or bad I do not do evaluation.

* * Lua * * learned, made a small program, there is nothing special to boast about grammar, claiming that speed is the fastest interpretation of programming language, and then the interpreter is very small (compile seemingly as long as a C standard library), and then the rest of the really nothing to say, for the game to develop plug-ins may be good, Then I also know that it looks like OpenWrt is still the router firmware system inside the seemingly used LUA to do the various functions of the module. That's all, I don't think there's much surprises.

**javascript** on the browser, based on the host platform. This two-year comparison of fire should be related to a Google project V8, is a high-performance JavaScript engine, Chrome browser high-performance estimation is because V8 benefited a lot. So someone started to toss node. js This platform, MongoDB inside seems to also use JavaScript as the operating language.

Simple: The JavaScript syntax is very simple, easy to learn, has good things, and has very bad stuff.

Very good thing I think it is its special object model (seemingly learning self language), its object model, function model, composite data structure is based on the unified model (at least from the appearance is the same, the underlying implementation is not clear), this particular advantage is that the code and objects like the basic data (floating-point number, String) is passed to a function, which is very powerful (knowing that this feature will mean that the code can be very flexible and powerful, and people who do not know the meaning of this feature for programming).

Something Awful, I think, is a global variable based on global objects, and there are 5 constants that represent false logic--it's a disaster. So I think its grammar needs to be well-organized. And personally, Lua and JavaScript are not likely to be a common programming language.


Here are the programming languages I prefer at the moment

I don't want to spend a lot of time explaining this great language--without words.

Lisp is a family with different derivative languages. Elisp--emacs is developed with this, COMMONLISP is a universal standard, and it is relative to a scheme. At present, the development momentum is more fierce clojure.

Explaining the advantages of Lisp can take all the above, because it's not really an advantage of a programming language, it's an advantage of a method of building a program because it's so different, so it takes a lot of space to explain it.

The following is a rough outline of the details of the first not to expand

Advantages:

1. Almost limitless expressive power
2. Almost unlimited abstract ability
3. Infinite potential of 1+2 code reuse

Disadvantages:

To master this language, you must lose everything else you have learned in other programming languages, and do not expect to find anything similar to other languages in this language. --A little desire to practice this work, will be the first self-palace meaning. Because the way of thinking is completely different, the brain is not very flexible people will be very painful.
  • 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.