Search
Navigation
Main | A Data Driven Approach to Building a Startup »
2:25PM

The Polyglot Programmer

In the recent months since I've entered the entrepreneural scene in Chicago, I've encountered quite a number of programmers: a decent number of veterans and an increasing number of new developers coming out of a new Ruby on Rails programming academy known as Starter League (formerly Code Academy). Most of the Starter League students and graduates I've met, were young, bright, optimistic and felt they could conquer the world with the tools at their disposal. However Chicago being home to 37Signals, birthplace of the Rails framework for Ruby, and Groupon, poster child for Ruby on Rails success gone wild, I see too many developers holding on to the tools that other companies have used to model their success. This is not a post about Ruby on Rails, Groovy on Grails, Scala on Lift, Java on Play etc.

The point is with all the success we've made in the open source world these last few years creating domain specific languages, and frameworks that specialize at one or more problem area in web development, a disturbing trend is arising. People are taking the position of defending the frameworks that they have learned and using it to bash other frameworks. Language bashing is going on all over the place. Ruby is a beautiful language, but it's not the only language. Rails is an awesome framework, but it's not the only framework. I once questioned a developer who was launching his startup at TechWeek, why he chose Ruby on Rails as his platform, and why he developed using a MacBook. I was actually geniunely interested. I was wondering if there were performance gains that Rails gave his application, and ability to handle concurrent connections? I was wondering if there was some special tool on the Mac that made it more well suited to development. The answer I got was astounding... "Because Groupon uses it!" Okay, that must be the dumbest reason to use a framework or buy a computer that I've ever heard. I also hear the same from the Scala crowd regarding Scala adoption, "Well, Twitter's using Scala now, so we're doing it too." Seriously? My dentist uses a sickle probe to clean plaque from my teeth, but I use a toothbrush and floss. Which one of us is right and which one of us is wrong? Neither. But my dentist has different goals than I do.

Somehow we got caught in this paradigm, where we believe that for one person to be right, the other person has to be wrong. So for one framework to be right, the other one has to be wrong. Several tools work for many jobs, and most frameworks are general purpose, as are most programming languages. But... and this is a big one, each have their own strengths and weaknesses which make them more or less appropriate for your project. Somehow, we're failing the newer generation of developers by failing to inform them that the biggest skill in development and eventually engineering is choosing the right tool for the job. If you don't know how to use the right tool, it's worth the investment to learn rather than try to use the wrong tool for the job. This is how we're going to create the next generation of programmers that we need, the pologlot programmer.

Learning the strengths and weaknesses of a few languages and frameworks can go a long way toward choosing which languages to begin your intial foray into polyglot programming.  While reading The Well-Grounded Java Developer, the author makes the case that languages and frameworks exist in Ola Bini's polyglot programming pyramid. To the bottom we have stable languages, in the middle we have dynamic languages and to the top we have domain specific languages. The higher up the pyramid we go, the more specific and newer the language and technology.  I would challenge every developer, or technical entrepreneur to choose the right tools for the right job that you're trying to address. While one might argue the learning curve on different languages make it impossible to do so, it will actually make you a better developer. Imagine a handy-man walking around with a hammer, and using it for every job, just because it was the first tool he learned to use. Sure he could hammer in my screws and they'd stay in place, but it would be an awful mess for the next person who needed to come by and unscrew it.

So do we need more Ruby developers in Chicago. Yes! But we need them as polyglot developers, not just programmers who know Ruby alone. And the same goes for the Java and .NET folks. 

References (74)

References allow you to track sources for this article, as well as articles that were written in response to this article.
  • Response
    Response: trivia crack hack
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    [...]Technology and Entrepreneurship - Blog - The Polyglot Programmer[...]
  • Response
    Response: click here to read
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Response: traffic school
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Response: Best Online Backup
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Response: this content
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Response: Our Web Page
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Response: BB8 Toy
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Response: GoPro Selfie Stick
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Response: electric saver
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Response: GoPro Stabilizer
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Response: GoPro Attachments
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Response: PaydayLoans
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Response: starscapes
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Response: Suggested Web page
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Response: GoPro Selfie Stick
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Response: 64gb Micro SD
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Response: GoPro Suction Cup
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Response: GoPro Selfie Stick
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Response: prediksi jitu
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Response: watch here
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Response: Derek Carr jersey
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Response: GoPro Accessories
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Response: internet marketing
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Response: essay helper
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Response: 32gb micro SD card
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Response: GoPro Accessories
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Response: similar web page
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Response: GoPro Stick
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Response: brad pilon
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Response: keto diet
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Response: brad pilon
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Response: eat stop eat
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Response: Estate Sales
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Response: gopro 4 silver
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Response: Go Pro Remote
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Response: www.youtube.com
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Response: Ongoing
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Response: ketogenic diet
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Response: www.google.com
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Technology and Entrepreneurship - Blog - The Polyglot Programmer
  • Response
    Response: website
    Technology and Entrepreneurship - Blog - The Polyglot Programmer

Reader Comments (1)

An instructive post. People to really know who they want to reach and why or else, they'll have no way to know what they're trying to achieve. People need to hear this and have it drilled in their brains..
Thanks for sharing this great article.
Wish to Get a visit on canadian ecommerce company for more latest tips and news.

December 31, 2014 | Unregistered CommenterJrafi Smith

PostPost a New Comment

Enter your information below to add a new comment.

My response is on my own website »
Author Email (optional):
Author URL (optional):
Post:
 
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>