Archive
Steve Yegge’s NBL
Most readers of this blog would have read Steve Yegge’s prediction on the Next Big Language (NBL). In his post, Steve refused to actually name the language but he dropped hints on the language (languages?) he had in mind. Commenters on his blog tried guessing the language – JavaScript2, Erlang, Scala, Perl6 etc were mentioned. If I had to guess I would have guessed JavaScript2; but I am no expert in programing languages, so my strategy is to wait and watch.
But today, I was re-reading an old blog post and I was reminded of Steve’s prediction. Jarosaw “sztywny” Rzeszótko, a young Polish blogger, had send 10 questions to 8 famous programmers and he had posted their replies (I had written about it too). Here are some excerpts from that post:
Q. What do you think will be the next big thing in computer programming? X-oriented programming, y language, quantum computers, what?
Steve Yegge:
I think web application programming is gradually going to become the most important client-side programming out there. I think it will mostly obsolete all other client-side toolkits: GTK, Java Swing/SWT, Qt, and of course all the platform-specific ones like Cocoa and Win32/MFC/etc.It’s not going to happen overnight. It’s very slowly been going that direction for ten years, and it could well be another ten years before web apps “win”. The tools, languages, APIs, protocols, and browser technology will all have to improve far beyond what you can accomplish with them today. But each year they get a little closer, and I’ve finally decided to switch all my own app development over to browser-based programming from now on.
Microsoft and Apple definitely don’t want this to happen, so a necessary first step will be for an open-source browser such as Firefox to achieve a dominant market position, which will in turn require some sort of Firefox-only killer app. (A killer app would be something like iTunes, something that everyone in the world wants to use, badly enough to download Firefox for it.)
…
Q. If you had three months to learn one relativly new technology, which one would You choose?
Steve Yegge:
I do happen to have 3 months (part-time), and I’m spending it learning Dojo (http://dojotoolkit.org) and advanced AJAX and DHTML. I’m learning it by writing a fairly ambitious web application. Dojo’s really cool, and I’m sure it will only improve with time.
sztywny made this post on Oct 16th 2006 and Steve made his NBL post on Feb 19th 2007. From the above snippet, I think Steve had JavaScript2 on his mind as the NBL.
What if you don’t like JVM garbage collection?
At a technical interview recently, I was asked:
What if you don’t like Java’s garbage collection, what would you do? How would you manage memory?
You can carve a large array of bytes on the JVM heap, implement your own memory on that array and manage it yourself, kind of a virtual-machine-over-virtual-machine system; but I don’t see very good reasons to do that. Well-informed engineers have worked over a decade to get the JVM garbage collection right – so if you have to dump all that work and cook up your own scheme, you better have very good reasons. I told as much to the interviewer – I would imagine that it can be done, but I don’t know of any situation where I would recommend it.
Dear readers, do you know a good answer to this question? Do you know any situation where you would recommend this? If you come across such a situation, what would your solution be?
Oh boy, did you entertain?!
Brain Charles Lara batted in an international cricket match for the last time yesterday.

With him goes the last of the classical batsmen. At the presentation ceremony at the end of the match, he asked “Did I entertain?” – he must have got his answer from the huge cheer from the crowd assembled.
Lara’s farewell was unlike any other. Despite being a dead rubber, the tournament got its first full attendance. When Lara got out, not only did he get a standing ovation from the whole crowd, but also from the press box (which I am told is a rare thing). And at the end of the match, even the umpires and the match referee had the grace to shed the starched formality and take pictures with the great batsman.
Here is wishing Lara a wonderful life ahead; and thanks to the great entertainment he provided over the 17 years.
BG quote on Lines of Code
I was reading through the Wikipedia entry on source lines of code and noticed this quote from Bill Gates:
Measuring programming progress by lines of code is like measuring aircraft building progress by weight.
Good one!
Liquid Coding
Business World’s Great Places To Work 2006 survey places my employer, Tavant Technologies, at #17! Congrats to self!
From their writeup on Tavant.
Who is a liquid coding champion? A crack coder at Tavant Technologies. For those who think coding is the stuff spy stories are made of, well, it is the backbone of a software programme. In any IT solutions business, when a client gives a specification for a certain programme, it seldom stays what it started out as. A good coder will keep this in mind and ensure his work is flexible from day one. That way, he doesn’t have to start all over again when the specifications change.
Liquid Coding was a programing competition held for programmers at Tavant Technologies. It is a 3-hour competition and one can pair up with another person. At the start of the first hour, you would get a set of requirements. At the end of the first hour, you get some more requirements and further some more at the end of the second hour too. Each requirement is specified as one or more executable unit tests, and they carry certain number of points based on their complexity.
The crux of the competition is to write code to match requirements under extreme time pressure, and write it in such a way that it is extensible enough when further requirements are to be implemented.
I paired with Vineeth for this competition, and we came first in the tech lead category. The experience was intense and real fun. It is one of the best prizes I have ever got; and definitely the one that I am most proud about.
Web presence for small businesses
Internet is getting popular in India. I don’t have any statistics about it, but my guess is that most people and businesses in India don’t have an internet presence yet. Putting information about a business on the internet is useful for both the internet community and the business themselves.
Seth Godin writes:
What should my local chiropractor do? Or the acupuncturist? Or the pet store? What about that small church or mosque?
The web has changed the game for a lot of organizations, but for the local business, it’s more of a threat and a quandary than an asset. My doctor went to a seminar yesterday ($100+) where the ‘expert’ was busy selling her on buying a domain name, hiring a designer, using web development software, understanding site maps and navigation and keywords and metatags and servers…
These are businesses that have trouble dealing with the Yellow Pages. Too much trouble, too much time, way too expensive. So, should local micro-businesses just ignore the web? Or should they become experts in the art of building and maintaining a website
…
I think there’s a third way, one that gets them just about everything they need, takes an hour or two a month and costs about $60 a year.
The advice Seth gives is brilliant for its simplicity! Highly recommended.
Most readers of this blog might not have any trouble managing a web server and a few web sites. But if you know someone running a small local business who likes to have a web presence but would not like to be bothered with the hassles, I recommend pitching Seth’s idea to them.
What programing languages should one know
Today I came across the article What Programming Languages Should You Know? by David Chisnall. David’s list of essential programming languages include C, Smalltalk, Lisp, Erlang, Haskell and Prolog.
Of these, I know only Lisp (Scheme, to be precise). Eric S. Raymond’s famous quote (David also quotes it):
Lisp is worth learning for the profound enlightenment experience you will have when you finally get it; that experience will make you a better programmer for the rest of your days, even if you never actually use Lisp itself a lot.
influenced me to try the language. Reading SICP and EoPL was useful. I also worked through most parts of PCL also.
I did some C during college, but I never learned the language well enough (I know enough to know that I don’t know it well enough)
. Tom Drake, who works as a senior architect with Tavant, once advised me that learning C is important whatever language you actually work with. Tom should know – he has worked with lots of different languages and systems in his career. I haven’t followed that advise so far, largely because you don’t come across articles saying “How C cured cancer!” on reddit.
One these days, I should go learn some C, I guess.
I am trying to learn Haskell – I have been following tutorials on the web, and have been making some progress. A friend who is returning from US is bringing a copy of Programming in Haskell, and I should get it by next month. I had worked through a draft copy of the book, and I found it lot more approachable than other tutorials I found – so I am looking forward to reading the actual book. Erlang also looks to be an interesting language, and I am curious to understand what all the cool kids are talking about its concurrency primitives. I haven’t read much about Smalltalk and Prolog (except some videos I watched about the Seaside web framework in Smalltalk).
It amuses me to note that both programing languages I have used extensively in my professional career – Java and JavaScript – do not make the list. But things I have learned in other languages had helped me understand these two languages better. Knowing Lisp, in particular, has helped me understand JavaScript. I have briefly dabbled with Ruby, Python and Groovy too. I have to agree with David on:
The more languages you learn, the easier it is to pick up a new one. Eventually, you start thinking of every new language as just a set of modifications to a language you know already.
So, what are the languages have you learned or are planning to learn?
Well said, Rajan Bala!
Cricket is almost a religion in India – and almost every fan has strong opinions on team selection, strategy etc. Not everyone’s opinion can be respected – in fact, IMHO, the only opinions that matter are of the ones who would be held accountable for their decisions.
But of late, many people involved with cricket are too quick to question the credibility of the person who voices an opinion. Rahul Dravid, one of our finest cricketers of all time, recently had his foot firmly in his mouth when he questioned team manager Chetan Desai’s credentials.
Today I was watching a cricket discussion on NDTV, and Ajay Jadeja mentioned that cricketers themselves are the best people to know when to wind up their career. He was responding to the results of an opinion poll, which he dismissed with contempt arguing that cricketers themselves are the best judges because they have played more matches than anyone who might have participated in the polls.
Rajan Bala, who was also on show, responded with an anecdote. Neville Cardus, the peerless cricket writer, when accused by a player he had criticised of never having played the game at the highest level apparently quipped with
I have never laid an egg, but I know when one is bad.
Well said!
While I understand that not everyone’s opinion does matter, I believe that it doesn’t mean that only people who have played at the highest level can have good ideas on cricketing matters. Please let me know your thoughts.
Bashar makes it to the big league!
I don’t know if this has happened before, but this is the first time I am hearing about it – a Bangladeshi cricketer’s effigy is burnt. From SuperCricket report:
Angry Bangladesh fans have burned an effigy of World Cup captain Habibul Bashar after his team fell to consecutive defeats in the Caribbean.
Bangladesh has lost 117 out of the 154 ODIs they have played since 1986. I can’t help wonder what the angry fans were doing those 115 other days!
While you amuse at the cluelessness of the unwashed masses, there is more food for thought. From Indiatimes report:
Local newspapers in Bangladesh are tearing into their captain Habibul Bashar for his lack of fitness and couple of run-outs in the competition.
“He fell short of a yard while attempting a second run when, if he was fitter, even a third run was possible,” wrote former captain Aminul Islam in a newspaper column.
Aminul played as recently as 2002, and I would have expected him to be more sensible. Bangladesh didn’t have a particularly strong team when he left active cricket, nor did they build one since. Their progress under Whatmore & Bashar is impressive. If they could get some consistency in their performances, they could shake off the minnows tag.
BTW, I don’t remember Aminul being a Jonty Rhodes in his playing days. Looks like former cricketers are the same whichever side of the border they are!
