Ted Neward is the Principal at Neward & Associates, a developer services company. He consults, mentors, writes and speaks worldwide on a variety of subjects, including Java, .NET, XML services, programming languages, and virtual machine/execution engine environments. He resides in the Pacific Northwest. Ted is a DZone MVB and is not an employee of DZone and has posted 50 posts at DZone. You can read more from them at their website. View Full User Profile

Is Programming Less Exciting Today?

01.26.2012
| 12852 views |
  • submit to reddit

As discriminatory as this is going to sound, this one is for the old-timers. If you started programming after the turn of the milennium, I don’t know if you’re going to be able to follow the trend of this post—not out of any serious deficiency on your part, hardly that. But I think this is something only the old-timers are going to identify with. (And thus, do I alienate probably 80% of my readership, but so be it.)

Is it me, or is programming just less interesting today than it was two decades ago?

By all means, shake your smartphones and other mobile devices at me and say, “Dude, how can you say that?”, but in many ways programming for Android and iOS reminds me of programming for Windows and Mac OS two decades ago. HTML 5 and JavaScript remind me of ten years ago, the first time HTML and JavaScript came around. The discussions around programming languages remind me of the discussions around C++. The discussions around NoSQL remind me of the arguments both for and against relational databases. It all feels like we’ve been here before, with only the names having changed.

Don’t get me wrong—if any of you comment on the differences between HTML 5 now and HTML 3.2 then, or the degree of the various browser companies agreeing to the standard today against the “browser wars” of a decade ago, I’ll agree with you. This isn’t so much of a rational and logical discussion as it is an emotive and intuitive one. It just feels similar.

To be honest, I get this sense that across the entire industry right now, there’s a sort of malaise, a general sort of “Bah, nothing really all that new is going on anymore”. NoSQL is re-introducing storage ideas that had been around before but were discarded (perhaps injudiciously and too quickly) in favor of the relational model. Functional languages have obviously been in place since the 50’s (in Lisp). And so on.

More importantly, look at the Java community: what truly innovative ideas have emerged here in the last five years? Every new open-source project or commercial endeavor either seems to be a refinement of an idea before it (how many different times are we going to create a new Web framework, guys?) or an attempt to leverage an idea coming from somewhere else (be it from .NET or from Ruby or from JavaScript or….). With the upcoming .NET 4.5 release and Windows 8, Microsoft is holding out very little “new and exciting” bits for the community to invest emotionally in: we hear about “async” in C# 5 (something that F# has had already, thank you), and of course there is WinRT (another platform or virtual machine… sort of), and… well, honestly, didn’t we just do this a decade ago? Where is the WCFs, the WPFs, the Silverlights, the things that would get us fired up? Hell, even a new approach to data access might stir some excitement. Node.js feels like an attempt to reinvent the app server, but if you look back far enough you see that the app server itself was reinvented once (in the Java world) in Spring and other lightweight frameworks, and before that by people who actually thought to write their own web servers in straight Java. (And, for the record, the whole event-driven I/O thing is something that’s been done in both Java and .NET a long time before now.)

And as much as this is going to probably just throw fat on the fire, all the excitement around JavaScript as a language reminds me of the excitement about Ruby as a language. Does nobody remember that Sun did this once already, with Phobos? Or that Netscape did this with LiveScript? JavaScript on the server end is not new, folks. It’s just new to the people who’d never seen it before.

In years past, there has always seemed to be something deeper, something more exciting and more innovative that drives the industry in strange ways. Artificial Intelligence was one such thing: the search to try and bring computers to a state of human-like sentience drove a lot of interesting ideas and concepts forward, but over the last decade or two, AI seems to have lost almost all of its luster and momentum. User interfaces—specifically, GUIs—were another force for a while, until GUIs got to the point where they were so common and so deeply rooted in their chosen pasts (the single-button of the Mac, the menubar-per-window of Windows, etc) that they left themselves so little room for maneuver. At least this is one area where Microsoft is (maybe) putting the fatted sacred cow to the butcher’s knife, with their Metro UI moves in Windows 8… but only up to a point.

Maybe I’m just old and tired and should hang up my keyboard and go take up farming, then go retire to my front porch’s rocking chair and practice my Hey you kids! Getoffamylawn! or something. But before you dismiss me entirely, do me a favor and tell me: what gets you excited these days? If you’ve been programming for twenty years, what about the industry today gets your blood moving and your mind sharpened?


Source: http://blogs.tedneward.com/2012/01/25/Is+Programming+Less+Exciting+Today.aspx

Published at DZone with permission of Ted Neward, author and DZone MVB.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Comments

Damien Lepage replied on Thu, 2012/01/26 - 11:00am

Great post. We feel your nostalgia despite the touch of humor. Maybe I'm not old enough to share the feeling. I created my first web site in 1998 and programming came a bit later. Anyway, let me try to help a bit about your lack of "excitement".

First you need to put things in perspective. Look at other seemingly exciting jobs and tell me if those people get even half of the "novelty factor" we get: professional athletes, writers, actors, photographers, ... Still, I'm sure many of them are still excited about their jobs day after day.

So, maybe programmers have been privileged for a long time, provided with a brand new domain, a Terra Incognita. But it should be possible to remain excited while staying on the same land. Try meditate this famous advice from Steve Jobs: "Stay hungry, stay foolish". You might find some enlightenment there. If we don't get drastic innovation, at least we can have more fun.

Mladen Girazovski replied on Thu, 2012/01/26 - 11:09am

Everything was better in the past, even the future...

I started working as a professional nearly 12 years ago, but was programming since 1989 (first BASIC, then Turbo Pascal on a MXS2).

I think it all depends on what you make of it.

Personally, i found the new agile movement very interesting and the techniques that emerged from extreme programming, CI, etc., especially TDD has given me a lot of positive excitement and still does.

If you get bored, you should try different things or do the same things differently, there is very interesting  stuff happening in SW development, but if you stick to your old routine you'll miss out on that. 

Otengi Miloskov replied on Thu, 2012/01/26 - 11:46am

Im agree everything is the same thing and does not change, HTML5 is the old DHTML but dressed with a new name. node.js This one already been there and that in Java and .Net but now is worst with a dynamic spaghetti code with javascript, I think this time all the IT with dynamic languages will end in a big mess more than what was the EJB2 fiasco or any fiasco in IT history.

As you said the GUI still the same thing, There is nothing new, I would like to feel as when the old days using DOS with Assembly and Turbo Pascal, Or Windows 95, or Linux on 1996 setting up my first apache web server and scripting with perl.

I miss the good old days, it was more fun and simple programming. Even games you could build a great game with one coder and one artist, now it needs thousand or million dollars for 3d modeling and artistic tools, cinematography tools plus an army of teams and teams of developers just to make 5 hrs of game play. this is absurd.

Then the Web apps of today using HTML5 on the front end with and MVC framework, then on the back end another MVC framework plus a messaging system and layers, layers of architecture just for simple Web apps, This is crazy.

Wal Rus replied on Thu, 2012/01/26 - 12:42pm

Programming is probably as exciting for young people as it was for me back...then... Nothing seems exciting any longer, especially the future. Thanks for the depressing post. :)

Chuck Dillon replied on Thu, 2012/01/26 - 2:32pm

I've been developing software since June of 1985.  Software per se has never excited me.  I see computers and programming technologies as tools to apply to the real problem and it's the real problem that keeps my interest and sometimes excites me.  Note that except for the very early days I've always worked in R&D departments in technology companies (e.g. instrumentation, biotech).  I'm 99% sure that if I had to work in an industry where the interesting stuff was the tools I'd have got into a different line of work long ago.  No offense intended.  It's just me.

From my perspective there've been few significant changes to software development.  Lots of wheels re-invented.  Lots of religious arguments about technologies and methods.  Lots of fads have come and gone.  Lots of concepts mapped periodically to new terms.

 

James Jamesson replied on Thu, 2012/01/26 - 2:33pm

I hear you. Everything got so huge, bloated and complex, it is almost unmanageable. Not much of innovation is coming out lately. I blame this to companies like google. They got so much cash to roll out something openly, young developers are almost discouraged to innovate. All I see is absurd social web sites and idiotic social games lately. Innovation is almost stalled in computing in individual level. I also miss good old days when everything was simple and nice. I am from 80s commodore generation. I miss that 8 bit retro revolution when we wrote tons of assembler code and had that pixel fun. Graphics were ugly but the games were great. I do not know how to fix it. I do not know how to bring those exhilarating and creative days while compaines like google is around.

 

 

Mr Tegg replied on Thu, 2012/01/26 - 4:15pm

I don't think that the programming is getting any less interesting, just the problems programmers are asked to solve.

If you're not motivated, I'd suggest moving on from your enterprise job in banking/insurance/medical IT and get a job in a small startup with big ideas.

Howard Lewis Ship replied on Thu, 2012/01/26 - 5:30pm

Things have certainly changed ... when I was first programming (in PL/1 !) we had a stable system library that provided file system, lightweight threads, simple messaging, and a kind of hierarchical filesystem database. Everything else we built ourselves, including testing frameworks, etc. Further back in time, I had my Atari 800, and BASIC, and 6502 assembly (which I hand assembled on graph paper). Nowadays, everything I build is a thin layer on top of lots of others' work. Even Tapestry is minutely small compared to the JDK and JVM it runs on. This is great when it works, and super-stressful when something in that huge stack stops working. That stress, and the repetition of churning out web-based CRUD pages can sap the enthusiasm, as does the more general Java-in-decline malaise. However, new things are catching my fancy; part of the appeal and intent of node.js is that it started with no set library, and just built up from first principals. Playing with hardware (Arduino), with Lua (Codea and Love2d), or learning programming anew as functional (Clojure, Haskell) has certainly rekindled my enthusiasm. I think this may just be the aging process in action; the emotional attachment to the music, movies and fashions of your teens and twenties ... now includes programming languages, for some of us. Being aware of that may help you to seek out that exhilaration again.

Matthew Williams replied on Thu, 2012/01/26 - 6:10pm

I'm hearing you!  seems like everything new has its roots in old ideas and concepts.  These days its the same stuff coming up over and over again, rehashed and remarketed in a new way, new buzz words to describe the same stuff. its just now we nolonger have to worry about the low level anymore where the real skills shone.

Personally, I tend to just do the 9 to 5 for a job (pay the bills) and get my fun through dropping back to low level programming (assembler and c) for Arduino and other controllers.  Very much the sort of stuff I grew up on, back in the day. 

Madhu Siddalingaiah replied on Thu, 2012/01/26 - 6:39pm

Solving the same problem over and over again can become tiresome. Take a look at modern FPGAs. The density is astonishing. You can leverage programming skills and reconfigure hardware to do something really cool. Development boards are relatively inexpensive. VHDL and Verilog might not be as elegant as you might like, but the end product will be something completely different from what you're used to.

Dapeng Liu replied on Fri, 2012/01/27 - 5:00am

programming to some extends is very close to arts, painting, music, literature
painters use the same old paints, canvas ...
musicians still play the same piano, violin ...
writers still writing in the same human language ...

the exciting part is not about the tool it self but the thing you are going to express

Kevin Peck replied on Fri, 2012/01/27 - 9:53am

Programming is probably harder today. The original games that I sold to a disk based magazine for the HeathKit Z80 were just a page or two of code. Now it takes that much code per simple object in a program. I only had an 80x24 screen and simple ASCII art to deal with, no sound, no colors.

As I moved to MS-DOS you added color and simple sound but still a limited screen space. Next up came CGA, EGA, VGA and then the big step into Voodoo, nVidia and ATI. Windows came along with event driven programming, mice, sound cards, network programming, etc.

For the end user WIMP makes things easier to use. For the developer it makes it harder to write. Everyone expects drag and drop, cut and paste, right click menus, top level menus, hot-keys and everything else to just work. You have to keep all of that stuff in sync. User expectations used to be so low people were just happy it did anything. Now is has to do everything.

I am currently doing mobile development. In a way it takes you back to the older days. People expect the mobile app to do less than a desktop app. You are back to a much smaller screen and you don't have a pile of places to put menus and duplicate functionality. Drag and drop is not very common and even cut and paste is used sparingly. You do have to deal with touch, pinch, slide and grab. Your interface has to be tight but understandable. It amazes me how many smart phone users don't know how to run the phone. They don't know the basic gestures let alone the advanced ones. There is no tutorial on how to run the phone or your app. As a developer I experiment but users tend not to do that.

I write piles and piles of code. My job is to write it so it is easy to maintain. I am the sole developer for both our iOS and Android product. Keeping the code similar between Objective C and Java is interesting. I need to be able to jump into either to fix a bug or add a feature without getting lost each time I open one of the IDEs.

As new languages come along I try to keep up on them. Most are a pretty simple variation of another. You can pick up the base syntax pretty easily. Getting into the specialized framework is where the fun begins. Too many frameworks out there for sure.

Jonathan Ross replied on Fri, 2012/01/27 - 10:30am

I've been programming & managing software development for about 25 years and overall, I'm still in the can't-stop, how-can-I-get-more-hours-to-do-this mindset.

It's not so much specific technologies (although Scala, Hadoop, Lucene, Graphite and the Facebook OpenGraph are keeping me awake just now) but rather the sheer volume of tools available that are open, community-driven and largely unencumbered by corporate agendas.  I think today's developers have an unprecedented ability to do great things with small teams, and a little over a year ago I left a stable, high-paying job in financial services IT to be a part of that.  Now I work on projects where productivity is 5-10x higher than where I was.

I'd say if you want excitement, make sure to find a corporate culture that keeps pace with the times, otherwise you really will be solving the same problems over and over.

Lund Wolfe replied on Sat, 2012/01/28 - 6:27pm

The tools we use may change over time, but programming is at least as fun now as it ever was. You use your intelligence and creativity to solve problems, find alternatives, and think outside the box.

I remember reading somewhere about a company that hired philosophers to be programmers. It is a well paid, practical application of philosophy and logic. What more do you want ? You have the power and control to create and the satisfaction of seeing happy and productive users of your product.

If you don't like the apps you are building or doubt their usefulness, or you don't like and respect the language or tools you are using, then you will be bored and frustrated. If your work becomes mechanical, repetitive, and rote, then you are just trapped in a job. There is a lot of variety out there. Find something you like.

Carla Brian replied on Wed, 2012/04/25 - 12:24pm

HTML5 has it’s many new syntactical features, which include the <video>, <audio>, and <canvas> elements, as well as the integration of SVG content. - DR Marketing Group

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.