Re: Head scratching in language X superior to language Y



On 27 Feb., 14:59, Randy Howard <randyhow...@xxxxxxxxxxxxxxxxx> wrote:
On Wed, 27 Feb 2008 07:01:06 -0600, thomas.mer...@xxxxxx wrote
(in article
<0298aa3f-35a0-4563-8827-f5c2365e0...@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>):

On 26 Feb., 22:53, rmoldskr+use...@xxxxxxxxx wrote:
thomas.mer...@xxxxxx wrote:
- Generally I thing that a programming language should
be driven by the open source community instead of
a company.

I prefer it being driven by standardisation bodies. That
way, languages might actually be thought through and not
merely implemented.

While I think that standardisation of programming languages
is importent it IMHO obvious that standards that establish
existing practice are more successful than the standards
which try to invent new things.

Putting a new language together /is/ inventing new things. Just as
your own language has done. Sure, it may borrow ideas from elsewhere,
but it combines them into something different.

Thank you for mentioning my language. The extensibility of Seed7
should make borrowing of ideas from elswhere easier. In the optimal
case you can borrow an idea without changing the interpreter.
BTW. everybody is invited to help improving Seed7.

Designed by committee is usually not a good idea.

It all depends upon the committee.

In most commitees politics play a role...

If you look at some programming languages you can see
that either they can be traced back to one person:
C --> Dennis Ritchie

Little of "original C" from the 70s remains unchanged today. This was
also true in the late 80s. C has changed considerably, (you can argue
whether the changes are good or bad perhaps) since dmr first put it
together.

Also, plenty of people complain about C, and the blame is put on dmr,
the committee(s), or both in various camps.

Yes

C++ --> Bjarne Stroustrup

Similar to the above. Plenty of people complain about various aspects,
how big the overall language is, pros/cons of various language
features, etc.

Perl --> Larry Wall
Python --> Guido van Rossum
Ruby --> Yukihiro Matsumoto

All of these have both good and bad points, and groups of people happy
to argue pro/con.

or they are promoted by a company:
Java --> Sun

Well, Gosling is usually recognized as the implementor. Why didn't you
say that C was promoted by AT&T?

C was promoted by AT&T, but compared to the hype generated for
Java and C# this promotion was small.

C# -> Microsoft

And a host of other .Net languages as well, yes.

So there is a vendor lock in for several languages.
Does an open source VB exist which runs unmodified
code?

Programming languages designed by a committee usually
have a bad reputation.

Can you name a language that was designed by a committee? Ada maybe,
I'm not sure about its ancestry. Others? There aren't very many I
suspect. There are a lot of languages that started out non-standard,
but became maintained and/or extended by standard bodies later due to
popularity or a perceived need for standardization for portability
reasons.

I was referring to situation where a standard exists and it takes
many years until an implementation shows up. Ada and C99 are
such cases.

For clearness of design I prefer things (not only programming
languages) that are designed by one person or a small
group. Languages designed by companies always have the
danger of a vendor lock in.

If there is a published specification for the language, you are free to
implement the language elsewhere. Without it, it's difficult to even
program in it on a single platform.

A published specification is important. OTOH it is hard to create a
good specification as long as no prototype implementation exists.

Therefore I am very sceptical towards people which promote programming
languages which are created to drive people to one operating system
(specially when these languages are promoted by a quasi
monopolist).

A wise policy, but if a project is aimed at a single platform, and that
language is the best tool for the job, it would be silly not to use it
for "religious" reasons.

That is an argument I often hear from people who always decide for
the OS and the development environment of the quasi monopolist.
There are always several best tools for a job. What about Java and
Eclipse or some other portable language (note that I did not mention
Seed7 :-) ).

Although such things like Mono exist I doubt that programs written at
the home operating system of this language are portable to other operating
systems.

Likely true, although I haven't spent any time testing the theory.
It's probably also the case that porting C# on win32 to Mono (even with
porting issues) is simpler than rewriting it in something else from
scratch.

When you choose a more portable language beforehand you don't
have this problem. A usual porting issue is: You need a windows dll
under unix/linux/bsd. There are people rewriting them (project wine)
but
it takes time. I speak of portability when no code change is
necessary.

I have seen just to much "portable" programs with drive letters,
include files and librarys which are only available at one
operating system.

Then it wasn't portable code. Just because someone /claims/ that code
is portable doesn't make it true. Just today I was looking at an open
source library that claims on a bullet list to be "pure ISO/ANSI
standard C", but then when you look under the covers, you see warnings
about "we have to bend the rules here, and many compilers won't like
this trick..." in the comments or other documentation. IOW, people
/lie/. :-(

I agree

And the quasi monopolist is promising
for decades that the next os will be better regarding
portability, documentation of features ...

Bull*** marketing claims are not restricted to "quasi monopolists".
The open source community is also filled with them.

Microsoft has no "monopoly" on marketing BS.

At least one area where it has no monopoly.

Greetings Thomas Mertes

Seed7 Homepage: http://seed7.sourceforge.net
Seed7 - The extensible programming language: User defined statements
and operators, abstract data types, templates without special
syntax, OO with interfaces and multiple dispatch, statically typed,
interpreted or compiled, portable, runs under linux/unix/windows.
.


Quantcast