Computerworld - "Code and fix." That was the way most business applications were developed in the mid-1960s. Two decades had passed since John von Neumann had suggested controlling computers with programs stored in memory instead of patch wires in 1945, and the prototype computer named Baby at The University of Manchester in England had successfully run the first stored program in 1948. But application development was still a pretty haphazard process.
Yes, there were high-level programming languages. Fortran was developed by John Backus at IBM starting in 1954, and IBM began selling Fortran compilers in 1957. Remington Rand Inc.'s Univac offered Grace Hopper's Flow-Matic language for business applications in the late 1950s, and that language became the basis for Cobol in 1959. And in 1964, IBM unveiled its "all-purpose" language, PL/I, which had elements of Fortran, Cobol and Algol.
Sabre Takes Off
But there was virtually no commercial software industry. Data processing departments had no choice but to build their own applicationsand with few standards or best practices, building a large application was a costly, error-prone process. When Fort Worth, Texas-based American Airlines Inc. built the first version of its Sabre reservation system from 1960 to 1964, it required 400 man-years of effort at a development cost of almost $40 million.
That started to change in 1965, when Dutch researcher Edsger Dijkstra began publishing journal articles suggesting a more structured approach to programming. Other researchers proposed improved ways of planning and managing projects, and in 1970 W.W. Royce proposed the "waterfall" structure for dividing large projects into well-defined phases.
Structured programming got its first major test in the early 1970s, when a team of IBM programmers led by Harlan D. Mills wrote a computer system for The New York Times. The huge project was delivered on schedule and with a minimum of bugsan astonishing accomplishment for the time.
And throughout the '70s, tools and techniques for software development came thick and fast: Tom DeMarco's structured design and analysis, Niklaus Wirth's Pascal, Larry Constantine's structured design, Clive Finkelstein's Information Engineering and many others. By 1982, researchers counted 48 different software development methodologies in use.
Meanwhile, the cost of computer hardware was droppingand the demand for faster and cheaper application development was climbing. In 1962, before the improvements in software development, software was still only 20% of the cost of a typical computer system. By 1985, software was 80% of the costfour times as much as the hardware.
That shift drove a demand in the late '80s for computer-aided software engineering (CASE) tools that would automate application development methodologies and, in theory, cut both schedules and bugs. But in most corporate data processing shops, '80s-era CASE would never catch on. Huge mainframe-based systems had already been built and maintained successfully for years by programmers who weren't about to let the computerin the form of CASE toolstell them what to do.
Enter: PCs and LANs
Meanwhile, PCs and their networks were arriving in large organizations, and with them the need to replace aging terminal-based applications with client/server versions. When Microsoft Corp. shipped Visual Basic in 1991, programmers' attention shifted to the graphical user interface on the desktop. And, with spreadsheets' ability to access corporate databases, developers were learning to focus on building connections instead of building everything from scratch.
The 1990s saw the buy-instead-of-build approach spread from the desktop to enterprise applicationsjust as the World Wide Web was suddenly creating the need for a new generation of custom-built Web programs for customers to use. Meanwhile, $1 trillion in resources was thrown at programming's most infamous fiasco, the Y2k problem.
Today, application development means wiring Web sites to packaged software and legacy systems, integrating Web services with existing applicationsand working with ever-faster programming techniques with names like Extreme Programming, Crystal and Scrum.
And now, on with the story . . .
1948: University of Manchester researchers run first stored program on Baby, a prototype computer.
1952: Grace Hopper develops first compiler for Univacs A-0 language.
1957: IBM begins selling Fortran.
1959: Cobol is standardized.
1952: Grace Hopper develops first compiler for Univac's A-0 language. 1964: First version of American Airlines Sabre reservation system completed at a cost of $40 million.
1970: W.W. Royce creates waterfall methodology for large projects.
1991: Microsoft ships Visual Basic 1.0.
1995: Sun Microsystems Inc. releases Java 1.0.
1997: Chrysler Corp. compensation system project is rescued using Extreme Programming practices.
1999-2000: The year 2000 date rollover problem requires expensive code fixes and raises public alarm. White House Y2k czar John Koskinen coordinates the governments response.
- Users Face Big Decisions Over .Net, Java and Web Services
- The Story So Far: Application Development
- .Net vs. Java: Five Factors to Consider
- Overview: Building Web Services
- University's Data Traffic Unsnarled
- Skimping on Java Development May Do More Harm Than Good
- The Security Challenges of Web Services
- Taking Enterprise Application Integration to the Extremes
- The Payoff From Software Quality
- How to Thrive in the Hot Java Market
- Development on the QT
- The Future of Software Development
- Case Studies in Application Development
- The Future of Application Integration
- Reporter's Notebook: Application Develoment and Web Services
Read more about App Development in Computerworld's App Development Topic Center.
- Ten Factors Shaping the Future of Application Delivery Download this research report conducted by Enterprise Management Associates (EMA) to learn how those that are seeking to accelerate application delivery are leveraging...
- Using Continuous Delivery to Improve Software Delivery Learn more about the challenges impacting organizations and how continuous delivery processes can be a key success factor in accelerating software delivery.
- Global Bank Improves Quality of Application Development Read how this financial institution centralized build assets, cut development time in half and added additional security controls.
- HTTP Status Code Cheat Sheet Look at the Graph, Find the Code and Boom - You're Solving Problems. Identifying and understanding common HTTP status codes can go a...
- Cloud BI in Action: Recorded Webinar of Customer, Kony, Inc. See how Kony, Inc., a leading enterprise mobility company, is using TIBCO Jaspersoft for Amazon Web Services and Redshift to achieve embedded analytics...
- Cloud BI Overview: Jaspersoft for AWS Check out this overview of Jaspersoft for AWS, to easily and affordably build business intelligence solutions as well as embed visualizations and analytics... All App Development White Papers | Webcasts