Google Answers Logo
View Question
 
Q: Programming environments ( No Answer,   1 Comment )
Question  
Subject: Programming environments
Category: Computers > Programming
Asked by: mshah777-ga
List Price: $20.00
Posted: 09 Oct 2005 07:15 PDT
Expires: 08 Nov 2005 06:15 PST
Question ID: 578164
Is JADE (www.jadeworld.com) a better development environment than Java
or .NET? Does Jade have a strong future? We are considering writing a
commercial ERP in Jade with extensive manufacturing extensions for the
plant floor.
Answer  
There is no answer at this time.

Comments  
Subject: Re: Programming environments
From: wwwsurfer-ga on 09 Oct 2005 07:22 PDT
 
I believe, JADE would have caught on by now, it has been around for
over a decade, but Java seems to be taking the leading role -- but, I
suppose it all depends on your needs. Here is an overview of the
language, including a comparison with Java:

 Jade Parallel Programming Language

      Key Features

      Jade is high-level, machine-independent language for parallel programming.

      Extension to a sequential programming language

Jade is an extension to C programming language and its used for
exploiting coarse-grain concurrency in sequential, imperative
programs. Because of Jade's sequential semantics, it is possible to
implement Jade as an extension to a sequential programming language


      Higher-level access specification

      The Jade access specifications introduced so far only allow the
programmer to declare that a task will read or write certain objects.
The programmer, however, may have higher-level knowledge about the way
tasks access objects. For example, the programmer may know that even
though two tasks update the same object, the updates can happen in
either order. The Jade programming model generalizes to include access
specifications that allow the programmer to express such higher-level
program knowledge.


      Hierarchial Concurrency

      Programmersmay create hierarchical forms of concurrency in a
Jade programby dynamically nestingwithonly-do constructs. The task
body of a withonly-do construct may execute any number of withonly-do
constructs, in a fully recursive manner. The access specification of a
task that hierarchically creates child tasks must declare both its own
accesses and the accesses performed by all of its child tasks.


      Parallelism and synchonizing tasks

      Jade provides constructs for implicitly expressing parallelism
and synchronizing tasks. Jade programmers only provide information
about how tasks access shared data, and tasks execute in parallel if
they have no conflicting accesses to data. The structure of
parallelism produced by the Jade program is a directed acyclic graph
of tasks, where the edges between tasks are the data dependence
constraints. Because the constructs for declaring data accesses are
executed dynamically, this task graph can be dynamic and can therefore
express data-dependent concurrency available only at run-time. The
Jade implementation parallelizes the computation by identifying parts
of the serial program that can execute concurrently without changing
the program s result.


      Advantages

      Portability: Jade has been implemented on shared-memory
multiprocessors, distributed memory multiprocessors, message-passing
machines, and heterogeneous networks of workstations. Jade programs
port without modification between all of these platforms.

      Modular parallel programming.

      Encapsulates concurrency management codes.

      Supports several kinds of access specification.


      Comparison Jade vs. Java

Differences:

Parameter passing between parallel objects in Jade is by copy (except
that parallel objects are passed by reference), whereas Java parameter
passing (which is retained in Jade for non-parallel objects) is by
copy for primitive types and by reference for objects.

Java supports dynamic loading of classes based on the CLASSPATH.
However, our compilation product is a single executable and dynamic
loading is not supported. It is possible to implement this capability
in C++, and if applications require it, we will add this feature to
Jade.

Multiple classes can be defined in one Jade source file, unlike Java
which has a very tight tying of classes to the naming structure to
simplify dynamic class loading.

Jade treats main differently from Java as described in Section 3.1.

Java bytecode is portable across heterogeneous systems, while Jade
code is compiled to a particular architecture. Java primitive types
are standard across all platforms, but Jade types depend on the
machine and C++ compiler used.

Restrictions:

Java names can be Unicode, whereas we support only ASCII. We do not
currently support the standard Java runtime and libraries, nor do we
support exceptions. We plan to implement non-preemptive threads in the
near future, as well as garbage collection

      Time Developed

      The initial version of the Jade language started to be developed
at 1991. More functionality was added in 1994.


      Is it still in use?

      Yes, the language is still in use.


      Supported Applications


      Jade finds extensive use in a wide variety of areas. The
following programs were developed using Jade:

      Water application

      This particular application evaluates forces and potentials in a
system of water molecules in liquid state. It was originally created
in Fortran, but later converted to Jade.

      String application

      It is a program that computes the velocity model of the geology
between two oil wells.

      Search application

      It is program that simulates the interaction of electronic beam with solids.

      Volume Rendering application

      It is a program that renders a three-dimensional volume data set
for graphic display.

      Panel Cholesky application

      It factors a sparse positive definite matrix.

      Ocean application

      It is a program that simulates the role of eddy and boundary
currents in influencing large-scale ocean movements.


      References:

      http://www.cag.lcs.mit.edu/~rinard/jade/

      http://www.cag.lcs.mit.edu/~rinard/paper/computer92.pdf

      http://suif.stanford.edu/papers/#jade


I hope this will help you decide which programming language to go with.

Important Disclaimer: Answers and comments provided on Google Answers are general information, and are not intended to substitute for informed professional medical, psychiatric, psychological, tax, legal, investment, accounting, or other professional advice. Google does not endorse, and expressly disclaims liability for any product, manufacturer, distributor, service or service provider mentioned or any opinion expressed in answers or comments. Please read carefully the Google Answers Terms of Service.

If you feel that you have found inappropriate content, please let us know by emailing us at answers-support@google.com with the question ID listed above. Thank you.
Search Google Answers for
Google Answers  


Google Home - Answers FAQ - Terms of Service - Privacy Policy