In his popular blog, Jeff Atwood suggests that becoming a great developer has more to do with the quantity of code you produce than with an explicit desire to produce high-quality code from the start.
Doing the simplest thing that could possibly work is a frequent advice of the agile development movement. But how applicable is that advice in different kinds of development contexts?
A great deal of commentary followed Apple's announcement that it would use the Sproutcore JavaScript framework for its upcoming online offerings. Most of the debate centers around the question of whether a virtual machine-based environment or reliance on browser standards are preferable when developing rich Web apps.
A JavaOne 2008 roundtable focused on the potential conflict between the way open-source communities work and the JCP's requirement for a Java specification expert group to develop and maintain a compatibility test kit.
A year after its official debut, Apple's Java 6 implementation is now available for Intel-based Macs. Was it worth the wait?
Functional programming languages are enjoying a renaissance. Even if not intending to use a functional language for daily work, learning such a language can improve one's programming style.
Developer productivity is as much a factor of productive frameworks as it is of language capabilities. Is there anything in Java that limits framework architects in their quest to design more productive APIs and frameworks? How do language features impact framework design?
The initial productivity gain of working with a dynamic language can decline as a project's codebase grows, and as refactoring becomes increasingly a chore.
Much discussion on rich-client user interfaces and Ajax focuses on the client. Yet, the most fundamental design decision for a rich-client application involves the interaction between client and server, with potentially far-reaching impact on an application's overall architecture.
Template engines help separate presentation from domain logic. Presentation logic itself can be complex enough, however, to invite consideration of what should be placed in a template and what should be defined in separate classes. Template engines take different views on that point.
By allowing third-party applications to piggyback on its Safari 3 browser platform, Apple chose Ajax as the development platform for its popular iPhone device. What will that mean for mobile development?
Applications with a rich-client UI can benefit from concurrency. UI toolkits that expose concurrency, however, are not easy to use. Swing shows that the tension between concurrency and ease-of-use is hard to resolve. Just how much concurrency should be exposed in a UI toolkit?
iTunes is far more than a desktop music player and organizer: it is also a path through which over 300 million users have already installed Apple's open-source dynamic networking software, Bonjour. Has the time for spontaneous networking finally arrived?
A billion Java-enabled devices in use, and the many more non-PC devices through which billions of people will experience the Internet, represent a potentially big opportunity for developers. Yet, relatively few developers work on Java ME applications today. What makes it hard to develop for mobile Java devices?
Robert McIntosh wrote a thought-provoking piece on designing a scalable Web application without a database. I share three reasons why such a notion deserves some merit.