JavaScript is suitable for adding basic interactivity to web pages, but its weakness is obvious when faced with thousands of lines of code. This is why Google designed the new language Dart. Both Dart and JavaScipt are used to optimize Web programming and development.
Dart is similar to JavaScript, using syntax and keywords similar to C language. The most obvious difference is that JavaScript is a prototype-based programming language, while Dart, like C++ and Java, needs to use classes and interfaces to declare objects.
Developers can choose Dart to declare variables of static type. In a word, Dart is superior to JavaScript in coding speed.
Second: Ceylon
Ceylon is a new project of Red Hat, led by Gavin King. King is the founder of Hibernate project, which is a lasting solution in Java language. Gavin King likes Java, but he thinks that Java is not perfect and Ceylon will become the invisible killer of Java.
Gavin King thinks that Java, as a mainstream programming language, has some embarrassing defects. First, Java cannot define user interface and structured data, so the Java platform can only rely too much on XML. Secondly, the Java platform also lacks solutions with built-in modules, and those solutions that try to solve this problem are quite complicated and uncompetitive. Thirdly, Java's weak support for higher-order function causes unnecessary language redundancy, which is not perfect in the following aspects, including getter/setter, array and primitive types, exception checking, null value handling, clumsy metamodel, and polymorphic parameter system that developers can't completely control. Finally, the hastily designed Java SE SDK has not been improved.
Ceylon language supports a powerful type system. The following restrictions are taken into account in the design: all types must be expressible within the type system (there is no special primitive type or compound type); Ceylon's universal type system is simpler than Java's and safer than other Java-like languages. Even the source reflection must be type-safe; In addition, Ceylon must be executed on the JVM and interoperable with Java.
Of course, King and his team are not idle people and will not waste precious time making wheels again and again. There will be no Ceylon virtual machine in the future. Ceylon compiler supports the normal output of Java bytecode running on JVM. As a powerful compiler, Ceylon is not satisfied with this. It has great ambition to create a Ceylon SDK to replace the Java SDK.
Third: Go
Rob Pike, Google's chief software engineer, said: We developed Go because the software development in the past 65,438+00 years was frustrating. Like today's C++ or C, Go is a system language that supports rapid development and a real compilation language. We open source it now because we think it is already very powerful.
Go is a general programming language, which is suitable for all stages from program development to system programming. From this perspective, Go is more like C or C++. At the same time, Go integrates the advantages of Java and C#, adds various latest features, such as runtime environment, and supports concurrent programming processing.
Fourth: F#
F# is a programming language provided by Microsoft. Net language. It is based on Ocaml, which is based on ml functional programming language. F#, a programming language introduced by Microsoft, is not only powerful, but also practical. This project aims to show. NET is interoperable among different programming languages, and can access various function libraries like C# and VB.
F# code is somewhat similar to OCaml, but it also has its own grammatical features. For example, the data types in F# can be used for scientific calculation. F# also supports asynchronous I/O and CPU parallel processing.
Fifth: Opa
Web development is very complicated. Even the simplest Web app needs many languages to write thousands of lines of code: client language HTML and JavaScript, server language Java and PHP, database language SQL and so on.
Opa is unique. Although it cannot replace any of the above languages by itself, its comprehensive characteristics endow it with strong comprehensiveness. It is a new generation of Web development platform with a new programming language, a new Web server, a new database and a new distributed execution engine. All these are closely combined to provide a powerful experience for Web developers.