Prothon is a new prototype-based language, described as a cross between SelfLanguage and PythonLanguage, that uses indentation to indicate block structure, like Python, but using tabs only, avoiding some of Python's problems. Status: Shelved in favor of, first PyCs and then Spry language http://www.prothon.org/ ---- If you're JustaProgrammer, then as soon as Python adds WithStatements, that'll get rid of about 50% of the reason to switch to Prothon. ---- As I understand it, the key difference in the way Python and Prothon works is the use of prototypes, in which there's no real difference between classes and objects. It works like on a MOO, where you have a "generic food" object, and then you create children based on that object, and customize them to create a "pizza" object, or a "generic nigiri roll" object which can then spawn more specific objects. Contrast that with Python, where the generic objects are classes, whereas the specific objects are instances. Pretty neat idea, though I don't quite see the advantage. ---- (Note: the indentation scheme is kind of not the point of Prothon; it's kind of a minor design difference. Maybe move this content to ProthonIndentation?) Well, I can't say that I've looked at it (:p), but couldn't there but something dangerous about having two identical looking spans of white space which have '''completely different meanings'''? * That is the problem in Python, as I understand it, in its mixing of tabs and space, and is not an issue in Prothon, since it uses only tabs (plus non-semantic trailing whitespace after tabs to help with alignment) And now that I've looked at it (:p), I'm not sure completely disallowing spaces is the right thing to do either; imagine wiki without _any_ option to ConvertSpacesToTabs. I was under the impression that the handling of tabs is not something which is consistent across platforms, can anybody fill me in on this? --WilliamUnderwood True. There is only 1 kind of tab that is anything close to universal: advance to next mod 8 position. Prothon apparently is depending on indent-smart editors and printing tools. That's a defect, but not necessarily a bad one, because at worst a program will print in an ugly way, but won't be ambiguous. It's obvious at a glance how many width-8 tabs there are at the start of a line, unlike if they had chosen spaces. I'm not a big fan of indentation to mark blocks; this was experimented with in the 1960s and 1970s and didn't really catch on -- Python didn't invent the idea. I don't hate it either. It just seems like too minor of an issue to worry about too much one way or the other. -- DougMerritt But it takes a while to get used to dealing with tab-space translation problems. That tends to move a language into the CareerLanguage department rather than something that is easy-come-easy-go. ---- CategoryProgrammingLanguage