David Bolton

David Bolton was a game developer and a past game designer at MicroProse. He now works as an independent developer creating mobile and desktop applications and writes on programming for About.com and News.dice.com

What is a Lambda Expression?

Posted In Java, Working in Tech
Java Thumbnail
Java 8 will include Lambda expressions. They’re being added in as part of Project Lambda. But what is a Lambda expression? The term “Lambda” comes from mathematics, where it’s called lambda calculus. In programming, a Lambda expression (or function) is just an anonymous function, i.e., a function with no name. In fact, some Lambda expressions don’t even have a function body. Why are Lambda expressions being added to Java? It’s because they encourage a functional style of programming, and it’s… continue…

When and Why You Should Use C++

Posted In C++/C#, Working in Tech
Now in its 25th year, C++ sits a little awkwardly in the modern world. It grew enormously in the late 80s and early 90s, even overcoming the Department of Defense’s 1987 “Only Ada code to be used” mandate in 1997. But with the arrival of Java in the last years of the century, things became less certain and C++ looked to be becoming a legacy language like Delphi or Visual Basic. Since .NET appeared in 2000, Microsoft has pushed two… continue…

Why Should I Care About the JVM?

Possibly the cleverest thing that Sun ever did was create the JVM that underpins Java. JVM is short for Java Virtual Machine and it comes as quite a surprise to many Java developers to find out that the most commonly run JVM (Oracle’s HotSpot) is actually written in C++. So what is a JVM and why is it needed? Portability for one, but also it allows Java code to be executed in a virtual environment rather than directly on the… continue…

Here’s How to Create Scorchingly Fast JavaScript

asm.js thumbnail
The race continues to produce the fastest JavaScript engines in browsers. With the recent release of Firefox 22, Mozilla’s jumped past Chrome. Its not-so-secret sauce is called asm.js, and is a subset of full JavaScript. When correctly optimized, JavaScript code can run at about half the speed of native machine code. Don’t believe me? Then run up Firefox and make sure it’s the latest version (22). If you haven’t got Firefox installed, go to GetFirefox.com. You don’t want to miss… continue…

C#: Xamarin Studio – Is it Worth a Look?

Posted In C++/C#, iOS, Working in Tech
Screen Shot of Xamarin Studio
When a new programming technology comes along, it’s not always the easiest to pick up: iOS development is a case in hand. Back in July 2008, Apple opened the App Store and launched the iPhone 3G. I bought one and tried to learn to program it. There weren’t many books around and Apple’s online documentation was not the greatest, nor was Xcode, Apple’s IDE for developing software for Mac OS X and iPhone. You get a bit spoiled when you’re… continue…

Do Game Developers Need to Know Multithreading?

AA Game
In a word, “yes.” But — there is always a “but!” — it depends on the type of game. AAA games (or as my wife puts it, the games that make the fans blow loudest) are highly demanding of resources and computing power. Browser games may not need quite so much grunt work to be playable. But let’s have some background first. What exactly is multithreading? Multithreading 101 It’s easier if we start with an old fashioned PC where the… continue…

OpenWorm Uses Java to Plunge into Microbiology

Posted In Java, Working in Tech
These days the worlds of biology, particularly microbiology, and computing are rapidly converging. Biological references made their way into computing a long time ago. We always find bugs in our code, though worms are a lot less common. Equally, the biological world at very low levels has become increasingly computerized, with simulations of protein folding algorithms used to identify possible new drugs. Then there is DNA sequencing that involves searching for nucleotides, the building block molecules of life. That involves… continue…

Drilling Into JBoss AS’s Successor – WildFly 8

WildFly Logo
Say hello to WildFly 8, the successor to the JBoss application server and a new JBoss community project. Well, it will be when it becomes available, as currently it’s at Alpha. While change for change’s sake isn’t always a good thing, the reason given for creating WildFly 8 is simple: JBoss the name is overloaded. It refers not only to to the application server, but also the JBoss Community and line of products by Red Hat. To a newcomer to… continue…

StageXL Moves You Easily From ActionScript 3 to HTML5

Dartflash Game
So you’re an ActionScript 3 developer creating Flash games, but you can see the writing on the wall. Taking a long view, is it time to move to HTML5? If so, what’s the best approach? Here’s a way you may not have heard of, and it’s open source. Although ActionScript and JavaScript are sort of distant cousins, there is an alternative to having to learn JavaScript: You can learn to program in Dart. Once you’ve done that, you’ll be able… continue…

Does Scala’s Enterprise Penetration Threaten Java?

Scala Logo
Created in 2001 and running on the JVM, Scala has started gaining traction in the Enterprise space because its use of functional and object oriented programming gives it an advantage over Java. It’s quite rare to see software disruption happening. It’s said that you don’t start recognizing a new Hollywood film star until you’ve seen them six times. The same may be true for new programming languages. A mention here, an article there and up it pops on your “Should… continue…