Re: [Newbies] error trap

2006-08-10 Thread Davide Arrigo
Alle 18:16, mercoledì 9 agosto 2006, Ron Teitelbaum ha scritto:
 Hi Davide,

 I just wrote up something like this for Sedar:
 http://lists.squeakfoundation.org/pipermail/beginners/2006-August/000701.ht
m l

 To answer your question directly the answer is yes and no.

MAny thanks to all of you, now it's clear what I have to do.
I'll try to modify my method.
Best Regards  
-- 
---
Davide Arrigo
___
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners


Re: Re: [Newbies] Why hasn't Smalltalk been wildly accepted?

2006-08-10 Thread Michael Kohout

When I get home(and if the weather isn't too nice) I play with Squeak.
But when I go to work, I write Java(like a lot of people on this
list, I'd imagine).

One of the things that prevents me from even considering it at work is
the lack of Oracle driver support.  Of course, I could write that
support myself using named primitives(and I've tried), but the
documentation on how to use all the modern Slang features and tie the
whole thing into XCode is much too sparse.

When this changes I might be able to use squeak for more than just amusement.

On 8/9/06, Keith Hodges [EMAIL PROTECTED] wrote:



 Java gained ground because anyone who wanted to try it could just
 download it and learn it.  This wasn't possible with Smalltalk - so
 nobody learned it.

 At least, this is how things looked to me as an enterprise systems
 architect in the mid-1990's.
This was the picture pre 1995 I think, since then...

Other smalltalk vendors came into the market. Smalltalk Agents was about
300 pounds in 1994. Squeak was free in 1996, Dolphin was free initially
also in about 1996. When I wanted to write an industrial strength
project I downloaded ST/X for free and although some sources were
missing I could certainly learn enough and demonstrate enough to justify
using it on a project.

If you ask any programmer in the UK, what about Dolphin I think that
you will get a blank look. Its all down to marketing marketing and more
marketing. Even my grannie probably knows that Java is a progamming
language.

Having said this, because Smalltalk is relatively easy to learn once you
are over the initial learning cliff, people have not seen the value in
good documentation.

Pick any product that you wish to learn, go to your local book shop and
see what is there. The Pragmatic PRogrammer was a book about ruby, and
that book single handedly launched ruby into the mainstream, without the
hype that surrounded  java. Smalltalk has lacked bookshelf presence, and
I think that as soon as Seaside gets a book out there that O'Reilly puts
an animal on the front of it the better.

just my 2p

Keith



___
Inbox full of spam? Get leading spam protection and 1GB storage with All New 
Yahoo! Mail. http://uk.docs.yahoo.com/nowyoucan.html
___
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners


___
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners


[Newbies] Re: Re: Why hasn't Smalltalk been wildly accepted?

2006-08-10 Thread Klaus D. Witzel

On Thu, 10 Aug 2006 14:43:46 +0200, Michael Kohout wrote:


When I get home(and if the weather isn't too nice) I play with Squeak.
 But when I go to work, I write Java(like a lot of people on this
list, I'd imagine).


 8-)


One of the things that prevents me from even considering it at work is
the lack of Oracle driver support.  Of course, I could write that
support myself using named primitives(and I've tried), but the
documentation on how to use all the modern Slang features and tie the
whole thing into XCode is much too sparse.

When this changes I might be able to use squeak for more than just  
amusement.


Michael, have you seen the SQLite3 package on SqueakMap. It is more than  
easy to interface an external library from Squeak, no Slang, no C-compiler  
needed (if you don't depend on callbacks). The SQLite3 Squeak code is  
authored for calling into an external library on Mac OS X but it's a  
matter of minutes to change that to MS$ windoze or linux (I know that  
you're using Squeak on OS X...)


Hope that it's a rainy day at your site ;-)

/Klaus

___
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners


RE: [Newbies] Re: Re: error trap

2006-08-10 Thread Ron Teitelbaum

 From: Klaus D. Witzel
 
 On Wed, 09 Aug 2006 21:11:40 +0200, Ron Teitelbaum wrote:
  Brian,
 
  Yes I agree it's a great suggestion, although a few changes:
  Literal blocks to not parse into collections automatically.
 
 Ron, please: a literal Array is a subclass of Collection and so the blocks
 in
 
   { [nil]. [true]. [false] }

Learn something every day!

 
 parse into collections automatically. You didn't inspectIt for verifying
 your (false) claim, didn't you.

No I didn't!  The { } just looked so wrong and like C!  I'm used to #()
which of course doesn't work.

 Also, have a look at the implementors of
 #caseOf: and #caseOf:otherwise:, they are heavy users of literal blocks in
 Collections ...

I will!

 
 ...
  Each in this case is already a block.
 
 Yes. And, into the other direction, even in good core methods one often
 finds things like
 
   ^ dict at: aKey ifAbsent: [nil]

I started to write this too but thought about some of the errors that people
receive about wrong form of block and didn't want to scare people.  

 
 There seems to be a natural confusion between object value and block
 value. Not a big surprise since Java and other procedural-oriented
 friends do not offer block values. So any demo of using blocks as if
 they where any other object, as Brian has shown, is a sign for the ability
 to master the subject 8-)
 
  Only each is needed.
 
 Absolutely.
 
  So here is a version that works.
 
  (OrderedCollection new
  add: [10/0];
  add: [2 raisedToInteger: 1/2];
  add: [-5 raisedTo: 1.5]; yourself
  ) do: [:each | each on: Exception do: [:ex | Transcript show: ex; cr;
  endEntry]].
 
  endEntry is for Klaus!
 
 Hhm, endEntry is too expensive within any and every loop. Just put
 Transcript endEntry after the loop. I mentioned endEntry because
 Transcript almost always does not display the last lines (they are
 buffered) and people get confused and believe that either their code or
 Squeak is wrong (but both is not the case).
 
  It is a very good suggestion Brian!
 
 Indeed, and Briant's use of literal blocks in a literal Array is perfect
 (in the sense of: cannot be made better).
 

Thanks for your correction Klaus!  With programming always keep an open
mind, there is lots more to learn!

Ron



___
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners


[Newbies] Re: error trap

2006-08-10 Thread Klaus D. Witzel

On Thu, 10 Aug 2006 17:27:09 +0200, Roel Wuyts wrote:

Note: no need for the endEntry when using show: it does it already (see  
TranscriptStream#show: )


Use a 'manual' endEntry when you would use nextPutAll: or print: etc. on  
the Transcript (which most people do not use anyway).


Right you are! But I'm writing on recycled web pages, those with  
notoriously small margin, therefore I tend to believe that people point to  
the methods mentioned (like #endEndtry) and curiously look for  
implementors and other good things in the same message category, the  
famous cmd-m followed by a cmd-b and/or cmd-m :p


/Klaus

___
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners


[Newbies] Re: error trap

2006-08-10 Thread Klaus D. Witzel

Hi Ron,

on Thu, 10 Aug 2006 17:02:11 +0200, you wrote:

From: Klaus D. Witzel
... You didn't inspectIt for verifying


No I didn't!  The { } just looked so wrong and like C!


Yes, same for me when I saw that for the first time in Squeak. Never saw  
that in Smalltalk/2.x (didn't look for it in VW).


But nowaday's I wonder how we have done it for so many decades without  
handsome {expression. 'constant'. [block]} select: [:everything |  
everything isAnObject].


/Klaus

___
Beginners mailing list
Beginners@lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/beginners