[comp.lang.misc] Ada, Basic, C, Lisp, Modula, Pascal, Prolog

PL152008@tecmtyvm.mty.itesm.mx (Gustavo Gomez-E. Martinez) (03/29/90)

I want to know some things about some languages ...

  this languages are Ada, Basic, C, Lisp, Modula, Pascal and Prolog, and
the things I want to know are:
    1. Why that name?  (where the name comes from?)
    2. What data types it handles?
    3. What advantages it offers?
    4. Which languages can interact with?

Thanks in advance.


-ggem.
Monterrey Institute of Technology
Monterrey Mexico.

PL152008@tecmtyvm.mty.itesm.mx               PL152008@tecmtyvm.bitnet
al152008@mtecv2.mty.itesm.mx                 al152008%mtecv2@tecmtyvm.bitnet

#

u8515682@wolfen.cc.uow.oz (Wayne Jefferson DOUST) (03/30/90)

In article <90087.215030PL152008@tecmtyvm.mty.itesm.mx>, PL152008@tecmtyvm.mty.itesm.mx (Gustavo Gomez-E. Martinez) writes:
> I want to know some things about some languages ...
> 
>   this languages are Ada, Basic, C, Lisp, Modula, Pascal and Prolog, and
> the things I want to know are:
>     1. Why that name?  (where the name comes from?)
>     2. What data types it handles?
>     3. What advantages it offers?
>     4. Which languages can interact with?
> 
> Thanks in advance.
> 
> 
> -ggem.
> Monterrey Institute of Technology
> Monterrey Mexico.
> 

I hope these facts are correct, I'm reasonably sure about most of them
anyway:

	BASIC - 1. Beginners All-purpose Symbolic Instruction Code.
		Created as an introductory computer language and
		was never intended for serious use.

		2. Strings, Integers, Floating point data types.
		Arrays of all these may be used. There are so many
		different versions of Basic that there is no real
		standard, however, the notations are usually '$'
		for a string; '%' for an integer and all others are
		floating point. Some Basic interpreters will accept
		anything as a variable name & others will only
		accept one to two characters & others are different
		still. In general the following variables will
		work with the majority of interpreters:

				A$ - String variable e.g A$="HI"

				A% - Integer var. e.g. A%=5

				A - Floating pt. e.g. A=5.2

		Most basics are not strongly typed so operations
		between types are okay.

		3 Advantages: Simple, easy to learn, interpreted
		good for writing a quick number crunching programme
		in 5 minutes, readily available, cheap to buy, well
		supported.

		Disadvantages: slooooow, not structured, no real
		standard, does not support enumerated types, doesn't
		REAllY support function calls, cannot use recursion.
		Cannot do all that much really.

		4 Very poor interaction with the outside world other
		than reading and writing data to files and standard
		I/O.

	PASCAL - 1 Developed by Nikolas Wirth at Dartemouthe (I think)
		after ALGOL 66 was released and Wirth didn't like it.
		So he wrote his own programming language. Pascal is
		written to follow the Axiom that only three control
		structures are required to write any programme. In
		short, Wirth wrote it as a teaching language to
		teach students to write stuctured and modular
		programmes. The language forces you to write structured
		programmes. The name? I believe he was just a fan of
		Blaise Pascal the famous French Mathematician and
		Scientist.

		2 Heaps of data types, not one there that you want?
		Well! make your own! Pascal is very strongly typed
		and this can sometimes be a pain. Variable's can
		be called just about anything you like. Typical
		data types include: int,longint, char, real, double,
		record and others that I can't think of off the top
		of my head. Variant record's are supported but these
		can be fiddly.

		3 Advantages: Modularity, structured, supports recursion
		enumerated types, compiled.

		Disadvantages: A bit TOO strongly typed, you're
		forced to programme stuctured, fast but not as fast
		as say C, source code is usually laboriously long and
		heavily indented.
		Wirth apparently was surprised at the amount of use
		Pascal had in industry so he wrote MODULA - 2 to
		supercede Pascal. I haven't used it but I'm told it is
		superior, compiles better and faster, and the       
		programming difficulties inherent in Pascal are
		overcome. The other problems remain

		4. Interaction is pretty good. You can call any       
		executable programme from Pascal as though it were
		a function or procedure and pass data to and from them.
		You cannot, however, run a programme from Pascal. I'm
		not sure about MODULA - 2.

	C       Originally developed at Bell Lab's in the early 70's
		on a PDP-11 by 2 of the Lab's employee's. Bell lab's
		were working previously on a new language called A
		which they couldn't get off the ground. They used the
		research on A to develop B, but it didn't quite get
		there either. Bell labs decided it was a money pit
		and left it to die. Two programmers there got
		permission to use a clapped out PDP-11 (or 8 I can't
		remeber) to work on it as a hobby. The result was C.

		2 C will support most data types and because of the
		flexibilty of the language you can always create your
		own. Typing does not exist though so the word is
		BE CAREFUL. You might not only junk your programme
		but your entire workspace if your not careful.

		3 C is very powerful and will let you do just about
		anything. Because it is a medium level language the
		code compiles almost as compactly as an assembly
		language programme but without the horrible
		source code and is almost as fast in execution.
		Disadvantages: Not a language for beginners - you
		can really hang yourself if you're not careful, 
		confusing code, it is possible to write unintelligle
		programmes that work but nobody else will be able
		to work out why - and yes - they exist.

		4 Excellent interaction, you can actually write a
		Unix operating system in C, run it,and call up
		C again to compile Unix again (Masochist's only)
		In fact most standard C functions are actually
		programmes that C calls that are appended to your
		programme upon compiling. So you call pass parameters
		to your programme or use your programme as a function
		or have it call itself recursively.

	MODULA All I can tell you is that it is a structured language
		using modules, hence the name.

	PROLOG All I can tell you is that the language consists of
		logic statements. ie PRogramming in LOGic.

	LISP & ADA I can't help you with. Sorry.

					Wayne

> al152008@mtecv2.mty.itesm.mx                 al152008%mtecv2@tecmtyvm.bitnet
> 
> #