Daniel Lemire's blog

, 6 min read

What ten years teaching a technical topic in college taught me…

8 thoughts on “What ten years teaching a technical topic in college taught me…”

  1. Eugene says:

    I hope nobody minds if I share a personaly story. In 2001, XML was in high demand. Managers expected XML based solutions. Like they expect you to project manage in Agile/Scrum style today. I was asked to build a scriptig language to convert from one financial exchange protocol to another. I did it. It was very successful. I felt like I created a language that did a little too much.

    In retrospect, XML was the right choice providing structure, validation and easy parser APIs to go from file to structure in the code and back. It also helped to evolve and refactor the syntax.

    Over the next years, XML was forced into other areas, specifically messaging where it did not belong. Instead of using a plain POJO, people thought it would be cool to wrap data into XML. Performance aside, it did not add much value and created a ton of translation nuisances because XML was that flexible.

    Finally, I read, “XML – monumental letdown on WallSt”. It described how I felt.

    I find XML to be a great technology. But knowing when and where to use one is equally important. So those examples highlighting the right and wrong usage should be at the top of every instructors list.


  2. Dominic Amann says:

    Good work. I expect you will give some attention to C++ template programming! Pure Functional Programming from the c++ compiler no less.

  3. Alberto Avanzi says:


    did you ever consider to make a MOOC out of your next course on Advanced Programming Techniques? I asked because by reading this post I concluded that I wanted to take part in that course, but, shame, it’s on the other side of the planet (almost).


  4. Benoit says:

    What separates the amateurs from the pros is that the pros focus on mastering the fundamentals.

    I looked for the source of that quote but couldn’t find it. It may have been about chess or go, but definitely applicable to CS.

  5. Mark S says:

    >>> some students blamed me for not covering specific XML technologies

    Even Tim Bray (a coauthor of the original XML spec) would have agreed with you on not focusing on so many newly invented XML languages, in 2006.

    [1] http://www.tbray.org/ongoing/When/200x/2006/01/08/No-New-XML-Languages

    (As a side note, it’s kind of scary to see how even the Big Five he proposed don’t seem to be playing a big role these days. But maybe I’m missing something.)

  6. @Mark

    It is scary how wrong Tim Bray was in 2006 about XML.

  7. Mark S says:


    Well, I think the core message of the article (“Don’t waste time and effort making new XML languages”) is more correct than ever.

    But I agree that he was wrong about the “use one of the Big Five before inventing any new one” part because it looks like people chose to ignore XML altogether.

  8. Asraful says:

    we can consider XML is a legacy ! afterwards 2015 , still XML is used even in new project , its important what will we use its depends on requirement and situation of project , or what we want to achieve end of the day by using specific technology/tool/language .

    if MOOC come up by Daniel , i will participate in the course in first batch for sure.