{"id":3316,"date":"2012-06-29T08:49:43","date_gmt":"2012-06-29T07:49:43","guid":{"rendered":"https:\/\/blogs.mentor.com\/colinwalls\/?p=3316"},"modified":"2026-03-26T16:38:04","modified_gmt":"2026-03-26T20:38:04","slug":"reinventing-the-wheel","status":"publish","type":"post","link":"https:\/\/blogs.sw.siemens.com\/embedded-software\/2012\/06\/29\/reinventing-the-wheel\/","title":{"rendered":"Reinventing the wheel"},"content":{"rendered":"<p>I have always been interested in science and took that route through education, ending up with a science degree. I guess I am rather left-brained and certainly tend to look for a methodical way to do something, as opposed to an intuitive one. Having said that, I enjoy photography, which is something of a fusion of science and art, and I am told that I have a &#8220;good eye&#8221;. I also enjoy hearing, seeing and generally experiencing other people&#8217;s artistic endeavors.<\/p>\n<p>I have often wondered whether scientists &#8211; or technical people generally &#8211; might learn something from the approach taken by artists &#8230;<!--more--><\/p>\n<p>A scientist doing research or an engineer designing a product follows a clear procedure. They will carefully review all the published work on the subject and\/or look at existing products so as to avoid repeating work done by others &#8211; they do not want to &#8220;reinvent the wheel&#8221;. This seems to make sense and we accept it as being the right way to do things, but should we reconsider?<\/p>\n<p>An artist takes a different approach. If they wanted to make a painting of a bridge for example, they would not look at every painting that they can find, in order to make sure that they were doing something different and better. They might even avoid looking at others&#8217; work so as not to be influenced\/corrupted. There is a risk that they will make a picture that looks exactly like one already in existence. But the dream is that they will produce a painting that is unique and individual to the artist.<\/p>\n<p>Maybe we should develop products like this. Start from scratch and try to design a solution to the given problem. OK &#8211; nine times out of ten the result will be no different from existing products. But, once in a while, a completely original approach will emerge and something new and novel will result. Would that be worth the investment?<\/p>\n<p>The idea is not totally new. I, for example, wrote a real time kernel a few years back. Its functionality was specified by the documentation for an existing kernel, so mine was a &#8220;clean room&#8221; implementation, as I never saw the original code. Was my code different? Almost definitely. Was it better? That is a good question, which was never investigated.<\/p>\n<p>Novel approaches can go wrong. In the early [pre-Windows] days of the PC, a vital program was the Lotus 123 spreadsheet. The vendors [IBM by then, if I recall correctly] introduced an entirely new kind of spreadsheet, based on a new paradigm, called Improv. As users adopted Windows, they flocked to Microsoft Excel&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I have always been interested in science and took that route through education, ending up with a science degree. I&#8230;<\/p>\n","protected":false},"author":71677,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spanish_translation":"","french_translation":"","german_translation":"","italian_translation":"","polish_translation":"","japanese_translation":"","chinese_translation":"","footnotes":""},"categories":[1],"tags":[302],"industry":[],"product":[],"coauthors":[],"class_list":["post-3316","post","type-post","status-publish","format-standard","hentry","category-news","tag-off-topic"],"_links":{"self":[{"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/posts\/3316","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/users\/71677"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/comments?post=3316"}],"version-history":[{"count":1,"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/posts\/3316\/revisions"}],"predecessor-version":[{"id":10080,"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/posts\/3316\/revisions\/10080"}],"wp:attachment":[{"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/media?parent=3316"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/categories?post=3316"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/tags?post=3316"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/industry?post=3316"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/product?post=3316"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blogs.sw.siemens.com\/embedded-software\/wp-json\/wp\/v2\/coauthors?post=3316"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}