5 ms·
The Smalltalk community also had an influence on design patterns and testing frameworks that would later get picked up by C++ and Java programmers. If I recall
by linguae 4y ago
The Smalltalk community also had an influence on design patterns and testing frameworks that would later get picked up by C++ and Java programmers. If I recall correctly, the Gang of Four (the authors of the famous Design Patterns book) uses Smalltalk in its examples.
- rileyphone 4y agoThe Smalltalk community was also instrumental in the origin of Agile (before familiar bastardization by the industry) with people such as Kent Beck and Ward Cunningham (who also made the original wiki at c2.com).
- ncmncm 4y agoDesign Patterns has itself turned out not to be anywhere near as important as it seemed at the time. The only one I ever hear of nowadays is the "visitor pattern". Anti-patterns have more sticking power. Arguably all patterns are anti-patterns, since each identifies something one's language is too weak to capture in a library. As C++ got more powerful, the patterns vanished into ordinary library components.
- belter 4y ago“Design patterns are bug reports against your programming language” -- Peter Norvig https://news.ycombinator.com/item?id=8735187 https://news.ycombinator.com/item?id=8735187
- mickeyp 4y ago- Decorator pattern, as seen in Python's @decorators; - Factory functions, as seen everywhere, even if people don't bother thinking of them as such; - Memento pattern, a common way of implementing undo-able actions in applications that need it; - Proxy pattern, frequently used when you have a code-generated client that talks to a server from a template. Like generating REST/RPC client code that matches a server spec; - Visitor pattern, but you already mentioned that... but ironically enough, if you have pattern matching support in your language, it's much easier to use that. And that's just off the top of my head. If you use any of these you're no architecture astronaut, nor are you gilding your lillies.
- infinite8s 4y agoI first learned design patterns in the context of C++. After learning python I used to think that needing design patterns was a sign that your language wasn't powerful enough. However, now that I've taken the time to learn Smalltalk I feel that design patterns indicates that your language had the ability to model any kind of architecture you can imagine, and if needed you can reshape the language to make that easier (vs python where you would need to implement it in the underlying cPython layer).
- igouy 4y ago"Each pattern also includes code that demonstrates how it may be implemented in object-oriented programming languages like C++ or Smalltalk." https://www.google.com/books/edition/_/6oHuKQe3TjQC?gbpv=1 https://www.google.com/books/edition/_/6oHuKQe3TjQC?gbpv=1