Lambda the Ultimate

inactiveTopic Delphi?!!
started 8/4/2000; 2:28:47 PM - last post 8/6/2000; 9:53:07 AM
Ehud Lamm - Delphi?!!  blueArrow
8/4/2000; 2:28:47 PM (reads: 1554, responses: 12)
Delphi?!!
I see someone wrote Delphi as his favorite language. Now, since I don't have anything interesting to link to - (Hey! Become contributing editors, and help me out) - I'll try to stir up some controversy.

Should things like VB & Delphi be considered programming langauges? Aren't they just products?! Is there a well defined synatx (including the graphics component)? Well defined semantics? A standard by any chance?

How about things like the object extensions to Pascal, or even the modules turbo pascal has, which are not part fo standard pascal (or am I wrong about this)? If you become a programming language fundamentalist, you can fall into various traps. Pascal strings (with length bytes at the front) are not from Wirth's pascal, but from UCSD Pascal. I tend to view them as pretty much standard.

So where should we draw the line?



I had great arguments about this with my students. I think I learned a lot from them, and so did they. Perhaps the most crude view is to say 'if I can use it program, it's a programming langugae'. This is obviously wrong. Just consider spreadsheets.
Posted to "" by Ehud Lamm on 8/4/00; 2:29:53 PM

Willy Heineman - Re: Delphi?!!  blueArrow
8/5/2000; 1:31:43 AM (reads: 1586, responses: 7)
Delphi is a product consisting of a GUI designer, an editor, a library of components, and a compiler for the Borland Object Pascal language. A comparable non-commercial package would be Rice U's Dr. Scheme. Are we going to be talking about programming tools (editors, IDE's, GUI designers, etc.) or programming languages, or both here? If we're talking languages here, we have to ignore the other stuff and just examine the Object Pascal language. I think we have to consider Object Pascal as a descendant of Wirth's Pascal and look at its qualities, limitations, etc. on its own merits.

Ehud Lamm - Re: Delphi?!!  blueArrow
8/5/2000; 2:04:29 AM (reads: 1677, responses: 6)
I think we should talk about languages, and exclude tools from the discussion. Otherwise we lose focus. Tools are important, and the availability of tools is surely an important factor when choosing a language. But the supporting tools are not the lanuage. Tools are an outside factor, perhaps more related to Software Engineering.

Seperating the two is not always that easy or clear cut. Consuder visual languages. The language itself is defined visualy, so the GUI part is essential.

I am not sure about Delphi, but when considering VB, it seems to me the visual elements are quite important - as these define the control flow (since we are talking event driven programming here).

Now to Object Pascal. How well defined is it? Syntax/semantics etc? What compilers are out there?

Dominic Tey - Re: Delphi?!!  blueArrow
8/5/2000; 8:19:05 AM (reads: 1757, responses: 5)
Well in Delphi the control flow is similarly carried out, as it is also an event driven programming model.

The confusion may come about from the fact that Object Pascal is used as the underlying code base for a Delphi program while Visual Basic is used as the underlying code base for Visual Basic. So which one would one be talking about? The languge or the enviroment?

Perhaps, we should come up with a list of definitions that's agreed upon to which we can then refer to it, if not, it may come down to a disagreements due to definitions.

Ehud Lamm - Re: Delphi?!!  blueArrow
8/5/2000; 9:49:27 AM (reads: 1825, responses: 4)
I think there is no confusion. In both cases (Delphi & VB) we have a language (semi-standard at that) that is augmented with a visual env. which handles some of the control flow aspects. OF course we can discuss VB & Delphi and mean the Basic dialect of VB and object pascal, but if we want to disucss the full products we should admit that in both cases we don't really have a language that specifies all that needs to be specified.

This is, of course, only one problem. The fact is that there are other issues - even when we limit ourselves to discussions of the underlying languages.

andrew cooke - Re: Delphi?!!  blueArrow
8/5/2000; 12:03:26 PM (reads: 1587, responses: 3)

I don't think the crude view ("if you can program it, it's a programming language") is that wrong - at least, I am not sure that the distinction is useful. Why isn't a spreadsheet a programming language? Because the text isn't linear? Is that important?

Design by numbers is a programming language (system?) that looks as though it could bridge the spreadsheet/language gap (although maybe I'm reading too much into a grid).

And what about Toontalk?!

In the case of Delphi, and Visual C etc., you *can* separate a language from the tools. But I suspect that it may become both more difficult and less useful to do so as languages and IDE become more closely integrated....

Willy Heineman - Re: Delphi?!!  blueArrow
8/6/2000; 7:08:59 AM (reads: 1908, responses: 3)
Both Delphi and VB allow one to program completely (including the visual GUI components) from an editor (albeit, this route is very poorly documented and somewhat difficult to do). I think this puts both of them in the language category. A free compiler (Free Pascal, I think) that has as one of its design goals compatibility with Object Pascal exists. Please note that I'm not a big fan of either of these languages, but I think its worth including them and examining the good and bad features of both. Object Pascal is highly optimized for producing very fast, very small x86 code. I've always wondered if the language contributes to that or is it the work of very good programmers. VB projects always seem to scale very poorly. Again is it the language or the users?

Ehud Lamm - Re: Delphi?!!  blueArrow
8/6/2000; 7:35:49 AM (reads: 1649, responses: 2)
This is a big issue, and I don't have the time right now to give it justice. But let me just say this: I am interested (at least around here) with linguistic issues. If we include any product that allows customization in, we lose focus. So where do you draw the line? I think that VB is interesting, I am also interested with the spreadsheet model, I study end-user programming. But when I want to focus, I think programming languages must have some form of defined syntax and semantics. I am not certain if it is worth insisting on a textual represenation, but this helps.

Even when we look at the larger picture and include things like XML, I think using seperate categories is helpful. It is just easier when you know that things like paramter-passing and typing are relavent or not. Most programming languages can be studied using the same basic concepts, so when you want to consider other, more avant-garde tools, it is best to make the differences explicit, and explain them - as the first step of your study.

I have no objections to all these tools. Don't mistake me.


By the way: the Design By Numbers page you gave says explicitly "DBN is not a programming language"...

My cursory look didn't impress me. But I only glanced at it a few minutes.

Ehud Lamm - Re: Delphi?!!  blueArrow
8/6/2000; 7:41:35 AM (reads: 1977, responses: 2)
My main objection to VB (which has some good aspects too), is that it is proprietary. Is there a standard for object pascal anywhere? Link?

I don't see any reason why it should be banned from the discussion. It seems like a pretty standard language, as far as I know. However, my impression was (and I never did study it in depth) was that it was "pascal with classes" and it didn't offer any intereting object model, or programming apporach not already seen in C++ etc. This is, of course, another issue entirely.

Willy Heineman - Re: Delphi?!!  blueArrow
8/6/2000; 8:43:37 AM (reads: 2087, responses: 1)
The Free Pascal project home page is http://www.freepascal.org/ . Some features of note include single-inheritance (before Java), and an interesting event handling notation (similar to generic functions). You're right that none of this is unique to Object Pascal. Anders Heljberg, the principal architect of Object Pascal and Delphi, was hired away from Borland a few years back by an outrageous dollar figure and is now hailed as the genius behind C#, another highly touted (innovative!) language that upon closer examination seems highly derivative and pointless.

andrew cooke - Re: Delphi?!!  blueArrow
8/6/2000; 9:04:10 AM (reads: 1749, responses: 1)
By the way: the Design By Numbers page you gave says explicitly "DBN is not a programming language"

No it doesn't! It says both "DBN is both a programming environment and language" and, later, "DBN is not a general purpose programming language [but...]" (my emphasis). However, it's not interesting because it turns out to be a pretty boring language (the pretty results are a consequence of people fighting against a very restrictive set of parameters, which is often a good way to produce art, but that's a different topic).

A better example of a language that appears not to have a linear textual flow is Noodles .

Cutting back to the chase, your argument seems to be that by interpreting "language" in a literal way the discussion on this site can be more focussed. That's fine by me, but it's a very pragmatic argument that doesn't detract from the view that "programming language" can be interpreted in a much wider sense. But I'll give it a break - I guess your students can defend themselves... :-)

[OTOH, it might be better to let discussion explore wider areas until traffic increases]

Andrew

PS Thanks for the links to Ada info.

Ehud Lamm - Re: Delphi?!!  blueArrow
8/6/2000; 9:53:07 AM (reads: 1842, responses: 0)
One clarification: I am not talking about the pragmatics of this site. I am talking of the pragamatics of programming lanuages research..

Ehud Lamm - Re: Delphi?!!  blueArrow
8/7/2000; 5:56:12 AM (reads: 2219, responses: 0)
an interesting event handling notation (similar to generic functions).

Can you elaborate on this, or tell me where to look?