Archive for November, 2006

Does The Language Matter?

November 14th, 2006  |  Published in General, Internet & Tech Industry, Programming

Thanks to this new Web 2.0 bubble, nearly ever week or so I get contacted by a startup or small company looking for someone like me to join up. I’m always happy to give them advice. Inevitably, one of their biggest worries is what programming language to use. “Should I use PHP, Python or Ruby?” they ask, as if their choice of programming platform is the sole factor that determines the ultimate outcome of their business.

Well, I’m going to give the definitive answer to the question, “Does the programming language matter?” Yes and No.

  • Yes, because some languages are much more productive than others. What could take days to program in a strongly-typed, compiled language like Java or C# could be done in an afternoon in Ruby or PHP. Don’t get me going about J2EE, which you shouldn’t be using unless you know exactly why you need it.
  • Yes, because different languages promote different work styles and cultures, and will make it easier or more difficult for you to work together and find additional programmers. As an example, PHP is designed with minimal restrictions, promotes a free-for-all programming style, and everyone in every country around the world seems to know it. Ruby, especially with Rails, has more structure and elegance, making it easier to write maintainable code, but it’s harder to find people.
  • Yes, because some languages make it easy to make quick updates in response to your customers, and some languages require a lot more work, planning, and ceremony to do anything new.
  • Yes, because some programming environments are still evolving while others are more mature, and you may want to use a less cutting-edge language just so you can worry less about the technology and spend more time on the business side. For example, Lisp can be extremely cool and productive, but getting it connected to a webserver and getting set up with wide array of libraries isn’t an easy, out-of-the-box process the way it is with C# or PHP, so you may end up spending a lot of time on low-level tech issues, rather than working on areas that matter more.
  • Yes, if it’s an enterprise product you plan to sell to businesses to install on their servers. In this case, code it in the language your target market’s iT departments require (usually Java or C#).
  • No, because there’s so much more to making your business a success than whipping up some code. You’ve got to have a good business model. You’ve got to find good people. You’ve got to do marketing, customer service, and create a well-designed product. The initial build of the site is going to be just a small percentage of all the things you need to do right.
  • No, because bad programmers can produce bad code in any language. There’s no silver bullet that prevents untalented or indifferent people from generating garbage.
  • No, because the system architecture matters more. If you design an overly complex architecture, or one that’s unwieldy, or slow, you’ll produce an unmaintainable, unwieldy, slow site. Look at Friendster as an example. The initial build of Friendster was done in Java, and was incredibly slow. Could Java have handled a site like Friendster? Sure. I don’t have first hand access to what was under the hood at Friendster, but I can’t imagine it was clean, elegant, or well-thought-out. The language that a system design is expressed in doesn’t make a difference if the overall design is poor.

Ultimately, none of your customers care what’s under the hood, as long as it works and does a good job for them. So choose what works best for your particular situation, and entrust it to the most talented and motivated people you can.

The NextNY Blog

November 14th, 2006  |  Published in Internet & Tech Industry, The Blogosphere

Today marks the kickoff of the NextNY blog, dedicated to the technology industry in New York. This blog was started by a group of dedicated people I’m proud to be a part of, called NextNY, that’s dedicated to the technology and internet industry in New York. So much of the press seems to focus on what’s going on in Silicon Valley, when there are a lot of interesting things going on right here: new startups, interesting people, and emerging ideas. If you’re in the New York area, check it out, and if you have something to say, become a contributor. Like all aspects of NextNY, this is a group effort, and you can do something just by doing it.

I can’t fall asleep

November 13th, 2006  |  Published in General

It’s 4:33 am, and I’m up now because I haven’t been able to fall asleep. It seems to me that sleep is overrated. You’re not conscious during sleep, so it’s not something you enjoy the same way as you enjoy a good movie or an ice cream sundae. About one third of your life is spent in sleep, so if you’re 30, you’ve really only been awake about 20 years.  Medical science is spending its time trying to prolong life by curing diseases, but they could give everyone an automatic 33% increase in lifespan if they could just cure sleep.