- Linux,
the kernel, is mostly written in C and a little bit
of Assembly.
- Toolkits and frameworks used to
develop the graphical interface (e.g. GTK+, Qt, GNOME, KDE, Unity) are written mostly in C and C++.
- Utilities and applications
(i.e. programs) that come bundled with the Operating System are usually
written in Java, Python, C, C++ and
even C#.
Linux provides a complete UNIX programming environment which includes all of the standard libraries, programming tools, compilers, and debuggers which you would expect of other UNIX systems.
Standards like POSIX.1 are supported, which allows software written for Linux to be easily ported to other systems. Professional UNIX programmers and system administrators use Linux to develop software at home, then transfer the software to UNIX systems at work. This not only saves a great deal of time and money, but also lets you work in the comfort of your own home.
With Linux, you have access to the complete set of libraries and programming utilities and the complete kernel and library source code.
Within the UNIX software world, systems and applications are often programmed in C or C++. The standard C and C++ compiler for Linux is GNU gcc, which is an advanced, modern compiler that supports C++, including AT&T 3.0 features, as well as Objective-C, another object-oriented dialect of C.
Besides C and C++, other compiled and interpreted programming languages have been ported to Linux, like Smalltalk, FORTRAN, Java, Pascal, LISP, Scheme, and Ada. In addition, various assemblers for writing protected-mode 80386 code are available, as are UNIX hacking favorites like Perl (the script language to end all script languages) and Tcl/Tk (a shell-like command processing system which has support for developing simple X Window System applications).
The advanced gdb debugger can step through a program one line of source code at a time, or examine a core dump to find the cause of a crash. The gprof profiling utility provides performance statistics for your program, telling you where your program spends most of its execution time. As mentioned above, the emacs text editor provides interactive editing and compilation environments for various programming languages.
Finally, Linux supports dynamically linked, shared libraries (DLLs), which result in much smaller binaries. The common subroutine code is linked at run-time. These DLLs let you override function definitions with your own code. For example, if you wish to write your own version of the malloc() library routine, the linker will use your new routine instead of the one in the libraries.
What
are these profitable languages best at?
- Ruby and JavaScript are best
suited for the web.
- Python is fairly well-suited to
the web, and very versatile on the back-end.
- C++, C, and Java are all good
low-to-mid-level programming languages (back-end).
- Java is also best for Android
Apps and Embedded Devices.
No comments:
Post a Comment