[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Programming languages for Debian-Jr




Recently  Ben  told  me  that  a programming  task  was  required  for
Debian-Jr.

I don't know which packages should be there, however I have compiled a
list of the  languages alreday packaged in Debian  2.2.  IMHO of these
the more appropriate for children between 2 and 8 is UCBLogo.


--------

task-c++-dev
A metapackage containing dependencies for a complete environment for 
development of programs in the C++ programming language, including:
 o Tools common for C, C++ and Objective C development
 o A C preprocessor
 o A C++ compiler and the standard C++ library
 o Documentation for the Standard Template Library
 o Debugging tools
 o Literate programming tools for C++
 o An extensible C++ compiler

--------

task-c-dev
A metapackage containing dependencies for a complete environment for 
development of programs in the C programming language, including:
 o Tools common for C, C++ and Objective C development
 o A C preprocessor
 o A C compiler
 o Development files of the standard C library
 o Debugging tools
 o Literate programming tools for C
 o C source analysis tools and tools to manipulate C source

task-debug
A metapackage containing dependencies for the debugging of programs written
in C, C++, Objective C and other languages supported by the gcc compiler, 
including:
 o The GNU debugger gdb
 o A sophisticated and a simple GUI frontend for the GNU debugger
 o Tools to detect memory access violations
 o Tools to track down memory leaks
 o Tools to annotate source code and extended assertion support
 o Tools for regression testing

--------

task-python
Packages that allow you to develop scripts and and simple applications in
Python.

Python is an interpreted, interactive, object-oriented programming 
language.  It is often compared to Tcl, Perl, Scheme or Java.

Python combines remarkable power with very clear syntax. It has modules,
classes, exceptions, very high level dynamic data types, and dynamic
typing.  There are interfaces to many system calls and libraries, as well
as to various windowing systems (X11, Motif, Tk, Mac, MFC).  New built-in
modules are easily written in C or C++. Python is also usable as an
extension language for applications that need a programmable interface.

You may also want to install one of the following editing environments, 
each of which has support for Python syntax highlighting:
    python-elisp (with any of the emacsen)
    vim-python
    nedit

--------

task-objc-dev
A metapackage containing dependencies for a complete environment for 
development of programs in the Objective C programming language, including:
 o Tools common for C, C++ and Objective C development
 o A C preprocessor
 o An Objective C compiler and library
 o Debugging tools
 o Literate programming tools for Objective C

--------

task-tcltk-dev
A metapackage containing dependencies for packages commonly used in  
developing applications using the Tcl language and Tk Toolkit. It includes:
 o Script-level manpages
 o C-level manpages
 o C headers and libraries

--------

task-fortran

This package depends on a number of other packages.  When installed with   
all its dependencies it provides a reasonably complete environment for
Fortran 77 development.  It also suggest a couple of other packages which
may be of use to Fortran programmers, but does not suggest general tools
like editors.

Removing this package will not remove any functionality from your system -
it exists purely to provide dependencies on other packages.

--------

ucblogo

This is the UC Berkeley implementation of logo written primarily by Daniel
Van Blerkom, Brian Harvey, Michael Katz, and Douglas Orleans.  This version
of logo is featured in Brian Harvey's book _Computer_Science_Logo_Style,
_Volume_1: _Symbolic_Computing_ (ISBN 0-262-58151-5).  This version
provides the following special features:

- Random-access arrays. - Variable number of inputs to user-defined
procedures. - Mutators for list structure (dangerous). - Pause on error,

- Random-access arrays. - Variable number of inputs to user-defined
procedures. - Mutators for list structure (dangerous). - Pause on error,  
and other improvements to error handling. - Comments and continuation
lines; formatting is preserved when
  procedure definitions are saved or edited.
- Terrapin-style tokenization (e.g., [2+3] is a list with one member)
  but LCSI-style syntax (no special forms except TO).  The best of
  both worlds.
- First-class instruction and expression templates. - Macros.

--------


bwbasic

The Bywater BASIC Interpreter (bwBASIC) implements a large superset of the
ANSI Standard for Minimal BASIC (X3.60-1978) and a significant subset of
the ANSI Standard for Full BASIC (X3.113-1987) in C. It also offers shell  
programming facilities as an extension of BASIC. bwBASIC seeks to be as  
portable as possible.

--------

gawk

`awk', a program that you can use to select particular records in a file   
and perform operations upon them.

Gawk is the GNU Project's implementation of the AWK programming language. 
It conforms to the definition of the language in the POSIX 1003.2 Command 
Language And Utilities Standard. This version in turn is based on the 
description in The AWK Programming Language, by Aho, Kernighan, and 
Weinberger, with the additional features defined in the System V Release 4 
version of UNIX awk. Gawk also provides more recent Bell Labs awk 
extensions, and some GNU-specific extensions.

--------

gcl

The GNU Common Lisp compiler, based on Kyoto Common Lisp.


--------

kaffe

This is Kaffe, a virtual machine designed to execute Java bytecode. It   
performs "just-in-time" code conversion from the abstract code to the host 
machine's native code.  This will ultimately allow execution of Java code
at the same speed as standard compiled code but while maintaining the
advantages and flexibility of code independence.

--------

perl

--------

scm

A scheme language interpreter

--------

guile

--------

elk
Elk is an implementation of the Scheme programming language, designed
specifically as an embeddable, reusable extension language subsystem for
applications written in C or C++.

Elk is also useful as a stand-alone Scheme implementation.


--------

FreePascal

The Free Pascal Compiler is a Turbo Pascal 7.0 and Delphi compatible 32bit
Pascal Compiler. It comes with fully TP 7.0 compatible run-time library. 
Some extensions are added to the language, like function overloading.
Shared libraries can be linked and created. Basic Delphi support is already
implemented (classes,exceptions,ansistrings). This package contains the
commandline compiler. You need at least the RTL package before you can
start compiling anything.

gnat
GNAT is a full Ada 95 compiler, which implements the whole Ada language. 
GNAT is actively maintained by Ada Core Technology (http://www.gnat.com/).
This package contains the compiler, as well as the needed unstripped 
libraries so that debugging is possible. If you install this package, you 
do not need to install the `libgnat-3.12p-1' package as the latter contains
only a version of the libraries unsuitable for debugging.

--------

icon

Ideal for both complex nonnumerical applications and for situations where 
users need quick solutions with a minimum of programming effort, Icon is a 
high-level, general purpose programming language with a syntax similar to 
Pascal and C. Its applications include: rapid prototyping, analyzing 
natural languages, generating computer programs, and artificial 
intelligence. (From the back cover of the book "The Icon Programming 
Language," by Griswold and Griswold.)


m2c
m2c is a Modula-2 translator. The translator is based on the language
report in the 4th edition of Wirth's book Programming in Modula-2. The 
translator also supports the third edition of Wirth's book. High
portability of the translator is achieved by intermediate translation into
C. The translator is aimed to be used on Unixes of different flavors.

--------

Ocaml

Objective Caml is an implementation of the ML language, based on the Caml
Light dialect extended with a complete class-based object system and a
powerful module system in the style of Standard ML.

Objective Caml comprises two compilers. One generates bytecode which is
then interpreted by a C program. This compiler runs quickly, generates
compact code with moderate memory requirements, and is portable to
essentially any 32 or 64 bit Unix platform. Performance of generated

programs is quite good for a bytecoded implementation: almost twice as fast
as Caml Light 0.7. This compiler can be used either as a standalone,
batch-oriented compiler that produces standalone programs, or as an
interactive, toplevel-based system. The other compiler generates
high-performance native code for a number of processors. Compilation takes
longer and generates bigger code, but the generated programs deliver
excellent performance (better than Standard ML of New Jersey 1.08 on our
tests), while retaining the moderate memory requirements of the bytecode
compiler.

--------

oo2c


Oberon-2 is an object-oriented programming language, a successor of Pascal,
designed by the renowned Niklaus Wirth. It combines the popular and proven
design of Pascal (strict type system, easy to read code, easy to follow   
program flow, possibility to naturally structure your source code) with the
modularity of Modula-2 and enhances both of them with clean, simple but 
powerful object-oriented concepts, including inheritance, dynamic type
information, virtual methods, various access rules on class and module
basis and a built-in garbage collector.


--------

rscheme

RScheme is a scheme interpreter and compiler with object extensions, 
threads, a persistent store, an optional real-time garbage collector, and
many other nifty features.

RScheme can generate byte compiled modules, or compile directly to C. This
is quite easy with the current configuration.  See 
/usr/doc/rscheme/module-example for an example.

--------

Ruby


smalleiffel

SmallEiffel is a compiler for the Eiffel language, which is a pure 
object-oriented language providing strong type-checking and based on the  
concept of 'design by contract'.  It allows multiple inheritance and does
it well.

Design-by-contract means that a class guarantees that certain conditions 
will always hold, and that a routine guarantees certain results given
certain specified inputs.  The rules for inheritance mean that contracts
concept of 'design by contract'.  It allows multiple inheritance and does
it well.

Design-by-contract means that a class guarantees that certain conditions 
will always hold, and that a routine guarantees certain results given
certain specified inputs.  The rules for inheritance mean that contracts
can be relied on even when classes are reused through inheritance.

The Eiffel language is described and defined in the book "Eiffel: The 
Language" by Bertrand Meyer.


--------

sml-nj

SML/NJ is an implementation of ML, a functional language with many features
useful for torturing Computer Science students.

This package contains:
 * the "sml" runtime with CM (Compilation Manager) built in.
 * the standard libraries commonly found on SML systems.
 * ml-lex, ml-yacc, and ml-burg (a code-generation tool).
 * Concurrent ML, a library for concurrent message passing in ML.
 * eXene, an X Windows interface written entirely in ML.

--------

stallin

Stalin is an aggressive self-hosting Scheme compiler.  It is designed to
generate extremely efficient stand-alone executables in terms of both
computational performance and resource consumption.  Stalin is a batch mode
compiler like gcc, not an interpreter.  It is designed to be used after
your code has stabilized to dramatically improve code performance.


--------

tom - The TOM programming language compiler and tools.

More information at http://gerbil.org/tom/.


--------

gprolog
GNU Prolog is a free Prolog compiler with constraint solving over finite 
domains (FD) developed by Daniel Diaz.  GNU Prolog is based on two systems
developed by the same author (with lot of code rewriting and a lot of new 
extensions): wamcc and clp(FD).  A lot of work has been devoted to the ISO
compatibility, GNU Prolog is very close to the ISO standard.

--------

gpc

This is the GNU Pascal compiler, which compiles Pascal on platforms
supported by the gcc compiler. It uses the gcc backend to generate
optimized code.

The current beta release 2.2 implements Standard Pascal (ISO 7185, level
1), a large subset of Extended Pascal (ISO 10206), and Borland Pascal. Many
Borland Pascal units supported.

--------

Mercury


Mercury is a new logic/functional programming language, which combines the 
clarity and expressiveness of declarative programming with advanced static
analysis and error detection features.  Its highly optimized execution
algorithm delivers efficiency far in excess of existing logic programming
systems, and close to conventional programming systems. Mercury addresses
the problems of large-scale program development, allowing modularity,
separate compilation, and numerous optimization/time trade-offs.



Best regards.
-- 
  Vladimir Támara Patiño.  
  Home Page: http://www.tamarapatino.com/vladimir




Reply to: