(English Teacher) writes:
>What would be the most useful language to learn among:
>Java, C, C#, C++, VB, VB.NET, DELPHI?
One that incorporates as much of an algebraic theory of control flow
structures within by embedding the greatest degree of equivalences
between them. This is especially important for the deployment of
practical algebraic tools and methods for mathematical verification,
transformation and optimization.
Both C and C++ have the required degree of fluidity in their control
flow structures. In contrast, things tends to be frozen in place in
Java and BASIC dialects, thus increasingly requiring algebraic steps in
control flow structure manipulations and computations to go outside the
language during intermediate steps.
Also important is to minimize the degree of built-in'edness, which
really straightjackets everything at the outset. This is directly tied
to the issue of fluidity: more built-in'edness tends to be symptomatic
of lesser fluidity.
This, too, favors a C/C++ approach, with suitable libraries (if need
be) to handle the native features that might be incorporated in the
other languages. C++ has the best advantage in terms of its ability
(when used right) for nearly seamless extension by quasi-native add-ons.
Ironically, strictures placed on some of the control flow structures --
which greatly impedes the enterprise of algebraic mathematical
verification, transformation and optimization, are often placed in the
name of "reliability" (particularly, that put on the "for" loop in
some of these languages, Pascal was the worst).
If the BASIC dialects were to incorporate more of the C-like syntax, they'd
have the advantage over C. C++, however, would probably still have the
advantage over both, since you can bring in the features native to BASIC
via appropriate class definitions.
The main disadvantage of C++ is its overly-bureaucratic design. It's
almost as if the language was conceived by a committee of suit-wearing
company men at some large corporation or something, heavily imbued
in the "latest-buzz" and "everything is a programme" mindset of companyese.