• No se han encontrado resultados

Los Planes Nacionales de Desarrollo no se discuten en tiempo suficiente respecto a

The decade saw the overall software industry begin to fragment into a number of subindustries, each of which would become large and profitable in its own right.

Younger readers probably take these categories for granted because they have used computer- controlled devices since early childhood. Older readers born before World War II have seen the creation of the entire gamut of applications discussed here because none of them existed until the 1950s and many did not exist until the 1970s or later.

The following subsections provide short summaries of these software categories. These are some but not all of the major forms of software that emerged during the 1970s.

Advanced and Experimental Software

The kinds of applications that are deemed “advanced” change over time. In the 1970s, the fields of artificial intelligence and natural language translations were being pioneered and were certainly advanced for the time. Later, mind/machine interfaces and robotics would become topics of advanced research. Virtual reality was also an advanced topic. Software that aids astronomers and physicists is often both advanced and experimental. Medical diagnostic software is also an advanced topic.

Some specific advanced topics from the 1970s included embedded medical devices such as the software used in cochlear implants; GPS mapping, which would later become the dominant method for navigation and map making; natural language translation; robotic manufacturing; and artificial intelligence.

Business Software

Business software includes software that handles banking and financial transactions, personnel transactions, order entry, accounting, insurance processing, airline and hotel reservations, and many other kinds of general business transactions.

Business software evolved from earlier accounting and financial packages that used tabulating machines rather than true computers. When digital computers began to replace tabulating machines, the class of management information systems, or MIS, applications began to emerge. These soon shifted from using punch cards to using magnetic tape to using disk drives.

The advent of business MIS software led hundreds of companies to create internal software development groups and also large data centers for their mainframe computers. By the end of the 1970s, some of these software and data center combinations employed more than 5% of the total corporate workforce.

The comparatively high costs of such groups and their tendency to run late and have cost overruns led to the development of software outsource companies, specialized management consulting companies, and the development of tools such as parametric estimating tools that could help keep software projects under control. CA was founded in 1979 and is an archetype of a company that marketed business MIS applications for finance, accounting, fixed assets, and other common business purposes.

Some specific kinds of business software include accounts payable, accounts receivable, order entry, payrolls for exempt and nonexempt employees, inventory management, and customer data.

Communications Software

Software and computers quickly moved into standard telecommunications and led to the creation of digital switches and eventually to digital handsets and smartphones. Software also had a major impact on data communications and led to the creation of email, instant messaging, and other forms of data transfer.

Specific kinds of communications software include network management, central office switching systems, private branch exchange (PBX) switching systems, cell phone routing, and many others.

Cybercrime and Hacking Software

Computerized storage of valuable information such as bank accounts, social security numbers, birth records, criminal records, medical records, and other vital data has caused cybercrime to become an alarmingly large and profitable subindustry. There are now many groups of organized hackers involved in stealing and selling personal, business, and even government data.

Specific kinds of cybercrimes are too numerous to cite here and are discussed in Chapter 12. However, cybercrimes include botnets, viruses, worms, hacking, identity theft, phishing, keystroke logging, and many others.

To counter cybercrime and hacking software, a number of defensive categories have emerged, including firewalls, antivirus and antispam programs, and some newer programming languages such as E that are intended to raise the resistance of software to external attacks.

Database Software

Computers and software quickly became the tools of choice for storing and analyzing large volumes of records and business data. This would not be possible without special kinds of software applications for storing data in ways that allowed fairly convenient random access to specific records and fields. Database technology is one of the most important byproducts of digital computers and software.

As a result of database technology, millions of books, vast collections of laws, and huge volumes of data are available for analysis in unprecedented ways. This is becoming known as big data and is a concept that will be discussed in later chapters.

Currently, there are at least a dozen database schemas such as hierarchical, relations, entity- relationship, etc. There are also dozens of commercial database engines and query tools such as Access, DB2, SQL, MySQL, NoSQL, Oracle, and many more. This is a major subfield of software engineering and has been an active topic of research for 50 years or more.

Education Software

In one of their final meetings before Steve Jobs passed away, one of the topics of conversation between Steve Jobs and Bill Gates was a shared disappointment that computers had not had as great an impact on education as they both had wished.

Note

Readers of this book will probably find Steve Jobs: The Exclusive Biography by Walter Isaacson a very rich source of information about computers and software between the mid-1970s and about 2010. Isaacson’s book includes many interviews with software luminaries and gives their firsthand opinions.

There are some very good education tools available for both normal educational purposes and also special education for blind, deaf, or handicapped students. However, ordinary public schools tend to use software for logistical purposes, such as schedules and payrolls, more than for educational purposes. Even in high school, software is more or less used in the background, except in some schools that do teach programming.

In some states such as Pennsylvania, there are corporations that have pooled their resources to acquire computers and software, which are then donated to inner-city schools that may lack the funds to acquire such tools. Some of these corporate donors also invite groups of students to visit offices and see what it will be like to work at one after graduation. These groups also fund field trips so grade school students can visit universities, because many young children have no idea at all what college life would be like.

On the other hand, outside of schools, children start using smartphones and computers from a very early age. In fact, a number of self-taught hackers have been found who are no older than 15.

Several school districts, such as those in California, are beginning to replace paper textbooks with e-books on Amazon Kindles, Nooks, or iPads. However, computers and software could probably be more effective and more widely deployed than they are today. Conservatism on the part of school administrators and the fact that school boards and many teachers are themselves not fully computer literate may be causative factors.

Embedded Software

One of the major subindustries of the software world is that of embedded software within physical devices. Some of the more important forms of embedded software applications include software in medical devices, software that controls automobile engines, avionics software that controls aircraft during flight, and hundreds of embedded applications in consumer products ranging from televisions to telescopes.

This is because some embedded applications are used in millions of physical devices. As an example, almost every modern automobile now uses embedded software for antilock brakes, and many also use embedded software for fuel injection. Millions of “smart” appliances such as television sets, washing machines, microwave ovens, and even alarm clocks and wristwatches now are controlled by embedded applications. In industrialized countries, an average college-educated white-collar worker probably uses at least 50 embedded devices on a daily basis, often without even knowing it. If we have medical problems, such as deafness or a heart malfunction, embedded devices may be implanted in our bodies. Over the past 35 years, embedded devices have been used in almost every kind of modern appliance and piece of complex mechanical equipment.

The widespread use of embedded devices is not without new and modern problems. Lawsuits have been filed due to brake failures or unintended automotive acceleration. When a computer-controlled device breaks, it is no longer possible to make repairs; instead, it is now necessary to swap the defective embedded device for a new one, often at considerable expense.

A final problem based on our recent dependence on embedded devices is that some can be hacked or accessed remotely by cybercriminals. Worse, an electromagnetic pulse (EMP) caused by a nuclear explosion, and possibly by strong solar storms, can shut down or damage embedded devices, possibly beyond repair.

Gaming and Entertainment Software

The computer game industry is one of the most striking new kinds of businesses in all history. The idea of millions of humans interacting in virtual environments was not even a science-fiction dream until these games started to appear in real life. Computers and software have also transformed filmmaking and have led to amazingly realistic special effects and almost photographic realism of images that are purely computer generated. Music composition and music performances have also been impacted by computers and software. Indeed, almost every teenager has access to thousands of downloaded songs at any time.

Some specific game and entertainment software include replicas of board games such as chess and backgammon; hundreds of card games; single-player games such as the classic Doom; and, more recently, massively multiplayer online role-playing games (MMORPGs).

Computerized animation is now the dominant tool for cartoons and full-length films. Computerized music services such as Pandora use sophisticated algorithms to classify composers and musical types; composers and performers can now write music and record it using embedded devices and computers. Music synthesizers are older than computers, but all of the modern ones use embedded chips and software.

Manufacturing Software

For hundreds of years, assembly lines and machine tools were controlled manually by skilled operators. During the 1970s, computers began to be applied to assembly lines and repetitive operations. Eventually, this would lead to fully robotic manufacturing with very few humans involved in the process at all. Not only hardware manufacturing but also chemical, pharmaceutical, and oil manufacturing would become more and more automated.

Today, many companies practice just-in-time manufacturing, and the whole sequence from ordering raw materials through final assembly is controlled by computers. Robotic manufacturing has

cut down on shop-floor labor in the automotive and aerospace sectors, as well as in the area of smart appliances and smartphones.

Middleware Software

Computers and software are symbiotic. The hardware is inert unless controlled by special kinds of software termed operating systems that handle disk drives, communication ports, and other physical attributes. The applications that customers use and care about sit on top of the operating systems, but not directly on top. In between the operating systems and the user applications is a layer called

middleware that sends requests from applications to the operating system, distributed computing, web

request processing, and other services. The exact nature of middleware is somewhat ambiguous. Some specific examples of middleware include game engines that help game developers interface with graphic chipsets, libraries of services that handle multimedia, and the multimedia home platform within smart television sets.

Military Software

Starting with SAGE in the 1950s, the Department of Defense and the military services have been leaders in usage of both computers and software. In fact, even before digital computers, the military had a long and successful history with analog computers. These were used for bombsights, torpedo targeting, shipboard gun controls, anti-aircraft targeting, and numerous other purposes. In fact, analog computers were the dominant military computing engines through the end of the Vietnam War. Digital computers are now major operating components of all sophisticated weapons systems, including combat aircraft, guided missiles, warships, battle tanks, and essentially any complex device.

Of course, weapons systems are not the only kinds of software used by the uniformed services. Hundreds of other kinds of applications are needed for logistics, planning, communications, medical records, personnel records, payrolls, purchasing, and normal kinds of business functions. The U.S. Department of Defense is currently the world’s largest owner of software, which is starting to age and have significant maintenance costs.

Some of the largest software systems in history have been built by the U.S. Department of Defense and the uniformed services. One of these was the World-Wide Military Command and Control System (WWMCCS), which reportedly topped 300,000 function points or more than 21,000,000 lines of code.

In recent years, the military services have created cyberwarfare units for protecting U.S. cyberassets and for coming up with possible future offensives against enemy cyberassets in the event of a physical war.

The U.S. strength in computers and software is a strong military asset. However, other countries are attempting to catch up, with China being the number two country in usage of computers and software for military purposes. In fact, China currently has a larger cyberwarfare unit than the United States.

Open-Source Software

Surprisingly, the field of open-source software has grown about as fast as other new software fields. Even more surprising, the quality of open-source packages often compares favorably to commercial software applications, some of which are quite expensive.

The open-source topic is included in this chapter on the 1970s because one of the founders of the concept, Richard Stallman, began to share software developed at MIT with other universities from 1970 forward.

The phrase “open source” means that the source code of the software is available to the user community and users can modify the code if they wish. The category of open source overlaps but is not identical to the category of freeware. As the name implies, freeware is distributed at no cost. However, not every freeware application provides source code.

Some open-source software ranks among the most widely used applications of the modern era. Several examples of open-source applications with millions of users include Mozilla Firefox; the Android operating system; and the Open Office suite of tools that includes a word processor, a spreadsheet, a slide program, a drawing package, and more.

Many programming languages and their compilers and tools are also open source, such as Perl, PHP, Python, and Ruby. The Linux operating system is also open source.

Just because an application is open source does not give users unlimited permission to do anything they want with the application and its source code. Many open-source products are distributed using the well-known GNU General Public License (GPL), which was created by Richard Stallman of the Free Software Foundation. The GNU license allows users to modify the code, but products using either the original or modified code must also use the GNU license. This is called copy left as opposed to copy right.

There are websites and services that list open-source and freeware tools. SourceForge.net is such a site. There are currently around 50,000 available open-source applications, roughly half of which use the GNU GPL license.

The domain of open-source software has a growing number of interesting and useful applications and a fairly sophisticated way of developing the software, releasing it, and fixing bugs. Open source is by no means chaotic, but neither is it strict and regimented.

An interesting book on the open-source movement is The Cathedral and the Bazaar, written by Eric Raymond in 1997. This book was subtitled Musings of Linux and Open Source by an

Accidental Revolutionary. The theme of the book is that conventional commercial software is built

like a cathedral with careful plans and a formal organization. Open source, on the other hand, operates like a bazaar with scores of vendors more or less cooperating under general guidelines.

Personal Software

The 1970s would be only the beginning of applications for personal use, which would not come to fruition until the arrival of portable computers and handheld smart devices in future decades. However, applications such as calendar management, word processing, and spreadsheets did arrive during this decade.

In today’s world, a variety of extremely sophisticated software packages are available. Some handheld smartphones have voice-activated commands that can tell their owners useful information such as the names of nearby restaurants. GPS maps are endemic and can point out optimal routes by car, bicycle, or on foot. Among those with an interest in astronomy, star maps provide a wonderful view of every major star, planet, and constellation in every direction, including through the earth. Many of us no longer keep manual telephone lists or address books because our personal records are

online.

If we want to buy something, our computers, tablets, or smartphones can provide information and addresses of local stores. They can also show the comparative prices of specific products in local stores. If we don’t need the item today, we can buy it over the web and probably avoid paying local or state taxes.

Computers and software have made a very big impact on our personal lives and communication styles. Many of us have many more “friends” on social networks than we have in real life. We may spend more time texting with our real friends than we spend in actual conversation with them.

Programming Tool Software

As software engineers or programmers became more numerous, markets appeared for specialized tools such as debugging tools, trace tools, and interactive development environments (IDEs).

The very oldest programming tools appeared in the 1950s in the form of assemblers and early compilers for higher-level languages. In today’s world, modern programmers have more than 50 kinds of tools, including requirements tools, design tools, inspection support tools, test case generators, test library support tools, automated testing tools, debugging tools, reengineering tools, documentation tools, defect tracking tools, and too many more to name.

Project Management Software

The technical parts of project management involve scheduling, resource allocation, cost estimation and cost data collection, change management, status reporting, and quality analysis. Computers and software have long been useful for project managers in every field. The 1970s witnessed the arrival of parametric software estimation tools.

In today’s world, this type of software is used by millions of project managers to handle topics such as staff allocations, progress tracking, budgets, cost estimating, quality estimating, project office