15 Hot Programming Trends -- And 15 Going Cold

6
Published on InfoWorld ( http://www.infoworld.com) Home > Application Development > 15 hot programming trends -- and 15 going cold > 15 hot programming trends -- and 15 going cold 15 hot programming trends -- and 15 going cold By Peter Wayner Created 2014-01-06 03:00AM Programmers love to sneer at the world of fashion where trends blow through like breezes. Skirt lengths rise and fall, pigments come and go, ties get fatter, then thinner. But in the world of technology, rigor, science, math, and precision rule over fad. That's not to say programming is a profession devoid of trends. The difference is that programming trends are driven by greater efficiency, increased customization, and ease-of-use. The new technologies that deliver one or more of these eclipse the previous generation. It's a meritocracy, not a whimsy-ocracy. [ How much do you really know about programming? Find out by acing our Programming IQ test: Round 3 and our "Hello, world": Programming languages quiz | Work smarter, not harder -- download the Developers' Survival Guide from InfoWorld for all the tips and trends programmers need to know. | Keep up with the latest developer news with InfoWorld's Developer World newsletter. ] What follows is a list of what's hot -- and what's not -- among today's programmers. Not everyone will agree with what's A-listed, what's D-listed, and what's been left out. But that's what makes programming an endlessly fascinating 15 hot programming trends -- and 15 going cold http://www.infoworld.com/print/233343 1 of 6 2/10/2014 1:02 AM

description

15 Hot Programming Trends -- And 15 Going Cold

Transcript of 15 Hot Programming Trends -- And 15 Going Cold

  • Published on InfoWorld (http://www.infoworld.com)Home > Application Development > 15 hot programming trends -- and 15 goingcold > 15 hot programming trends -- and 15 going cold

    15 hot programming trends -- and 15going coldBy Peter WaynerCreated 2014-01-06 03:00AM

    Programmers love to sneer at the world offashion where trends blow through likebreezes. Skirt lengths rise and fall,pigments come and go, ties get fatter, thenthinner. But in the world of technology,rigor, science, math, and precision ruleover fad.

    That's not to say programming is aprofession devoid of trends. The differenceis that programming trends are driven bygreater efficiency, increased customization,and ease-of-use. The new technologiesthat deliver one or more of these eclipsethe previous generation. It's a meritocracy,not a whimsy-ocracy.

    [ How much do you really know aboutprogramming? Find out by acing ourProgramming IQ test: Round 3 and our"Hello, world": Programminglanguages quiz | Work smarter, notharder -- download the Developers'Survival Guide from InfoWorld for allthe tips and trends programmers needto know. | Keep up with the latestdeveloper news with InfoWorld'sDeveloper World newsletter. ]What follows is a list of what's hot -- and what's not -- among today'sprogrammers. Not everyone will agree with what's A-listed, what's D-listed, andwhat's been left out. But that's what makes programming an endlessly fascinating

    15 hot programming trends -- and 15 going cold http://www.infoworld.com/print/233343

    1 of 6 2/10/2014 1:02 AM

  • profession: rapid change, passionate debate, sudden comebacks.

    Hot: PreprocessorsNot: Full language stacksIt wasn't long ago that people who created a new programming language had tobuild everything that turned code into the bits fed to the silicon. Then someonefigured out they could piggyback on the work that came before. Now people with aclever idea just write a preprocessor that translates the new code into somethingold with a rich set of libraries and APIs.

    The folks who loved dynamic typing created Groovy, a simpler version of Javawithout the overly insistent punctuation. Those who wanted to fix JavaScriptcreated CoffeeScript, a preprocessor that lets them to code, again, without theonerous punctuation. There seem to be dozens of languages like Scala or Clojurethat run on the JVM, but there's only one JVM. Why reinvent the wheel?

    Hot: JavaScript MV* frameworksNot: JavaScript filesLong ago, everyone learned to write JavaScript to pop up an alert box or check tosee that the email address in the form actually contained an @ sign. Now HTMLAJAX apps are so sophisticated that few people start from scratch. It's simpler toadopt an elaborate framework and write a bit of glue code to implement yourbusiness logic. There are now dozens of frameworks like Kendo, Sencha, jQueryMobile, AngularJS, Ember, Backbone, Meteor JS, and many more -- all ready tohandle the events and content for your Web apps and pages.

    Hot: CSS frameworksNot: Generic Cascading Style SheetsOnce upon a time, adding a bit of pizzazz to a Web page meant opening the CSSfile and including a new command like font-style:italic. Then you savedthe file and went to lunch after a hard morning's work. Now Web pages are sosophisticated that it's impossible to fill a file with such simple commands. Onetweak to a color and everything goes out of whack. It's like they say aboutconspiracies and ecologies: Everything is connected.

    That's where CSS frameworks like SASS and its cousins Compass have foundsolid footing. They encourage literate, stable coding by offering programmingconstructs such as real variables, nesting blocks, and mix-ins. It may not soundlike much newness in the programming layer, but it's a big leap forward for thedesign layer.

    Hot: SVG + JavaScript on CanvasNot: FlashFlash has been driving people crazy for years, but the artists have always lovedthe results. The antialiased rendering looks great and many talented artists havebuilt a deep stack of Flash code to offer sophisticated transitions and animations.

    15 hot programming trends -- and 15 going cold http://www.infoworld.com/print/233343

    2 of 6 2/10/2014 1:02 AM

  • Now that the JavaScript layer has the ability to do much of the same, browsermanufacturers and developers are cheering for the end of Flash. They see betterintegration with the DOM layer coming from new formats like SVG (ScalableVector Graphics). The SVG and HTML comprise one big pile of tags, and that'soften easier for Web developers to use. Then there are large APIs that offerelaborate drawing on the Canvas object, often with the help of video cards. Putthem together and there few reasons to use Flash anymore.

    Hot: Almost big data (analysis without Hadoop)Not: Big data (with Hadoop)Everyone likes to feel like the Big Man on Campus, and if they aren't, they'relooking for a campus of the appropriate size where they can stand out. So it's nosurprise that when the words "big data" started flowing through the executivesuite, the suits started asking for the biggest, most powerful big data systems asif they were purchasing a yacht or a skyscraper.

    The funny thing is, many problems aren't big enough to use the fanciest big datasolutions. Sure, companies like Google or Yahoo track all of our Web browsing;they have data files measured in petabytes or yottabytes. But most companieshave data sets that can easily fit in the RAM of a basic PC. I'm writing this on aPC with 16GB of RAM -- enough for a billion events with a handful of bytes. Inmost algorithms, the data doesn't need to be read into memory becausestreaming it from an SSD is fine.

    There will be instances that demand the fast response times of dozens ofmachines in a Hadoop cloud running in parallel, but many will do just fine pluggingalong on a single machine without the hassles of coordination or communication.

    Hot: Game frameworksNot: Native game developmentOnce upon a time, game development meant hiring plenty of developers whowrote everything in C from scratch. Sure it cost a bazillion dollars, but it lookedgreat. Now, no one can afford the luxury of custom code. Most games developersgave up their pride years ago and use libraries like Unity, Corona, or LibGDX tobuild their systems. They don't write C code as much as instructions for thelibraries. Is it a shame that our games aren't handcrafted with pride but stampedout using the same engine? Most of the developers are relieved -- because theydon't have to deal with the details, they can concentrate on the game play,narrative arc, characters, and art.

    Hot: Single-page Web appsNot: WebsitesRemember when URLs pointed to Web pages filled with static text and images?How simple and quaint to put all information in a network of separate Web pagescalled a website. New Web apps are front ends to large databases filled withcontent. When the Web app wants information, it pulls it from the database andpours it into the local mold. There's no need to mark up the data with all the Web

    15 hot programming trends -- and 15 going cold http://www.infoworld.com/print/233343

    3 of 6 2/10/2014 1:02 AM

  • extras needed to build a Web page. The data layer is completely separate fromthe presentation and formatting layer. Here, the rise of mobile computing isanother factor: a single, responsive-designed Web page that work like an app --all the better to avoid the turmoil of the app stores.

    Hot: Mobile Web appsNot: Native mobile appsLet's say you have a great idea for some mobile content. You could rush off andwrite separate versions for iOS, Android, Windows 8, and maybe even BlackBerryOS or one of the others. Each requires a separate team speaking a differentprogramming language. Then each platform's app store exerts its own pound offlesh before the app can be delivered to the users. Or you could just build oneHTML app and put it on a website to run on all the platforms. If there's a change,you don't need to return to the app store, begging for a quick review of a bug fix.Now that the HTML layer is getting faster and running on faster chips, thisapproach can compete with native apps better on even more complicated andinteractive apps.

    Hot: AndroidNot: iOSWas it only a few years ago that lines snaked out of Apple's store? Times change.While the iPhone and iPad continue to have dedicated fans who love their rich,sophisticated UI, the raw sales numbers favor Android more and more. Somereports even say that more than 70 percent of phones sold were Androids.

    The reason may be as simple as price. While iOS devices maintain a hefty price,the Android world is flooded with plenty of competition that's producing tablets foras low as one-fifth the price. Saving money is always a temptation.

    But another factor may be the effect of open source. Anyone can compete in themarketplace -- and they do. There are big Android tablets and little ones. Thereare Android cameras and even Android refrigerators. No one has to say, "Mother,may I?" to Google to innovate. If they have an idea, they follow their mind.

    Hot: GPUNot: CPUWhen software was simple and the instructions were arranged in a nice line, theCPU was king of the computer because it did all of the heavy lifting. Now thatvideo games are filled with extensive graphical routines that can run in parallel,the video card runs the show. It's easy to spend $500, $600, or more on a fancyvideo card, and some serious gamers use more than one. That's more thandouble the price of many basic desktops. Gamers aren't the only ones braggingabout their GPU cards. Computer scientists are now converting many parallelapplications to run hundreds of times faster on the GPU.

    Hot: GitHubNot: Rsums

    15 hot programming trends -- and 15 going cold http://www.infoworld.com/print/233343

    4 of 6 2/10/2014 1:02 AM

  • Sure, you could learn something by reading a puffed-up list of accomplishmentsthat include vice president of the junior high chess club. But reading someone'sactual code is so much richer and more instructive. Do they write goodcomments? Do they waste too much time breaking things into tiny classes that dolittle? Is there a real architecture with room for expansion? All these questions canbe answered by a glimpse at some code.

    This is why participating in open source projects is becoming more and moreimportant for finding a job. Sharing the code from a proprietary project is hard, butopen source code can go everywhere.

    Hot: RentingNot: BuyingWhen Amazon rolled out its sales for computers and other electronics on BlackFriday, the company forgot to include hype-worthy deals for its cloud. Give it time.Not so long ago, companies opened their own data center and hired their ownstaff to run the computers they purchased outright. Now they rent the computers,the data center, the staff, and even the software by the hour. No one wants thehassles of owning anything. It's all a good idea, at least until the website goesviral and you realize you're paying for everything by the click. Now if only Amazonfinds a way to deliver the cloud with its drones, the trends will converge.

    Hot: Web interfacesNot: IDEsA long time ago, people used a command-line compiler. Then someone integratedthat with an editor and other tools to create the IDE. Now it's time for the IDE tobe eclipsed (ha) by browser-based tools that let you edit the code, often of aworking system. If you don't like how WordPress works, it comes with a built-ineditor that lets you change the code right then and there. Microsoft's Azure letsyou write JavaScript glue code right in its portal. These systems don't offer thebest debugging environments and there's something dangerous about editingproduction code, but the idea has legs.

    Hot: Node.jsNot: JavaEE, Ruby on Rails, PHPThe server world has always thrived on the threaded model that let the operatingsystem indulge any wayward, inefficient, or dissolute behavior by programmers.Whatever foolish loop or wasteful computation programmers coded, the OS wouldbalance performance by switching between the threads.

    Then Node.js came along with the JavaScript callback model of programming, andthe code ran really fast -- faster than anyone expected was possible from a toylanguage once used only for alert boxes. Suddenly the overhead of creating newthreads became obvious and Node.js took off. Problems arise when programmersdon't behave well, but the responsibility has largely been good for them. Makingresource constraints obvious to programmers usually produces faster code.

    15 hot programming trends -- and 15 going cold http://www.infoworld.com/print/233343

    5 of 6 2/10/2014 1:02 AM

  • The Node.js world also benefits from offering harmony between browser andserver. The same code runs on both making it easier for developers to movearound features and duplicate functionality. As a result, Node.js layers havebecome the hottest stacks on the Internet.

    Hot: HackerspacesNot: CollegeOne costs $250,000 for four years. The other charges about $50 a month, withbig discounts for paying in advance. One uses the money to buy footballstadiums, fancy houses for the president, flashy dorms, and four-color magazines.The other buys 3D printers, oscilloscopes, soldering irons, and more.

    Hackerspaces are stepping up to nurture innovation without the outrageousoverhead of the college industrial complex. They are creating the social networksthat spawn startups and build wealth but without the bureaucracy and foolishconsistencies Emerson called the "hobgoblin of little minds." Courses don't needto last an entire semester. Students don't need to start campaigning for admissiona year before starting to learn. The ad-hoc nature is fast proving better suited forthe rapidly moving world of technology.

    Related articles

    Dev-olution: Saluting 19 generations of computer programmersQuiz: "Hello, world": Programming languages quizQuiz: Programming IQ test: Round 315 workplace barriers to better code9 key career issues software developers faceTop 7 dilemmas facing today's developers7 programming myths -- busted!10 hard truths developers must learn to accept11 programming trends to watch12 programming mistakes to avoidSafeguard your code: 17 security tips for developersDownload: InfoWorld HTML5 Deep Dive

    This article, "15 hot programming trends -- and 15 going cold," originally appearedat InfoWorld.com. Follow the latest news in programming at InfoWorld.com. Forthe latest business technology news, follow InfoWorld.com on Twitter.

    Application Development Application Development Mobile DevelopmentWeb Development

    Source URL (retrieved on 2014-02-09 09:59PM): http://www.infoworld.com/d/application-development/15-hot-programming-trends-and-15-going-cold-233343

    15 hot programming trends -- and 15 going cold http://www.infoworld.com/print/233343

    6 of 6 2/10/2014 1:02 AM