Web Page Update

DataHunter datahntr@aimnet.com
Wed, 5 Aug 1998 20:26:40 -0700 (PDT)


Telnet crashed on me, so I lost the email I was composing ... This is what
pine saved of it, and what I rewrote.

On Sun, 26 Jul 1998, Matthew Tuck wrote:

> DataHunter wrote:
> 
> > I despise contrived complexity. Programming languages should make simple
> > tasks simple, and more complicated tasks more complicated. That sounds
> > somewhat obvious, but I have observed that this isn't always the case. C
> > and string handling come to mind, as do Visual BASIC and (insert just
> > about anything here).
> 
> OK, what don't you like about the string handling?  Is it the string =
> pointer to character array idea, the lack of functionality, or something
> else?

Pardon the excessive quoting, please.

Someone once told me that a large part of a modern program is devoted to
string manipulation of some sort, be it getting information from the user,
interpreting other forms of input, or creating output. I would think twice
about writing such a program in C since I'd first have to create a
suitable set of string routines.

Granted, that's what C is about. You build what you need, and the language
strives not to give you what you don't need (whereas other languages may
include all the overhead of functions your program never uses). However, I
think languages *need* string types/classes, to free the programmer to
work on other parts of the program. 

So, in short, I guess it's a matter of functionality ;) .

> 
> I think Visual BASIC has various "legacy" features that hark back to
> BASIC.  You won't find many languages written today that allow variables
> to be used with declaration, for example.  You may be talking more about
> the library side of the language here though.
> 

I have two 'problems' with Visual Basic. One is the fact that what used to
be (at least to me) an intuitive language, has now become extremely
complicated. Using databases in Visual Basic is all but impossible, and
heaven forbid you should try to do anything remotely advanced in Visual
Basic, such as socket connections. In theory, it is designed to be easy,
and perhaps during my attempts I went about doing it wrong; anything is
possible.

My second 'problem' is the VB runtimelibraries, and, until VB 5, the way
VB produced P-code rather than true compilation.. Delphi and PowerBasic
don't require a 1.5 MB DLL to run programs. You can also create
console-mode 32-bit applications in Powerbasic. VB has a minimum .EXE size
of probably 500k, where PB has about a 40-100k minimum.

> 
> Look at all the general-purpose languages in use today - FORTRAN, COBOL,
> Pascal, Ada, C++, Java, BASIC, etc.  They all have several
> dialects/versions!

In some of those cases, such as C++, it seems (and I'm hardly an expert on
the subject) that the dialects came about due to competing businesses
trying to outdo one another.
 
> Is this an implementation issue?

AFA the differences between PowerBasic and Visual Basic, I guess that it
is an implementation issue. One, Powerbasic had similar legacy issues to
what Microsoft faced, in updating its own Visual Basic. Two, PowerBasic
did it *much* better.

> 
> > > (c) any suggestions for improving programming languages that you might
> > > have.
> 
> > No ideas on this, as yet. C, Perl, and PowerBASIC do just about anything
> > I've ever needed to work on.
> 
> The issue here is not always about functionality, and it's a big trap to
> fall into to assume this.  While very important, so is readability,
> portability, maintainability, allowing faster development, prevention of
> bugs, etc.
> 

These issues certainly make sense. C and Perl are not the prettiest of
languages, to say nothing of how they deal with the other issues.

> > AFA the project, I'm not sure the world needs yet another programming
> > language, but that shouldn't stop us; hasn't stopped anyone else ;) .
> > What platform will be targeted initially ? What will the language
> > specialize in, or be geared toward ? Will it be interpreted ? Compiled ?
> > Will it, like Java and VB, be usable as a script in a web browser ?
> 
> Yes, there are lots of languages and I hear that sometimes, but what is
> the problem?  It shows a thriving field, with lots of ideas.  Creating a
> language for the sake of it is dubious - creating a language when you've
> got something to say is good, and I've got a notebook full of things to
> say, but that's for another day ...

My point in saying that certainly isn't to say this is a bad idea. I am
just curious to know what will attract users to use this language. I
imagine, however, that will be the same as what attracts users to any
other language.

> 
> As far as platform is concerned, of course we will try to develop the
> front end of the compiler as target platform-independent as possible. 
> In terms of the back end, it is certainly going to be heated.
> 
> The Java Virtual Machine might be a choice since it is
> platform-independent, and runs in browsers.  C is a popular choice in
> non-commercial compilers since it can itself be compiled to different
> platforms, but we'd probably have to write some sort of library for each
> operating system we interface with, whereas the JVM idea would be
> open-ended as it would require no work from us to be used on a new
> platform, rather work from others ...

I like the 'compile to C' idea, if that's what you mean here. I am biased
toward C, though ;) . I'm not a particular fan of Java, but it is popular
enough, and the JVM is already available for many platforms.

> 
> Win32 might be something to consider, and then you've got MacOS, Win16
> and Unix (assuming we can write it for all UNIX's).  If we're going to
> go native, I don't think anyone, being selfless, would disagree Win32
> would be the first choice, but how many we should support would be an
> interesting question.

Win32 is indeed the most likely candidate for first choice; it would be
hard to argue w/that. AFA which other OSs we should support, we should
consider them based on our ability to replicate all or a large part of the
features which will already be present in the Win32 edition.

> 
> This also brings up an interesting point - how to resolve disputes? 
> Some sort of voting system, but who can vote, and is the value of each
> vote equal to all others or dependent on involvement, experience or
> knowledge?
> 
> Maybe rather than individual votes, we would let the day to day
> questions be answered by an elected person/people (on an equal vote
> basis by some definition of a voter) and allow overruling if desired by
> the members and votes to be submitted for important issues.

A House/Senate type voting system (one based on experience/knowledge, the
other based on just being a member of the project) may be a good idea,
there.

> 
> What will the language specialise in?  Another heated issue.  Well, I
> want it to be general-purpose, and I have a personal intense belief in
> object-oriented programming - I've seen the advantages it has over
> traditional imperative programming, and I understand it well.
> 
> But there are other paradigms of course.  One of my personal "crusades"
> is the integration of functional programming into an object-oriented
> language.  Logic/constraint programming is also useful, but I believe it
> can be integrated at the library level, as can database (SQL)
> functionality.  This might not have been what you meant - if not,
> elaborate.

"... the integration of functional programming into an object-oriented
language ..." You mean the integration of C like functions into something
like C++ ? I don't think I understand what you mean here.

> 
> The compiled/interpreted question is interesting again.  I think
> interpreting source files went out of vogue a long time ago, so we can
> safely ignore it as a quick and dirty way to get a language
> implementation going, which we might use it as, but for nothing beyond
> that.
> 
> If we were compiling for the JVM, then certainly that will be
> semi-interpreted.  Otherwise, I think compilation is still best, unless
> we want to develop another Java style VM if the old one doesn't suit us,
> but supporting that on all platforms would be a killer!

I've heard complaints about the Java VM; not providing enough control over
objects, etc. I don't know how they apply to this project, should we
decide to use the JVM.

> 
> By supporting web browsers such as Java and VB, are you referring to
> JavaScript and VBScript?  If so, I think no, we don't want 100 languages
> being supported in a browser - standards are important here.  If not,
> then you're probably talking about VB as in ActiveX, and I would say
> Java would be the choice here - platform-independence.

I meant the latter, as in ActiveX\Java, through the use of the Java VM, or
a custom VM.

> 
> At the moment I don't see that we necessarily should try to design a
> language that will be "used".
> 
> Firstly, since languages that are a success tend to be so for bad
> reasons (e.g. first released that does something, promoted by an
> influential organisation, etc.), and rarely, if ever through
> technological superiority.

Sad but true of computer technology in general as well ;) .

> 
> Secondly, if a language is used, we would be inclined to have to improve
> on it, which is basically the situation I was mentioning above with C++
> and VB, as well as various iterations of the old fogeys FORTRAN and
> COBOL.  The ideal situation from a language design, if maybe not a
> compiler designer or vendor point of view would be to throw features out
> if they don't work.  Anything else might hold the language design part
> of the project back.
> 
> Of course, if use came about, that would be fine - of course I think we
> should develop tools that are usable - I hope to one day switch my
> programming to a language and tools that we develop.  But trying to
> achieve this might not be such a good idea.  I realise that it probably
> might be a powerful idea for many people to get a language you
> contributed to used by millions - but the chances are slim.  Many more
> languages have contributed to the design of popular languages 10-20
> years into the future than have been popular themselves, and that would
> be a reasonable initial aim.
> 
> > I think I may be able to help get a mailinglist. I can probably let you
> > know by Monday.

Doh ! I haven't managed to contact the person I know who runs a full time
site and already maintains a list for me. I promise I'll work harder on
this one ;) .

AFA the perl thing, I should have some time this weekend to hammer
something out. I've been ultra busy (no pun intended ;) ) getting ready
for school and military duty (I'm a reservist).

--
"The stupidity of your actions is directly proportional to the number of
people watching."
Otieno Ododa - System Analyst
datahntr@aimnet.com, oododa@altascan.com