Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the ionos-performance domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /homepages/36/d199566830/htdocs/app199566839/wp-includes/functions.php on line 6114
Programming is Fun (Again) – And Then…

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.


237 responses to “Programming is Fun (Again)”

  1. 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!

  2. 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!

  3. 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.

  4. 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.

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

  6. 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.

  7. 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!!

  8. 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.

  9. 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.

  10. 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!

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

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

  13. 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.

  14. 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.

  15. 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.

  16. 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!

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

  18. 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!

  19. 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?

  20. 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.

  21. 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!

  22. 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!

  23. 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

  24. 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.

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

  26. 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!

  27. 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.

  28. 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!

  29. 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!

  30. 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?

  31. 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.

  32. 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.

  33. 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!

  34. 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!

  35. 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.

  36. 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!

  37. 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.

  38. We’re a group of volunteers and opening a new scheme
    in our community. Your web site provided us with valuable info to work on. You’ve
    done an impressive job and our whole community will be
    grateful to you.

  39. Excellent post. I was checking constantly this blog and I’m impressed!
    Very useful information specially the remaining part 🙂 I deal
    with such information much. I used to be looking for this certain information for a long time.
    Thanks and best of luck.

  40. With havin so much content and articles do you ever run into any problems of plagorism or copyright violation? My
    site has a lot of unique content I’ve either created myself or outsourced but it looks like a lot of
    it is popping it up all over the web without my agreement.
    Do you know any techniques to help protect against content
    from being stolen? I’d really appreciate it.

  41. I don’t even know how I ended up here, but I thought this post was good.
    I don’t know who you are but certainly you’re going to a famous blogger if you
    aren’t already 😉 Cheers!

  42. Taxi moto line
    128 Rue la Boétie
    75008 Paris
    +33 6 51 612 712  

    Taxi moto paris

    you are really a excellent webmaster. The web site loading velocity
    is incredible. It seems that you are doing any unique trick.
    Also, The contents are masterwork. you have performed a magnificent job in this topic!

  43. I was very happy to uncover this page. I want to to thank you for your time for this fantastic read!!

    I definitely loved every little bit of it and I have
    you saved as a favorite to see new information on your website.

  44. Excellent post. I was checking continuously this blog and I
    am impressed! Extremely useful information specifically the last part
    🙂 I care for such info a lot. I was looking for this
    particular info for a very long time. Thank you and good luck.

  45. Good day! Would you mind if I share your blog with my zynga group?
    There’s a lot of people that I think would really appreciate your
    content. Please let me know. Thanks

  46. After I initially left a comment I seem to have
    clicked the -Notify me when new comments are added- checkbox and from now on every time a
    comment is added I get 4 emails with the same
    comment. Is there a way you can remove me from that service?

    Thank you!

  47. Greetings I am so excited I found your webpage, I really found you by mistake, while I was looking on Google for something
    else, Regardless I am here now and would just like to say kudos for a remarkable
    post and a all round entertaining blog (I also love the theme/design), I don’t have time
    to browse it all at the moment but I have saved it
    and also included your RSS feeds, so when I have time I will be back to read
    a great deal more, Please do keep up the fantastic work.

  48. Excellent blog here! Also your website loads up fast!
    What host are you using? Can I get your affiliate link to your host?
    I wish my site loaded up as quickly as yours lol

  49. Hi, Neat post. There is an issue along with your
    web site in web explorer, might test this? IE still is the marketplace
    chief and a good section of people will pass
    over your magnificent writing due to this problem.

  50. Just desire to say your article is as astounding. The clearness in your
    publish is just spectacular and i can suppose
    you’re an expert in this subject. Well together with
    your permission let me to grasp your feed to keep up to
    date with imminent post. Thank you a million and please carry on the rewarding work.

Leave a Reply

Your email address will not be published. Required fields are marked *