Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

For what it's worth, Sketchpad is described by wikipedia as a program and not a language, and moreso it "pointed the way forward" to OOP, in that Sketchpad included the concept of "master drawings" (read: classes) which could be instantiated into duplicates, such that when the master drawing changed, any previously instantiated duplicates would be changed accordingly.

ThingLab is described by wikipedia as a programming environment implemented in SmallTalk. In both cases, I think you are describing environments to play around with user-created objects moreso than languages.

Do Sketchpad or ThingLab have grammars?



Well, what is a language then? My opinion is that any abstraction layer that shapes thought and allows for the expression of new abstractions is a language in its own right. If it has a textual syntax, great! But this isn't necessary. It might be a programming environment that exposes new or different metaphors from its underlying host. An object system in Scheme is defining a new language, an enhancement of Scheme, that happens to be OOP.

SketchPad is a language, just a very inexpressive one that is not targeted at traditional programmers. ThingLab defines new metaphors and such, programming in ThingLab is a distinct programming experience from Smalltalk. Heck, even Bad Piggies is defining an inexpressive language in the context of a game, or think scripting in LittleBigPlanet.


I agree that you can "program" in these environments. But I disagree that they are languages. Perhaps I'm not thinking hard enough.


This is probably because what makes a "language" is fairly fuzzy. There is probably no hard line where a abstraction layer goes from just being a user interface/environment/library/notation to a language.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: