01/06/2006)
">
onlinearticlelist.com onlinearticlelist.com onlinearticlelist.com
Search:    Site Home >> About Us >> Privacy of Info >> ToS >> Add Your Link >> Add Article   
Add Url
 

Travel & Vacation

Medicine & Treatment

Children

Self Help

Automobiles

Online & Indoor Games

Home & Garden

Online Shopping

Food & Recipe

Software & Networking

Fashion & Lifestyle

People & Society

Careers & Employment

Policies & Law

Hygiene & Health

Issues & News

Companies & Business

Entertainment

Realty & Property

Culture & Art

Adventure & Sports

Research & Science

Academics & Education

Finance & Investment

 

Site Home » Software & Networking » Computer Programming & Development
 

Is Software Hard?

 
Author: Tim Bryce

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

Author Bio:

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.

You can search for this article using: Is Software Hard?, Software & Networking, Computer Programming & Development
 
 
 

Related Articles

 
Is Software Hard?
 
Are you ready for software outsourcing?
 
Adware Explained
 
British Columbia's Education System
 
Tips On Improving Your Cellphone Battery Life
 
ASP vs. PHP
 
Advanced FTP Hosting for Designers, Architects, Printers etc.
 
Linking Strategies ? Myth Busted
 
The Importance of Timely Timesheets
 
What Is Mobile Phone Unlocking? Why Do I Need It?
 
 
 

Related Links
(Our editors would be happy to add your website for free in this section if it is related to the article above.)

 
Chattanooga Web Design by 4yourwebsite
Function, Creativity, Technology, e-Commerce, SEO. Web Designs That Work.
 
ecommerce website development company
Redalkemi is a professional and creative ecommerce website design and development company specializing in complete web solutions.
 
Check Website Visibility
Need a fast and accurate tool to check website visibility? Try SiteOpSys and explore the other amzing tools too!
 
 
 
 

What Makes The Best Website Hosting Company

True when we are talking about your website! Web hosting is a service that allows users to post Web ... - Jeff Schuman
 

Get in the Internet Marketing Services Mindset ? You Must Sell Your Web Site

Internet marketing is all about targeted traffic! In order to get traffic you must be able to sell y ... - Mark Williams
 

Virtual Hand-Holding: Aids in making sitemaps

In virtual hand-holding, it is an important tip to remember that people visit the site in order to l ... - Philip Nicosia
 

Web Site Marketing and Search Engine Optimization

You wouldn't put a bill board in the desert, so why are you hiding your web site? The nicest web sit ... - Eric Gurr
 

Cellular Phone Markets

The ever growing cellular phone market - Kevin Lynch
 

AdWords Tips: All About Keywords

As you probably know, Google AdWords is a pay-per-click marketing system, which is a great way to ge ... - Ryan Cole
 
 
Site Home >> Privacy of Info >> ToS
© 2006-2008 www.onlinearticlelist.com All Rights Reserved Worldwide.