Software refers to parts of the computer which do not have a material form, such as programs, data, protocols, etc. When software is stored in hardware that cannot easily be modified (such as BIOS ROM in an IBM PC compatible), it is sometimes called "firmware" to indicate that it falls into an uncertain area somewhere between hardware and software.
Operating system | Unix and BSD | UNIX System V, IBM AIX, HP-UX, Solaris (SunOS), IRIX, List of BSD operating systems |
GNU/Linux | List of Linux distributions, Comparison of Linux distributions | |
Microsoft Windows | Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Vista, Windows 7, Windows CE | |
DOS | 86-DOS (QDOS), PC-DOS, MS-DOS, DR-DOS, FreeDOS | |
Mac OS | Mac OS classic, Mac OS X | |
Embedded and real-time | List of embedded operating systems | |
Experimental | Amoeba, Oberon/Bluebottle, Plan 9 from Bell Labs | |
Library | Multimedia | DirectX, OpenGL, OpenAL |
Programming library | C standard library, Standard Template Library | |
Data | Protocol | TCP/IP, Kermit, FTP, HTTP, SMTP |
File format | HTML, XML, JPEG, MPEG, PNG | |
User interface | Graphical user interface (WIMP) | Microsoft Windows, GNOME, KDE, QNX Photon, CDE, GEM |
Text-based user interface | Command-line interface, Text user interface | |
Application | Office suite | Word processing, Desktop publishing, Presentation program, Database management system, Scheduling & Time management, Spreadsheet, Accounting software |
Internet Access | Browser, E-mail client, Web server, Mail transfer agent, Instant messaging | |
Design and manufacturing | Computer-aided design, Computer-aided manufacturing, Plant management, Robotic manufacturing, Supply chain management | |
Graphics | Raster graphics editor, Vector graphics editor, 3D modeler, Animation editor, 3D computer graphics, Video editing, Image processing | |
Audio | Digital audio editor, Audio playback, Mixing, Audio synthesis, Computer music | |
Software engineering | Compiler, Assembler, Interpreter, Debugger, Text editor, Integrated development environment, Software performance analysis, Revision control, Software configuration management | |
Educational | Edutainment, Educational game, Serious game, Flight simulator | |
Games | Strategy, Arcade, Puzzle, Simulation, First-person shooter, Platform, Massively multiplayer, Interactive fiction | |
Misc | Artificial intelligence, Antivirus software, Malware scanner, Installer/Package management systems, File manager |
Programming languages
Programming languages provide various ways of specifying programs for computers to run. Unlike natural languages, programming languages are designed to permit no ambiguity and to be concise. They are purely written languages and are often difficult to read aloud. They are generally either translated into machine code by a compiler or an assembler before being run, or translated directly at run time by an interpreter. Sometimes programs are executed by a hybrid method of the two techniques. There are thousands of different programming languages—some intended to be general purpose, others useful only for highly specialized applications.
Lists of programming languages | Timeline of programming languages, List of programming languages by category, Generational list of programming languages, List of programming languages, Non-English-based programming languages |
Commonly used Assembly languages | ARM, MIPS, x86 |
Commonly used high-level programming languages | Ada, BASIC, C, C++, C#, COBOL, Fortran, Java, Lisp, Pascal, Object Pascal |
Commonly used Scripting languages | Bourne script, JavaScript, Python, Ruby, PHP, Perl |
Professions and organizations
As the use of computers has spread throughout society, there are an increasing number of careers involving computers.
Hardware-related | Electrical engineering, Electronic engineering, Computer engineering, Telecommunications engineering, Optical engineering, Nanoengineering |
Software-related | Computer science, Desktop publishing, Human–computer interaction, Information technology, Computational science, Software engineering, Video game industry, Web design |
The need for computers to work well together and to be able to exchange information has spawned the need for many standards organizations, clubs and societies of both a formal and informal nature.
Standards groups | ANSI, IEC, IEEE, IETF, ISO, W3C |
Professional Societies | ACM, ACM Special Interest Groups, IET, IFIP, BCS |
Free/Open source software groups | Free Software Foundation, Mozilla Foundation, Apache Software Foundation |
0 comments:
Post a Comment