4 ms·
Personally I would drop the static type system and reinvent Self.
by throwaway4good 6y ago
Personally I would drop the static type system and reinvent Self.
- agumonkey 6y agotime to dust it off and sell it as new ?
- throwaway4good 6y agoYeah - I think the kids are ready for that.
- agumonkey 6y agorebrand it `selfie`
- protomyth 6y ago...and steal the Soups from NewtonScript on the way.
- mucholove 6y agoWhat are the soups? Both Google and DuckDuckGo give me no results so an example would be appreciated. (Hope I'm not caught up in a prototype joke :)
- deleted 6y ago[deleted]
- lionsdan 6y ago"Data in Newton is stored in object-oriented databases known as soups." https://en.wikipedia.org/wiki/Apple_Newton#Data_storage https://en.wikipedia.org/wiki/Apple_Newton#Data_storage
- protomyth 6y agoChapter 11-7 of https://www.newted.org/download/manuals/NewtonProgrammerGuide20.pdf https://www.newted.org/download/manuals/NewtonProgrammerGuid... using the Self influenced language NewtonScript https://www.newted.org/download/manuals/NewtonScriptProgramLanguage.pdf https://www.newted.org/download/manuals/NewtonScriptProgramL...
- astrange 6y agoMy impression of systems like soups/OpenDoc/component systems/etc is that they're doomed to failure because they don't respect Conway's law. The app model works because each app has its own development team and teams aren't directly editing other teams' data. They don't have the proper expertise and will break something, because it's not possible to enforce data consistency well enough. (Apple's modern OO database is called CoreData, has a pedigree from WebObjects, and its consistency features are pretty hard to use in practice.)
- protomyth 6y agoSoups and OpenDoc have no actual relation. Soups is a object file system and OpenDoc was a component system. CoreData is a poor successor to NeXT's EOF. I so miss EOF. The only connection to editing someone else's data was the ability to add fields to soups for things like Contacts which allowed an easy expansion. Given how many programs on UNIX can alter each other's data, I don't agree with Conway in the context of the file system or soup.
- stitched2gethr 6y agoAfter working in Python and Ruby I don't think I could ever choose a dynamically typed language for a project with more than a few thousand lines. There's just a lot of safety, and documentation, you get cheaply when using static types.
- fiddlerwoaroof 6y agoThere’s languages like Python and Ruby and then there’s languages like Smalltalk, Common Lisp, Self or Clojure: if dev-time is runtime, you miss compile-time checks a lot less
- weatherlight 6y agoRuby has conventions and a big testing culture which helps mitigate a lot of those issues. I also work with Typescript and I see whole classes of bugs that could be avoided if everyone just stuck with conventions and best practices. If you like Ruby and wish it had types, check out Crystal. It's basically Ruby with Go's concurrency model, and it's as fast as Go. {Edit: repetition}
- cutler 6y agoCue the "Dynamic Languages Fail At N Lines of Code" bikeshedding as if Facebook, AirBnB and Shopify never happened.