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 -~----------~----~----~----~------~----~------~--~---