EDGE 2015 is starting in

Find out more EDGE 2015

Stories by Peter Wayner

  • MEAN vs. LAMP for the future of programming

    The transition from cutting-edge curiosity to practical workhorse is not one that many technologies make. Yesterday's precocious upstarts often fail to live up to their Version 0.1 promise -- not so for the technologies that make up the fiercely acronymized MEAN stack.

  • 17 JavaScript tools breathing new life into old code

    Computer languages have a strange shelf life. The most popular among them experience explosive growth driven by herding behavior akin to that of the fashion industry. But when they fade from the spotlight, something odd happens. Instead of disappearing like a pop song or parachute pants, they live on and on and on and on. The impetus behind this quasi-immortality? It's often cheaper to maintain old code than to rewrite it in the latest, trendiest language.

  • Cool tools for compiling to JavaScript

    Every programmer has a favorite language or two. JavaScript lovers are the luckiest these days because their language is taking over the Internet and the Internet is taking over the world. Those whose hearts reside elsewhere in the programming language world, however, are stuck. They can either stay on the sidelines and curse the relentless juggernaut of HTML, CSS, JavaScript, and Node.js, or they can find a way to love it.

  • Coding for cars: The next generation of mobile apps

    For several decades, enterprise developers had to support one simple platform: computers on desks. Then the smartphone came along and we had to find ways to deliver the data to a smaller, more mobile rectangle. All of these challenges, however, prepare us little for the next big platform to come: the automobile.

  • 7 reasons why frameworks are the new programming languages

    In the 1980s, the easiest way to start a nerd fight was to proclaim that your favorite programming language was best. C, Pascal, Lisp, Fortran? Programmers spent hours explaining exactly why their particular way of crafting an if-then-else clause was superior to your way.

  • Java vs. Node.js: An epic battle for developer mind share

    In the history of computing, 1995 was a crazy time. First Java appeared, then close on its heels came JavaScript. The names made them seem like conjoined twins newly detached, but they couldn't be more different. One of them compiled and statically typed; the other interpreted and dynamically typed. That's only the beginning of the technical differences between these two wildly distinct languages that have since shifted onto a collision course of sorts, thanks to Node.js.

  • PHP vs. Node.js: An epic battle for developer mind share

    It's a classic Hollywood plot: the battle between two old friends who went separate ways. Often the friction begins when one pal sparks an interest in what had always been the other pal's unspoken domain. In the programming language version of this movie, it's the introduction of Node.js that turns the buddy flick into a grudge match: PHP and JavaScript, two partners who once ruled the Internet together but now duke it out for the mind share of developers.

  • 9 cutting-edge programming languages worth learning now

    The big languages are popular for a reason: They offer a huge foundation of open source code, libraries, and frameworks that make finishing the job easier. This is the result of years of momentum in which they are chosen time and again for new projects, and expertise in their nuances grow worthwhile and plentiful.

  • 10 battles raging for the hearts and minds of developers

    Whether you think it's wired into the human mind or an inevitable product of society's formation, dualism defines much of our lives: Communism vs. capitalism. Savory vs. sweet. Passing the ball vs. running the ball in football. Everywhere we look, pairs are locked in an eternal battle, presenting us with myriad opportunities to define ourselves by which side of the line we favor at any given time.

  • 15 technologies changing how developers work

    A long time ago, developers wrote assembly code that ran fast and light. On good days, they had enough money in their budget to hire someone to toggle all those switches on the front of the machine to input their code. On bad days, they flipped the switches themselves. Life was simple: The software loaded data from memory, did some arithmetic, and sent it back. That was all.