Two of the biggest programming problems today, and the past decade, are how to handle concurrency and blocking. Concurrency is the ability for a computer system to handle multiple requests at the same time, including requests that must interact with each other. Blocking happens when a computer process has to halt to let an earlier process complete.
If web browsers are to provide many different applications which used to be installed on individual computers, handling multiple requests in real time without blocking is key. Massive online games also are impossible without solving these problems.
Node.js is one solution to this problem (for example, Tornado and Twisted also solve this problem for Python). It is a platform to allow easy programming of fast, scalable applications that run on networks concurrently with no blocking. Node.js was first released in May 2009, by Ryan Dahl, and is under active development. The platform includes a server which runs independently of Apache, nginx, and other traditional server software. And Node.js uses an event driven architecture where events trigger responses from the system.
To read the full article, subscribe today to read the rest of this article PLUS the 33 links from this story, including links to search engines, articles, note taking applications, teaching materials, and other resources.
This magazine is 100% reader supported by people like you. Subscribers support independent research and writing, as well as daily operations. Subscribers also help keep this magazine free of annoying ads.
Also In The March 2014 Issue
Ben Heckendorn is a self-taught maker with high energy, an internet show on Element14 (The Ben Heck Show), and a wonderfully wicked sense of humor. He also inspired this issue of the magazine.
Circuit diagrams are maps used to design and build electronic devices. This article describes connections, components, history, and tools used to create circuit diagrams.
Here are links to projects, tutorials, parts, and online communities to help you get started with electronics projects for beginners.
Meet someone who used her love of electronics to create deeply fun and personal robots, gadgets, and other cool stuff.
Version control software captures an evolving snapshot of one set of code along with all changes in case older versions need to be retrieved.
How do programming languages know what to process? And in the correct order?
Electronic breadboards are used to prototype electronic circuit designs and projects without messy solder or hot soldering irons.
Links from the bottom of all the March 2014 articles, collected in one place for you to print, share, or bookmark.
These databases are relatively new technology to store data in databases. Here are a few options to explore.
Interesting stories about computer science, software programming, and technology for the month of February 2014.