You are right that the attraction of this kind of package is the combination of visual IDE, components and language. You are right that the VB language sucks,and PB is even worse.
This is not unimportant to the programmers - it is a major part of why I will never touch PB or VB again with a bargepole, and why I like Delphi (I'm biased here, IMHO for a good reason)
Consider that all the components that ship with Delphi are written in Delphi, and an install of Delphi installs the source to them. This means several things.
1) The language had to be powerful. How many of of VB's components are written in VB? Was the VB IDE written in VB? yeah, right! All of Delphi's components are written in Delphi, and so is the IDE.
2) You can extend it. Read the source, tinker with it, and you can quickly work out how to make your own components.
So IMHO the the OP language is a large part of the total value proposition of the RAD environment, as it is a large part of that environment, and a major reason for it's success.
Oh, is that why Borland released 5 widely used versions of Delphi, and counting? Is that why the Linux release of this product is so widely anticipated?
> Can basic be used for any serious program ? No
Your point being? Oh, right, Object-Pascal is basic. Wrong.
> visual basic.. has some nice parts to it
I'll think you'll find that Delphi has all of those parts, but is not built upon the mud that is the VB language. It is a good OO language, and generates fast, library-less executables. FP has the potential to be as great.
> If you are planning to develop an application, what do you think of first
Foo.Bar:= Foo.Bar + 1 is internally translated to Foo.SetBar(Foo.GetBar + 1); much as overloaded operators are translated into function calls internally.
Different goals for different languages I guess.
Unlike with operator overloading, I have yet to see a bug or obfuscation introduced by use of a property instead of the equivalent acessor methods.
Actually, one of the reasons why properties were introduced in Delphi 1.0, was that, combined with RTTI, they provided a way to go one better on VB's visual object inspector. However, I find them way useful all over my delphi programs.
Properties give you a good level of abstraction - a class's public data and methods can be treated the same way. You can change a public data item to a public property with gettor and settor methods without any client code breaking.
but we are desecending into language wars. Different keystrokes for different folks.
> It doesn't support - multiple inheritance, templates, overloading
but not operator overloading. This is on purpose.
IMHO operator overloading in pure syntactic sugar (ie there is nothing that you can do with it that you cannot do without it) and a licence to make bugs (I once spent days chasing a bug in a C++ program that was caused by some idiot's incorrect overriding of the pointer deref operator.
If you want MI, rather use interfaces (in Delphi -not in FP yet AFAIK).
That's easy. This box uses off-the shelf hardware, so why not off-the-shelf software. It cuts down on X-box development time and effort, and similarly it makes it easier to port your games between X-box and other MS systems. In that sense it's clever - another encouragement to use MS's proprietary graphics 'standard'.
An exceedingly indirect way to find out if a planet has hosted intelligent technological life at some stage - see if there is an statistically too-low number of asteroids in dangerously close orbits.
> Are they fully independent of the other WIN32 API then?
No. Consider this activeX interface function:
IOleWindow::GetWindow HRESULT GetWindow(HWND * phwnd//Pointer to where to return window handle );
It is useless unless you know what to do with a win32 window handle
> If they still do refer to GUI related things then the interfaces are not really generic
If you tried, and got buy in, you could define a set of interfaces that are generic enough to model all the GUIs that you are trying to cover. Sounds painful though.
> I'm not arguing with your point, just being curious how MS solved this.
How does MS usually solve interoperability problems: Problem, what problem?
Having worked with COM and ActiveX, I know quite well that a server's ability to embed a control depends on what interfaces that control implements and what the server expects.
Or to put it much more generically, yes, a particular component may only work in one GUI framework as it will offer a particular set of services to it's container, and expect a particular set of services from that container.
The expectations will be defined by the GUI standards (e.g in order to be an ActiveX control, your class must implement the following interfaces...). Different Guis may differ here. (however, if they do overlap, they both win)
There is however, no reason why the mechanism whereby container locates and negotiates with containee must be either part of the GUI or different between GUIs - this is generic inter-binary-object communications. Standardisation at this layer is a seperate win, as this protocol can be put to many good non-visual uses.
To put it in MS-speak, COM is a method for defining interfaces. It is not visual. OLE and ActiveX are sets of interfaces for defining visual interaction over COM's object services.
This has been said before many times, but not loudly and on its own in this thread, so here goes.
The ability for objects in different binaries to interact is not and should not be the responsibility of a GUI Yes, this ability is used by a modern GUI to glue together visual components, but it should a general mechanism that can be put to other uses.
Neither COM or Corba require a GUI.
So unless the core services of KParts and Bonobo can run on a command line (does Corba = "core services of Bonobo"?), both are badly designed. If they can run on thier own without thier favorite GUI, they can be used as a general mechanism for object interaction.
>The point still remains that there were MILLIONS who couldn't because they didn't have acess to a computer or the Internet
Point taken that in much of the world access to a browser is a very elite thing. But you don't need to have access to the internet. You just need a look at a copy of a printout. Printers and photocopiers give the information quite a broad reach.
> revolutions... got along just fine without the "The Digital Revolution".
Are you sure that it was perfect? You've said nothing to disuade me from my belief that "if we had then what we have now, Apartheid would have fallen at least 5 years earlier."
> The author... thinks it's just not that much of a revolution yet. Does the Slashdot community agree?
Heck no.
In the mid 1980s I was at school in South Africa. First the govenment declared a National State of Emergency, then they stopped the newspapers from reporting to us what was going on, how the Govt. was resposible for much of the violence. The rest of the world had free access to this information, but they didn't want us to know.
The newspapers, in protest, began to print large blank spaces where the news articles had been censored. This was then itself banned. We weren't allowed to know how much we didn't know.
Given the internet today, just 15 years later, this kind of censorship would be complete exercise in futility. Enough people have access to browsers and printers to route around it.
I firmly believe that if we had then what we have now, Apartheid would have fallen at least 5 years earlier.
I don't see wehat's so "so-called" about it. It uses a laser. on the eye. as surgery.
> which is referred to by its own practicioners as slash and burn
What does this prove, except that medics have a twisted sense of humour about thier work. But knowing several medics, I knew that already.
> you really looked into the way they are creating scars on the lens, etc
That's not what I read.
> you'd not want that to happen to your eyes
I did and I don't regret having done it. It's a lot better than specs or contacts.
Sure next year's model will be better, and sure there's no sense in cutting an eye which has normal vision. But if you are going to do corrective surgery, you might as well do a good job as you can.
If you've really got some data against it, how about a URL?
The story header says "that ad, in full color, dominated the entire front page". "dominated" does not mean covered completely. I presume that means here that the ad was large and prominently positioned at the top of the page.
Admitedly the use of the word "entire" was redundant - it could have been "that ad, in full color, dominated the front page", but is this slashdot or grammardot?
Methinks the basic problem is that SMTP is broken. Or at least unsuitable for today's internet
It has zero authentication of user identity. It only cares where your message comes from in term of the sending machine's IP adress. If you get that right (or the recieving machine is poorly configured and will accept mail from anyone, ie an open relay), you can bullshit it anything you want.
> If you leave.. and the engine running, I believe it is still a crime to steal the car.
You got that right. The rest of your post seems to say (to continue the metaphor) that it's morally wrong to leave your car door unlocked and if you do, you have no case against any robber. Be consistent already.
> However, if you then sue the thieves because they stole the car.. you should stand little chance
I do too, that's why I don't use it, that's why I wouldn't let kids near it. *They will learn bad habits*.
> and perhaps Delphi is better (I've never used it)
I'm proud to say that I am a Delphi bigot who uses Delphi every day. It has all the same GUI builder tricks as VB.
If you are going to teach your kids with a proprietary, GUI RAD tool, then consider that Delphi is an OO language, and has been from version 1. The last time I used VB was version 3 and it sure as heck wasn't OO then. I believe it has been kludged in that direction in the meantime. Yuck.
The main criticism leveled at Delphi's Object Pascal language here on Slashdot is that it is a stongly typed, bondange-and-dicipline language (BTW, this is *far* less true of Delphi than it is of the original pascal language). IMHO this is appropriate for teaching children, once they have got past the LOGO stage. Don't forget that Pascal was originally designed as a teaching language & the strong typing was deliberate in this goal.
> But I think the place to start with children is something that produces highly visual GUI output in short order.
> because many users just couldn't care less about product being FSF-free. They care about how it works first (functionality), then about how much it costs.
An open source licence is not just a guarantee that the program has source code. It is a guarantee that the vendor software cannot unilaterally assert control over the software. If they won't sell it real cheap, someone else might. If they won't fix and enhance, then someone else might. So free-as-in-speech guarantees that it *stays* free-as-in-beer.
Hm, this seems to be what DCMA et all is about in other arenas - take away the freedom of speech first, then rack up the profits.
> Hopefully when Inprise and Trolltech release kylix they will... release it under the GPL.
Not going to happen. Period.
Borland have spent a lot of money on making Kylix and intend to recoup thier investment. and make profit. You might however see some of the VCL (Delphi class library) source under MPL or suchlike, but not the compiler or IDE.
I hate sequelitis. Mr Card is capable of great works of originality, rivetingly told, so why does he churn out this stuff? Please, new characters, new story. He was more than cabable of this once. Now it looks like he is becoming part of the machine.
Right now Amazon is hawking this as sci fi:
"The Captive Temple (Star Wars. Jedi Apprentice,7) by Jude Watson Book Description : When someone tries to kill Yoda, it's up to young Obi-Wan Kenobi and Qui-Gon Jinn to investigate. Everyone in the Jedi Temple is a suspect - and the true culprit may be the darkest rival of all."
Fiction of the imagination my butt. A corrupt and venal franchise is what it is.
You are right that the attraction of this kind of package is the combination of visual IDE, components and language. You are right that the VB language sucks,and PB is even worse.
This is not unimportant to the programmers - it is a major part of why I will never touch PB or VB again with a bargepole, and why I like Delphi (I'm biased here, IMHO for a good reason)
Consider that all the components that ship with Delphi are written in Delphi, and an install of Delphi installs the source to them. This means several things.
1) The language had to be powerful. How many of of VB's components are written in VB? Was the VB IDE written in VB? yeah, right! All of Delphi's components are written in Delphi, and so is the IDE.
2) You can extend it. Read the source, tinker with it, and you can quickly work out how to make your own components.
So IMHO the the OP language is a large part of the total value proposition of the RAD environment, as it is a large part of that environment, and a major reason for it's success.
...more like ignorant and proud of it.
.. has some nice parts to it
> Pascal is pretty much dead
Oh, is that why Borland released 5 widely used versions of Delphi, and counting?
Is that why the Linux release of this product is so widely anticipated?
> Can basic be used for any serious program ? No
Your point being? Oh, right, Object-Pascal is basic. Wrong.
> visual basic
I'll think you'll find that Delphi has all of those parts, but is not built upon the mud that is the VB language. It is a good OO language, and generates fast, library-less executables. FP has the potential to be as great.
> If you are planning to develop an application, what do you think of first
Delphi, actually. YMMV.
> IMHO delphi properties are syntactic sugar
:= Foo.Bar + 1 is internally translated to
This is true.
Foo.Bar
Foo.SetBar(Foo.GetBar + 1); much as overloaded operators are translated into function calls internally.
Different goals for different languages I guess.
Unlike with operator overloading, I have yet to see a bug or obfuscation introduced by use of a property instead of the equivalent acessor methods.
Actually, one of the reasons why properties were introduced in Delphi 1.0, was that, combined with RTTI, they provided a way to go one better on VB's visual object inspector. However, I find them way useful all over my delphi programs.
Properties give you a good level of abstraction - a class's public data and methods can be treated the same way. You can change a public data item to a public property with gettor and settor methods without any client code breaking.
but we are desecending into language wars. Different keystrokes for different folks.
> It doesn't support - multiple inheritance, templates, overloading
but not operator overloading. This is on purpose.
IMHO operator overloading in pure syntactic sugar (ie there is nothing that you can do with it that you cannot do without it) and a licence to make bugs (I once spent days chasing a bug in a C++ program that was caused by some idiot's incorrect overriding of the pointer deref operator.
If you want MI, rather use interfaces (in Delphi -not in FP yet AFAIK).
> I mean, what is the point of DirectX?
That's easy. This box uses off-the shelf hardware, so why not off-the-shelf software. It cuts down on X-box development time and effort, and similarly it makes it easier to port your games between X-box and other MS systems. In that sense it's clever - another encouragement to use MS's proprietary graphics 'standard'.
> Who was the biologist
AFAIK, it didn't take a profesional to come up with that name. They sound like donkeys.
An exceedingly indirect way to find out if a planet has hosted intelligent technological life at some stage - see if there is an statistically too-low number of asteroids in dangerously close orbits.
Hopefully we'll make that grade soon.
> IMNSHO, no multi-document application should ever use MDI
Microsoft agrees with that, and so do I.
Ever since Windows 95, MS has been deprecating MDI. Word 2000 doesn't use it at all.
> Are they fully independent of the other WIN32 API then?
//Pointer to where to return window handle
No. Consider this activeX interface function:
IOleWindow::GetWindow
HRESULT GetWindow(HWND * phwnd
);
It is useless unless you know what to do with a win32 window handle
> If they still do refer to GUI related things then the interfaces are not really generic
If you tried, and got buy in, you could define a set of interfaces that are generic enough to model all the GUIs that you are trying to cover. Sounds painful though.
> I'm not arguing with your point, just being curious how MS solved this.
How does MS usually solve interoperability problems: Problem, what problem?
> actuall phisycal component embedding
Having worked with COM and ActiveX, I know quite well that a server's ability to embed a control depends on what interfaces that control implements and what the server expects.
Or to put it much more generically, yes, a particular component may only work in one GUI framework as it will offer a particular set of services to it's container, and expect a particular set of services from that container.
The expectations will be defined by the GUI standards (e.g in order to be an ActiveX control, your class must implement the following interfaces...).
Different Guis may differ here. (however, if they do overlap, they both win)
There is however, no reason why the mechanism whereby container locates and negotiates with containee must be either part of the GUI or different between GUIs - this is generic inter-binary-object communications. Standardisation at this layer is a seperate win, as this protocol can be put to many good non-visual uses.
To put it in MS-speak, COM is a method for defining interfaces. It is not visual. OLE and ActiveX are sets of interfaces for defining visual interaction over COM's object services.
The ability for objects in different binaries to interact is not and should not be the responsibility of a GUI Yes, this ability is used by a modern GUI to glue together visual components, but it should a general mechanism that can be put to other uses.
Neither COM or Corba require a GUI.
So unless the core services of KParts and Bonobo can run on a command line (does Corba = "core services of Bonobo"?), both are badly designed. If they can run on thier own without thier favorite GUI, they can be used as a general mechanism for object interaction.
>The point still remains that there were MILLIONS who couldn't because they didn't have acess to a computer or the Internet
... got along just fine without the "The Digital Revolution".
Point taken that in much of the world access to a browser is a very elite thing. But you don't need to have access to the internet. You just need a look at a copy of a printout. Printers and photocopiers give the information quite a broad reach.
> revolutions
Are you sure that it was perfect? You've said nothing to disuade me from my belief that "if we had then what we have now, Apartheid would have fallen at least 5 years earlier."
> You guys really need to study human history
Study? I lived through it.
> The author ... thinks it's just not that much of a revolution yet. Does the Slashdot community agree?
Heck no.
In the mid 1980s I was at school in South Africa. First the govenment declared a National State of Emergency, then they stopped the newspapers from reporting to us what was going on, how the Govt. was resposible for much of the violence. The rest of the world had free access to this information, but they didn't want us to know.
The newspapers, in protest, began to print large blank spaces where the news articles had been censored. This was then itself banned. We weren't allowed to know how much we didn't know.
Given the internet today, just 15 years later, this kind of censorship would be complete exercise in futility. Enough people have access to browsers and printers to route around it.
I firmly believe that if we had then what we have now, Apartheid would have fallen at least 5 years earlier.
> so-called "laser eye surgery",
I don't see wehat's so "so-called" about it. It uses a laser. on the eye. as surgery.
> which is referred to by its own practicioners as slash and burn
What does this prove, except that medics have a twisted sense of humour about thier work. But knowing several medics, I knew that already.
> you really looked into the way they are creating scars on the lens, etc
That's not what I read.
> you'd not want that to happen to your eyes
I did and I don't regret having done it. It's a lot better than specs or contacts.
Sure next year's model will be better, and sure there's no sense in cutting an eye which has normal vision. But if you are going to do corrective surgery, you might as well do a good job as you can.
If you've really got some data against it, how about a URL?
The story header says "that ad, in full color, dominated the entire front page". "dominated" does not mean covered completely. I presume that means here that the ad was large and prominently positioned at the top of the page.
Admitedly the use of the word "entire" was redundant - it could have been "that ad, in full color, dominated the front page", but is this slashdot or grammardot?
> The open relay shouldn't get by unscathed.
.. and the engine running, I believe it is still a crime to steal the car.
.. you should stand little chance
Methinks the basic problem is that SMTP is broken. Or at least unsuitable for today's internet
It has zero authentication of user identity. It only cares where your message comes from in term of the sending machine's IP adress. If you get that right (or the recieving machine is poorly configured and will accept mail from anyone, ie an open relay), you can bullshit it anything you want.
> If you leave
You got that right. The rest of your post seems to say (to continue the metaphor) that it's morally wrong to leave your car door unlocked and if you do, you have no case against any robber. Be consistent already.
> However, if you then sue the thieves because they stole the car
Er, I think not.
I hereby dimiss VB. Pah!
> I realise VB is an incoherent mess,
I do too, that's why I don't use it, that's why I wouldn't let kids near it. *They will learn bad habits*.
> and perhaps Delphi is better (I've never used it)
I'm proud to say that I am a Delphi bigot who uses Delphi every day. It has all the same GUI builder tricks as VB.
If you are going to teach your kids with a proprietary, GUI RAD tool, then consider that Delphi is an OO language, and has been from version 1. The last time I used VB was version 3 and it sure as heck wasn't OO then. I believe it has been kludged in that direction in the meantime. Yuck.
The main criticism leveled at Delphi's Object Pascal language here on Slashdot is that it is a stongly typed, bondange-and-dicipline language (BTW, this is *far* less true of Delphi than it is of the original pascal language). IMHO this is appropriate for teaching children, once they have got past the LOGO stage. Don't forget that Pascal was originally designed as a teaching language & the strong typing was deliberate in this goal.
> But I think the place to start with children is something that produces highly visual GUI output in short order.
Agreed.
> because many users just couldn't care less about product being FSF-free. They care about how it works first (functionality), then about how much it costs.
An open source licence is not just a guarantee that the program has source code. It is a guarantee that the vendor software cannot unilaterally assert control over the software. If they won't sell it real cheap, someone else might. If they won't fix and enhance, then someone else might. So free-as-in-speech guarantees that it *stays* free-as-in-beer.
Hm, this seems to be what DCMA et all is about in other arenas - take away the freedom of speech first, then rack up the profits.
Interesting. I have on occasion uploaded a Mb or so of holiday pix to my ISP-provided web space and given the "dark" URL to a few friends.
> bars sites with too high a Dark Matter percentage
Um. Censorship, especially that not based on an analysis of the actual content is like, real bad.
> Hopefully when Inprise and Trolltech release kylix they will ... release it under the GPL.
Not going to happen. Period.
Borland have spent a lot of money on making Kylix and intend to recoup thier investment. and make profit. You might however see some of the VCL (Delphi class library) source under MPL or suchlike, but not the compiler or IDE.
> You mean a FREE Delphi RAD tool such as Lazarus? Why do we need Borland?
Er, because Kylix will be ready this year?
> Has anyone done a little math? If NetPD actually downloaded 1 song per user they found
They'd only need to download a few 100Kb of each file to recognise that it was indeed an MP3 of Metallica
> Close to a terabyte.
They could easliy discard the downloaded data and just store a flag: Was it really Metallica or not.
> they invented a TIME COMPRESSOR!!! YOU GO!!!
Amazing how far wrong you can go from an incorrect assumption.
Disclamer: I have no idea if NetPD are actually doing this.
Dude, you'd be giving up the *GeForce 2*! Offering that card *is* serious respect for the customers.
I hate sequelitis. Mr Card is capable of great works of originality, rivetingly told, so why does he churn out this stuff? Please, new characters, new story. He was more than cabable of this once. Now it looks like he is becoming part of the machine.
Right now Amazon is hawking this as sci fi:
"The Captive Temple (Star Wars. Jedi Apprentice,7)
by Jude Watson
Book Description : When someone tries to kill Yoda, it's up to young Obi-Wan Kenobi and Qui-Gon Jinn to investigate. Everyone in the Jedi Temple is a suspect - and the true culprit may be the darkest rival of all."
Fiction of the imagination my butt. A corrupt and venal franchise is what it is.
> For example, Pascal. Designed as a language
>with training wheels, it didn't fit the problem >space for systems programming.
>You had some bastardizations like Object
> Pascal (Delphi), but mostly it's fallen by the
> wayside while C (a language that has evolved)
> took over
And the sad thing is that most slashdot readers are so C-blinkered that this doesn't even register on their Trollometers.
OS programming, maybe not. For application programming, Delphi rocks. I use it every day.
What's the difference between "evolution" and "bastardization" aside from the emotional loading? None.
The rest of your post I agree with 100%