The C programming language was developed by Dennis Ritchie at Bell Laboratories in 1973. C first gained widespread recognition as the development language of the UNIX operating system. C is a hardware-independent language, and with careful design, it is possible to write C programs that are portable to most computers.
C++ was developed by Bjarne Stroustrup in the early 1980s at Bell Laboratories. C++ provides a number of features that "spruce up" the C language, but more important, it provides capabilities for object-oriented programming (OOP). Many of today's major operating systems are written in C or C++. At a time when the demand for new and more powerful software is soaring, the ability to build software quickly, correctly and economically remains an elusive goal. This problem can be addressed in part through the use of objects, reusable software components that model items in the real world (we discuss object technology in Section 1.17). A modular, object-oriented approach to design and implementation can make software development groups much more productive than is possible using earlier programming techniques. Furthermore, object-oriented programs are often easier to understand, correct and modify.
Microprocessors are having a profound impact in intelligent consumer electronic devices. Recognizing this, Sun Microsystems in 1991 funded an internal corporate research project that resulted in the development of a C++-based language. When a group of Sun people visited a local coffee shop, the name Java was suggested and it stuck. As the World Wide Web exploded in popularity in 1993, Sun saw the possibility of using Java to add dynamic content (e.g., interactivity, animations and the like) to Web pages. Sun formally announced the language in 1995. This generated immediate interest in the business community because of the commercial potential of the Web. Java is now used to develop large-scale enterprise applications, to enhance the functionality of Web servers (the computers that provide the content we see in our Web browsers), to provide applications for consumer devices (such as cell phones, pagers and personal digital assistants) and for many other purposes. Visual C# is similar in capability to Java. Current versions of C++, such as Microsoft's Visual C++ and Borland's C++Builder, also have similar capabilities.
Visual Basic evolved from BASIC (Beginner's All-Purpose Symbolic Instruction Code), developed in the mid-1960s by Professors John Kemeny and Thomas Kurtz of Dartmouth College as a language for writing simple programs. BASIC's primary purpose was to familiarize novices with programming techniques.
The widespread use of BASIC on various types of computers (sometimes called hardware platforms) led to many language enhancements. When Bill Gates co-founded Microsoft, he implemented BASIC on several early personal computers. With the development of the Microsoft Windows graphical user interface (GUI) in the late 1980s and early 1990s, the natural evolution of BASIC was Visual Basic, introduced by Microsoft in 1991. Visual Basic makes the development of Windows applications convenient.
Until the first version of Visual Basic appeared in 1991, developing Microsoft Windows-based applications was a difficult and cumbersome process. Although Visual Basic is derived from the BASIC programming language, it is a distinctly different language that offers such powerful features as graphical user interfaces, event handling, object-oriented programming, and exception handling. Visual Basic is an event-driven language (i.e., the programs respond to user-initiated events such as mouse clicks and keystrokes) and a visual programming language in which programs are created using an Integrated Development Environment (IDE).
Introduction to Computers, the Internet and Visual C#
Introduction to the Visual C# 2005 Express Edition IDE
Introduction to C# Applications
Introduction to Classes and Objects
Control Statements: Part 1
Control Statements: Part 2
Methods: A Deeper Look
Classes and Objects: A Deeper Look
Object-Oriented Programming: Inheritance
Polymorphism, Interfaces & Operator Overloading
Graphical User Interface Concepts: Part 1
Graphical User Interface Concepts: Part 2
Strings, Characters and Regular Expressions
Graphics and Multimedia
Files and Streams
Extensible Markup Language (XML)
Database, SQL and ADO.NET
ASP.NET 2.0, Web Forms and Web Controls
Networking: Streams-Based Sockets and Datagrams
Searching and Sorting
Appendix A. Operator Precedence Chart
Appendix B. Number Systems
Appendix C. Using the Visual Studio 2005 Debugger
Appendix D. ASCII Character Set
Appendix E. Unicode®
Appendix F. Introduction to XHTML: Part 1
Appendix G. Introduction to XHTML: Part 2
Appendix H. HTML/XHTML Special Characters
Appendix I. HTML/XHTML Colors
Appendix J. ATM Case Study Code
Appendix K. UML 2: Additional Diagram Types
Appendix L. Simple Types