Dave Buck, Michael Lucas-Smith, and I recorded the show yesterday afternoon, and we had an interesting conversation about common Smalltalk coding issues that come up. Here's what we convered:
- implementing = without implementing hash
- poor hash functions causing many collisions in Sets and Dictionaries
- multiple initialization with super new initialize
- failing to call super initialize
- improper copying (shallow copy vs. deep copy vs. partial copy)
- condition ifTrue: [^true] ifFalse: [^false]
- at:put: returns the element, not the collection
- failing to use 'yourself'
- not using streams and using collections instead which memory bounds you and creates work for the garbage collector
- collections created too small
- Not understanding the Process Model (specific to Cincom Smalltalk)
It's just under 40 minutes, and includes this week's Smalltalk Jobs Report from James Savidge. Questions, comments, or critiques? Send them to smalltalkpodcasts@cincom.com
Technorati Tags:
smalltalk, errors