Programming is Fun (Again)

I’ve been programming since 1975 and, boy, are my arms tired 🙂

Throughout these times, I’ve seen numerous developments that have made programming easier or harder. Consider this:

I first started programming when I was 15 years old. This was on a Univac 1108 running an interactive BASIC interpreter. As this was my first development environment, I thought it was great. I wrote a cool football game. Call the score +1.

The following year, I took a Fortran class where we had to punch card decks and wait several days for our output to be returned. Life without a “backspace” key is very painful. Running score: -5.

My first “microcomputer” was a Scelbi 8H (Intel 8008) computer. I had to enter machine language programs (hand assembled) using front panel switches in a very, very, primitive way (even more so than on the Altair or PDP 8 or other front panel computers). Running score: -20.

The arrival of the Altair 8800 greatly improved things. I used Microsoft BASIC and was able to store programs on big 8″ floppy disks instead of unreliable cassette tape. Running score: +10.

In college, it was back to punched cards on an IBM 360. At least we got to prepare our “virtual card decks” on a 370 running VM/CMS and we got back our results in an hour or two. Life is much better with a backspace key. Running score: +5. 

Worked on an Apple II running UCSD Pascal. Color graphics, a cool IDE and the first incarnation of “DLLs” (Pascal packages). Running score: +20.

Went to work at HP. First used HP3000 to cross-compile Pascal to x86, but then started using IBM PCs and Lattice C compiler. Used Microsoft “debug” program at first and then Microsoft CodeView. Great stuff. Running score: +50.

Got a job at Microsoft. Started writing C++ code using cfront based compiler. Lots of multiple inheritance, virtual inheritance, templated classes. A one-line C++ constructor call turns into a 75 line C statement with about 120 comma operators. Program takes 7 hours to build. Writing Windows applications requires message loops and wndprocs not to mention dealing with near, medium and far pointers. Running score: +25.

We (I was in the Developer Tools group) deliver QuickC for Windows and Visual C++ 2.0 for Windows NT. We say goodbye to 16-bit applications. We deliver MFC and we facilitate “visual programming” in order to make Windows programming easier. Running score: +40.

Everything goes OLE/COM. The ATL library is released to help with COM. Running score: +25.

I leave Microsoft. Microsoft releases C# and .NET. Writing Windows applications is really, really, easy now. The .NET interop stuff makes COM a little easier, too. Not having to worry about memory overwrites and leaks: priceless. Running score: +40.

I start Likewise Software (Centeris, back then). Microsoft releases .NET 2.0 and MMC 3.0. It becomes ridiculously easy to write complicated applications that combine Winforms applications, web services, database access, LDAP access and just about anything else that you can think of. Running score: +100.

At the risk of sounding like a crusty old programmer, today’s programmers don’t know how good they have it. It’s rare for me to find a developer who can code an insert-into-a-sorted-singly-linked-list function without screwing up a corner condition or two. This isn’t surprising – who cares about data structures and standard algorithms anymore when you can declare a List<string> and then call the List.Sort() function? Who cares whether the sort is amortized on the insert or performed repeatedly every time you call Sort()! CPU cycles are cheap and plentiful.

There has been no better time to be a software developer. It is possible to develop insanely complicated applications by building on top of existing components. Todays compilers, editors, debuggers and run-time libraries are a joy to use compared to their predecessors.

By the way, unless you worked at Borland or in the Developer Tools group of Microsoft you probably don’t know that a lot of praise is due to one particular person who’s made a lot of this goodness happen. In the 1980s, Anders Hejlsberg developed Turbo Pascal. Turbo Pascal took everything that UCSD Pascal had done earlier and did it much better. It provided an IDE that integrated an editor and an extremely fast compiler. Beyond this, however, Turbo Pascal provided a run-time library that was the work of genius. Instead of having to call into the operating system or manipulate the hardware directly, 9 times out of 10, the library had exactly the functionality you were looking for.

At the time, I was working in the Developer Tools group at Microsoft and Borland was our arch enemy. Borland released Turbo C – a great product on its own – but we were lucky that Anders never turned his attentions to C. While Microsoft eventually won the C++ battle (mostly, through the introduction of Visual C++ and MFC), Anders turned his attentions to Delphi. Delphi did some extremely clever things to make forms-oriented Windows programming easier.

Microsoft ultimately hired just about everyone from Borland: Brad Silverberg, Paul Gross and Sin Lew, for example. A couple of years later, at considerable cost, Microsoft finally hired Anders. Anders became the architect of C# and a key contributor to the .NET initiative. If the ACM would bother to look beyond academia, Anders would be a prime candidate for a Turing.

48 Responses to “Programming is Fun (Again)”

  1. LesSpak says:

    Dosis Kamagra Jelly cialis for sale For Sale Zentel Amoxicillin Anxiety Predizone On Line Supplier

  2. Royal CBD says:

    Its like you read my mind! You seem to know a lot about this, like you wrote the book in it or something.
    I think that you could do with a few pics to drive the message home a bit, but instead
    of that, this is fantastic blog. A fantastic read. I’ll certainly be back.

    P.S. If you have a minute, would love your feedback on my new website
    re-design. You can find it by searching for
    «royal cbd» — no sweat if you can’t.

    Keep up the good work!

  3. agen bandarQ says:

    You’re so interesting! I don’t think I’ve read through something
    like that before. So good to discover somebody with genuine thoughts on this issue.

    Seriously.. thank you for starting this up.

    This web site is something that is needed on the internet, someone with a
    bit of originality!

  4. bandarq says:

    Fine way of describing, and pleasant paragraph to take data about my presentation focus, which i am going
    to deliver in institution of higher education.

  5. dominoqq says:

    I am now not sure where you’re getting your information, but good topic.
    I needs to spend a while learning much more or understanding more.
    Thank you for excellent information I used to be searching for this
    info for my mission.

  6. bandarq says:

    Programming is Fun (Again) « And Then…
    kombinasi kartu dominoqqhttp://mapcz.com/home.php?mod=space&uid=13606&do=profile&from=space capsa dominoqq

  7. Austin says:

    I got this web site from my friend who informed
    me concerning this web page and at the moment this
    time I am browsing this web site and reading very informative
    content here.

  8. I visit each day some web sites and information sites to read articles, but this weblog offers feature based articles.

  9. 건마 says:

    Oh my goodness! Incredible article dude! Thank you so much,However I am encountering difficulties with 건마your RSS.I don’t understand the reason why I cannot subscribe toit. Is there anybody else getting similar RSS problems?Anyone that knows the answer will you kindly respond? Thanks!!

  10. Julie says:

    Hey there! Someone in my Facebook group shared
    this website with us so I came to look it over.

    I’m definitely loving the information. I’m book-marking and will be tweeting this to my followers!

    Wonderful blog and outstanding style and design.

  11. Adam says:

    Hi to every body, it’s my first pay a visit of this website; this blog carries awesome and genuinely good material in favor of visitors.

  12. Ashley says:

    Amazing blog! Do you have any hints for aspiring writers?
    I’m planning to start my own site soon but I’m a little lost on everything.
    Would you recommend starting with a free platform like WordPress or go for a paid option? There are
    so many choices out there that I’m completely confused ..
    Any recommendations? Bless you!

  13. Joan says:

    Hurrah! At last I got a webpage from where I be able to really obtain valuable data
    regarding my study and knowledge.

  14. Virginia says:

    Thanks for sharing your info. I truly appreciate your efforts and I
    am waiting for your further post thank you once again.

  15. Nicole says:

    Attractive component to content. I just stumbled upon your
    website and in accession capital to say that I get in fact enjoyed account your blog posts.
    Any way I’ll be subscribing for your feeds and even I success you get right of entry to consistently rapidly.

  16. Jason says:

    I loved as much as you will receive carried out right here.
    The sketch is attractive, your authored subject matter
    stylish. nonetheless, you command get bought an impatience over that
    you wish be delivering the following. unwell unquestionably come further formerly again as exactly the same nearly very often inside case you shield this hike.

  17. Jeffrey says:

    Usually I don’t learn post on blogs, but I wish to say that this write-up very compelled me to check out and do it!
    Your writing taste has been surprised me. Thank you,
    very great post.

  18. Rebecca says:

    Hi, its nice article about media print, we all be
    aware of media is a enormous source of information.

  19. Christine says:

    Thanks very interesting blog!

  20. Ethan says:

    This design is steller! You obviously know how to keep a reader entertained.
    Between your wit and your videos, I was almost moved to start my own blog (well, almost…HaHa!) Excellent job.
    I really enjoyed what you had to say, and more than that, how you presented it.
    Too cool!

  21. Henry says:

    Hi there to every one, the contents present at this website are genuinely amazing
    for people experience, well, keep up the nice work fellows.

  22. Kathryn says:

    Hi this is kind of of off topic but I was wondering if blogs use WYSIWYG editors or if you have to manually code with HTML.
    I’m starting a blog soon but have no coding skills so I wanted to get advice from someone with
    experience. Any help would be greatly appreciated!

  23. Amanda says:

    Hi! Do you know if they make any plugins to protect against hackers?
    I’m kinda paranoid about losing everything I’ve worked
    hard on. Any recommendations?

  24. Noah says:

    Simply wish to say your article is as amazing. The clarity on your post is just cool and that i can suppose you’re a professional
    in this subject. Fine together with your permission let me
    to grab your RSS feed to stay up to date with forthcoming post.
    Thank you one million and please carry on the gratifying work.

  25. Katherine says:

    What i don’t understood is in reality how you are now not really a
    lot more well-liked than you may be now. You’re very intelligent.
    You understand thus considerably in terms of this matter, produced
    me in my opinion believe it from so many numerous angles.
    Its like men and women don’t seem to be involved except it is one thing to do with Woman gaga!
    Your own stuffs great. All the time handle it up!

  26. Brenda says:

    Hello! I could have sworn I’ve visited this blog before but after browsing through many of the
    articles I realized it’s new to me. Regardless, I’m certainly happy
    I discovered it and I’ll be bookmarking it and checking back regularly!

  27. Bruce says:

    I’m not that much of a internet reader to be honest but your sites really nice,
    keep it up! I’ll go ahead and bookmark your website to come back later on. All the best

  28. Bobby says:

    Thank you for some other informative site. The place else may
    just I am getting that type of info written in such a perfect approach?
    I’ve a project that I’m just now running on, and I have been on the glance out for such information.

  29. Dylan says:

    It’s going to be ending of mine day, except before finish I
    am reading this fantastic piece of writing to improve my experience.

  30. Why people still make use of to read news papers when in this
    technological globe the whole thing is available
    on web?

  31. Very nice post. I just stumbled upon your weblog and wanted to say
    that I have truly enjoyed surfing around your blog posts. After all I will be subscribing to your feed and I hope you write again very soon!

  32. Kayla says:

    When someone writes an paragraph he/she maintains the image of a user in his/her brain that how a user can understand it.
    Thus that’s why this piece of writing is perfect. Thanks!

  33. Brenda says:

    With havin so much written content do you ever run into any problems
    of plagorism or copyright infringement? My blog has a lot of unique content I’ve either created myself or outsourced but it seems a lot of it is popping it up all
    over the internet without my authorization. Do you
    know any solutions to help stop content from being stolen? I’d certainly appreciate it.

  34. Natalie says:

    Wow that was strange. I just wrote an very long comment but after
    I clicked submit my comment didn’t appear. Grrrr…
    well I’m not writing all that over again. Regardless, just wanted to say excellent blog!

  35. Pretty nice post. I just stumbled upon your weblog and wished
    to say that I’ve really enjoyed surfing around your blog posts.

    After all I’ll be subscribing to your rss feed and I hope you
    write again very soon!

  36. Neal says:

    Hey there! Do you know if they make any plugins to help with SEO?

    I’m trying to get my blog to rank for some targeted keywords but I’m not seeing very good results.
    If you know of any please share. Many thanks!

  37. Arthur says:

    I am really enjoying the theme/design of your weblog. Do you ever run into any browser compatibility issues?
    A small number of my blog audience have complained about my website not operating correctly in Explorer but looks
    great in Chrome. Do you have any suggestions to help fix this issue?

  38. Its like you read my mind! You seem to know a lot about this,
    such as you wrote the e book in it or something. I believe that
    you simply could do with some % to drive the message
    house a bit, but instead of that, that is fantastic blog.
    A great read. I will certainly be back.

  39. Alexander says:

    I have been browsing online more than 4 hours today, yet I never found
    any interesting article like yours. It’s pretty worth enough for me.
    Personally, if all site owners and bloggers made good content as you did,
    the net will be a lot more useful than ever before.

  40. Hi there friends, its wonderful piece of writing regarding educationand entirely explained,
    keep it up all the time.

  41. What’s up, after reading this awesome post i am also cheerful to share my familiarity here with mates.

  42. I do not even understand how I finished up right here,
    however I assumed this publish was once great.

    I do not understand who you are but definitely you are going to a well-known blogger
    in case you aren’t already. Cheers!

  43. Beverly says:

    My coder is trying to persuade me to move to .net from PHP.
    I have always disliked the idea because of the expenses.
    But he’s tryiong none the less. I’ve been using Movable-type on various
    websites for about a year and am concerned about switching to another platform.
    I have heard great things about blogengine.net.
    Is there a way I can import all my wordpress posts into it?

    Any kind of help would be greatly appreciated!

  44. Hey there I am so grateful I found your blog, I really found you by mistake, while I was searching on Google
    for something else, Anyways I am here now and would just like to say cheers
    for a fantastic post and a all round exciting
    blog (I also love the theme/design), I don’t have time
    to read through it all at the moment but I have saved it and also added your RSS feeds,
    so when I have time I will be back to read more, Please do keep
    up the excellent work.

  45. Good answer back in return of this question with genuine arguments and describing the whole thing concerning that.

  46. Please let me know if you’re looking for a author for
    your site. You have some really good posts and I believe I
    would be a good asset. If you ever want to take some of the load off,
    I’d really like to write some articles for your blog in exchange for a link back to mine.
    Please send me an e-mail if interested. Many thanks!

  47. Heya i’m for the primary time here. I came across this board and I find It truly helpful
    & it helped me out a lot. I am hoping to offer something back and
    aid others such as you helped me.

Leave a Reply