InfoQ Homepage Programming Content on InfoQ
-
Andrej Bauer on Language Design
Andrej Bauer starts essay, On programming language design, with a simple premise, “Programmers are just humans: forgetful, lazy, and make every mistake imaginable.” Then he looks at what this really means in how we design languages.
-
Presentation: Making Roles Explicit
In this presentation recorded during QCon London 2008, Udi Dahan, The Software Simplist as he calls himself, explains why sometimes it is not enough to apply good OOP and patterns lessons. He introduces a new principle: make roles explicit.
-
Interview: Tools for the Open Web
Dion Almaer and Ben Galbraith open with a definition of the Open Web, the tension arising from multiple Web technologies, the diversity and "polyphony" of Open Source, the future of Web development tools, and the debate associated with the possible evolution of Javascript. The potential impact of HTML 5 on tool and Web development in general is discussed.
-
Sun's Disagreement With Apache Overshadows Java 7 Announcement
Sun Microsystems have published an updated schedule for JDK 7 along with a list of the approved features, but the ongoing disagreement with Apache over licensing the Java Compatibility Kit (JCK) for Java SE threatens to overshadow the announcement.
-
Presentation: Taming Effects with Functional Programming
In this presentation recorded during QCon London 2008, Simon Peyton-Jones advertises the need for programming purity achieved especially through use of functional languages and the increased attention given to functional programming.
-
C# 4.0 "Fixes" Deadlock Issue
C# 4.0 implemented a change that assured optimized and non -optimized compiles yielded consistent results. This "Fix" emphasized some design problems with locking mechanisms.
-
The Problems with WCF and the Using Block
The WCF Client code violates two of the core principals of .NET API design; calling Close should actually close the connection and calling Dispose should never throw an exception. We look at how this came to be and at some available workarounds.
-
Interview: Erik Meijer on LINQ
In this interview made during QCon SF 2008, Erik Meijer talks about less known LINQ features, like the ability to do meta programming or the fact that LINQ works against any data collection that implements the sequence operators. Meijer also talks about the differences between functional languages and objectual ones, asynchronous computation, and the evolution of languages.
-
Article: SharePoint Object Model Performance Considerations
In this article, Andreas Grabner analyzes the performance implication of using the SharePoint Object Model, specifically displaying and editing lists, one of the most used SharePoint objects.
-
Details on Using Code Contracts
InfoQ has informed on the availability of Code Contracts for .NET. This time we want to offer more details on using Code Contracts, an important addition to .NET.
-
Code Contracts for .NET Is Available for Download
Code Contracts is the .NET implementation of the Design by Contract concept. While it was supposed to be delivered with .NET 4.0, Code Contracts is already available for download from DevLabs. Contracts impose certain restrictions on using APIs, making programming safer, having more validations and resulting in fewer unexpected errors during runtime.
-
Presentation: Open APIs: State of the Market
In this presentation filmed during QCon SF 2008, John Musser talked about Open APIs, their history, their current status and trends. He also talked about what makes an Open API successful, the business models behind them and some related technological details.
-
Web-based IDEs to become mainstream?
Last week Mozilla released Bespin, a web-based framework for code editing and only a few days later Boris Bokowski and Simon Kaegi implemented an Eclipse-based Bespin server using headless Eclipse plug-ins. With the presentation of a web-based workbench at EclipseCon and the release of products like the Heroku web-based IDE for RoR apps, it seems that web-based IDEs might soon become mainstream.
-
Spolsky vs Uncle Bob
The last few weeks, a public dispute has been going on between Joel Spolsky and Robert C Martin (Uncle Bob) about Test-Driven Development and about the SOLID principles of OO design. Here is a summary and review of the match.
-
Presentation: Craftsmanship and Ethics
In this talk Robert C. Martin outlines the practices used by software craftsmen to maintain their professional ethics. He resolves the dilemma of speed vs. quality, and mess vs schedule. He provides a set of principles and simple Dos and Don'ts for teams who want to be counted as professional craftsmen.