Using Ruby Fibers for Async I/O: NeverBlock and Revactor
Ruby 1.9's Fibers and non-blocking I/O are getting more attention - we talked to Mohammad A. Ali of the NeverBlock project and Tony Arcieri of the Revactor project.
Tracking change and innovation in the enterprise software development community
Posted by Floyd Marinescu on Mar 25, 2007 11:54 PM
Gemstone last month released an interoperability update to their Gemfire distributed data cache/grid offering with native C++ and .NET cache clients. Tangosol last week also released Coherence for .NET, which provides a native C# client implementation to access data in Coherences' data grid. Both companies as well as GigaSpaces have Java-based distributed cache solutions and in 2006 announced .NET support via implementing their own object serialization formats + .NET wrapper clients over their Java cache-clients. The most frequent use case for these tools are .NET client front-ends with Java backends (typical in the finance industry), where .NET code can share objects in a cache with a Java-based infrastructure.GemFire uses a binary format for representing object graphs. This is similar to the Java Object serialization protocol where the object state along with class ID information is encoded onto the stream. Class ID (generated or specified by the application) information is the primary means by which different languages interprets the bytes during deserialization. It provides implicit mapping between Java, C++ and .NET objects and enforces a consistent programming model across languages. The serializaiton framework is capable of handling complex object graphs. In addition to supporting the basic types, the serializaiton framework has added native support for byte arrays and XML documents.Gemfire supports Java, C++, and any .NET language natively. In order for them to share objects, they must implement the same object model in any of the languages requiring access to those objects. Gemstone described the approach most of their customers used to achieve this:
On Wall Street, we're seeing significant demand for C++ and Java clients deployed within the grid, all requiring access to the enterprise data fabric. Outside of grid, we have numerous clients on Wall Street that are building applications that access the EDF. As the customers are using .NET as their GUI development of choice, a .NET client is a natural fit.GigaSpaces also explained their interop solution in a past InfoQ interview and their intention to support .NET natively in early 2007.
Six Free Project Management Certification Training Courses
Alternatives in the .NET Space: Open Source, Frameworks and Languages @ QCon SF Nov 19-21
Gamma's Jazz platform's first implementation: Rational Team Concert (Trial Download)
Ruby 1.9's Fibers and non-blocking I/O are getting more attention - we talked to Mohammad A. Ali of the NeverBlock project and Tony Arcieri of the Revactor project.
Tim Mackinnon talks about the aspirations behind the Agile principles and practices, the desire to become efficient, to write quality code which does not end up being thrown away.
Brian Goetz discusses the difficulties of creating multithreaded programs correctly, incorrect synchronization, race conditions, deadlock, STM, concurrency, alternatives to threads, Erlang, Scala.
Often the hardest part of changing technologies is language syntax differences. This new article provides Java developers with a transition guide to Actionscript which forms the foundation of Flex.
Neal Ford talks about having multiple languages running on one of the two major platforms: Java and .NET. He also presents the advantages offered by Ruby compared to static languages like Java or C#.
David Anderson talks about the history of Agile, the current status of it and his vision for the future. The role of Agile consists in finding ways to implement its principles.
Nick Sieger talks about the future of JRuby, Java Integration, and his work on JEE deployment tools for Ruby on Rails like Warbler.
Rustan Leino and Mike Barnett of Microsoft Research discuss the technology in Spec# and its futures.
No comments
Reply