| Article: |
Daddy, Are We There Yet? A Discussion with Alan Kay | |
| Subject: | Patterns built in | |
| Date: | 2003-04-06 07:51:25 | |
| From: | mariox19@mac.com | |
|
I think the next great leap in programming will be an object oriented language with support built in for patterns. I think it will be simple and fully dynamic, along the lines of Python.
|
||
Showing messages 1 through 5 of 5.
-
[OT]: singleton and borg in Python
2003-04-24 23:23:31 anonymous2 [Reply | View]
Coding a Singleton in Python
http://groups.google.com/groups?threadm=1020669846.963494%40newsmaster-04.atnet.at
which points to:
Five Easy Pieces: Simple Python Non-Patterns
http://www.aleax.it/Python/5ep.html
and the associated Recipe
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/66531
-
Been there, done that
2003-04-07 00:02:03 anonymous2 [Reply | View]
I think you're absolutely right about needing to be able to express higher levels of abstraction with programming languages. What is needed is a language that is inherently extensible. If you can extend the syntax of a language using the language itself, you can add any of the patterns you want without having to come up with a new language.
The good news is that this is already possible. In fact, languages that can be extended in themselves already existed long before the term "design pattern." The ones I know about are in the Lisp family, like Scheme ( http://schemers.org ) and Common Lisp ( http://cons.org/cracauer/lisp.html ). However, I'm sure there are others.
I also enjoying programming in Python immensely. One of the new features of the language I haven't explored yet is metaclasses, which may also provide the extensibility I was talking about. I'm not certain, but I think that the concept originated in Smalltalk, the main focus of this article.
The more I see and read about software, the more I'm convinced that nothing new is being done in Computer Science and language design. Most of the interesting stuff has already been done and most people don't even know about it. Maybe being a Computer Scientist involves being a historian as much as anything else.
Jonathan Rogers -
What about FORTH or TILE?
2004-02-13 22:32:28 mhamrick23 [Reply | View]
FORTH is a wonderful example of a language that is extensible. You're provided with a number of control structures, but if they don't work for you, you're well within your rights to invent your own. There's a somewhat standard way to break into assembly in FORTH that involves loading the assembler module for whatever processor you're interested in. It adds keyword that generate opcodes and in the process modifies the parser.
So when you talk about extensible languages, I wonder if what you're talking about isn't simply a language where the parser is configurable..




The ideal language would have no patterns because all of the appropriate mechanisms would be supported directly.