501 lines
12 KiB
HTML
501 lines
12 KiB
HTML
<HTML>
|
|
<HEAD>
|
|
<TITLE>Linux Threads Home Page: Are there languages that support threads?</TITLE>
|
|
</HEAD>
|
|
<BODY BACKGROUND="GraySea.gif">
|
|
|
|
<P><FONT SIZE=+3>Are there languages that support threads?</FONT></P>
|
|
|
|
<UL>
|
|
<P>Currently, Ada, Modula-3, Python 1.4, SmallTalk/X, Objective-C/ Gnustep
|
|
and Java have intrinsic language elements to support threads (for example,
|
|
Ada has the 'Select' statement which is a "thread guard"). However,
|
|
the Linux implementations of these languages do not yet support the new
|
|
kernel threads.</P>
|
|
|
|
<P>Naturally, C and C++ can make calls to spawn threads and processes,
|
|
but there are no language elements to support them beyond these system
|
|
calls. See below for a listing of available languages:</P>
|
|
</UL>
|
|
|
|
<P>Threading Languages</P>
|
|
|
|
<TABLE BORDER=1 CELLSPACING=2 CELLPADDING=5 WIDTH="100%" >
|
|
<TR>
|
|
<TD ALIGN=RIGHT><FONT SIZE=+2>Titles:</FONT></TD>
|
|
|
|
<TD><FONT SIZE=+2>Ada/Ed</FONT></TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Author:</TD>
|
|
|
|
<TD>New York University</TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Repositories:</TD>
|
|
|
|
<TD>Documentation []
|
|
<P><A HREF="http://sunsite.unc.edu/pub/Linux/devel/lang/ada/INDEX.html">Source
|
|
[http://sunsite.unc.edu/pub/Linux/devel/lang/ada/INDEX.html]</A></P>
|
|
</TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Newsgroup:</TD>
|
|
|
|
<TD><A HREF="news:comp.lang.ada">comp.lang.ada [news:comp.lang.ada]</A></TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Threads Lib:</TD>
|
|
|
|
<TD>LinuxThreads</TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Description:</TD>
|
|
|
|
<TD>Ada/Ed is a translator-interpreter for Ada. It is intended as a teaching
|
|
tool and does not have the capacity, performance or robustness of commercial
|
|
Ada compilers. Ada/Ed was developed as a long-range project in language
|
|
definition and software prototyping.</TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>License: </TD>
|
|
|
|
<TD>GPL</TD>
|
|
</TR>
|
|
</TABLE>
|
|
|
|
<TABLE BORDER=1 CELLSPACING=2 CELLPADDING=5 WIDTH="100%" >
|
|
<TR>
|
|
<TD ALIGN=RIGHT><FONT SIZE=+2>Title:</FONT></TD>
|
|
|
|
<TD><FONT SIZE=+2>Gnat</FONT></TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Author:</TD>
|
|
|
|
<TD>New York University</TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Repositories:</TD>
|
|
|
|
<TD><A HREF="http://www.ocsystems.com/xada/gnat1.html">Documentation [Source
|
|
http://www.ocsystems.com/xada/gnat1.html]</A>
|
|
<P><A HREF="http://sunsite.unc.edu/pub/Linux/devel/lang/ada/INDEX.html">SVGA
|
|
Bindings [http://sunsite.unc.edu/pub/Linux/devel/lang/ada/INDEX.html]</A></P>
|
|
</TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Newsgroup:</TD>
|
|
|
|
<TD><A HREF="news:comp.lang.ada">comp.lang.ada [news:comp.lang.ada]</A></TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Threads Lib:</TD>
|
|
|
|
<TD>LinuxThreads</TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Description:</TD>
|
|
|
|
<TD>GNAT is the Ada 95 compiler produced by a collaboration between a team
|
|
at New York University and the Free Software Foundation, 'owner' of the
|
|
GNU software project.</TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>License: </TD>
|
|
|
|
<TD>GPL</TD>
|
|
</TR>
|
|
</TABLE>
|
|
|
|
<TABLE BORDER=1 CELLSPACING=2 CELLPADDING=5 WIDTH="100%" >
|
|
<TR>
|
|
<TD ALIGN=RIGHT><FONT SIZE=+2>Title:</FONT></TD>
|
|
|
|
<TD><FONT SIZE=+2>Guavac & Kaffe (Java)</FONT></TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Author:</TD>
|
|
|
|
<TD>???</TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Repositories:</TD>
|
|
|
|
<TD><A HREF="http://http.cs.berkeley.edu/~engberg/guavac/">Guavac Documentation
|
|
[http://http.cs.berkeley.edu/~engberg/guavac/]</A>
|
|
<P><A HREF="http://web.soi.city.ac.uk/~tim/kaffe/kaffe.html">Kaffe Documentation
|
|
[http://web.soi.city.ac.uk/~tim/kaffe/kaffe.html]</A> </P>
|
|
|
|
<P><A HREF="ftp://summit.stanford.edu/pub/guavac/">Gauvac Source [ftp://summit.stanford.edu/pub/guavac/]</A></P>
|
|
|
|
<P><A HREF="ftp://ftp.sarc.city.ac.uk/pub/kaffe/">Kaffe Source [ftp://ftp.sarc.city.ac.uk/pub/kaffe/]</A></P>
|
|
</TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Newsgroup:</TD>
|
|
|
|
<TD></TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Threads Lib:</TD>
|
|
|
|
<TD>???</TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Description:</TD>
|
|
|
|
<TD>Guavac is a new compiler for the Java language, written by Effective
|
|
Edge Technologies and distributed under the Gnu Public License. You should
|
|
feel free to use, copy and modify it, based on the terms in the COPYING
|
|
file included in this distribution.
|
|
<P>Kaffe is a virtual machine design to execute Java bytecode. Unlike other
|
|
virtual machines available, this machine 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.</P>
|
|
</TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>License: </TD>
|
|
|
|
<TD>GPL</TD>
|
|
</TR>
|
|
</TABLE>
|
|
|
|
<TABLE BORDER=1 CELLSPACING=2 CELLPADDING=5 WIDTH="100%" >
|
|
<TR>
|
|
<TD ALIGN=RIGHT><FONT SIZE=+2>Title:</FONT></TD>
|
|
|
|
<TD><FONT SIZE=+2>Inferno</FONT></TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Author:</TD>
|
|
|
|
<TD>Sean Dorward, Phil Winterbottom, and Rob Pike</TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Repositories:</TD>
|
|
|
|
<TD><A HREF="http://inferno.lucent.com/inferno/">Documentation/Source
|
|
[http://inferno.lucent.com/inferno/]</A></TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Newsgroup:</TD>
|
|
|
|
<TD></TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Threads Lib:</TD>
|
|
|
|
<TD>ProvenThreads (?)</TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Description:</TD>
|
|
|
|
<TD>Inferno(tm) is a new network operating system and programming
|
|
environment to deliver content in a rich environment of heterogenous
|
|
networks, clients and servers.
|
|
</TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>License: </TD>
|
|
|
|
<TD>Free but with <A HREF="http://inferno.lucent.com/inferno/registration.html">special requirements</A>.</TD>
|
|
</TR>
|
|
</TABLE>
|
|
|
|
<TABLE BORDER=1 CELLSPACING=2 CELLPADDING=5 WIDTH="100%" >
|
|
<TR>
|
|
<TD ALIGN=RIGHT><FONT SIZE=+2>Title:</FONT></TD>
|
|
|
|
<TD><FONT SIZE=+2>Modula-3/m3gdb</FONT></TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Author:</TD>
|
|
|
|
<TD><A HREF="m3-request@src.dec.com">DEC Systems Research Center [m3-request@src.dec.com]</A></TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Repositories:</TD>
|
|
|
|
<TD><A HREF="http://sunsite.unc.edu/pub/Linux/devel/lang/modula-3/">Documentation/Source
|
|
[http://sunsite.unc.edu/pub/Linux/devel/lang/modula-3/]</A></TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Newsgroup:</TD>
|
|
|
|
<TD><A HREF="news:comp.lang.modula3">comp.lang.modula-3 [news:comp.lang.modula3]</A></TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Threads Lib:</TD>
|
|
|
|
<TD>(Uses own?)</TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Description:</TD>
|
|
|
|
<TD>Compiler, tools, applications and libraries for Modula-3, a simple
|
|
and efficient modular, imperative language. Modula-3 has objects, threads,
|
|
exceptions and generics. The libraries include X toolkits, a user interface
|
|
builder, an embedded interpreted language and network objects.
|
|
<P>m3gdb is a GPL debugger for Modula-3.</P>
|
|
</TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>License: </TD>
|
|
|
|
<TD>(see copyright, freely usable and redistributable)</TD>
|
|
</TR>
|
|
</TABLE>
|
|
|
|
<TABLE BORDER=1 CELLSPACING=2 CELLPADDING=5 WIDTH="100%" >
|
|
<TR>
|
|
<TD ALIGN=RIGHT><FONT SIZE=+2>Title:</FONT></TD>
|
|
|
|
<TD><FONT SIZE=+2>Objective-C/Gnustep</FONT></TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Author:</TD>
|
|
|
|
<TD><A HREF="http://www.gnustep.org">www.gnustep.org [http://www.gnustep.org]</A></TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Repositories:</TD>
|
|
|
|
<TD><A HREF="http://www.gnustep.org/Resources/Resources.html">Documentation
|
|
[http://www.gnustep.org/Resources/Resources.html]</A>
|
|
<P><A HREF="ftp://ftp.cs.rochester.edu/pub/u/mccallum/libobjects">Source
|
|
[ftp://ftp.cs.rochester.edu/pub/u/mccallum/libobjects]</A></P>
|
|
</TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Newsgroup:</TD>
|
|
|
|
<TD><A HREF="news:comp.lang.objective">comp.lang.objective-c [news:comp.lang.objective]</A></TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Threads Lib:</TD>
|
|
|
|
<TD>pthreads (user-space [kernel-space in development])</TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Description:</TD>
|
|
|
|
<TD>objc-shared-patches contains a complete source of GNU Objective-C runtime
|
|
and a diff file for libobjects-0.1.14, both patched to generate a shared
|
|
Linux ELF library.</TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>License: </TD>
|
|
|
|
<TD>GPL</TD>
|
|
</TR>
|
|
</TABLE>
|
|
|
|
<TABLE BORDER=1 CELLSPACING=2 CELLPADDING=5 WIDTH="100%" >
|
|
<TR>
|
|
<TD ALIGN=RIGHT><FONT SIZE=+2>Title:</FONT></TD>
|
|
|
|
<TD><FONT SIZE=+2>Python 1.4</FONT></TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Author:</TD>
|
|
|
|
<TD><A HREF="http://www.python.org">www.python.org [http://www.python.org]</A></TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Repositories:</TD>
|
|
|
|
<TD><A HREF="http://www.cwi.nl/ftp/python/doc/">Documentation [http://www.cwi.nl/ftp/python/doc/]</A>
|
|
|
|
<P><A HREF="http://sunsite.unc.edu/pub/Linux/devel/lang/python/INDEX.html">Binary
|
|
[http://sunsite.unc.edu/pub/Linux/devel/lang/python/INDEX.html]</A></P>
|
|
|
|
<P><A HREF="http://www.cwi.nl/ftp/python/src/">Source [http://www.cwi.nl/ftp/python/src/]</A></P>
|
|
</TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Newsgroup:</TD>
|
|
|
|
<TD><A HREF="news:comp.lang.python">comp.lang.python [news:comp.lang.python]</A></TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Threads Lib:</TD>
|
|
|
|
<TD>POSIX threads (Python Makefile supports user-/ kernel-space)</TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Description:</TD>
|
|
|
|
<TD>Python is an interpreted, interactive, object-oriented programming
|
|
language. It is often compared to Tcl, Perl, Scheme or Java. </TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>License: </TD>
|
|
|
|
<TD>Freeware</TD>
|
|
</TR>
|
|
</TABLE>
|
|
|
|
<TABLE BORDER=1 CELLSPACING=2 CELLPADDING=5 WIDTH="100%" >
|
|
<TR>
|
|
<TD ALIGN=RIGHT><FONT SIZE=+2>Title:</FONT></TD>
|
|
|
|
<TD><FONT SIZE=+2>Sather</FONT></TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Author:</TD>
|
|
|
|
<TD><A HREF="http://www.isci.berkeley.edu/">ICSI [http://www.isci.berkeley.edu/]</A></TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Repositories:</TD>
|
|
|
|
<TD><A HREF="http://www.icsi.berkeley.edu/~sather/">Documentation [http://www.icsi.berkeley.edu/~sather/]</A>
|
|
|
|
<P><A HREF="http://www.icsi.berkeley.edu/~sather/Getsather/getsather.html">Source
|
|
[http://www.icsi.berkeley.edu/~sather/Getsather/getsather.html]</A></P>
|
|
</TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Newsgroup:</TD>
|
|
|
|
<TD><A HREF="news:comp.lang.sather">comp.lang.sather [news:comp.lang.sather]</A></TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Threads Lib:</TD>
|
|
|
|
<TD>POSIX Threads</TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Description:</TD>
|
|
|
|
<TD>Sather is an object oriented language designed to be simple, efficient,
|
|
safe, flexible and non-proprietary. One way of placing it in the "space
|
|
of languages" is to say that it aims to be as efficient as C, C++,
|
|
or Fortran, as elegant as and safer than Eiffel, and support higher-order
|
|
functions and iteration abstraction as well as Common Lisp, CLU or Scheme.</TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>License: </TD>
|
|
|
|
<TD>Freeware (?)</TD>
|
|
</TR>
|
|
</TABLE>
|
|
|
|
<TABLE BORDER=1 CELLSPACING=2 CELLPADDING=5 WIDTH="100%" >
|
|
<TR>
|
|
<TD ALIGN=RIGHT><FONT SIZE=+2>Title:</FONT></TD>
|
|
|
|
<TD><FONT SIZE=+2>SmallTalkX</FONT></TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Author:</TD>
|
|
|
|
<TD>???</TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Repositories:</TD>
|
|
|
|
<TD><A HREF="http://sunsite.unc.edu/pub/Linux/devel/lang/smalltalkx/">Documentation/Source
|
|
[http://sunsite.unc.edu/pub/Linux/devel/lang/smalltalkx/]</A></TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Newsgroup:</TD>
|
|
|
|
<TD><A HREF="news:comp.lang.smalltalk">comp.lang.smalltalk [news:comp.lang.smalltalk]</A></TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Threads Lib:</TD>
|
|
|
|
<TD>(Internal implementation of threads.)</TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>Description:</TD>
|
|
|
|
<TD>SmallTalk interpreter for X11. SmallTalk is an object-oriented, interpreted
|
|
programming language. Often it is used in simulations or rapid prototyping.</TD>
|
|
</TR>
|
|
|
|
<TR>
|
|
<TD ALIGN=RIGHT>License: </TD>
|
|
|
|
<TD>Noncommercial (see `LICENSE')</TD>
|
|
</TR>
|
|
</TABLE>
|
|
|
|
<P><HR SIZE=4 WIDTH="100%"></P>
|
|
<CENTER><TABLE CELLSPACING=0 CELLPADDING=0 >
|
|
<TR>
|
|
<TD><A HREF="OSsCompared.html"><CENTER><IMG SRC="ArrowLeft.gif" ALT="[Left Arrow]" BORDER=0 HEIGHT=40 WIDTH=40></CENTER></A></TD>
|
|
<TD><A HREF="index.html"><CENTER><IMG SRC="House.gif" ALT="[Home]" BORDER=0 HEIGHT=40 WIDTH=40></CENTER></A></TD>
|
|
<TD><A HREF="Dictionary.html"><CENTER><IMG SRC="BookSearch.gif" ALT="[Book Search]" BORDER=0 HEIGHT=40 WIDTH=40></CENTER></A></TD>
|
|
<TD><A HREF="mailto:walton@oclc.org"><CENTER><IMG SRC="MailBox.gif" ALT="[Mailbox]" BORDER=0 HEIGHT=40 WIDTH=40></CENTER></A></TD>
|
|
<TD><A HREF="Debugging.html"><CENTER><IMG SRC="ArrowRight.gif" ALT="[Right Arrow]" BORDER=0 HEIGHT=40 WIDTH=40></CENTER></A></TD>
|
|
</TR>
|
|
<TR>
|
|
<TD><A HREF="OSsCompared.html">[Previous Page]</A></TD>
|
|
<TD><A HREF="index.html">[First Page]</A></TD>
|
|
<TD><A HREF="Dictionary.html">[Dictionary]</A></TD>
|
|
<TD><A HREF="mailto:walton@oclc.org">[Email Author]</A></TD>
|
|
<TD><A HREF="Debugging.html">[Next Page]</A></TD>
|
|
</TR>
|
|
</TABLE></CENTER>
|
|
|
|
</BODY></HTML>
|