
Brian Foote on the State of OOP, Refactoring, Code Quality
Brian Foote looks back at the promises of OOP and discusses which, if any, of them became reality. Also: a look at NoSQL, refactoring and code quality, testing and static typing and more.

Brian Foote looks back at the promises of OOP and discusses which, if any, of them became reality. Also: a look at NoSQL, refactoring and code quality, testing and static typing and more.
The MagLev project has released version 1.0 of their Ruby VM. The Ruby implementation is based on the GemStone/S Smalltalk VM which comes with GemStone's distributed cache, ACID transactions, and persistence system (OODB). InfoQ caught up with Monty Williams of the MagLev project to talk about where MagLev fits on the NoSQL spectrum, and much more.
Google has announced a new language: Google Dart and tools. The language and tools are currently considered a technology preview, and an open source release is available now. The language is not yet in Chrome. Dart is dynamic, optional types and reified Generics. Concurrency uses Erlang-style processes called Isolates, share nothing with async message passing.

The book "Eloquent Ruby" aims to help Ruby programmers to write idiomatic Ruby and make best use of Ruby's capabilities. InfoQ talked to author Russ Olsen about Ruby style, metaprogramming and more.

Smalltalk, a language that has had a big influence on Ruby, is making a comeback. We take a look at the current situation and talk to Randal L. Schwartz about Smalltalk.

Avi Bryant explains the iterative process that led to the concept, implementation, and UI of Trendly (http://trendly.com/ ), using Smalltalk, Javascript, Ruby and Java in the process.

In this keynote from the JVM Languages Summit 2008, James Gosling discusses how his history with programming languages led to Java's creation, code as algebra, how users use a product in very unusual ways, Java as a compromise between C and scripting languages, ANDF and Virtual Machines, pointer integrity, the Java object model, gotos and multilevel breaks, primitives and optimization tricks.
In this interview, Google’s Josh Bloch shares his views on the open-source Java landscape as well as on the future of the Java language, including changes being implemented via Project Coin. Bloch also discusses support for multi-core in programming languages, support for multiple languages on the JVM, Java pain points and the “next big language.”

Joe Armstrong and Dave Thomas take a look back on the evolution of software and progress that has been made. They make some observations about the actual state of the industry and highlight problems that prevent it from delivering quality software. They try to identify reasons of these issues and suggest craftsmanship as possible solution.