Yet another V.6 wish list

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
45 messages Options
123
Reply | Threaded
Open this post in threaded view
|

Yet another V.6 wish list

True Christian
Talking to an employee who refused to write in Smalltalk doing his job in
VB.Net instead, it seems the libraries in newer languages are much more
productive than Smalltalk's library, regardless of the clarity of naming.
So the stats saying Smalltalk is 3 times more productive than C or Java are
misleading because you have to reinvent the wheel more often in Smalltalk
The coding comparisons are either to restrictive so as not to enable use of
many advanced library functions or have some other design error.

So while I dislike that VB.Net and Delphi code which uses advanced library
functions is so obscure as to be unintelligible, I must ask for an
equaivalent or better library in Dolphin 6.

Kirk Fraser


Reply | Threaded
Open this post in threaded view
|

Re: Yet another V.6 wish list

Sean Malloy-9
> Talking to an employee who refused to write in Smalltalk doing his job in
> VB.Net instead,

Sounds like a typical VB programmer to me.

> So while I dislike that VB.Net and Delphi code which uses advanced library
> functions is so obscure as to be unintelligible, I must ask for an
> equaivalent or better library in Dolphin 6.

Let me just see if I understand you correctly: You're asking for an advanced
library with functions so obscure as to be unintelligible for Dolphin?
Sounds like a great model for success!

I haven't really found many limitations with the existing class library. If
you consider that Dolphin has full access to COM. If you're comparing it to
say, the .NET class libraries, well, I think its kind of hard to compare a
team of scores of developers (Microsoft BCL Team), to that of a Object Arts
(Andy, Blair, ... ?).

Why not just use VB.NET if you're having so many issues with Smalltalk? (The
library being outmoded, not extensive enough, other people can't use it,
incorrcet naming conventions, hard to understand naming conventions, et al,
all the issues you feel you have identified)


Reply | Threaded
Open this post in threaded view
|

Re: Yet another V.6 wish list

Sean Malloy-9
In reply to this post by True Christian
> So while I dislike that VB.Net and Delphi code which uses advanced library
> functions is so obscure as to be unintelligible, I must ask for an
> equaivalent or better library in Dolphin 6.

For me, the Dolphin class heirarchy, associated goodies available on the
internet, and com, is more than enough. I'd just like to have my hands on
Dolphin 6. Enough with feature requests already!


Reply | Threaded
Open this post in threaded view
|

Re: Yet another V.6 wish list

Fernando Rodríguez
In reply to this post by True Christian
On Mon, 27 Dec 2004 02:30:52 -0800, "True Christian"
<[hidden email]> wrote:


>Talking to an employee who refused to write in Smalltalk doing his job in
>VB.Net instead, it seems the libraries in newer languages are much more
>productive than Smalltalk's library, regardless of the clarity of naming.
>So the stats saying Smalltalk is 3 times more productive than C or Java are
>misleading because you have to reinvent the wheel more often in Smalltalk
>The coding comparisons are either to restrictive so as not to enable use of
>many advanced library functions or have some other design error.

((trueChristian class) superclass) = TrueTroll) ifTrue:
        [killFile plonk: trueChristian].


Reply | Threaded
Open this post in threaded view
|

Re: Yet another V.6 wish list

Fernando Rodríguez
On Mon, 27 Dec 2004 13:23:28 +0100, Fernando  <[hidden email]> wrote:

>On Mon, 27 Dec 2004 02:30:52 -0800, "True Christian"
><[hidden email]> wrote:
>
>
>>Talking to an employee who refused to write in Smalltalk doing his job in
>>VB.Net instead, it seems the libraries in newer languages are much more
>>productive than Smalltalk's library, regardless of the clarity of naming.
>>So the stats saying Smalltalk is 3 times more productive than C or Java are
>>misleading because you have to reinvent the wheel more often in Smalltalk
>>The coding comparisons are either to restrictive so as not to enable use of
>>many advanced library functions or have some other design error.
>
>((trueChristian class) superclass) = TrueTroll) ifTrue:
> [killFile plonk: trueChristian].

Hhmm.... I was assuming that trueChristian is some sort of Singleton
of TrueChristian, which in turn was a subclass of TrueTroll. ;-)

But what if it's an instance of TrueTroll? Then my code wouldn't
work... ;-)

How can can you find out all the superclases of a given class (all the
way to Object)? O:-)


Reply | Threaded
Open this post in threaded view
|

Re: Yet another V.6 wish list

Chris Uppal-3
Fernando wrote:

> But what if it's an instance of TrueTroll? Then my code wouldn't
> work... ;-)

Object>>isKindOf: is usually best for class testing.


> How can can you find out all the superclases of a given class (all the
> way to Object)? O:-)

Behavior>>withAllSuperclasses, and other methods of Behavior in categories
'class hierarchy' and 'enumerating', will list super/sub-classes in various
ways.

    -- chris


Reply | Threaded
Open this post in threaded view
|

Re: Yet another V.6 wish list

Fernando Rodríguez
On Mon, 27 Dec 2004 13:07:27 -0000, "Chris Uppal"
<[hidden email]> wrote:

>Fernando wrote:
>
>> But what if it's an instance of TrueTroll? Then my code wouldn't
>> work... ;-)
>
>Object>>isKindOf: is usually best for class testing.

Aha!  Now, this is a proof of Smalltalk's power:

(poster isKindOf: Troll) ifTrue: [ killFile plonk: poster]

This would be a killer app... };-D


Reply | Threaded
Open this post in threaded view
|

Re: Yet another V.6 wish list

Stefan Schmiedl
In reply to this post by Fernando Rodríguez
On Mon, 27 Dec 2004 13:23:28 +0100,
Fernando <[hidden email]> wrote:
>
> ((trueChristian class) superclass) = TrueTroll) ifTrue:
> [killFile plonk: trueChristian].

Too many lispy parentheses:

(trueChristian class superclass = TrueTroll) ifTrue:
  [killFile plonk: trueChristian].

The better way to go would be to implement
Object>>troll
  ^false
TrueTroll>>troll
  ^true

Then you could write things like
(Array with: fernando with: trueChristian)
  reject: [:x| x troll]
and get only fernando as result.

If you need more complex rules for deciding the trollnes
of posters, you might want to go for TrollPolicy, but this
editor window is too short to go further into details.

kind regards,
s.


Reply | Threaded
Open this post in threaded view
|

Re: Yet another V.6 wish list

Schwab,Wilhelm K
Stefan,

> Then you could write things like
> (Array with: fernando with: trueChristian)
>   reject: [:x| x troll]
> and get only fernando as result.

No disrespect to your refactoring efforts, this is one area in which I
recommend using existing software vs. rolling your own.  Even w/o having
to write an IDE extension, a right click, create filter (there was a
loud "ploink" in there somewhere), delete posts, etc., does the job.  I
can also verify that Fernando's posts remain visible, as they should.

Have a good one,

Bill

--
Wilhelm K. Schwab, Ph.D.
[hidden email]


Reply | Threaded
Open this post in threaded view
|

Smalltalk meets expert systems was Re: Yet another V.6 wish list

Fernando Rodríguez
In reply to this post by Stefan Schmiedl
On 27 Dec 2004 13:45:01 GMT, Stefan Schmiedl <[hidden email]> wrote:


>> ((trueChristian class) superclass) = TrueTroll) ifTrue:
>> [killFile plonk: trueChristian].
>
>Too many lispy parentheses:

Must be my scheme background: I guess I speak smalltalk with a lisp.
;-)

>Then you could write things like
>(Array with: fernando with: trueChristian)
>  reject: [:x| x troll]
>and get only fernando as result.

Are you sure? };-)

>If you need more complex rules for deciding the trollnes
>of posters, you might want to go for TrollPolicy, but this
>editor window is too short to go further into details.

A pity, because it sounds interesting....  Actually I'm planning to
start a new project (in a few months, hopefully) that would need to
apply rather complex, and unfortunately changing, rules to objects.

Ideally, and to preserve my sanity, I'd like to define those rules in
the most declarative way possible. If it sounds like I'm looking for
'Smalltalk meets prolog', it's not entirely correct, as I don't need
backward chaining, only forward chaining.
 
I've been looking for some production system (with forward chaining)
in Smalltalk, to avoid reinventing the flat tire, but haven't found
anything. I heard of something called 'nee opus', but not even Google
knows where it is now... :-(

Any recommendations? O:-)

Thanks


Reply | Threaded
Open this post in threaded view
|

Re: Yet another V.6 wish list

DiegoC
In reply to this post by True Christian
Hi, you said: "..So the stats saying Smalltalk is 3 times more productive
than C or Java are misleading because you have to reinvent the wheel more
often in Smalltalk..."

What is the problem about reinventing wheels?. That is what programmers do
all the time, and also car makers do too. I have never seen two different
cars with the same type of wheels, even very similar cars use different
types of wheels. Unfortunatly I've seen very different systems using the
same 30MB database driver or 100MB report tool.
Reinventing wheels is what is usually need to do, what you need to learn
is how wheels work, and Smalltalk is great for that. It's cheaper and
faster this way of working than using "building blocks".

Diego Coronel


Reply | Threaded
Open this post in threaded view
|

Re: Yet another V.6 wish list

Fernando Rodríguez
On Mon, 27 Dec 2004 12:13:50 -0500, "DiegoC" <[hidden email]>
wrote:

>Hi, you said: "..So the stats saying Smalltalk is 3 times more productive
>than C or Java are misleading because you have to reinvent the wheel more
>often in Smalltalk..."
>
>What is the problem about reinventing wheels?.

The real problem is when people start reinventing the flat tire....


Reply | Threaded
Open this post in threaded view
|

Re: Smalltalk Expert System

True Christian
In reply to this post by Fernando Rodríguez
"Fernando" <[hidden email]> wrote

> [snip] Actually I'm planning to
> start a new project (in a few months, hopefully) that would need to
> apply rather complex, and unfortunately changing, rules to objects.
>
> Ideally, and to preserve my sanity, I'd like to define those rules in
> the most declarative way possible. If it sounds like I'm looking for
> 'Smalltalk meets prolog', it's not entirely correct, as I don't need
> backward chaining, only forward chaining.
>
> I've been looking for some production system (with forward chaining)
> in Smalltalk, to avoid reinventing the flat tire, but haven't found
> anything. I heard of something called 'nee opus', but not even Google
> knows where it is now... :-(
>
> Any recommendations? O:-)

I've had a project to develop a forward expert system language in Dolphin
going via remote developers for quite some time, before it was moved to
VB.Net by a programmer who wouldn't learn Smalltalk (and the fact so many
Smalltalkers are incompetant or unwilling to work for others and the few who
do charge much larger sums for equivalent work).

But you've shot yourself in the foot by your insulting posts suggesting I'm
a "troll."  Actually I own at least two Dolphin licenses, one for remote
employees and one for myself.  So I offer my Smalltalk code for six figures
plus consulting fees at $100 an hour.  If your bank account can handle it, I
can send you a sample.

Here's my direct email address: [hidden email]


Reply | Threaded
Open this post in threaded view
|

Re: Smalltalk meets expert systems was Re: Yet another V.6 wish list

Pieter Emmelot-2
In reply to this post by Fernando Rodríguez
Fernando wrote:

<snip>
> I've been looking for some production system (with forward chaining)
> in Smalltalk, to avoid reinventing the flat tire, but haven't found
> anything. I heard of something called 'nee opus', but not even Google
> knows where it is now... :-(
>
> Any recommendations? O:-)
>
> Thanks

try googling for: neopus smalltalk

good luck, Pieter


Reply | Threaded
Open this post in threaded view
|

Re: Smalltalk meets expert systems was Re: Yet another V.6 wish list

Chris Uppal-3
In reply to this post by Fernando Rodríguez
Fernando wrote:

> I've been looking for some production system (with forward chaining)
> in Smalltalk, to avoid reinventing the flat tire, but haven't found
> anything. I heard of something called 'nee opus', but not even Google
> knows where it is now... :-(

NeOpus is still on the Net, try these links:

    http://www-poleia.lip6.fr/~fdp/NeOpus.html
    http://www-ftp.lip6.fr/ftp/lip6/softs/NeOpus/

I don't know which (if either) is most up-to-date.

    -- chris


Reply | Threaded
Open this post in threaded view
|

Re: Smalltalk meets expert systems was Re: Yet another V.6 wish list

Schwab,Wilhelm K
In reply to this post by Fernando Rodríguez
Fernando,

> Ideally, and to preserve my sanity, I'd like to define those rules in
> the most declarative way possible. If it sounds like I'm looking for
> 'Smalltalk meets prolog', it's not entirely correct, as I don't need
> backward chaining, only forward chaining.

Have a look at this:

    http://minnow.cc.gatech.edu/squeak/1000

I've never used it, but would be interested in your experience with it.

Have a good one,

Bill

--
Wilhelm K. Schwab, Ph.D.
[hidden email]


Reply | Threaded
Open this post in threaded view
|

Re: Yet another V.6 wish list

True Christian
In reply to this post by DiegoC
"DiegoC" <[hidden email]> wrote
> What is the problem about reinventing wheels?.
> Unfortunatly I've seen very different systems using the
> same 30MB database driver or 100MB report tool.

Perhaps you haven't tried to write your own database.  I have and I sent it
to others including a Russian graduate student to improve yet it is too slow
to sell.  So it is very difficult and time consuming to do a database right,
making a plug-in a better choice for most programmers if the price is ok.
However I suspect any programmer could make a report without a report writer
easily.

> It's cheaper and faster this way of working than using "building blocks".

Maybe for some building blocks but not all. More importantly, there is the
perception among the majority of programmers of all languages that "building
blocks" is faster.  So the building blocks used in other key languages
should be available in D.6 for those who want to use them and programmers
who want to reinvent them are always free to do so.

Kirk Fraser


Reply | Threaded
Open this post in threaded view
|

Re: Yet another V.6 wish list

DiegoC
Hi Kirk,
In my example I talked about building a driver not a database. I agree
with you that building a database is a very time consuming task, but the
main reason for not building a database is because is far better to work
with objects instead of working with data. Working with Smalltalk you
don't need databases, you don't want them.
I also agree with you about what the majority thinks about building
blocks, and of course thouse building blocks can be used by Dolphin (any
version). But tha majority is used to programming languages, and Smalltalk
is not a language, first of all is an ambience.
BTW there are capabilities in Dolphin for interfacing COM components not
available in VB6. For example you override COM methods or subclass them.

Diego Coronel


Reply | Threaded
Open this post in threaded view
|

Re: Yet another V.6 wish list

True Christian
Hi Diego,

> Working with Smalltalk you
> don't need databases, you don't want them.

I need a bit of clarifying on this -- say you have a 3 Gig file of "stuff"
which you can't have under WinXP -- only 2 G files are allowed.  Is
Smalltalk, particularly Dolphin, integrated enough with Windows to hold the
entire file as a "serialized" string?  Even if it can do it with the Windows
OS using temp files, would the image file cross the 2 G boundary?  I think
not.  So if there is a large amount of objects or data, then a database of
some kind is required at least to manage the files they are stored in.

Sorry, I'm not familiar with .com.

Kirk Fraser


Reply | Threaded
Open this post in threaded view
|

Re: Yet another V.6 wish list

Schwab,Wilhelm K
In reply to this post by DiegoC
Diego,

> In my example I talked about building a driver not a database. I agree
> with you that building a database is a very time consuming task, but the
> main reason for not building a database is because is far better to work
> with objects instead of working with data.

Add to that the fact that query optimization alone is not for the
uninitiated; I am content to leave that to those with expertise in the area.


 > Working with Smalltalk you
> don't need databases, you don't want them.

I disagree.  I make very effective use of RDBs for what they do well:
indexing (loosely speaking).  The trick is to not mistake them for
program development environments.


Have a good one,

Bill

--
Wilhelm K. Schwab, Ph.D.
[hidden email]


123