Mix07. DLR = dynamic language runtime. DLR and ironpython are all open-source and can be downloaded from codeplex. With DLR, it is much easier to develop dynamic languages on. NET. Currently, DLR supports python, Ruby, JavaScript, and VB and can only run in Silverlight. However, it is only a matter of time to extend the support to common CLR runtime. Microsoft's CLR is the runtime of niub, with first-class GC, efficient JIT, complete type system, and relatively strong security mechanisms. Based on CLR, DLR also supports dynamic types. Dynamic languages developed on DLR can share these basic functions. This is very important. Several generations are required for high-quality GC and JIT development. Program People and computer scientists forget to work, and now the ox people don't have to spend extra energy on these infrastructure and can focus on language design. After the dynamic language on the DLR is compiled into the byte code of Il, it can be run directly on the CLR. In my opinion, this is the real killer selling point: Dynamic languages can share. Net large class libraries. Ruby + LINQ, great! It is not enough for a language to have dazzling functions. The platform behind the language is part of the language. A complete set of class libraries with complete functions and stable operation has always been the focus of large-scale system development. The popular class library is backed by a large number of programmers. Quality is available only when quantity is available. Only when shared libraries are available can many people share their experiences. More people, Community Only when you encounter problems can someone help solve them. Only when companies place large bets on the language. Otherwise, there would be tens of thousands of powerful languages in the world, and tens of thousands of talented people preaching for them. Speaking of the system languages for developing large commercial programs, isn't it C ++, Java, and C #? Do not use Paul Graham's viaweb, orbiz's price system, or the Naughty Dog game. These are the special cases of the cow. For example, naughty dog: Good. One of their competitive advantages is the use of commonlisp to quickly develop complex and smooth games. The problem is that naughty dog developed its own compiler, profiler, and framework to make good use of Common Lisp. How many old people are capable of doing this? One of Ruby's most popular criticisms is its limited class library, which was largely attributed to CPAN's popularity. The popular Reddit.com was originally written in Common LISP, but since Common Lisp does not have a uniform and portable class library, the founder of Reddit.com finally chose to rewrite Reddit with python. This also gave the CL community's elders jjww for a while, as if unfortunately they were the transport captain's students studying abroad. By the way, have I mentioned that DLR supports Mac at the same time? Hey. The underlying MAC layer is bsd unix. Porting a dlr to another platform may be relatively easy (I don't know the underlying MAC layer, just speculation. Let's make a brick ). Should activists in the mono community start working?
Currently, DLR is bundled with Silverlight (formerly known as WPF/E) released by Microsoft. In fact, I am not very interested in an RIA platform. From a personal perspective, platforms are not important. The ability to develop RIA has nothing to do with the platform. I don't believe that Alex Russell of dojo turned to the Development of Apollo or Silverlight, Which is slower and less accomplished than those who only know JavaScript or C. However, since the three carriages (DLR, Silverlight, and ironruby) are the highlights of mix07 today, let's take a look. Silverlight is bundled with a mini CLR, which is 4 MB in size and supports multi-language development. Different programmers can develop Ria applications in their preferred languages. Some companies use VB. NET, some use ironpython, and some use Perl. This degree of freedom is very helpful for improving the company's production efficiency. Software users do not care about Platform issues. Programmers are concerned. The value of a platform is proportional to the number of programmers who use it for development. It supports multiple languages and naturally attracts more programmers. Bytecode-level sharing can also be shared by other players playing different languages.Code. In fact, many years ago, ie supported a variety of scripting languages, but the browser was not mature enough to run the common scripting language, and there was no perfect sandbox environment at that time. Security issues need to be considered. In addition, it is said that the demonstration effect provided by Silverlight is not available in the Flash environment alone. Expression + Silverlight provides a complete set of integrated development tools, allowing the RIA Application Designer and programmers to work on the same set of code and deploy it on multiple platforms. It should be an attractive selling point for companies. The running speed may also be a selling point: CLR is a first-class virtual machine that has been honed for many years. The running speed of the program above is higher than that of the javascript interpreter in the browser. As for the support for streaming media that won't work well for many bosses, it's a technical detail that disappears that day (for me ). If you are interested, go to the Microsoft website.
Ironruby. It is said that it does not fully support rails. It is estimated that many people are not interested in it for the moment. Rails's crazy Ruby metaprogramming technique can be used to detect the extent to which various Ruby derivatives support Ruby.
Jon Udell, a veteran writer, provides a high-quality summary by following his example. He interviewed John Lam, the Black Hand behind rubyclr and wrote it. This section describes Avi Bryant's ria application built with squeak and seaside, dabbledb. Dabbledb is absolutely amazing. You can directly perform various complex operations on dabble data, including updating and associating the schema. In this case, you do not need to restart the database. All data is "active"-directly embodies the always alive principle that smalltak advocates. Jon's conclusion is especially comfortable: Dynamic languages make programmers more efficient. But when we use dynamic languages correctly, we can build software that makes everyone more efficient and enjoy the benefits of dynamic languages like programmers.
P.s., if sun feels the pressure, it is also a good thing for our Java programmers. It's still a little stingy to hire a single Ruby programmer and finally improve netbeans's support for Ruby. In fact, it doesn't matter if you don't add the controversial invokedynamic command in JVM. At least add closure to Java. Closure is heroin. Once used, you will not be able to forget the strong physiological and psychological pleasure.