IceWalkers.com - Linux Software downloads and news
Name : Password :
Linux SoftwareLinux RPMLinux HowtosLink UsAboutAdvertise

Programming Languages mini-HOWTO

Search Howtos :Match :
Next Previous Contents

2. Programming Languages

C, Lisp and Perl are traditional hacking languages in the GNU/Linux culture; Python, PHP, Java and C++ have gained new ground recently.

2.1 Concepts in the Table

Language

A common name of the language.

Beginner

Indicates how well suited the language is for people with little programming experience. A language marked with ``yes'' should be viable for a beginner's first programming language.

Performance

How fast your applications are likely to run when you put them into production use. Performance depends more on your algorithmic programming skills than the actual language. As a rule of thumb, C, C++ and Fortran are sometimes necessary because they can offer better performance than other languages - at other times they might be unwieldy for the desired purpose. (One idea for unscientific ``benchmarking'' of the languages would be to implement a simple sorting algorithm in all of them and compare running times. This of course does not measure the performance of the actual language - since that concept does not make sense - but only the implementation. Of course it's also not a very reliable or thorough method, but it would give an example how running times in different languages can differ. Anybody want to help me with this?)

OOP, Object-Oriented Programming vs. other paradigms

Object-oriented programming is an important programming paradigm that is gaining popularity. In object oriented programming, data structures and algorithms are integrated into units, often called classes. OOP is often contrasted with procedural programming (which uses separate algorithms and data structures). It is not strictly dependent on language: you can do OOP in languages not listed as such (C for example), and program in the procedural style in languages that are listed as OOP. I've listed as OOP languages that have special features or add-ons to facilitate OOP. Functional languages (Lisp for example) are a bit different breed - among other things, functional programming is a superset of OOP. Logic programming (Prolog), also called declarative programming, on the other hand, is not related to the other types of programming in a similar sense.

RAD, Rapid Application Development

More dependent on the tools you are using than the actual language. There is a HOWTO on GUI development tools for Linux, although it's out of date. With a good graphical tool you can do RAD. RAD can be powerful when based on code reuse as well, so free software could provide a good starting point.

Examples

Mentions fields of programming the language is most often used in. Other good (and bad) uses exist, but they are less typical.

Comments

Additional information on the language, like capacities and dialects.

2.2 Major Languages


Perl
Beginner: Yes - OOP: Yes
Examples: Scripting, sysadmin, www
Comments: Powerful for handling text and strings

Python
Beginner: Yes - OOP: Yes 
Examples: Scripting, application scripting, www
Comments: 

TCL
Beginner: Yes - OOP: No
Examples: Scripting, sysadmin, applications
Comments: 

PHP
Beginner: Yes - OOP: Yes
Examples: Www
Comments: Popular for web databases

Java
Beginner: Yes - OOP: Yes
Examples: Cross-platform applications, www
Comments: Spreading to new areas, eg. e-commerce infrastructure

Lisp
Beginner: Yes - OOP: Functional
Examples: Emacs modes (for Elisp), AI
Comments: Variants Elisp, Clisp and Scheme

Fortran
Beginner: No  - OOP: No
Examples: Mathematical (scientific) applications
Comments: Variants f77 and f90/95

C
Beginner: No  - OOP: No
Examples: System programming, applications
Comments: 

C++
Beginner: No  - OOP: Yes
Examples: Applications
Comments:

2.3 Shell Programming

Shells are an important programming environment, too. I haven't covered them because I don't understand the field very thoroughly yet. Knowledge of shells is important for anyone who works on Linux regularly, more so for system administrators. There are similarities between shell programming and other kinds of scripting - often they can achieve the same goals, and you have the option of choosing between native shell and a separate scripting language. Among the most popular shells are bash, tcsh, csh, ksh and zsh. You can get basic information on your shell with the man command, man bash for example.

2.4 Other Languages

Other languages of note: AWK, SED, Smalltalk, Eiffel, Ada, Prolog, assembler, Objective C, Logo, Pascal (p2c converter)

2.5 Links


Next Previous Contents
Search Howtos :Match :
Linux Kernel 2.6 2.6.27.7
Linux Kernel
Battle for Wesnoth 1.4.6
Fantasy Turn-Based Strategy Game
DeleGate 9.9.0-pre8
Proxy server which runs on multiple platforms
Safesquid proxy server 4.2.2.RC8.14B
Antivirus and content filtering proxy server
Thunderbird 2.0.0.18
An email and newsgroup client with powerful, new junk mail controls
JEdit 4.3pre16
Programmers text editor
Wine 1.1.9
Free implementation of Windows on Unix
WebGUI 7.5.34
A fully featured content management system.
KOffice 2.0 beta3
Integrated office suite for KDE
LimeWire 4.18.8
Gnutella Client
Free IT Magazines, White Papers, eBooks, and more !
Oracle Magazine

Contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more.

eWeek

The essential technology information source for builders of e-business.

BusinessWeek (Digital Edition)

Provides readers a deeper understanding of the trends that drive growth, and what best practices keep them ahead of the competition.

Linux Software Map
Find Linux RPM
Best Rated Linux Software
Most Rated Linux Software
Linux Distributions
Linux Howtos
Quick Survey

Please take our survey and help us improve our website to serve you better.

Thank you.
Linux Software
Linux / IT Resources
Site Resources
Google
Privacy Policy
Contact Us
Submit Software
Advertising info