Remember Me
forgot your password?

Is Software Hard?

"Systems are logical, programming is physical."
- Bryce's Law

For something that is supposed to be "soft", software exhibits
some pretty "hard" characteristics. The original premise behind the
COBOL programming language was to devise a language that could
be easily ported to several computers. As we all know, this never
truly happened due to computer manufacturers who tweaked the language
to suit their particular needs. What ran on an IBM machine, for
example, didn't necessarily run the same on Honeywell, UNIVAC, or
the rest of the BUNCH. Consequently, software developers had to
maintain different versions of source code to suit the particular
needs of the various computer compilers. This plagued all third
generation languages until Sun introduced JAVA in the 1990's. The
JAVA premise that a programmer should "write once, run everywhere"
was the right idea and the language began to gain momentum, until
it ran into Microsoft who didn't want to turn the operating system
into an inconsequential afterthought. JAVA lives on, but not to
the extent it should have, and developers are back to managing
separate versions of source code.

The point is, software does in fact exhibit some very "hard"
characteristics as it is married to the host computer configuration
making it not very portable. As mentioned, this creates headaches
for those of us, particularly commercial software vendors, in
terms of maintaining consistency in the different versions of
our products.

What to do?

Back in the 1970's and 1980's we were faced with the dilemma of
managing a single product on over a dozen different platforms. We
quickly came to the realization we would go stark raving mad
managing multiple versions of source code and came to the conclusion
we had better come up with a solution pretty quick. Because of our
experience in converting software, we became well versed in the
nuances of the various compilers and devised a Repository (we
called it a "filter program" at the time) which maintained the rules
of the various compilers. We were also very disciplined in writing
code to specific standards and embedded certain switches in the
base source code. When we were ready to produce a new release of
our product, we would feed the base code into our "filter program"
which would then create the different versions of the source
code ready for compilation. This saved us an incredible amount
of time and brought consistency to all of the versions of the
product. In other words, our programming staff worked with only
one set of code (not multiple variations), the "filter program"
then analyzed it and created the necessary permeation for a targeted
platform. As compilers changed, we would update the "filter
program" accordingly.

We also learned to maintain print maps, screen panels, messages
and help text separate from the source code, which greatly
enhanced our ability to create a new version of the product to
suit a foreign language and culture; see "Creating Universal
Systems" at:

http://www.phmainstreet.com/mba/pride/isspus.htm

Let us take it a step further, for years we have touted
there are logical and physical dimensions to Information
Systems. Using the "PRIDE" Standard System Structure concept
in "PRIDE"-ISEM, we look upon Systems and Sub-Systems (business
processes) as logical constructs, and Procedures and Programs
as physical constructs. Further, data components such as inputs,
outputs, files, records and data elements can be specified
logically and implemented physically many different ways. Let
me give you an example; back in the 1980's one of our "PRIDE"
users (a large Fortune 500 electronic conglomerate) bought
into our logical/physical concept and decided to put it to the
test. Working from their corporate offices, they designed a
complete Payroll System which they wanted to implement as the
corporate standard across all of their divisions and
subsidiaries. They completed the system with a recommended
programming solution they wrote themselves (no packages were
used) which I believe was an IBM MVS solution using COBOL. However,
they recognized early on this implementation wouldn't work
across the board in the company. Consequently, they gave the
system specifications to all of their divisions who would then
program it themselves in-house. The project turned out to be
a major success and the company ended up with multiple
implementations of the same system under IBM MVS, VM,
Honeywell GCOS, UNIVAC Exec, HP MPE, DEC VAX/VMS, and
Prime; all working harmoniously together. Other "PRIDE" users
experienced similar successes, particularly in Japan.

All of this drives home the point that systems are logical in nature,
and that programming is physical. If systems are designed
properly, there is no reason they shouldn't behave identically
on whatever computer platform you come up with. Better yet, it
allows us to easily migrate our systems from one configuration
to another. Uniformity and consistency in execution; and portability
to boot. Imagine that.

Tim Bryce

Tim Bryce is the Managing Director of M. Bryce & Associates (MBA)
of Palm Harbor, Florida and has 30 years of experience in the field.
He is available for training and consulting on an international basis.
He can be contacted at: timb001@phmainstreet.com

Copyright © 2006 MBA. All rights reserved.

Rate this Article: 0 / 5 stars - 0 vote(s)
Print Email Re-Publish

Add new Comment



Captcha

  • Latest Programming Articles
  • More from Tim Bryce

More than calling and Texting!

By: Rapidsoft | 08/12/2009
The concept of a mobile phone itself has become different! These days, mobile phones serve not only the purpose of communication. A small, tiny handset device can give you much that can be beyond your imagination.

Spotting a Genuine Search Engine Optimization Company

By: kayla tyler | 08/12/2009
Those in the know will advice people who are just about to launch their new website that it is more important to acquire the service of a search engine optimization company than to spend time analyzing which design template will work best for their website.

Stay Away from Ineffective SEO Companies

By: kayla tyler | 08/12/2009
This is the age of online marketing and advertisement thus the constant demand for a search engine marketing company that is capable of providing an array of services that range from search engine optimization (SEO) to pay per click ads management.

How to Convert FLV video to MP3 for iTunes or Garageband on Mac OS X

By: terryly | 08/12/2009
If you have some FLV files but you only get the audio but no video, you can compromise by extract audio from it and then listen to it. You might want to extract MP3 audio from FLV format episodes or a movie to iTunes for playback on your iPod, as ringtones for iPhone, or to create your own masterpiece in Garageband. The question is: how to convert FLV to MP3 for iTunes or Garageband

Blackberry Application Development – A Latest Trend in Market

By: Daviodjones035 | 07/12/2009
The above article, by and large brings forth the facts that led to the immediate success and popularity of Blackberry pagers and now, mobile phones. The establishment of which has led to an immense increase in the Blackberry Mobile Application Development and software market.

IEEE 1588 Time Protocol Promises More Accurate Time Synchronisation

By: Richard n Williams | 07/12/2009
Despite being around for over twenty years, the current favoured time protocol by most networks, NTP (Network Time Protocol) has some competition.

Change Your Lifestyle with New iPhone App Development

By: Vimal Mistry-seo | 07/12/2009
The computing world is shrinking from big computers to desktop to laptop to palmtop and now to mini mobile devices, may be with no limits. Arrival of iPhone in the market has created the buzz like never before.

AJAX CascadingDropdown in Asp.Net

By: pons_saravanan | 07/12/2009
A pure webservice based cascading dropdown list developed using ASP.Net.

A Curriculum for Social Skills

By: Tim Bryce | 24/11/2009 | Human Resources
Discusses three prime areas of concentration to improve social skills.

Differences between East and West

By: Tim Bryce | 24/11/2009 | Team Building
Discusses cultural differences between offices in Japan and the United States.

Why Project Management Fails

By: Tim Bryce | 21/10/2009 | Management
Four reasons why project management breaks down.

The Problem with "Man Hours"

By: Tim Bryce | 16/09/2009 | Project Management
I've never been comfortable with the concept of "Man Hours," not that it's a gender issue, but rather it implies ignorance of how time is used in the work place and fumbles away some simple management concepts needed to run any business, namely accountability and commitment. Actually, I thought the "Man Hour" concept disappeared with the passing of the 20th century, but it appears to be making a comeback.

Humor in the Work Place

By: Tim Bryce | 31/08/2009 | Management
When and how humor should be injected in the work place.

Software Versions and Releases

By: Tim Bryce | 31/08/2009 | Software
Are the words synonymous? Can they be used interchangeably?

Challenging the Status Quo

By: Tim Bryce | 28/08/2009 | Management
Stagnation is not an option.

Information Systems Theory 101

By: Tim Bryce | 13/08/2009 | Programming
Provides a conceptual foundation for all Information Systems work.

Submit Your Articles Free: Signup
Article Categories




Use of this web site constitutes acceptance of the Terms Of Use and Privacy Policy | User published content is licensed under a Creative Commons License.
Copyright © 2005-2008 Free Articles by ArticlesBase.com, All rights reserved. (0.57, 1, w2)