If you write a program that is demanding or tightly integrated with your operating system, you must choose C.
If you write programs that are available everywhere, choose Java.
If you write large programs, try to use scripting languages like Python, Ruby, or Java and C if possible. Because the scripting language brings productivity. Write a handler for the text in Perl or Ruby. The process of writing knowledge is used Prolog.
Write the most flexible and obscure program with Lisp.
Write Office programs with VBA. Write server-side programs, PHP, (written in your own familiar language, such as Perl, Python, Ruby) CGI, ASP, (familiar with Java) JSP is the choice.
Write database program with VB, Powerbuiler or Delphi.
Algorithm research, design, with Pascal.
If you want to pursue performance and program capabilities, it is appropriate to use the C + + language to fully exploit the capabilities of the operating system. Use VC in Windows environment, use GCC in unix-like environment.
If not the pursuit and operating system perfect combination, but only performance, but also the pursuit of cross-platform, then still choose c, but can choose a cross-platform library, such as QT, GTK, Fox, WxWidgets.
If you want to write a game there is also a cross-platform choice: SDL.
If not satisfied with the C domain standards of the non-uniform, dissatisfied with C error prone, dissatisfied with C's object-oriented features are not complete. If you don't care about cross-platform, the Windows platform can choose the C#,mac platform to choose Cocoa (objective-c).
If you need cross-platform, you can choose Java.
If you need cross-platform and broad support, choose Java. Under Unix-like, the most convenient tool language is Perl, which has strong community and code base support. Python and Ruby are a better choice if they are only used as a tool language for simple applications, with good cross-platform portability and a wide range of applications. Python is better for getting started and communicating, and it's good for long-term use. Ruby is another option to be dissatisfied with Python, which provides a lot of extra functionality.
If you want to choose an embedded language for a program that originally has Lisp, Basic, and Java, you can now choose Python and Ruby.
If you want to dynamically interpret the execution language without learning other languages, the C Programmer's Choice is Pike,java Programmer's Choice is BeanShell. In the Java platform, if you want to use scripting language, you can use Python. The most Orthodox document-based language or called Dynamic page language is JavaScript. The most dedicated server-side language is PHP, and of course there are many other options. The XML language is the most famous for XUL, Dtml is also a, you can use XML as your own special use of language. JEdit, for example, uses XML as a mode-specific language. XML language is a more advanced trend, more efficient than existing languages in special areas. To find easy-to-implement languages, Lisp and Tcl are the choices. The ability and freedom of Lisp to integrate data and procedures is not in any other language. Now there is a modern variant of Lisp: REBOL.
If there is a need for fact-based programming, Prolog and clips are inevitable. Why did I choose Python to first declare that I programmed only the application, that is, to replace my own work of the applet.
If you write a system program will always use C or Java. I like scripting language, scripting language can be run without compiling, very easy to modify, and the program is a recurring activity, the program is always in continuous modification, there is no need to engage in a grand, but also to compile. In addition, the script can be used by each person to modify, and will not appear to find the source code situation. As a result, C + + and Java are excluded.
I like simple language, do not like to write a simple program to learn a lot of complex rules, need a lot of learning language is not a good language, is to see people as machines. C + + and Java have strict but Russell's syntax, there will never learn the functions, classes, libraries. It's a big one to see. And Perl has a variety of eccentric shorthand symbols, programs often make people dizzy. Simple meaning in addition to easy to learn, but also feature rich, commonly used to the things to be ready, not everyone to write the same data structure program. Python has a rich array of data types, a complete object-oriented architecture, and a variety of convenient programming modules, such as regular expressions. This logic is the process of doing more, people do less, if the program to do less, it is necessary to do more people. This is an interface-friendly issue. Easy to get started, feature-rich is a very important goal of the program design, Windows is relying on this popular. And Python is a good embodiment of this. Perl, like the Unix emacs and other tools, powerful, but too difficult to learn, too difficult to understand. is more contrary to human nature. About performance. The CPU is now very powerful. In addition to very large programs and system programs, there is no need to care about performance. About features. If you are not writing system programs and programs that are close to the system, it is not necessary to use the features that the operating system specifically provides. C is something that can do anything, but it is inefficient and complex to program. As for why I do not use VB, because the VB is too large. I don't need to implement a small function to start such a huge program. Too exaggerated. In addition, VB does not have class inheritance, although it is application programming, but if you want to compile a slightly larger program, always use the class to inherit. Python has a strong ability to expand so that learning from Python is not wasted. Python can be easily handled by using a variety of C and C + + libraries, or it may be called by C and C + +. Python can use Java classes directly or be called directly by Java. In this way, the experience of learning and using Python, Java, and C is not wasted and complements each other. Python can improve Java and C programming efficiency, and Java and C can complement Python's functionality. Python can also interact directly with TCL, which is built-in. Expect Python to simply invoke Perl and PHP functionality. It's better to use Lisp and Prolog. The similarities between Ruby and Python, both Python and Ruby, emphasize simple syntax and a more general way of expressing it. Python is indentation, and Ruby is a class-basic expression. are heavily reduced by symbols. are dynamic data types. are rich in data structures. All have C language extensibility and are portable, better than Perl portability. can also be used as an embedded language. Both are object-oriented languages and can be used as development tools for large projects. Have a richLibrary support. There are also the most permissive copyright licenses, except for some tools belonging to the GNU world. All have the function of the Lisp characteristic eval function, also can use functions as parameters. There is also a special editor for the graphical interface of Ruby. have been supported by a wide range of C libraries. such as QT, GTK, TK, SDL, fox, etc., Ruby plans to implement the Swig interface. All have the perfect documentation. Ruby has the advantage of regular expressions and embedded HTML compared to Python. Python also has regular expressions, but no Ruby is easy to use and extensive. Python's embedded HTML project is just getting started. Ruby also has the Apache mod module. Ruby itself is also implemented with many UNIX tools, such as Racc,doctools. Closer to Linux than Python. Object-oriented syntax that is more complete than Python functionality. The entire library of Ruby is a struct with class inheritance. All of his basic data types and operators can be overloaded. Ruby's main functions are implemented through the object's method invocation, not the function. Python is also developing in this area, but without the thoroughness of Ruby. Ruby's class is a more canonical form of single inheritance, as well as the implementation of concepts such as interfaces. Python can implement conditional statements, loop statements within a list, and Ruby uses a "block" approach to this function, which is more flexible and more versatile than Python. Ruby has a conditional statement, a looping statement, and so on, which is similar to Lisp's thorough functional approach. Statements are more expressive.
includes some UNIX tools, such as RACC. Ruby's weakness is due to the strength of ruby, compared to Python. It does not have the simplicity of Python good.
More complex object-oriented syntax, the introduction of "block" syntax, the introduction of regular expressions, and some shorthand tags all add to the complexity of the language. Python's indentation is more pleasing than the way Ruby's basic is expressed, and the Ruby app's eye-to-eye end makes people uncomfortable. Of course, Ruby thinks end is more advanced than Python. Ruby does not have the ability to "Introspect" python, and does not have the ability to generate documents from program files. Ruby support is less than Python wide. Internationalization is supported in Ruby's plan. This is because Ruby has a shorter history than python. The choice of Python and Ruby language from the simple is good, the choice of Python is correct. Python is suitable for people looking for simple languages, which is likely to make Python more popular and therefore more supportive. But Ruby is a good choice if you want to pursue more powerful grammatical functions, are interested in programming languages, and want to learn about the various programming concepts. Both Ruby and Python want to take the place of Perl and solve the shortcomings of Perl-object-oriented, but Python is a method of mixing object-oriented and procedural programming languages, Ruby is to allow itself this object-oriented language to dress as a program language, multi-scripting language of the great unity and doubt Now there are too many scripting languages and it is necessary to integrate, parrot is a good idea. NET is also a good idea. It provides a unified virtual machine for various scripts, provides a "class"-based mutual invocation for various scripting languages, and provides a unified class library for various scripts. The various scripting languages now provide only interactivity with C, which is laborious and ineffective. For example, Python, Perl, Ruby, etc. all provide the interactive function of C. There are many obstacles to communication between scripting languages. and similar. NET stuff that provides a very easy way to exploit the various scripts, avoiding a lot of repetitive writing of the code. The power of this standard platform is very large, why is this standard platform not in the Open source field first appeared? Many scripts are the characteristics and advantages of open source, why should Microsoft solve this problem? A similar question was raised in front of why there is no such thing as ODBC in Linux today. Maybe this kind of integration can only be achieved by commercial companies. My understanding is that if anyone with innovative ideas is going to sell his ideas, there is only one copy of the open source. KDE is imitating Windows,koffice is imitation office,linux is imitation unix,gcc, bash and so also are all imitation, as well as Gstep, and FreeDOS, AtheOS and so also imitate, Wxwindows, SDL also imitate. I want to know if the open source community has its own innovations? The innovation I know is zope, butZope was originally a commercial product and then open source. Perl is innovation, Python is innovation, but what else? is open source field only hacker, no creator?
. NET implements Java's functionality controllable code cross-platform virtual machine and pseudo code free command-line compiler pure object-oriented language for XML and XML Web services and JSP corresponding to the program on the ASP. Asp. NET and JSP are not the same level of Web technology, ASP. NET uses a sophisticated incident response mechanism, winforms similar webform technology, only JSF is comparable to ASP. NET non-implemented Java features free integrated development environment Multi-vendor support, cross-platform maturity free IDE, #develop, ASP. NET with Ms WebMatrix and free open source CLR implementations, with MS's own implementation under the Xp,freebsd,mac OS (no commercial application of the principle demo), Novell's Mono project, has released the Beta1 version, in 2004-6-30 Will be released Release1, and a. NET implementation of GNU!!. NET implementation of Java does not have the functionality of multi-lingual support for a powerful integrated development environment. Speed comparable to native programs on Windows. Support for COM, the inheritance of VS to widows form, Web Form, server-side program graphical visual programming. Improvement of relative VS6
The choice of various languages