Web programming languages

Fantom



Fantom is an interpreted language targeting large-scale, interactive, distributed applications such as distributed conferencing systems, multi-layer games, and collaborative work tools. Phantom combines the distributed lexical scoping semantics of Obliq with a safe, extended subset of Modula-3. Objects, static-typing, threads, exceptions, garbage collection, and an interface to the Tk GUI toolkit, are included. Differences Between Phantom and Java compares Java and Phantom.

Python programming language


python logo
python programming
Python is an interpreted, object-oriented language developed as a full-featured, but easy to use, scripting language, by Guido van Rossum at CWI in the Netherlands. Initially developed in a Unix environment, Python is now available on PCs and Macs, and applications are portable across platforms. Python has developed a substantial, although still modest, following, as a scripting language, an application development language, and an embedded extension language. Python's design was most influenced by ABC, a little known language also developed at CWI. Python's syntax evokes C and C++, but doesn't stick too closely to those languages. Python fans tout its clear, intuitive syntax in comparison to C, C++, Java, Perl, shell languages, and most other interpreted languages, the completeness of its type system and its suitability for significant application development in comparison to Tcl , and its extensibility with Python and C/C++ libraries. Like Java, Perl and Tcl, Python offers a portable GUI library, several really. Perl advocates complain about the lack of regular expression matching and output formatting natively in Python. Perl is a little more of a sysadmin's shell language than Python, and Tcl is a little simpler and less capable. Python is more of a regular programming language, but simpler and easier to program than Java. But, all are suited to Internet programming. See Python Compared to Other Languages for a list of comparisons between Python and a variety of other languages. Safe-Python is a design for changes to add safety to Python. Grail is an web browser which supports the download and execution of Python applets in a safe Restricted Execution Mode. Grail uses the Tk GUI library.

REXX language



REXX is IBM's dynamic scripting and extension language, developed by Mike Cowlishaw at IBM's UK Labs in 1979. It is descended from EXEC, the command language for IBM's CMS operating system, and influenced by PL/I. REXX is used extensively on IBM platforms, especially OS/2, and is now available for other platforms (e.g. DOS, Windows, UNIX). REXX is like Tcl in that it is simple and the string is its only data type. REXX is easily interpretable, and many is often implemented only as an interpreter, although compilers are available. Object REXX extends REXX with object-oriented semantics, by adding objects, classes, and methods to REXX's strings and functions. It also adds a number of predefined classes. Object REXX programs can interact with Smalltalk, C, or C++, programs via SOM (or DSOM, IBM's OMG CORBA-compatible extension to SOM, for distributed interaction). IBM is also developing a VisualAge-based GUI builder and visual application development environment for Object REXX. Object REXX is being used by NIIIP, a US-government sponsored consortium aimed at facilitating electronic commerce on the Internet. NetRexx is REXX's response to Java, a REXX to Java translator that permits REXX programs to be delivered as Java bytecodes, and executed on client platforms with the Java Virtual Machine, combining the ease and efficiency of REXX programming with the performance and wide availability of the Java VM.

ScriptX



ScriptX, a multimedia object-oriented programming language, was the principal technology produced by Kaleida Labs, a joint venture of IBM and Apple started along with Taligent and PowerPC. Kaleida Labs was shut down late in 1995, with ScriptX considered two years behind schedule and having lost a significant portion of its potential market to MacroMedia's Lingo. Release 1.5 of ScriptX and the associated Media Player (required to view ScriptX scripts) was announced in January, as control was passed to Apple.
ScriptX proponents tout its platform independent persistent object store, and rich multimedia class library. One use of the former is as a local cache for applets retrieved over the Internet.
Authoring and Delivering Networked Multimedia: Integrating ScriptX with the Web provides an interesting analysis of ScriptX's potential on the Internet.
Re: Python - ScriptX similarities... compares Python and ScriptX.
ftp://ftp.mv.com/pub/ddj/1994/1994.11/scrptx.zip is an sample ScriptX program from Dr. Dobb's Journal. It looks similar to Python and Dylan.

SDI (Software Development Interface)


software develop interface

Spyglass SDI (Software Development Interface) is the main competitor to NCSA Mosaic CCI (Common Client Interface). The expectation is that SDI and CCI will eventually converge into a common specification. In addition to what CCI offers, SDI also provides a protocol for initiating messages from the browser to the client application. This protocol causes the application to be informed when the certain events occur on the browser or actually diverts handling of those events to the application. This addition makes SDI an appropriate protocol for invoking a new client application from a browser. The Netscape Navigator web browser supports SDI under Windows and MacOS.

SIMPLE

sh, csh, ksh, bash, tcsh, rc, zsh (Unix shell languages)

In Unix-speak, a shell is the user's command-level interface to the operating system. The Bourne shell (i.e. sh) was the initial Unix shell, and still is the most widely used, but, over the years, other shells were developed, differing primarily in the syntax and semantics of the command languages they implemented. Other Unix shell languages are csh (C shell), ksh (Korn shell), bash (Bourne again shell), tcsh (Tenex C shell), rc, and zsh (Z shell). I won't go into the differences here. See Shells and Shell Programming for a comprehensive comparison. My point here is that these shells are essentially interpreters for scripting languages, and are commonly used on Unix platforms for a variety of programming tasks, especially by system administrators, including web site maintenance chores like CGI scripting. Newer languages used in this context, like Perl and Tcl, were heavily influenced by the shell language forebears, and were generally developed to deal with the ever increasing complexity of scripting tasks, and the desire to apply such high-level languages to somewhat different tasks. Perl is a case of the former, Tcl a case of the latter, with the new task being quick development of GUI interfaces.

Smalltalk


Smalltalk is a dynamic, object-oriented programming language with an integrated GUI development environment and execution environment. It has a considerable following. It was developed by Alan Kay and others at Xerox PARC in the early seventies. Smalltalk is the central language of the object-oriented programming community. The fully integrated nature of Smalltalk has been both a strength and a weakness. It provides a very consistent conceptual model and look and feel across all components of the system, but this also serves to accentuate the disconnect between it and more conventional languages. This has also been observed of Lisp and APL. It has kept the Smalltalk world somewhat isolated from the rest of the application development world, although the rise of the object-oriented analysis and design, the success of C++, and the adoption of the object-oriented model as a standard for interoperability in many domains has brought Smalltalk into the mainstream in the last several years. Smalltalk's dynamic nature, and extensive GUI orientation, make it a natural for Internet programming, but the Smalltalk community has been slow to capitalize on this.
ParcPlace-Digitalk recently introduced VisualWave, which facilitates the use of Smalltalk in Web-based applications, by generating the CGI between the HTTP server and a Smalltalk application, and by generating the HTML necessary to provide a GUI for the application in conjunction with a web browser. VisualWave does not appear to include the ability to safely deliver and execute Smalltalk applets on the client platform, although the source is evidently portable, and connectivity with OLE, CORBA and Java is planned. The former is likely to result from their recent licensing of HP's Distributed Smalltalk , which adds CORBA compatibility to ParcPlace's Smalltalk. Whether the latter means the generation of Java bytecode applets from Smalltalk is not known.
IBM has announced WWW Parts for Visual Age for Smalltalk. The latter combines a visual application builder with IBM Smalltalk and SOM (and DSOM, IBM's OMG CORBA-compatible extension to SOM), to enable applications built graphically in Smalltalk to use components separately developed in other language. WWW Parts seems comparable to ParcPlace's VisualWave, described above.
smalltalk programming
If GNU Smalltalk is going to be an extension language for Guile, I haven't heard about it


Tcl


Tcl (tool command language) is a widely used scripting language generally used in conjunction with the Tk GUI library for building quick and easy X windows GUIs on Unix platforms, but also valued for the ease by which C libraries can be imported and referenced from Tcl. Tcl/Tk was developed by John Ousterhout while at UC Berkeley. Development continues at Sun Labs under his leadership. It's interesting to see this going on at Sun, also Java's home. Java is probably Tcl's principle competitor. John Ousterhout addresses this in The Relationship Between Tcl/Tk and Java. His point is that its true that both languages are appropriate to Internet programming, but they are different, have different strengths, and are likely to complement each other. Tcl is higher level, quicker to program, and slower to execute; Java is lower level, harder to program, quicker to execute. Tcl is mainly used to tie together other programs, generally written in C or C++. John expects Java to replace C++ in this role for Internet applications. This role puts Tcl in competition with Javascript.
tcl working
A couple of years ago, Tcl was receiving the kind of attention that Java is receiving today, lots of it, with some of it overhyping Tcl's benefits, and some of it defensively attacking Tcl's weaknesses. The downside of success. Comparisons of Tcl with other systems is a comprehensive list of comparisons between Tcl and other languages. The Tcl War archives a thread started by Richard Stallman's negative comments about Tcl in 1994. ftp://ftp.perl.com/pub/perl/versus/tcl-discussion and ftp://ftp.perl.com/pub/perl/versus/tcl-complaints compare Tcl to Perl. In the interest of hugely oversimplifying the arguments, let me summarize by saying that Tcl critics think Tcl is incomplete, inelegant, and inefficient. Its proponents say it is quick and easy to program for what it was intended.

There's quite a bit of activity at Sun, and elsewhere, that extends Tcl/Tk towards being more appropriate for Internet programming. Ports are underway (some are already available) to MS Windows et al and MacIntosh, so that scripts will run on any platform. A Tcl/Tk GUI builder and an on-the-fly Tcl compiler are being developed. Safe-Tcl adds security to Tcl. Sun is integrating Safe-Tcl into their release. ccitcl integrates Tcl/Tk, Safe-Tcl, and NCSA Mosaic CCI into a solution for client-side scripting for the WWW. Expect extends Tcl for interacting with other interactive programs or users. TclDii provides a Tcl interface to the OMG CORBA Dynamic Invocation Interface (i.e. Iona's Orbix), enabling Tcl scripts to interact with CORBA services.
tcl
Check out TCL WWW Info, news:comp.lang.tcl, and the Tcl FAQ, for more info on Tcl.


Telescript


Telescript is General Magic's interpreted, object-oriented language with for remote programming. It uses an active agents paradigm. Agent programs are sent to places where they execute, possibly in conjunction with other agents. Agents can move themselves to new places to execute, taking their state with them. Places are subprocesses associated with a Telescript Engine, which is a server program which may be integrated with an HTTP server (with CGI) to produce what they describe as an active web server. This is similar architecturally to ParcPlace's VisualWave and IBM's WWWParts, both for Smalltalk. Agents are mobile in that their site of computation can move from one place to another, but they can only execute in the context of a Telescript engine, so agent programs should not be considered client programs, as Telescript provides no runtime
support on the www client side to execute agents. This separates them from Java applets, for instance, which move computation from web servers to clients. Telescript moves computation in a different direction, from one web server to other web servers. The Telescript language itself is similar to C++, but is specialized to support the agent paradigm with built-in support for moving agents and interacting with other agents, and supports advanced memory management, including the persistence of all objects. Like Java, Telescript is safe and platform-independent.
telescript flow chart


Tycoon web programming language


UserTalk

Frontier is another popular script development environment for the Macintosh, which comes with its own scripting language, UserTalk. It was developed by Dave Winer of UserLand Software. Frontier is used to develop scripts in UserTalk, or AppleScript, or any other scripting language conforming to Apple's Open Scripting Architecture (OSA). For the same reason, UserTalk scripts can be developed with AppleScript tools, and CGI scripts, and other web-related scripting applications, can be written in UserTalk, and/or developed in Frontier. For instance, CGI scripts for WebStar can be developed in UserTalk with Frontier.


This game is also based on this language.

Viola web programming language


VBScript (Visual Basic Script)

VBScript is Microsoft's planned candidate for an Internet scripting language. It is expected in mid-1996. It is a subset of Visual Basic, Microsoft's popular visual programming language, with no GUI building capability, with unsafe operations removed, and with access to other applications via OLE. VBScript source code is embedded in HTML, and downloaded to the client in the HTML file, where it is compiled and executed in association with its runtime libraries. Microsoft envisions an OLE Scripting Manager on the client-side with which browsers interact with a specified interface. The Scripting Manager would manage compilation and invocation of downloaded scripts in Visual Basic Script or any other scripting language. Microsoft also intends to support Visual Basic and Java in this way. The idea is to make multiple language runtimes pluggable into browsers. Microsoft intends to elicit the cooperation of various consortia and vendors in defining and standardizing this interface. Microsoft intends to support VBScript on its various Windows platforms and on the Macintosh and will license the technology to UNIX vendors.

Introduction of web programming languages

programming languages
Here is a great information about web programming languages welcome to my blog read the article and enjoy.

Introduction

This document surveys current and planned languages and interfaces for developing World Wide Web based applications prefaced by a discussion of the characteristics of such languages. The principal goal of creating this document was to identify the various languages currently in use and to provide some insight into the context in which each language is used. Secondarily, the authors sought some insight into the directions that Web programming was going, especially in the context of the intense publicity surrounding Sun's Java.
This document does not attempt to provide in-depth tutorials on these languages and systems. It attempts to be complete in its listing of alternatives. References are provided to more information about each. Our intent is to keep this document current if it proves useful.
General purpose programming languages (e.g. C, C++, Objective-C, Pascal, COBOL, FORTRAN) have not been included in this survey unless there are specific uses of those languages for web programming other than conventional development of clients and servers. In most cases, only variants of such languages specialized for web programming are included here, and, in such cases, are generally listed by the variants' names.
Almost as soon as this effort was started, other similar efforts were encountered. The list that follows is a partial listing of the efforts encountered and used to compile this document.
Modern Web Programming
Distributed Computation
Issues in the Dmobile code
evelopment of Distributed Hypermedia Applications
WWW and OOP
Joint W3C/OMG Workshop on Distributed Objects and Mobile Code/
Computing Languages List.
To learn more click here.


Back to Top