RollingHillsBaptist.faithweb.com
RollingHillsBaptist.faithweb.com

History


Software engineering has a long evolving history. Both the tools that are used and the applications that are written have evolved over time. It seems likely that software engineering will continue evolving for many decades to come.

See also History of software engineering.

[edit]
60 year time line
1940s: First computer users wrote machine code by hand.
1950s: Early tools, such as macro assemblers and interpreters were created and widely used to improve productivity and quality. First generation optimizing compilers.
1960s: Second generation tools like optimizing compilers and inspections were being used to improve productivity and quality. The concept of software engineering was widely discussed. First really big (1000 programmer) projects. Commercial mainframes and custom software for big business.
1970s: Collaborative software tools, such as UNIX, code repositories, make, and so on. Minicomputers and the rise of small business software.
1980s: Personal computers and workstations and an emphasis on process like the CMM. The rise of consumer software.
1990s: Object-oriented programming and agile processes like Extreme programming gain mainstream acceptance.
1990s: The WWW and hand-held computers make software even more widely available.
2000s: Managed and interpreted platforms such as .Net, PHP, and Java make writing software easier than ever before.
[edit]
Future directions for software engineering
Aspect-oriented programming and agile methods are important emerging SE technologies and practices. The 2005 ICSE had tracks on both of these topics.

Aspects
Aspects help programmers deal with ilities by providing tools to add or remove boilerplate code from many areas in the source code. Aspects describe how all objects or functions should behave in particular circumstances. For example, aspects can add debugging, logging, or locking control into all objects of particular types. Researchers are currently working to understand how to use aspects to design general-purpose code. Related concepts include generative programming and templates.
Agile
Agile software development guides software development projects that evolve rapidly with changing expectations and competitive markets. The heavy, document-driven processes (like TickIT, CMM and ISO 9000) are fading in importance. Some people believe that companies and agencies export many of the jobs that can be guided by heavy-weight processes. Related concepts include extreme programming and lean software development.
The Future of Software Engineering conference (FOSE) held at the ICSE 2000 documented the state of the art of SE in 2000 and listed many problems to be solved over the next decade. The Feyerabend project attempts to discover the future of software engineering by seeking and publishing innovative ideas.


Main Roll1 Roll2 electric1electric2 electric3 electric4 electric5

membrane filtration water distillers | yacht charter | oil painting reproductions | Safety Glasses | Night Vision | hawaiian music aloha shirts | Health Care | football shirts | oil paintings | Nashville Real Estate free credit report | Dental Care | caribbean yacht charter | south pacific yacht charter | Kit Car