InfoQ Homepage Programming Content on InfoQ
-
C# 3.0 Cookbook Published
O’Reilly has published the third edition of the C# 3.0 Cookbook bestseller. The book has been updated for C# 3.0 and the .NET 3.5 platform. It contains more than 250 recipes for problems programmers encounter every day.
-
A .NET Triumvirate: IronScheme, IronLisp, and Xacc
Dynamic Languages are all the rage over the last year. Thanks to Llewellyn Pritchard two classics, Lisp and Scheme, are receiving the attention they deserve to run on the .NET runtime.
-
Prefer Broad Design Skills over Platform Knowledge
In his latest article Martin Fowler suggests that what matters most while building a team is not experience or thorough knowledge of the specific platform and business domain, but rather some broader skills that allow building quality software and delivering value.
-
Another Look at Anonymous Types in VB
Anonymous types in C# are a rather simple affair, as they are always immutable. VB allows both mutable and immutable anonymous types, with subtly different rules for each.
-
Case Study: Applying Java Programming Skill to Flex
In an article published on Adobe Flex Developer Center, Bill Bejeck shares his experience creating components and enforcing separation of concerns with Flex, from a Java developer's perspective.
-
Does code become better as it approaches English?
Achieving readability and expressiveness by writing English-like code is one of the trends on the rise in today’s industry. Michael Feathers advocates for considering other alternatives that can be instrumental for improving code expressiveness. He argues that in some circumstances symbolic approach is more appropriate than the narrative one and highlights some trades-offs between them.
-
Treetop - PEG parser generator for Ruby
Parsing Expression Grammars (PEG) are a type of recursive descent parsers that have become quite popular recently. Now Ruby gets its own PEG parser generator with Treetop.
-
Request: Sun, Drop Support for JRuby
Rick Hightower requests that Sun drop their support for JRuby in place of Groovy. The community has replied in the form of comments and blog posts to agree with and argue against Rick's position. Another battle in the language wars of 2008.
-
The state of the Lambda in Ruby 1.9
One of Ruby 1.9's little additions is a new, more concise way to create lambda functions, amongst some other clarifications in the way Blocks work. We take a look at the changes and the reasons for them.
-
-
Robert Pickering on F# Workflows
In this second InfoQ exclusive article, Robert Pickering continues the conversation diving deep into how workflows work in F#. Workflows in F# provide the building blocks for library implementors to create DSLs.
-
Programming languages in future systems
The trend seems to be clear; in the next few years there will be an increase in adoption of new programming languages and systems will be written in multiple languages. But what does the mix look like, and which languages are suitable for what? In a recent post, language explorer and JRuby developer Ola Bini describes what future systems may look like.
-
Rails 2.0 - What's a Newbie to Do?
Rails 2.0 is out - but some of the standard books and tutorials haven't been updated to this version yet. Trying to learn about Rails with a Rails 1.2 book or tutorial, but running Rails 2.0 is bound to cause some frustration. We look at the best approach to tackle this.
-
Separating business logic from technology: Kathleen Dollard on a new view of code generation
Even the most successful project becomes a failure when a new technology comes out and everything has to be rewritten from the ground. This is why business logic has to be separated from technology. And, according to Kathleen Dollard, code generation is a promising approach to achieve it.
-
Does lines of code kill?
Steve Yegge touched a nerve in the development community when he argued that keeping the code size to an absolute minimum is the most important thing when developing software. In his view, you may have to sacrifice some design patterns and avoid refactoring at times just to keep the lines of code down. And if your problem is large enough - you may have to switch to another programming language.