11.07.2015 Views

Encyclopedia of Computer Science and Technology

Encyclopedia of Computer Science and Technology

Encyclopedia of Computer Science and Technology

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

388 programming languagesprogrammer could edit, compile, run, <strong>and</strong> debug programswithout leaving the main window.The release <strong>of</strong> Visual Basic by Micros<strong>of</strong>t a few yearslater brought a full graphical user interface (GUI). VisualBasic not only ran in Windows, it also gave programmersthe ability to design programs by arranging user interfaceelements (such as menus <strong>and</strong> dialog boxes) on the screen<strong>and</strong> then attaching code <strong>and</strong> setting properties to controlthe behavior <strong>of</strong> each interface object. This approach wassoon extended by Micros<strong>of</strong>t to development environmentsfor C <strong>and</strong> C++ (<strong>and</strong> later, Java) while Borl<strong>and</strong> releasedDelphi, a visual Pascal development system. Today visualprogramming environments are available for most languages.Indeed, many programming environments canhost many different languages <strong>and</strong> target environments.Examples include Micros<strong>of</strong>t’s Visual Studio .NET <strong>and</strong> theopen-source Eclipse, which can be extended to new languagesvia plug-ins.Modern programming environments help the programmerin a number <strong>of</strong> ways. While the program is being written,the editor can highlight syntax errors as soon as they’remade. Whether arising during editing or after compilation,an error message can be clicked to bring up an explanation,<strong>and</strong> an extensive online help system can provide informationabout language keywords, built-in functions, datatypes, or other matters. The debugger lets the programmertrace the flow <strong>of</strong> execution or examine the value <strong>of</strong> variablesat various points in the program.Most large programs today actually consists <strong>of</strong> dozensor even hundreds <strong>of</strong> separate files, including header files,source code files for different modules, <strong>and</strong> resources suchas icons or graphics. The process <strong>of</strong> tracking the connections(or dependencies) between all these files, which usedto require a list called a makefile can now be h<strong>and</strong>led automatically,<strong>and</strong> relationships between classes in object-orientedprograms can be shown visually.Researchers are working on a variety <strong>of</strong> imaginativeapproaches for future programming environments. Forexample, an interactive graphical display (see virtualreality) might be used to allow the programmer to ineffect walk through <strong>and</strong> interact with various representations<strong>of</strong> the program.Further ReadingBurd, Barry. Eclipse for Dummies. Hoboken, N.J.: Wiley, 2004.Hladni, Ivan. Inside Delphi 2006. Plano, Tex.: Wordware Publishing,2006.Kernighan, Brian W., <strong>and</strong> Rob Pike. The UNIX Programming Environment.Englewood Cliffs, N.J.: Prentice Hall, 1984.Parsons, Andrew, <strong>and</strong> Nick R<strong>and</strong>olph. Pr<strong>of</strong>essional Visual Studio2005. Indianapolis: Wiley, 2006.programming languagesThere are many ways to represent instructions to be carriedout by a computer. With early machines like ENIAC,programs consisted <strong>of</strong> a series <strong>of</strong> detailed machine instructions.The exact movement <strong>of</strong> data between the processor’sinternal storage (registers) <strong>and</strong> internal memory had to bespecified, along with the appropriate arithmetic operations.The evolution <strong>of</strong> a few major programming languages through fivedecades. There are actually hundreds <strong>of</strong> different programming languagesthat have seen at least some use in the past 50 years.This lowest level, least abstract form <strong>of</strong> programming languagesis hardest for humans to underst<strong>and</strong> <strong>and</strong> use.The first step toward a more symbolic form <strong>of</strong> programmingis to use easy-to-remember names for instructions(such as ADD or CMP for “compare”) as well asto provide labels for storage locations (variables) <strong>and</strong>subroutines (see procedures <strong>and</strong> functions). The file<strong>of</strong> symbolic instructions (called source code) is read bya program called an assembler (see assembler), whichgenerates the low-level instructions <strong>and</strong> actual memoryaddresses to be used by the program. Because <strong>of</strong> its abilityto closely specify machine operations, assembly languageis still used for low-level hardware control or whenefficiency is at a premium.Most languages in use today are higher-level. Themainstream <strong>of</strong> programming languages consists <strong>of</strong> languagesthat are procedural in nature. That is, they specifya main set <strong>of</strong> instructions that are executed in sequence,although the program can branch <strong>of</strong>f (see branchingstatements) or repeat a series <strong>of</strong> statements until a conditionis satisfied (see loop). A program can also calla set <strong>of</strong> instructions defined elsewhere in the program.Constant or variable data is declared to be <strong>of</strong> a certaintype such as integer or character (see data types) beforeit is used. There are also rules that determine what parts<strong>of</strong> a program can access what data (see variable). Forexamples <strong>of</strong> procedural languages, see Algol, BASIC, C,COBOL, FORTRAN, <strong>and</strong> Pascal.A variant <strong>of</strong> procedural languages is the object-orientedlanguage (see object-oriented programming). Such languages(see C++, Java, <strong>and</strong> Smalltalk) still use sequentialexecution <strong>and</strong> procedures, but the procedures are “packaged”together with relevant data into objects. In order todisplay a picture, for example, the program will call upona particular object (created from a class <strong>of</strong> such objects) toexecute its display function with certain parameters such aslocation <strong>and</strong> dimensions.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!