Introduction

Introduction

Have you ever heard the saying "If all you have is a hammer, every problem is a nail?" Nowhere is that more true than in software development. New software development tools are unleashed on the public every day, usually accompanied by a dozen or more acronyms. Although it is possible even likely that somewhere in this menagerie there is a tool that is ideally suited to whatever problem it is you're currently working on, the fact remains that if the only programming language you know is C, your project will undoubtedly be developed in C.

In this section I provide a very high-level overview of some of the tools available for software development in a Linux environment. My intent here is not to provide a practical introduction to these technologies. In most cases, I'm not even giving even any examples. Instead, I hope to give you a bare-bones introduction to what the tools are, what they are good for, and what the associated acronyms mean. The idea is that when you get your million- dollar idea you can skim over this chapter and figure out which tool it is you need to learn in order to best implement it, then head out to the bookstore and buy more books.

"Scripting Language" vs. "Programming Language"

Developers continue to quibble over the difference between scripting languages and programming languages. To the best of my knowledge, no clear definition exists for distinguishing between the two. It is perhaps more profitable to speak of the difference between compiled and interpreted languages. A compiled language is one in which the source code must be totally parsed and translated into a machine executable form before any part of the program can be executed. An interpreted language is parsed and executed one line at a time. Traditional third-generation languages such as C, Fortran, and Cobol are compiled languages.

Note that nowhere in this appendix do I talk much about shell scripts. A shell script is nothing more than a bunch of shell commands collected in a file and executed as a single unit. They are of course very handy, but in this appendix we're only covering pure development tools.

This appendix provides tantalizing hints about the nature of the following software development tools:

awk

Aged but viable scripting tool

bison

Creates formal language parser

C

Language del Vecchio

C++

Object-oriented C

ColdFusion

Trendy Web development tool

CORBA

Tool to create maintainable code

flex

Parse input into tokens for bison

Fortran

Math and science programming language

gawk

GNU awk

Glade

Rapid GUI development

GTK+/Gnome/glibc

GUI C tools

HTML

Hypertext Markup Language

Java

Object-oriented programming

Javascript

Widely supported HTML extension

lex

Make tokens for yacc/bison

Make

Compile big projects easily

MySQL

Super keen free database

Perl

Mighty scripting language

PHP

Server-side HTML extension

Python

Emergingly mighty scripting language

RCS/SCCS

Revision control tools

sed

(text) stream editor

Swing

Java GUI tools

Tcl/TK

GUI script tool

yacc

Create formal language parsers

 



Linux Desk Reference
Linux Desk Reference (2nd Edition)
ISBN: 0130619892
EAN: 2147483647
Year: 2000
Pages: 174
Authors: Scott Hawkins

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net