Why I don't use Dylan 
Author Message
 Why I don't use Dylan


Quote:
> Hard to avoid, I think.  It takes a large investment of time to learn a
> new programming language

  Well I don't know about that. I'd say that a change in language is smaller
in effort to learn than a change in API.  I picked up Obj-C in a couple of
days.  Sure it's different when you have some monstrosity like C++ or Ada,
but with a well designed language and libs, I'm not at all convinced that
this is a big issue.

  The real problem, IMHO, is that everyone is burned out by C++.  Now all
OOPS programming will forever be tainted by the effort put into learning C++
over the last 5 years or so.  But in the 80's it was "fun" to pick up new
languages.

Quote:
> produced your programming language is dead and that a new OS version is
> incompatable with what you're using, or that show-stopping bug will
> *never* be fixed.

  Sure, which is why I think open source is a requirement for all
development efforts of both OS's and the dev systems that serve them.  Why
oh WHY can't AT&T drop the pickle on Plan 9 after all these years?!

Quote:
> It's amazing how long THINK Pascal kept on keeping on years and years
> after it was no longer developed, sold or supported, but something in
> about MacOS 8.1 or so finally killed it and it's dead, dead, dead today,
> even thought it's *still* probably the best ever Pascal or C learning
> environment.

  Yeah, Lightspeed was cool too.

Quote:
> Where would we be now if Apple has included the source code on the Dylan
> Technology Release CD?

  Hmmm, interesting question.  My only concern here is that, again IMHO, I
see a lot of herdism in the MacOS community.  While everyone makes fun of
Apple's NIH, their developers were just as bad if not worse (myself
included, but I lost my religion in 98 and I'm better off for it).  Consider
the outright shunning of things like MagicCap and WebTV, both in-Apple
ideas.  Wild.  Well, there's been a lot of culling there anyway.

  I think Cocoa serves the Apple world very well, although I think it would
be even better with a Win version.  However I do have problems with the
Obj-C language that I would like to see addressed.   So OK, what would it
take to make Dylan compile onto a Obj-C like runtime?  Is this a
possibility?  If so, we all need to talk!

Maury



Sun, 29 Dec 2002 03:00:00 GMT  
 Why I don't use Dylan

Quote:



> > Hard to avoid, I think.  It takes a large investment of time to learn a
> > new programming language

> Well I don't know about that. I'd say that a change in language is
> smaller in effort to learn than a change in API.

Except when they go together e.g. Java, Cocoa, Smalltalk.

Quote:
> I picked up Obj-C in a couple of days.  Sure it's different when
> you have some monstrosity like C++ or Ada, but with a well
> designed language and libs, I'm not at all convinced that this
> is a big issue.

Probably true.  Which well-designed language and libs that has acheived
immense populatiry in the last decade do you have in mind?

Quote:
> The real problem, IMHO, is that everyone is burned out by C++.  Now all
> OOPS programming will forever be tainted by the effort put into learning
> C++ over the last 5 years or so.

5?  I seem to recall starting to use CFront with MacApp in 1990 or so.

Quote:
> I think Cocoa serves the Apple world very well, although I think it
> would be even better with a Win version.  However I do have problems
> with the Obj-C language that I would like to see addressed.   So OK,
> what would it take to make Dylan compile onto a Obj-C like runtime?
> Is this a possibility?  If so, we all need to talk!

I really must take a look at MacOS X soon.  I'm still doing a lot of Mac
development (e.g. my current contract is for a Mac application), but I'm
using CW Pro 4, MacOS 8.6, and haven't been a paying member of Apple's
developer program for a couple of years.  Maybe I'm just still
shell-shocked by learning and then abandoning too many technologies
(OpenDoc, Copland, you know the list ...) in the past.  Shouldn't be too
hard as I've done a lot of Solaris and Linux work in the last several
years :-)

Anyway, the gist is that I don't know what the Obj-C runtime is like.  
My understanding from early NeXT days was that the compiler just gathers
up those Smalltalk-style method selector names into a string, looks them
up in a table to find a numeric selector ID, and adds that as the first
argument to a call to a global "dispatch" function, using a standard C
function call.

Is that correct?  Has it changed in the last ten years?

-- Bruce



Mon, 30 Dec 2002 03:00:00 GMT  
 Why I don't use Dylan

Quote:

> Anyway, the gist is that I don't know what the Obj-C runtime is like.
> My understanding from early NeXT days was that the compiler just gathers
> up those Smalltalk-style method selector names into a string, looks them
> up in a table to find a numeric selector ID, and adds that as the first
> argument to a call to a global "dispatch" function, using a standard C
> function call.

AFAIK, there's some speed-improving cacheing of id's, but the C calls
are still there. This should make it easy to glue d2c to Objective-C,
and indeed allow anything that can call C code to call Objective-C. The
same can't be said for C++ (name mangling) or Java (name manging and
type mapping).
So calling Cocoa or OpenStep code from Dylan should be achievable
without too much hacking.

- Rob.

--
Rob Myers - http://www.robmyers.org/   H2G2 - http://www.h2g2.com/
MacOS wonderfulness for The Hitch Hiker's Guide to the Galaxy Game.
"Smash global capitalism! Spend less money!"



Mon, 30 Dec 2002 03:00:00 GMT  
 Why I don't use Dylan

Quote:
> > Well I don't know about that. I'd say that a change in language is
> > smaller in effort to learn than a change in API.

> Except when they go together e.g. Java, Cocoa, SmallTalk.

   No way Bruce, you should come to one of my talks some time.

   I had _zero_ "real" programming experience prior to learning Cocoa, I
knew HyperCard and stuff like that.  I had been trying to break into "real"
programming for years, trying product after product in hopes of lowering the
bar to the point where I could get involved without a change of lifestyle.
I tried it all, yes, even Apple Dylan, but everything fell down at one point
or another and I was no closer than before.

  Then I tried Cocoa.  Five days later I was working on commercial code, and
shipped our product six months later.

  Cocoa, due to being self-contained, is _rediculously_ easy to learn.  I
disagree completely with your point above.

Quote:
> Probably true.  Which well-designed language and libs that has acheived
> immense populatiry in the last decade do you have in mind?

  None.  I'm not sure what your point is here though.  As I said, this is a
popularity contest, the best tech rarely wins.

Quote:
> 5?  I seem to recall starting to use CFront with MacApp in 1990 or so.

  Sure, and I was playing with MacApp 3 way back too.  However the market as
a whole was largely pure C until more recently than that.

Quote:
> Anyway, the gist is that I don't know what the Obj-C runtime is like.

  Several things...

1) method calls based pointers to a class, then a hash lookup - the hash can
be changed at runtime
1a) method signatures are hashed off the method name and parameter _names_
(note!) and thus method overloading is not supported in the current runtime
(big problem IMHO).
2) class lookup via a similar hash, but only once and then cached in the
instance
3) "two try" dispatch, if the method isn't supported, try the method
"perform" instead, which everyone supports - zero effort forwarding and
other nifty features come from this
4) dynamic loading/unloading of basically everything.

  Missing...

1) GC
2) namespace support
3) ivars are not dynamic
4) no support for MI (likely a no-brainer with (2) though)

Maury



Mon, 30 Dec 2002 03:00:00 GMT  
 Why I don't use Dylan

Quote:
> So calling Cocoa or OpenStep code from Dylan should be achievable
> without too much hacking.

  Hmmm, this would certainly be interesting.

Maury



Mon, 30 Dec 2002 03:00:00 GMT  
 
 [ 20 post ]  Go to page: [1] [2]

 Relevant Pages 
 

 
Powered by phpBB® Forum Software