<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Object Mentor Blog: There will be code</title>
    <link>http://blog.objectmentor.com/articles/2008/08/28/there-will-be-code</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description></description>
    <item>
      <title>There will be code</title>
      <description>&lt;p&gt;During the last three decades, several things about software development have changed, and several other things have not.  The things that have changed are startling.  The things that have not are even more startling.&lt;/p&gt;


	&lt;p&gt;What has changed?  Three decades have seen a 1000 fold increase in speed, another 1000 fold increase in memory. Yet another 1000 fold decrease in size (by volume), and yet another 1000 fold decrease in power consumption.  Adding up all those zeros implies that the resources we have to play with have increased by twelve orders of magnitude.  Even if I have over estimated by five orders of magnitude the remaining seven are still and astounding increase.&lt;/p&gt;


	&lt;p&gt;I remember building &lt;span class="caps"&gt;RSX&lt;/span&gt;-11M on a &lt;span class="caps"&gt;PDP&lt;/span&gt;-11/60 from source.  It took several hours.  Nowadays I can build huge java applications in a matter of seconds.  I remember that compiling small C programs required dozens of minutes.  Now much larger programs compile in a eyeblink.  I remember painstakingly editing assembly language on punch cards.  Now I use refactorings in huge java programs without thinking about it.   I remember when 10,000 lines of code was five boxes of cards that weighed 50 pounds.  Now, such a program is considered trivial.&lt;/p&gt;


	&lt;p&gt;Nowadays we have &lt;em&gt;tools&lt;/em&gt;!  We have editors that compile our code while we type, and complete our thoughts for us.  We have analyzers that will find code duplication in huge systems, and identify flaws and weaknesses.  We have code coverage tools that will tell us each line of code that our unit tests fail to execute.  We have refactoring browsers that allow us to manipulate our code with unprecedented power and convenience.&lt;/p&gt;


	&lt;p&gt;But in the face of all this massive change, this rampant growth, this almost unlimited wealth of resources, there is something that hasn&amp;#8217;t changed much at all.  Code.&lt;/p&gt;


	&lt;p&gt;Fortran, Algol, and Lisp are over fifty years old.  These language are the clear progenitors of the static and dynamic languages we use today.  The roots of C++, Java, and C# clearly lie in Algol and Fortan.  The connection between Lisp, and Ruby, Python, and smalltalk may be less obvious, but only slightly so.  Today&amp;#8217;s modern language may be rich with features and power, but they are not 12 orders of magnitude better than their ancestors.  Indeed, it&amp;#8217;s hard to say that they are even &lt;span class="caps"&gt;ONE&lt;/span&gt; order of magnitude better.&lt;/p&gt;


	&lt;p&gt;When it comes down to it.  We still write programs made out of calculations, &amp;#8216;if&amp;#8217; statements, and &amp;#8216;for&amp;#8217; loops.  We still assign values into variables and pass arguments into functions.  Programmers from 30 years ago might be surprised that we use lower case letters in our programs, but little else would startle them about the code we write.&lt;/p&gt;


	&lt;p&gt;We are like carpenters who started out using hammers and saws, and have progressed to using air-hammers and power saws.  These power tools help a lot; but in the end we are still cutting wood and nailing it together.  And we probably will be for the next 30 years.&lt;/p&gt;


	&lt;p&gt;Looking back we see that &lt;em&gt;what&lt;/em&gt; we do hasn&amp;#8217;t changed all that much.  What has changed are the tools and resources we can apply to the task.  Looking forward I anticipate that the current trend will continue.  The tools will get better, but the code will still be code.  We may see some &amp;#8220;minor&amp;#8221; improvements in languages and frameworks, but we will still be slinging code.&lt;/p&gt;


	&lt;p&gt;Some folks have put a great deal of hope in technologies like &lt;span class="caps"&gt;MDA&lt;/span&gt;.  I don&amp;#8217;t.  The reason is that I don&amp;#8217;t see &lt;span class="caps"&gt;MDA&lt;/span&gt; as anything more than a different kind of computer language.  To be effective it will still need &amp;#8216;if&amp;#8217; and &amp;#8216;for&amp;#8217; statements of some kind.  And &amp;#8216;programmers&amp;#8217; will still need to write programs in that language, because details will still need to be managed.  There is no language that can eliminate the programming step, because the programming step is the translation from requirements to systems irrespective of language.  &lt;span class="caps"&gt;MDA&lt;/span&gt; does not change this.&lt;/p&gt;


	&lt;p&gt;Some folks have speculated that we&amp;#8217;ll have &amp;#8220;intelligent agents&amp;#8221; based on some kind of AI technology, and that these agents will be able to write portions of our programs for us.  The problem with this is that we already have intelligent agents that write programs for us.  They are called programmers.  It&amp;#8217;s difficult to imagine a program that is able to communicate to a customer and write a program better than a human programmer.&lt;/p&gt;


	&lt;p&gt;So, for the foreseeable future I think software will remain the art of crafting code to meet the requirements of our customers.&lt;/p&gt;


	&lt;p&gt;There is something else that &lt;em&gt;needs&lt;/em&gt; to change, however.  And I believe it &lt;em&gt;is&lt;/em&gt; changing.  Our professionalism.&lt;/p&gt;


	&lt;p&gt;In some ways our &amp;#8220;profession&amp;#8221; has paralleled that of medicine.  300 years ago there were a few thinkers, and far too many practitioners.  There were no standards, no common rituals or behaviors, no common disciplines.  If you got sick you might go to a barber, or a healer.  Perhaps he&amp;#8217;d let out some blood, or ask you to wear some garlic.  Over time, however, the few thinkers gained knowledge, discipline, and skill.  They adopted standards and rituals.  They set up a system for policing and maintaining those standards, and for training and accepting new members.&lt;/p&gt;


	&lt;p&gt;&lt;span class="caps"&gt;THIS&lt;/span&gt; is the change that I hope the next thirty years holds for software development.&lt;/p&gt;</description>
      <pubDate>Thu, 28 Aug 2008 21:02:45 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:9b767ed1-f4cb-4e8e-a628-e0fc044496a6</guid>
      <author>Uncle Bob</author>
      <link>http://blog.objectmentor.com/articles/2008/08/28/there-will-be-code</link>
      <category>Uncle Bob's Blatherings</category>
      <category>Clean Code</category>
    </item>
    <item>
      <title>"There will be code" by wholesale new era hat  </title>
      <description>&lt;p&gt;The September downgrades were due to the bank&amp;#8217;s exposure to Greece in the case of Credit Agricole, and Moody&amp;#8217;s view that the bank no longer enjoyed the same level of government support in the case of Societe General.&lt;a href="http://www.wholesalenewerahatscaps.com/" rel="nofollow"&gt;http://www.wholesalenewerahatscaps.com/&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Mon, 12 Dec 2011 20:17:30 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:a89c4ac0-5970-4fe7-a69d-07b586436a7d</guid>
      <link>http://blog.objectmentor.com/articles/2008/08/28/there-will-be-code#comment-185830</link>
    </item>
    <item>
      <title>"There will be code" by ysbearing</title>
      <description>&lt;p&gt;Slewing ring is also called slewing bearing, some people called: rotary support, swing support. English Name: slewing bearing or slewing ring bearing or turn table bearing, slewing ring in the real industrial applications is very wide.&lt;/p&gt;</description>
      <pubDate>Wed, 19 Oct 2011 03:28:33 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:e83ccae4-e053-4c05-a0ea-a5c7e2a32697</guid>
      <link>http://blog.objectmentor.com/articles/2008/08/28/there-will-be-code#comment-159511</link>
    </item>
    <item>
      <title>"There will be code" by cheap tisa snapbacks</title>
      <description>&lt;p&gt;This is a major problem. Whatever selection The united states prefers this kind of Late may gain not just the legal right to oversee the country, he&amp;#8217;ll have got our prime freedom with losing the earliest frequency as soon as the The year just gone soccer period commences.Purportedly,&lt;a &gt;discount designer handbag&lt;/a rel="nofollow"&gt; the next web design manager could have your available funds with an real built in 59fifty limit, rather than the great buy style demonstrated here. I bought this cap at a Wal-Mart inside The year 2005 if your Nation&amp;#8217;s Group expanded to include the actual Nats.I used to be happy how the operation brought back the actual vintage software ???W using a reddish colored cap,&lt;a &gt;gucci scarf&lt;/a rel="nofollow"&gt; identical to your style worn with the California Senators associated with my children&amp;#8217;s.People ended up being a hapless Senators 2.0, the actual operation in which had become the Tx Ranger. The initial Senators bolted a Area associated with The philipines prior to along with had become the Minnesota Mixed twins.I have dug online diligently intended for photos involving McCain as well as Obama dressed in &lt;a &gt;cheap tisa snapback hats&lt;/a rel="nofollow"&gt;, and i seemed to be stunned to discover comparatively very few. I found shots associated with Government using a new Celtics Crimson Sox plus hat, however, not anything else. The revolutionary You are able to Situations records in which Ruben McCain typically wears lids to protect their skin on the sunlight, even though photograph together with the account showed them using just what exactly usually any limitation with an American a flag.&lt;/p&gt;</description>
      <pubDate>Fri, 07 Oct 2011 04:49:19 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:a02f85fe-5e33-4e50-a9f6-c8c77616a645</guid>
      <link>http://blog.objectmentor.com/articles/2008/08/28/there-will-be-code#comment-152331</link>
    </item>
    <item>
      <title>"There will be code" by renlewei</title>
      <description>&lt;p&gt;&lt;a href="http://www.saleguccinewbags.com/gucci-shoulder-bags-c-55.html " rel="nofollow"&gt;Gucci Shoulder Bags&lt;/a&gt;
&lt;a href="http://www.saleguccinewbags.com/gucci-clutches-c-48.html" rel="nofollow"&gt;Gucci Clutches&lt;/a&gt;
&lt;a href=" &lt;a href=" rel="nofollow"&gt;http://www.saleguccinewbags.com/gucci-boston-bags-c-58.html&lt;/a&gt;"&gt;Gucci Boston Bags
&lt;a href="http://www.saleguccinewbags.com/gucci-messenger-bags-c-59.html " rel="nofollow"&gt;Gucci Messenger Bags&lt;/a&gt;
&lt;a href="http://www.saleguccinewbags.com/" rel="nofollow"&gt;authentic discount gucci bags&lt;/a&gt;
&lt;a href="http://www.saleguccinewbags.com/" rel="nofollow"&gt;authentic discounted gucci bags&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Tue, 20 Sep 2011 04:21:23 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:c52312d2-fa82-487e-a77e-75ad248b4918</guid>
      <link>http://blog.objectmentor.com/articles/2008/08/28/there-will-be-code#comment-143185</link>
    </item>
    <item>
      <title>"There will be code" by cheap baseball hats</title>
      <description>&lt;p&gt;I am sure to all the commenters here!
&lt;a href="http://www.capshoponline.com/" rel="nofollow"&gt;http://www.capshoponline.com/&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Sat, 17 Sep 2011 03:52:28 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:20dde8ee-bf0c-4816-8327-e5498dec497a</guid>
      <link>http://blog.objectmentor.com/articles/2008/08/28/there-will-be-code#comment-141672</link>
    </item>
    <item>
      <title>"There will be code" by [url=http://www.cheaphatsale.com/][url]Wholesale New Era Hats[/b][/url]</title>
      <description>&lt;p&gt;thanks for your sharing,it&amp;#8217;s intersting, i will be your first victor.last time&lt;/p&gt;</description>
      <pubDate>Fri, 09 Sep 2011 23:03:06 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:ff1f3e52-6c8b-4a6f-b6e4-24764fabecac</guid>
      <link>http://blog.objectmentor.com/articles/2008/08/28/there-will-be-code#comment-138971</link>
    </item>
    <item>
      <title>"There will be code" by Henry Jack</title>
      <description>&lt;p&gt;There is but one step from the sublime to the ridiculous.
&lt;a href="http://www.newsnapbackcaps.com/mlb-hats-new-york-yankees-hats-c-1742_1868.html" rel="nofollow"&gt;new york yankees hats and caps&lt;/a&gt;    
&lt;a href="http://www.newsnapbackcaps.com/" rel="nofollow"&gt;fitted caps cheap&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Mon, 08 Aug 2011 19:32:45 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:3697c229-a3be-45b0-bc38-a905f60436d9</guid>
      <link>http://blog.objectmentor.com/articles/2008/08/28/there-will-be-code#comment-125864</link>
    </item>
    <item>
      <title>"There will be code" by San Diego DUI Attorney </title>
      <description>&lt;p&gt;I am pretty much amazed of the article content. I learned a lot from the interesting topics that are being discussed. It&#8217;s my pleasure to visit and learned things and facts of this page. I will be visiting this site more often for I am very intrigue with the topic that indeed catches my interest.&lt;/p&gt;</description>
      <pubDate>Fri, 05 Aug 2011 09:05:31 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:99e83061-a92e-4a67-a3d1-078afb8ee086</guid>
      <link>http://blog.objectmentor.com/articles/2008/08/28/there-will-be-code#comment-124866</link>
    </item>
    <item>
      <title>"There will be code" by okey oyunu oyna </title>
      <description>&lt;p&gt;nice.&lt;/p&gt;


	&lt;p&gt;internette g&#246;r&#252;nt&#252;l&#252; olarak &lt;a href="http://www.okeyoyunu-oyna.com" rel="nofollow"&gt;okey oyunu oyna&lt;/a&gt;, ger&#231;ek kisilerle tanis,
 turnuva heyecanini yasa.&lt;/p&gt;</description>
      <pubDate>Wed, 27 Apr 2011 13:43:48 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:4b143e94-fc3a-4e5f-812d-a0b0a38f1468</guid>
      <link>http://blog.objectmentor.com/articles/2008/08/28/there-will-be-code#comment-91880</link>
    </item>
    <item>
      <title>"There will be code" by SEO Firm India</title>
      <description>&lt;p&gt;It looks like you have really placed a lot of effort into your blog and I require more of these on the web these days. My husband actually loved your article. I don&amp;#8217;t have a great deal to say in retort, I only this minute wanted to comment to say well done.&lt;/p&gt;</description>
      <pubDate>Fri, 18 Mar 2011 13:32:44 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:5ff2bc67-42f5-4429-9cee-f1352ad76510</guid>
      <link>http://blog.objectmentor.com/articles/2008/08/28/there-will-be-code#comment-73692</link>
    </item>
    <item>
      <title>"There will be code" by Criminal Records</title>
      <description>&lt;p&gt;Not that they should have, but after half a century of development, shouldnt we expect standard interfaces for the most common applications instead of a set of guidelines, best practices and de-facto standards?&lt;/p&gt;</description>
      <pubDate>Thu, 17 Feb 2011 17:04:00 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:74104f4c-c8c9-4142-9fbb-7e51a71275d0</guid>
      <link>http://blog.objectmentor.com/articles/2008/08/28/there-will-be-code#comment-63970</link>
    </item>
    <item>
      <title>"There will be code" by Tenant Screening</title>
      <description>&lt;p&gt;Some of the topics you touched on resonate with me, and these views also seem to be in synchronism with Dewar and Shonberg&#8217;s article (hope the link posts properly) that I found very much matching how I think about the state of the software world today.&lt;/p&gt;</description>
      <pubDate>Thu, 17 Feb 2011 15:14:20 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:35ad3500-2078-44b9-8d82-b705c34fa5b6</guid>
      <link>http://blog.objectmentor.com/articles/2008/08/28/there-will-be-code#comment-63901</link>
    </item>
    <item>
      <title>"There will be code" by smart card</title>
      <description>&lt;p&gt;This makes perfect sense, code is the building blocks of the web, I don&amp;#8217;t see that going anywhere, anytime soon.&lt;/p&gt;</description>
      <pubDate>Mon, 31 Jan 2011 14:02:24 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:c7bc61ec-ed4e-49a2-9d4f-7bf0721c2a27</guid>
      <link>http://blog.objectmentor.com/articles/2008/08/28/there-will-be-code#comment-60502</link>
    </item>
    <item>
      <title>"There will be code" by Criminal Check</title>
      <description>&lt;p&gt;So, for the foreseeable future I think software will remain the art of crafting code to meet the requirements of our customers.&lt;/p&gt;</description>
      <pubDate>Thu, 27 Jan 2011 17:24:21 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:dcfbadae-14d3-49ed-b6a0-cd76adc9ff5b</guid>
      <link>http://blog.objectmentor.com/articles/2008/08/28/there-will-be-code#comment-59893</link>
    </item>
    <item>
      <title>"There will be code" by iPad ePub Transfer for Mac</title>
      <description>&lt;p&gt;I really like this essay. Thank you for writing it so seriously.  I want to recommend it for my friends strongly. An Professional transfer that can transfer the ePub books onto your iPad on Mac and export the iPad ePub to Mac local folder.&lt;/p&gt;</description>
      <pubDate>Fri, 21 Jan 2011 21:05:36 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:ab09b763-7c49-425d-859a-d9d7d20d91bf</guid>
      <link>http://blog.objectmentor.com/articles/2008/08/28/there-will-be-code#comment-58468</link>
    </item>
    <item>
      <title>"There will be code" by http://www.blacktowhiteiphone4.com</title>
      <description>&lt;p&gt;now supplying the latest &lt;a href="http://www.blacktowhiteiphone4.com" rel="nofollow"&gt;white iphone 4 &lt;/a&gt;conversion kit to make your iphone 4 different from others. As a fashion fans like you will surely love it.&lt;/p&gt;</description>
      <pubDate>Thu, 23 Dec 2010 00:20:44 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:1cb62a9c-42b6-46b5-bccd-f79c2e00fd05</guid>
      <link>http://blog.objectmentor.com/articles/2008/08/28/there-will-be-code#comment-51216</link>
    </item>
    <item>
      <title>"There will be code" by iPhone to Mac Transfer</title>
      <description>&lt;p&gt;I don&amp;#8217;t know much about this topic. So, I am looking a way to solve it.  I want to study. When I come to here, I think I am in the right place. the web gives me a lot of infomation, it is very informative. I think lots of people can learn much here. I will come to here again. Thanks.&lt;/p&gt;</description>
      <pubDate>Fri, 03 Dec 2010 07:30:39 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:d91c0759-fcdf-409c-b771-6566de45020d</guid>
      <link>http://blog.objectmentor.com/articles/2008/08/28/there-will-be-code#comment-45635</link>
    </item>
    <item>
      <title>"There will be code" by ipad video converter</title>
      <description>&lt;p&gt;you can read it  
also you can have a ty&lt;/p&gt;</description>
      <pubDate>Mon, 19 Apr 2010 00:29:38 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:08e9d8b8-055e-4071-92f5-e30873b25b06</guid>
      <link>http://blog.objectmentor.com/articles/2008/08/28/there-will-be-code#comment-10119</link>
    </item>
    <item>
      <title>"There will be code" by Kooba Handbags   </title>
      <description>&lt;p&gt;Living without an aim is like sailing without a compass.
with a new &lt;a href="http://www.handbags4buy.com/" rel="nofollow"&gt;http://www.handbags4buy.com/&lt;/a&gt; idea is a crank until the idea succeeds.&lt;/p&gt;</description>
      <pubDate>Thu, 01 Apr 2010 01:11:29 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:e77d2c1d-833f-4a59-9193-84a207239daf</guid>
      <link>http://blog.objectmentor.com/articles/2008/08/28/there-will-be-code#comment-8988</link>
    </item>
    <item>
      <title>"There will be code" by v</title>
      <description>&lt;p&gt;I doubt the professionalism will emerge, though. Taking the saw/power saw analogy a bit further, you could imagine the &amp;#8220;coding&amp;#8221; industry move along from the garages (individual machines) to large manufacturing units (software companies with 1000s of programmers) where the level of professionalism would presumably increase multiple-fold similar to the manufacturing industry.&lt;/p&gt;


	&lt;p&gt;But we &lt;strong&gt;do&lt;/strong&gt; have large software companies and not as much professionalism, nor is there perceivable change across the spectrum (in fact, smaller shops might have a better grip on professionalism, but i digress). The standard excuse given is a version of the &amp;#8220;human body is finite and can be figured out, but the mind is limitless, thus no standard need apply&amp;#8221;. There are no cookie cutters in this industry. The &amp;#8220;software ICs&amp;#8221; that were talked about in the 80s have still not arrived. Not that they should have, but after half a century of development, shouldnt we expect standard interfaces for the most common applications instead of a set of guidelines, best practices and de-facto standards?&lt;/p&gt;


	&lt;p&gt;It seems to me, therfore, that not only will there always be code, but also that &lt;strong&gt;there always will be more and more of it&lt;/strong&gt;. How do we explain to outsiders (most of whom are our clients) our penchant for reinventing (or renaming) things over and over? Take for example RPC: we&amp;#8217;ve gone through Unix RPC, Sockets, CORBA, RMI, and many more. And yet the defining thought behind these are the same.&lt;/p&gt;


	&lt;p&gt;While its required and behoves us as practitioners to call out the deficiencies of something like MDA, what is the way (or ways) to better code?&lt;/p&gt;


	&lt;p&gt;How do we become doctors from the barbers and healers that we are now? We certainly have the critical mass, but lack the will. Is something like the &lt;a href="http://www2.computer.org/portal/web/certification" rel="nofollow"&gt;certified software professional&lt;/a&gt; the way? I&amp;#8217;m not too sure.&lt;/p&gt;


I have two suggestions though:
	&lt;ol&gt;
	&lt;li&gt;Come up with a peer reviewed definition of what it means to be a software professional &amp;#8211; using ietf style BoF meetings or unconferences or some such informal yet workable format &amp;#8211; anything that would result in the average developer saying: &amp;#8220;yeah, that makes sense to me&amp;#8221;. it worked for building the internet, why shouldnt it work to build our careers and industry?&lt;/li&gt;
		&lt;li&gt;If we cannot standardise the mind, can we not look for patterns in what the mind has produced and standardise that? We have a ton of software that&amp;#8217;s already produced. What&amp;#8217;s stopping us from doing a cyc-style large scale project to analyse this and derive the standard patterns (or anti-patterns) and provide this as input to the rules that we use write code in the future (And here I mean something at least an order of magnitude more insightful and higher-level than our current crop of checkstyle, findbugs, etc)?&lt;/li&gt;
	&lt;/ol&gt;</description>
      <pubDate>Wed, 25 Mar 2009 07:19:38 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:7d4bcaec-a319-413f-a6d9-f66f366d7950</guid>
      <link>http://blog.objectmentor.com/articles/2008/08/28/there-will-be-code#comment-2982</link>
    </item>
    <item>
      <title>"There will be code" by v</title>
      <description>&lt;p&gt;I doubt the professionalism will emerge, though. Taking the saw/power saw analogy a bit further, you could imagine the &amp;#8220;coding&amp;#8221; industry move along from the garages (individual machines) to large manufacturing units (software companies with 1000s of programmers) where the level of professionalism would presumably increase multiple-fold similar to the manufacturing industry.&lt;/p&gt;


	&lt;p&gt;But we &lt;strong&gt;do&lt;/strong&gt; have large software companies and not as much professionalism, nor is there perceivable change across the spectrum (in fact, smaller shops might have a better grip on professionalism, but i digress). The standard excuse given is a version of the &amp;#8220;human body is finite and can be figured out, but the mind is limitless, thus no standard need apply&amp;#8221;. There are no cookie cutters in this industry. The &amp;#8220;software ICs&amp;#8221; that were talked about in the 80s have still not arrived. Not that they should have, but after half a century of development, shouldnt we expect standard interfaces for the most common applications instead of a set of guidelines, best practices and de-facto standards?&lt;/p&gt;


	&lt;p&gt;It seems to me, therfore, that not only will there always be code, but also that &lt;strong&gt;there always will be more and more of it&lt;/strong&gt;. How do we explain to outsiders (most of whom are our clients) our penchant for reinventing (or renaming) things over and over? Take for example RPC: we&amp;#8217;ve gone through Unix RPC, Sockets, CORBA, RMI, and many more. And yet the defining thought behind these are the same.&lt;/p&gt;


	&lt;p&gt;While its required and behoves us as practitioners to call out the deficiencies of something like MDA, what is the way (or ways) to better code?&lt;/p&gt;


	&lt;p&gt;How do we become doctors from the barbers and healers that we are now? We certainly have the critical mass, but lack the will. Is something like the &lt;a href="http://www2.computer.org/portal/web/certification" rel="nofollow"&gt;certified software professional&lt;/a&gt; the way? I&amp;#8217;m not too sure.&lt;/p&gt;


I have two suggestions though:
	&lt;ol&gt;
	&lt;li&gt;Come up with a peer reviewed definition of what it means to be a software professional &amp;#8211; using ietf style BoF meetings or unconferences or some such informal yet workable format &amp;#8211; anything that would result in the average developer saying: &amp;#8220;yeah, that makes sense to me&amp;#8221;. it worked for building the internet, why shouldnt it work to build our careers and industry?&lt;/li&gt;
		&lt;li&gt;If we cannot standardise the mind, can we not look for patterns in what the mind has produced and standardise that? We have a ton of software that&amp;#8217;s already produced. What&amp;#8217;s stopping us from doing a cyc-style large scale project to analyse this and derive the standard patterns (or anti-patterns) and provide this as input to the rules that we use write code in the future (And here I mean something at least an order of magnitude more insightful and higher-level than our current crop of checkstyle, findbugs, etc)?&lt;/li&gt;
	&lt;/ol&gt;</description>
      <pubDate>Wed, 25 Mar 2009 07:17:53 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:78db524f-448c-44f8-97b2-6008ffb514ee</guid>
      <link>http://blog.objectmentor.com/articles/2008/08/28/there-will-be-code#comment-2981</link>
    </item>
    <item>
      <title>"There will be code" by Marc</title>
      <description>&lt;p&gt;&amp;#8220;There were no standards, no common rituals or behaviors, no common disciplines. If you got sick you might go to a barber, or a healer.&amp;#8221;&lt;/p&gt;


	&lt;p&gt;And there is a reason there will continue to be custom solutions requiring custom skill sets and experiences.  The body is finite, it can be figured out.  However, not every business rule or chunk of business logic will work for everyone.  We aren&amp;#8217;t just programmers, we are problem solvers as well, thats half of it.&lt;/p&gt;


	&lt;p&gt;You may be able to standardize on the process one goes through to solving a problem&amp;#8230;there are best practices for that.  But definitely not in the implementation.&lt;/p&gt;</description>
      <pubDate>Wed, 25 Mar 2009 00:41:22 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:488a8dbc-7d37-49ac-bd69-c2fc7337ef1e</guid>
      <link>http://blog.objectmentor.com/articles/2008/08/28/there-will-be-code#comment-2979</link>
    </item>
    <item>
      <title>"There will be code" by Ken</title>
      <description>&lt;p&gt;I think it&amp;#8217;s safe to say that basically every language in common use today is at least an order of magnitude better than Fortran in 1959.  That was FORTRAN II, which did not yet have boolean logic, or a non-arithmetic IF statement.  They had just added support for subroutines!&lt;/p&gt;


	&lt;p&gt;Even today&amp;#8217;s Lisp is drastically better than 1959&amp;#8217;s Lisp: that would have been LISP 1, which I believe didn&amp;#8217;t have hardware numeric types yet (only Church numerals).&lt;/p&gt;


	&lt;p&gt;That&amp;#8217;s not to say that software has kept pace with hardware, because it clearly has not.  But if we&amp;#8217;d really made virtually no progress in 50 years, then many of us would still be using 1959&amp;#8217;s languages.  Some of us still use Lisp because we find its abstraction-building capabilities still unparalleled, but we&amp;#8217;re not using Lisp 1.&lt;/p&gt;</description>
      <pubDate>Wed, 25 Mar 2009 00:26:27 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:b1b87ed2-aff6-4fe0-afcf-a523a2c324dd</guid>
      <link>http://blog.objectmentor.com/articles/2008/08/28/there-will-be-code#comment-2978</link>
    </item>
    <item>
      <title>"There will be code" by Ravi Venkataraman</title>
      <description>&lt;p&gt;Twelve orders of magnitude? Some of the stated advantgaes are not really additive or multiplicative. If the volume of the hardware decreases by a factor of 1000, how does it affect my program? If the power consumption decreases by a factor of 1000, how does it affect my program? As long as the data can be stored in a reasonable volume of space, and as long as the power consumption is affordable, these factors don&amp;#8217;t matter at all.
 &lt;p&gt;

	&lt;p&gt;The fact that almost everyone can afford to compute does not mean that we&amp;#8217;ll write programs that are &amp;#8220;x&amp;#8221; orders of magnitude better than the ones we wrote earlier. Writing programs is still a human endeavour.&lt;/p&gt;
&lt;/p&gt;


&lt;p&gt;
  It is like saying that because CPUs are 1000 times faster and we have 1000 times as much RAM, our cars should run 1000000 times as fast as they did! 
&lt;p&gt;

  Programming is still a human activity, as you pointed out. Unless we start thinking 1000 times as fast, and increase our memory a thousand-fold, we should not expect programs to be several orders of magnitude &amp;#8220;better&amp;#8221;, whatever &amp;#8220;better&amp;#8221; means.

&lt;p&gt;
  As for AI&amp;#8217;s writing programs, I believe that there is work being done on genetic algorithms, etc.,  that may lead to it. One only has to know about the chess playing programs of today that are better than the strongest grandmaster to realize that in the not too distant future computers will be able to &amp;#8220;think&amp;#8221; and make decisions, and write programs.
&lt;p&gt;
  For now, though, the human rules!&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;</description>
      <pubDate>Thu, 04 Sep 2008 19:15:47 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:2d6ae8a1-ca0a-4e8d-b792-790325b30240</guid>
      <link>http://blog.objectmentor.com/articles/2008/08/28/there-will-be-code#comment-2021</link>
    </item>
    <item>
      <title>"There will be code" by Simon Kirk</title>
      <description>&lt;p&gt;What an interesting analogy between medicine and software development.&lt;/p&gt;


	&lt;p&gt;Thinking about it a little deeper, I think the reason why Software has this lack of professionalism problem is both a blessing and a curse: accessibility.&lt;/p&gt;


	&lt;p&gt;In medicine, the accessibility is fairly limited: sooner or later there&amp;#8217;s a limit to how many people can be involved, lopping off one another&amp;#8217;s limbs, blood letting, etc.&lt;/p&gt;


	&lt;p&gt;But in Software, anybody with a computer can have a go.&lt;/p&gt;


	&lt;p&gt;I think that accessibility must be maintained, just as the professionalism must also come to be. The ability for anybody who wishes to create something wonderful is part of what gives Software its beauty: the limit is only the imagination of the programmer(s), and those without knowledge of boundaries often transcend them. Professionalism mustn&amp;#8217;t stifle that creativity.&lt;/p&gt;


	&lt;p&gt;I hope that Agile will provide the links of craftsmanship that allows creativity to bloom while keeping chaos at bay.&lt;/p&gt;</description>
      <pubDate>Sun, 31 Aug 2008 11:04:54 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:cb1fb6fe-4035-4efb-8326-049a06fd471f</guid>
      <link>http://blog.objectmentor.com/articles/2008/08/28/there-will-be-code#comment-2013</link>
    </item>
  </channel>
</rss>

