On 14 Jun 2009, at 19:06 , zweb wrote:
> What would you consider a very good language?
I'm not the one you asked that to but anyway...

* An expressive language. As in one where everything (or almost) is an  
expression that returns stuff
* More scopes, much like more namespaces, is more good. Any and every  
compound statement should create a scope.
* But scoping should be explicit, implicit scoping leads to kludges  
like `global` and `nonlocal`. Just require `let` (or `var` but `let`  
is better) when creating a variable. Plus it gives you static-time  
checking for a bunch of typo cases. It's acceptable to have `let`  
double as an explicit scope statement.
* Any block of code should return the last expression evaluated within  
it. That holds for functions, methods or compound statements.
* "Complete" anonymous functions (aka not Python's lambdas). And  
compound statements should really be syntactic sugar for method calls  
+ anonymous functions (the way Ruby's `for` works) to make migration  
from other languages easier.

Noticeably further from Python,
* Erlang-style concurrency (process-based, no shared-memory, message  
passing everywhere)
* Extensive pattern matching
* I'm not sure it would work for dotted method calls, but I lust after  
Smalltalk's message cascading operator

Ponies:
* OCaml-style time-traveling debugger
* Hygienic macros

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to