Artima
Mixins considered harmful/1
A mixin is a collection of methods that can be injected into a class.
The mixin technique consists in building classes by composing reusable mixins. The advantages and disadvantages of the technique are very much debated. I will focus on the negative aspects.
ScalaTest Matchers Preview
The next version of ScalaTest will include a set of matchers. These matchers demonstrate the kind of DSL notation you can create in Scala. In this post, I give a sneak preview of ScalaTest matchers, and ask for feedback.
On Dasher
The latest version of ScalaTest includes a trait named SpecDasher, which when mixed into a Spec facilitates a more concise expression of specification-style tests. It is deprecated, however, and may be removed in a future release depending on user feedback. What's your opinion?
ScalaTest 0.9.4 Released
The latest version of ScalaTest, a testing tool for Scala and Java developers, includes a concise way to test private methods and support for behavior-driven development.
The New Old
Old 2.0 (I've got more; stop me if you've heard them before.)
The Myth Makers 1: Scala's "Type Types"
Busting some myths that have sprung up around Scala.
Programming in Scala Leaps onto the World Stage!
Artima's first published book, Programming in Scala, made its bookstore debut last week at the Devoxx conference in Antwerp, Belgium, where it sold out. Twice.
Linda DeMichiel on the Type-Safe Criteria API in JPA 2.0
One of the most significant new features in the upcoming Java Persistence API 2.0 specification is a type-safe criteria-based query API. In a recent blog post, JSR 317 spec lead Linda DeMichiel provides a tutorial introduction to this new feature.
Martin Fowler on Business-Readable DSLs
In a recent essay, Martin Fowler wonders whether the advent of domain-specific languages will fulfill the long sought-after era of business users being able to craft their own software.
Will Open-Sourcing Java Remove Competitive Corporate-Think?
Publicly-held corporations ostensibly serve the people they sell products to, but are required by law to actually serve their shareholders. Privately-held companies only serve the customer.
Manage Cross-Cutting Concerns with Scala's Mixin Composition
In the latest installment in his series on real-world Scala, Jonas Bonér describes how Scala's mixin composition assists in creating type-safe solutions to cross-cutting application concerns.
Native Apps in the Browser
Google recently released a prototype environment, Native Client, that allows native applications to run safely inside a browser. The effort joins similar tools, such as Adobe's Alchemy, that aim to merge existing native applications and libraries into Web applications.
Sun's Octavian Tanase on JavaFX
In this interview with Artima, Octavian Tanase, Sun's senior director for the Java platform group, explains why JavaFX is relevant for today's Web-based applications, how developers and designers can work together with JavaFX, and the sorts of applications JavaFX is especially suited for.
Who's the Worst Programmer on Your Team, and How Can You Tell?
In a recent essay, CIO Magazine's Esther Schindler flips the usual question about programmer excellence, and tries to find if traditional software metrics have anything to do with identifying the least desirable member of a development team.
Mark Reinhold on Modularizing Java SE
The advent of the Java Kernel in Sun's latest JDK update was but the first step toward modularizing the entire Java SE platform, writes Mark Reinhold in a series of blog posts. Reinhold introduces the problems of a modular Java SE, reviews existing module systems, and outlines the proposed direction for Java modularization.
Decorator Module 3.0: When to Break Backward Compatibility in a Library?
I am asking the users of my decorator module if they would accept a new version breaking backward compatibility in a minor way.
When Agile Projects Go Bad
A recent CIO.com article discusses some common pitfalls of agile development practices with Kent Beck and Alistair Cockburn, two of the Agile Manifesto's signatories.
Xoreax's Latest IncrediBuild Features Grid-Based Build Distribution
Xoreax's IncrediBuild is a platform for accelerating build-related processes, especially in the context of Microsoft's Visual Studio. The latest IncrediBuild release includes advanced grid computing technology, as well as new build monitoring tools.
Version Control is Undo
Perhaps we only commit big chunks at a time as an artifact of older version control systems. What if we treated it as a full-fledged undo facility?
The Adventures of a Pythonista in Schemeland: More on Macros
In this episode I discuss the utility of macros for application programmers.
