So what can software developers do to catch up? Use parallel computing. This way, tasks are split into discrete parts that can be solved concurrently. Each part is further broken down to a series of instructions, then instructions from each part execute simultaneously on different CPUs.

So what tools do programmers have to do this? In the Microsoft world, it's F#. It's not as hard as it sounds; Developers with a C# background should be able to leverage their skills and hit the ground running. For example, Dustin Campbell has only been using it for 6 months, and he's already blogging about how to code advanced features. Scott Hanselman even did a podcast with him about it.
Let's hope more developers start to pick up functional programming with as much passion.
F# looks pretty cool - I'm looking forward to trying it myself.
ReplyDeleteYeah, Moore's law can continue for years, but if programmers can't keep up, it doesn't really help. In fact, if you look at software like Vista, programmers are acutally getting worse at writing high-performance code. I've heard of a tool that strips 1/2 of Vista away just so it can be run on "regular" machines.
ReplyDelete