To us, here and now, it appears thus.

rants, ramblings and other things that make life worth living…

CAIR Story 1. Honey, I lost my zeal!

with 21 comments

Warning: If you are new to programming, DO NOT READ THIS POST. GO BACK.

I’ve been going through the most amazing period in my life now. I’ve actually started to work for CAIR, DRDO this year and I am waiting to return there once my exams get over. I am enjoying every moment of it. So, now what does loosing one’s zeal have to do with enjoying oneself in a job that you really like? Nothing. But Its the lesson that I learnt, that has made me lose my zeal. So here goes the story…

I started my journey into this wonderful world of Lisp some time back, and it literally put my brain through a mixer. If you haven’t had the fun of putting your brain on a roller-coaster and watching it from afar, then you should try lisp. I promise you will enjoy it. Infact, Lisp is such an amazing language that if you don’t turn into a zealot, then you never got it in the first place, or so I thought. Now, moving a bit back in time, say a couple of years back. This was the time I learnt this funny language called python. I had the same “brain in the roller coaster experience”, dynamic typing, garbage collection, containers as part of the language, what not. This was like taking a kid who has never seen anything more than his own backyard playpen and giving him an “All rides free” pass to disney land. Thats exactly how I felt coming from programming in C/C++ for as long as I can remember. If you are a C/C++ hippie, or you are one of the many unfortunate souls who have been put through the torture of going through anna university thinking that all code is written inside of braces, take a look at python. I promise its great fun. Now all this talk about C++ brings about older memories… far older, when I was still in 8th. I had discovered the C programming language. I could let my computer dance to my tunes, or atleast dance at the tunes it was producing. I was amazed at all those silly vector graphics that I could produce with good old borland’s graphics library. I was amazed at my own skill, I endeavoured to write small games which no one but I would play (all night long). The fact that the computer could actually do “anything” I wanted excited me to an infinite extent.

See a pattern? Yes, I’ve been attached to each and every programming language I’ve ever learnt, thinking I could conquer the world with my new knowledge. How so naive of me. If you are under the same illusions that I was suffering from, I suggest go and write “production” code. Why? because production code is a wholly different deal from your hobby programming. if you are programming because there are no more good blogs to read, then its ok if you don’t put a tricky loop doing network i/o inside a try – catch/except (unwind-protect) kind of construct. But thats a big NO with production code. Thats downright stupid in production code. And you thought your pet language could do anything faster, better and sometimes even in supernatural ways than those of the “other” lesser languages? “Ha Ha Ha”, you self-delusional lemon-eater. In production code, when the demands are high everything that’s available tends to hit a brick wall. Wether its the global interpreter lock in python (one thats biting me big time right now) or the lack of good threading in lisp or the fact that working with C is like building a sky-scraper with lego blocks.

The fact that the available tools don’t really fit your needs is the ground reality, no matter who says what on which news group, trade show or promotional video. The reason you got hired was precisely because of this reason. I am here to retrofit it so everyone else can have a gala time. I am here to give these people the tools, the frameworks so that they can write their code without them worrying about things like “deep-copy vs. shallow-copy”. They can create threads without the worry that their pricey “dual-core” system doesn’t see it as a huge process which is using too much cpu time and asks the scheduler to put it to sleep. Its these kind of things that I am building, that has brought upon this realisation.

That no language, no matter how fun, mind-blowing, roller-coaster loopin a language it is, it ain’t perfect

This has also sucked the zeal that I had whenever I had embarked on learning a new language. Strangely it has made me cynical of these languages. Whenever I start seeing a new language, I can hear myself saying, “Hmm.. thats where I would run into trouble..”, Its made me turn pessimistic. Probably it gave me a little more maturity in language design, but thats debatable.

I am constantly mumbling three words in my sleep, consciously when I am trying to debug code, or think about problems of/in design. I am chanting them to keep me going, to stop my pessimistic “inner demons” from taking over, I am mumbling those three words as I type right now. I am mumbling “Half glass full.

Signing Off,
Vishnu Vyas

Advertisements

Written by vishnuvyas

December 23, 2005 at 8:04 pm

21 Responses

Subscribe to comments with RSS.

  1. In other news, Clueless Corporation (c) have created the perfect language. It was baptized 23:49 Hours UTC in St.Peters Ballisca to be called as DWIM.

    (sorry I couldn’t come with a technical comment.Iam still not there)

    intercodes

    December 23, 2005 at 8:52 pm

  2. Vishnu:
    Welcome to the real world of software (which is not the same as the world of Computer Science)! The perfect language is a myth. Maximum expressiveness (even if a mathematically rigorous definition of it could be found!) is undecidable. So all these wars about “my language is more expressive than yours” are pointless. Afreely available library can completely negate such an advantage in a specific case, so a language with a large, growing collection of libraries has an inherent advantage in expressiveness.

    An “inferior” language like Java (in SmugLispWeenie terminology) scores in real world because a) there are so many free libraries to get stuff done b) it gives a reasonable (not perfect!) degree of platform independence c) the code is fairly easy to learn and read code in, though they are starting to screw that up with more and more stuff piled on. Not to say that Java won’t ever be replaced – some folks are predicting Ruby-is-the-one and I won’t mind if Ruby is the one – it looks simple. But libraries are crucial.

    Sridhar

    Sridhar Vembu

    December 24, 2005 at 12:38 am

  3. Ruby looks simple only on the outside, its a pretty mean language with lots of nice stuff and even more syntactic sugar on very common constructs and special cases. it would be a great win-win if ruby does win.

    However, things that people usually hit a brick wall with are things that languages/platforms don’t usually think of, because 80% of the people involved never wanted the thing that you wanted. Its more of a longtail effect there., I think.

    And secondly about java, the generics idea seems crazy. They could have kept C++ style compile-time or done something totally new and type safe. (Type safety seems to be the Holy Grail of java, with bigwigs like Gosling pitchin in with stuff like “Safety is freedom” and other crap). But seems generics aren’t. And they involve a lot of boxing/unboxing overhead. Thats one reason to keep languages in the open source world, no market pressure, but thats a bad thing too..

    vishnuvyas

    December 24, 2005 at 4:32 am

  4. “That no language, no matter how fun, mind-blowing, roller-coaster loopin a language it is, it ain’t perfect”

    thats the fun, isnt it? i mean, where’s the challenge otherwise? think of programming as a constraint satisfaction problem. u have to solve a given problem constrained by the idiosyncrasies of that language.

    vivek

    December 27, 2005 at 3:00 pm

  5. No, my comment was not about how the language constraints the possible solutions and ways of expressing it, its about there will always time when you have to chose “extra-lingustic” approaches. Like extending the language in ways that weren’t designed into the language for certain reasons.

    vishnuvyas

    December 27, 2005 at 4:35 pm

  6. […] Vishnu Vyas: […]

  7. Lisp is sin

    Confluence
    Over the last few days, there has been one thought running in my head – ‘All
    roads lead…

    Sriram Krishnan

    January 15, 2006 at 6:19 pm

  8. I’m still holding my breath for a decent implementation of Lisp with threads. Or perhaps Paul Graham’s “Arc” Lisp replacement. I like holding my breath, really, I do. I’d better.

    Peter

    January 27, 2006 at 9:52 pm

  9. Fantastico!

    Thanks!

    _ Bab-ul-Janna

  10. Anybody know how we get an RSS feed for this blog? I am not very tech savvy and would really like to get updated info on this blog. Thanks!

    Bird Cages

    March 24, 2006 at 6:13 am

  11. I also agree on that last view point. I am glad you brought that out actually! Great job 🙂

    help quit smoking

    April 19, 2006 at 11:34 pm

  12. I am floored by this information. Very few comments are wrong, if any at all. Keep up the great job.This was a fun site!.

    breann

    April 30, 2006 at 2:41 pm

  13. As a programmer, I tend to use the best tools available, for instance the ones which give me the best options ( eg the GNU grep instead of the antiquated grep versions in UNIX or the find in Windows).

    Going by this paradigm, I would use the most flexible and powerful programming language that is available. However, if there are vast cost hindrances ( run time costs, resource costs, etc. ) then I would certainly investigate the Cost vs Benefit about using it at work, if I were responsible for it.

    But, when I hack at home, I would not use anything but LISP. And it is only a matter of time when the truthfully powerful language triumphs.

    Satyameva Jayate.

    Alok

    June 4, 2006 at 8:30 pm

  14. hi there,
    nice to see your blog..
    Actually i do have one on wordpress. vrushank.wordpress.com

    Can you tell me how to do a project in CAIR. What is the minimum tenure. What are the formalities.
    Hows the work culture. Tell me whatever you want to say.
    Hoping to see your reply soon.

    vrushankbuch@gmail.com

    vrushank_buch

    November 10, 2006 at 4:03 am

  15. how are you
    Wow, a characteristic pill bug foolhardily cast prior to that casual urchin. audio digital mp3 player power up

    numnquolola

    July 22, 2007 at 2:34 am

  16. Why not create your own perfect language? Be a pioneer? That’s what I’m doing. Its been more than a year and a half of thinking through ideas, one after the other, after the other (no coding–it takes too much time), but I now have a very clear, specific picture of where I need to go in.

    The perfect language is like the chariot of Ravana (from the Ramayana)–you could fly anywhere in the world on it without stopping–the same will be true of the perfect language–if you reach a barrier, you can implement a new language feature to enlarge the borders of the language. If you hit a syntax barrier, you can extend the syntax. If you hit a paradigm barrier, you can implement a paradigm. While the world may scoff at this idea, claiming that gotos are considered harmful, or that everything should be referentially transparent, I belive that if there is even a single case for a construct, then that is the case for it. The perfect programmer will should not be hindered on the basis of making a language “fool-proof”. It’s like watching TV–the perfect TV watcher is judicious in his decision making about what to see, maximizing the entertainment value.

    They always say that if you want something done right, you have to do it yourself.

    Max

    October 23, 2007 at 8:32 pm

  17. Hi vishnuvyas,
    I heard of this CAIR, but I did not find anything it does on net or any news about it. How on earth can people get into such an organization? How they recruit people? Lot of smart guys are woking out there on silly outsourced jobs. I don’t know when our government organizations change.

    DKSR

    November 4, 2007 at 1:28 pm

  18. Buy ultram….

    Ultram. Can you use low dose naltrexone and ultram. Ultram addiction. Ultram ortho mcneil….

    Ultram er tablets.

    April 7, 2008 at 12:03 am

  19. jumble solver
    [URL=http://www.edit4l.soton.ac.uk:8081/Members/jumblesolver]jumble solver[/URL]
    joumana kidd
    [URL=http://www.edit4l.soton.ac.uk:8081/Members/joumanakidd]joumana kidd[/URL]
    overture monitor five bids nz20041109a
    [URL=http://www.edit4l.soton.ac.uk:8081/Members/overturemonitorfivebidsnz20041109a]overture monitor five bids nz20041109a[/URL]
    convert inches to centimeters
    [URL=http://www.edit4l.soton.ac.uk:8081/Members/convertinchestocentimeters]convert inches to centimeters[/URL]
    irs mileage reimbursement
    [URL=http://www.edit4l.soton.ac.uk:8081/Members/irsmileagereimbursement]irs mileage reimbursement[/URL]
    la vie boheme lyrics
    [URL=http://www.edit4l.soton.ac.uk:8081/Members/laviebohemelyrics]la vie boheme lyrics[/URL]
    sweet caroline lyrics
    [URL=http://www.edit4l.soton.ac.uk:8081/Members/sweetcarolinelyrics]sweet caroline lyrics[/URL]
    bods for mods
    [URL=http://www.edit4l.soton.ac.uk:8081/Members/bodsformods]bods for mods[/URL]
    tegan and sara lyrics
    [URL=http://www.edit4l.soton.ac.uk:8081/Members/teganandsaralyrics]tegan and sara lyrics[/URL]
    adelphia webmail
    [URL=http://www.edit4l.soton.ac.uk:8081/Members/adelphiawebmail]adelphia webmail[/URL]
    imus ranch
    [URL=http://www.edit4l.soton.ac.uk:8081/Members/imusranch]imus ranch[/URL]
    raymore and flanigan
    [URL=http://www.edit4l.soton.ac.uk:8081/Members/raymoreandflanigan]raymore and flanigan[/URL]
    birthday invitation wording
    [URL=http://www.edit4l.soton.ac.uk:8081/Members/birthdayinvitationwording]birthday invitation wording[/URL]
    northgate mall seattle
    [URL=http://www.edit4l.soton.ac.uk:8081/Members/northgatemallseattle]northgate mall seattle[/URL]
    nick scipio
    [URL=http://www.edit4l.soton.ac.uk:8081/Members/nickscipio]nick scipio[/URL]
    sears scratch and dent
    [URL=http://www.edit4l.soton.ac.uk:8081/Members/searsscratchanddent]sears scratch and dent[/URL]
    nfl combine results
    [URL=http://www.edit4l.soton.ac.uk:8081/Members/nflcombineresults]nfl combine results[/URL]
    kino tachira
    [URL=http://www.edit4l.soton.ac.uk:8081/Members/kinotachira]kino tachira[/URL]
    hey there delilah lyrics
    [URL=http://www.edit4l.soton.ac.uk:8081/Members/heytheredelilahlyrics]hey there delilah lyrics[/URL]
    red dead revolver cheats
    [URL=http://www.edit4l.soton.ac.uk:8081/Members/reddeadrevolvercheats]red dead revolver cheats[/URL]

    Hero

    February 16, 2009 at 12:58 am

  20. charles shaw wine
    [URL=http://fukolumomo5.justfree.com/charles-shaw-wine/]charles shaw wine[/URL]
    rv for rent
    [URL=http://fukolumomo5.justfree.com/rv-for-rent/]rv for rent[/URL]
    moparts
    [URL=http://fukolumomo5.justfree.com/moparts/]moparts[/URL]
    depression hurts
    [URL=http://fukolumomo5.justfree.com/depression-hurts/]depression hurts[/URL]
    tamara feldman
    [URL=http://fukolumomo5.justfree.com/tamara-feldman/]tamara feldman[/URL]
    pneumonia symptoms
    [URL=http://fukolumomo5.justfree.com/pneumonia-symptoms/]pneumonia symptoms[/URL]
    dalmation puppies
    [URL=http://fukolumomo5.justfree.com/dalmation-puppies/]dalmation puppies[/URL]
    brazil currency
    [URL=http://fukolumomo5.justfree.com/brazil-currency/]brazil currency[/URL]
    silence dogood
    [URL=http://fukolumomo5.justfree.com/silence-dogood/]silence dogood[/URL]
    park county colorado
    [URL=http://fukolumomo5.justfree.com/park-county-colorado/]park county colorado[/URL]
    free mp4 player
    [URL=http://fukolumomo5.justfree.com/free-mp4-player/]free mp4 player[/URL]
    dunhams sports
    [URL=http://fukolumomo5.justfree.com/dunhams-sports/]dunhams sports[/URL]
    goshen high school
    [URL=http://fukolumomo5.justfree.com/goshen-high-school/]goshen high school[/URL]
    cheap beds
    [URL=http://fukolumomo5.justfree.com/cheap-beds/]cheap beds[/URL]
    alfredo sauce recipe
    [URL=http://fukolumomo5.justfree.com/alfredo-sauce-recipe/]alfredo sauce recipe[/URL]
    verizon blackberry
    [URL=http://fukolumomo5.justfree.com/verizon-blackberry/]verizon blackberry[/URL]
    glock 9
    [URL=http://fukolumomo5.justfree.com/glock-9/]glock 9[/URL]
    dominick the donkey
    [URL=http://fukolumomo5.justfree.com/dominick-the-donkey/]dominick the donkey[/URL]
    scrapbook quotes
    [URL=http://fukolumomo5.justfree.com/scrapbook-quotes/]scrapbook quotes[/URL]
    dana dearmond
    [URL=http://fukolumomo5.justfree.com/dana-dearmond/]dana dearmond[/URL]

    Halo

    March 6, 2009 at 4:58 am


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: