InfoQ Homepage Programming Content on InfoQ
-
Interview: Simon Peyton Jones on Programming Languages and Research Work
In this QCon London 2008 interview, computer scientist and researcher Simon Peyton Jones discusses properties of functional programming languages, and particularly Haskell, that have inspired some features in mainstream languages. He gives his opinion on the issues of syntax and language complexity and talks about some research work on subjects such as data parallelism and transactional memory.
-
Article: Paradigm based Polyglot Programming
Have you ever wondered why people talk about having "the right language for the right job"? Or why people talk about using more languages within the same system? Sadek Drobi explains why you should consider mixing languages within you system, how to think and what to consider.
-
Interview: Erich Gamma Discusses Jazz, Eclipse, JUnit and Design Patterns
In this interview from QCon London 2008, Erich Gamma discusses the Jazz project, why Eclipse has been successful, the strict Eclipse release schedule, JUnit, Design Patterns, how to identify a design pattern, design patterns and the 'Don't Repeat Yourself' principle, the design pattern community, and whether dependency injection is a design pattern.
-
Article: Joshua Bloch: Bumper-Sticker API Design
In this article, Joshua Bloch, Chief Java Architect at Google and former Distinguished Engineer at Sun Microsystems, presents a list of maxims intended to be a concise summary of good API design guidelines. The maxims represent the abstract written by Joshua for his session "How to Design a Good API and Why it Matters" held during JavaPolis 2006.
-
Presentation: Concurrency: Past and Present
In this presentation from QCon London 2008, Brian Goetz discusses the difficulties of creating multithreaded programs correctly, incorrect synchronization, race conditions, deadlock, Software Transactional Memory, the history of concurrency, alternatives to threads, Erlang, Scala, and recommendations for concurrency in Java.
-
New Programming Q&A Web Site Goes Public
Stack Overflow, a web site for programming questions&answers, has been made public while still in beta. The site offers programmers the opportunity to ask questions and receive answers from fellow coders for free, and intends to become the right source of answers for any programming question.
-
Using Closures to Improve API Design and Usage
Some APIs such as those that perform complex parsing often expose intermediate results via events. As Eric White demonstrates, closures can be used to greatly simplify calling these APIs.
-
Craftsmanship - the Fifth Agile Manifesto Value?
Robert "Uncle Bob" Martin re-invigorated the discussion around "professionalism in programming" by proposing that the Agile Manifesto be updated with a fifth value, "Craftsmanship over Execution".
-
Iterators for VB
Visual Basic's Paul Vick recently revealed a proposal to add iterators in a yet named version. While meant to address the same use cases as C#'s yield return statement, the proposal looks more like something out of a function programmer's playbook.
-
Covariance and Contravariance in .NET Generics
Currently .NET languages such as VB and C# do not support covariance and contravariance for generics. While this is not likely to chance in the near future, people at Microsoft are talking about it.
-
XHTML 2 and HTML 5 continue to diverge
These two specs have quite different purposes and solve two distinct problems. XHTML 2 is document-centric. HTML 5 is targeted at sites that aren't best represented by a document. Both are supported by the W3C. Is another standards war brewing?
-
Parallel Mono
Recently we announced that Mono achieved full C# 3 support. Along with that comes support for Parallel LINQ. Parallel LINQ, part of Microsoft’s Parallel Extensions library, allows developers to quickly make queries execute across multiple threads.
-
Bill McCarthy asks “Are Iterators Fundamentally Flawed?”
Iterators are at the core of .NET programming. Only rarely do developers actually work against indexed data, preferring to use for-each loops for most tasks. But is this inherently sequential access method appropriate as we turn more to multi-threaded applications?
-
Google Introduces GWT Overlay Types
Javascript Overlay Types is a new feature in GWT 1.5 that simplifies the process of interacting with native Javascript data structures in GWT applications.
-
Lambda Expression Improvements for VB
For VB developers it is a toss-up for the most frustrating thing about anonymous functions. Paul Vick is currently discussing two of them, anonymous subroutines and multi-line anonymous functions.