Monday, August 23, 2010

Linux O/S

Linus Torvalds is the guy behind the Linux O/S(1991). It can be installed in a variety of  devices ranging from desktop computers to supercomputers.It's one of 'strongest' operating systems known worldwide. Most servers use this O/S because of its network handling capacity.It's based on the Unix Operating system. However, desktop use of Linux has become increasingly popular in recent years, partly owing to the popular Ubuntu, Fedora, Mint, and openSUSE distributions and the emergence of netbooks and smartphones running an embedded Linux.

The development of Linux is one of the most prominent examples of free and open source software collaboration; typically all the underlying source code can be used, freely modified, and redistributed, both commercially and non-commercially, by anyone under licenses such as the GNU General Public License. Typically Linux is packaged in a format known as a Linux distribution for desktop and server use. Linux distributions include the Linux kernel and all of the supporting software required to run a complete system, such as utilities and libraries, the X Window System, the GNOME and KDE desktop environments, and the Apache HTTP Server. Commonly used applications with desktop Linux systems include the Mozilla Firefox web-browser, the office application suite and the GIMP image editor.

Linus Tovarlds

The primary difference between Linux and many other popular contemporary operating systems is that the Linux kernel and other components are free and open source software. Linux is not the only such operating system, although it is by far the most widely used. Some free and open source software licenses are based on the principle of copyleft, a kind of reciprocity: any work derived from a copyleft piece of software must also be copyleft itself. The most common free software license, the GNU GPL, is a form of copyleft, and is used for the Linux kernel and many of the components from the GNU project.
Linux based distributions are intended by developers for interoperability with other operating systems and established computing standards. Linux systems adhere to POSIX, SUS, ISO, and ANSI standards where possible, although to date only one Linux distribution has been POSIX.1 certified, Linux-FT.
Free software projects, although developed in a collaborative fashion, are often produced independently of each other. The fact that the software licenses explicitly permit redistribution, however, provides a basis for larger scale projects that collect the software produced by stand-alone projects and make it available all at once in the form of a Linux distribution.
A Linux distribution, commonly called a "distro", is a project that manages a remote collection of system software and application software packages available for download and installation through a network connection. This allows the user to adapt the operating system to his/her specific needs. Distributions are maintained by individuals, loose-knit teams, volunteer organizations, and commercial entities. A distribution is responsible for the default configuration of the installed Linux kernel, general system security, and more generally integration of the different software packages into a coherent whole. Distributions typically use a package manager such as Synaptic, YAST, or Portage to install, remove and update all of a system's software from one central location.

Programming on Linux

Most Linux distributions support dozens of programming languages. The most common collection of utilities for building both Linux applications and operating system programs is found within the GNU toolchain, which includes the GNU Compiler Collection (GCC) and the GNU build system. Amongst others, GCC provides compilers for Ada, C, C++, Java, and Fortran. Proprietary compilers for Linux include the Intel C++ Compiler, Sun Studio, and IBM XL C/C++ Compiler. BASIC is supported in such forms as Gambas, FreeBASIC, and XBasic.
Most distributions also include support for PHP, Perl, Ruby, Python and other dynamic languages. While not as common, Linux also supports C# via the Mono project, sponsored by Novell, C# via Vala and Scheme. A number of Java Virtual Machines and development kits run on Linux, including the original Sun Microsystems JVM (HotSpot), and IBM's J2SE RE, as well as many open-source projects like Kaffe.
The two main frameworks for developing graphical applications are those of GNOME and KDE. These projects are based on the GTK+ and Qt widget toolkits, respectively, which can also be used independently of the larger framework. Both support a wide variety of languages. There are a number of Integrated development environments available including Anjuta, Code::Blocks, Eclipse, KDevelop, Lazarus, MonoDevelop, NetBeans, Qt Creator and Omnis Studio while the long-established editors Vim and Emacs remain popular.

Linux Desktops

Wednesday, August 18, 2010

Programming Language Inventors

BASIC – John Kemeny & Thomas Kurtz

John Kemeny and Thomas Kurtz designed the original BASIC programming language in 1964 at Dartmouth University to provide computer access to non-science students. Kemeny was a Hungarian-American mathematician, computer scientist, and educator. He served as President of Dartmouth College 1970–1981 and chaired the presidential commission that investigated the Three Mile Island nuclear accident in 1979. Kurtz is an American computer scientist who was Professor of Mathematics and Director of Computer and Information Systems at Dartmouth. In 1994 he was inducted as a Fellow of the Association for Computing Machinery.

C – Dennis Ritchie

Dennis Ritchie is an American computer scientist who invented the C programming language in 1972 for Bell Telephone Labs. Ritchie is co-author of the definitive book on C, The C Programming Language (also known as K&R in reference to the authors Kernighan and Ritchie). Ritchie also co-developed the Unix operating system, received the Turing Award in 1983 and the National Medal of Technology in 1998. Ritchie was head of Lucent Technologies System Software Research Department when he retired in 2007.

C++ – Bjarne Stroustrup

Bjarne Stroustrup is a Danish computer scientist and the Chair Professor of Computer Science at Texas A&M University. He invented C++ in 1979 (then called “C with Classes”) and wrote what many consider to be the the C++ bible, The C++ Programming Language.

C# – Anders Hejlsberg

Anders Hejlsberg is a prominent Danish software engineer who currently works for Microsoft as the lead architect of the C# programming language. He also developed the J++ programming language and Windows Foundation Classes. Hejlsberg recently became a Microsoft Distinguished Engineer and Technical Fellow.

COBOL – Grace Hopper

Rear Admiral Grace Hopper was an American computer scientist and United States Naval officer. A pioneer in the field, she was one of the first programmers of the Harvard Mark I calculator, and she developed the first compiler for a computer programming language. COBOL was an extension of Hopper’s FLOW-MATIC language. It was Hopper’s idea that programs could be written in a language that was close to English rather than in machine code.

Delphi – Anders Hejlsberg

Anders Hejlsberg is a prominent Danish software engineer who wrote a Pascal compiler for CP/M and MS-DOS that eventually became Borland Turbo Pascal, the most commercially successful Pascal compiler ever. In 1989, Hejlsberg joined Borland as chief architect for the replacement of Turbo Pascal, Delphi.

FORTRAN – John Backus

John Backus was an American computer scientist who led the team that invented FORTRAN, the first widely used high-level programming language. He also invented the Backus-Naur form (BNF), the notation used to define formal language syntax. Backus received W.W. McDowell Award in 1967, National Medal of Science Award in 1975, and the ACM Turing Award in 1977.

Java – James Gosling

James Gosling is a famous Canadian software developer who has been with Sun Microsystems since 1984 and is considered the father of the Java programming language, invented in 1991. Gosling did the original design of Java and implemented its original compiler and virtual machine.

JavaScript – Brendan Eich

Brendan Eich is a computer programmer who created the JavaScript programming language for the Netscape Navigator web browser in 1995. He is now the Chief Technology Officer of the Mozilla Corporation.

Perl – Larry Wall

Larry Wall is a programmer and author, best known for his creation of the Perl programming language in 1987. A linguist working as a systems administrator for NASA, Wall developed Perl as a general purpose Unix scripting language to make report processing easier. Wall is also the co-author of Programming Perl (often referred to as the Camel Book), the definitive resource for Perl programmers.

PHP-Rasmus Lerdorf is a Danish-Greenlandic programmer and most notable as the creator of the PHP programming language. PHP began in 1994 as a set of Common Gateway Interface binaries that Lerdorf wrote in C to replace Perl scripts he had been using on his personal homepage. Lerdorf has been an Infrastructure Architecture Engineer at Yahoo! since 2002.

Python – Guido van Rossum

Guido van Rossum is a Dutch programmer best known as the author of the Python programming language. Python started as a hobby project: a scripting language descendant of ABC that would appeal to Unix/C hackers. In the Python community, Van Rossum is known as a “Benevolent Dictator for Life.” Van Rossum currently works at Google on Python development.

Ruby – Yukihiro Matsumoto

Yukihiro Matsumoto is a Japanese computer scientist and programmer best known as the chief designer of the Ruby programming language in the mid-1990s and its reference implementation, Matz’s Ruby Interpreter (MRI). Today, Matsumoto is the head of R&D at the Network Applied Communication Laboratory, an open source systems integrator company.

Visual Basic – Alan Cooper

Alan Cooper is widely regarded as the father of Visual Basic. In 1987, Cooper developed ”Tripod,” an improved shell/desktop for the fledgling Windows operating system. Tripod became Microsoft’s “Ruby,” and Cooper led a team of engineers to deliver what ultimately became Visual Basic. (more) Today Cooper is an advocate of UI design, runs a design company and writes books about how to make software user interfaces more usable.