4 ms·
Please excuse the tangent, but is there any programming language that has done away with the file as a basic organizing unit of code? Whenever I consider PL er
by fnordsensei 8y ago
Please excuse the tangent, but is there any programming language that has done away with the file as a basic organizing unit of code?
Whenever I consider PL ergonomics (as I do now, in connection with this article), files come to mind as an incidental inheritance of file systems past.
- sls 8y agoI think the Smalltalk systems that use image-based persistence[1] meet that criterion, despite the image itself eventually being persisted in a file system. [1] https://en.wikipedia.org/wiki/Smalltalk#Image-based_persistence https://en.wikipedia.org/wiki/Smalltalk#Image-based_persiste...
- TeMPOraL 8y agoDo you have any alternative to files in mind? There are image-based systems like Smalltalk and some members of the Lisp family, but even in those cases, sources usually end up being stored long-term in files, as a matter of convenience.
- igouy 8y ago> …but even in those cases, sources usually end up being stored long-term in files, as a matter of convenience. Is that "the file as a basic organizing unit of code"? Even when code is organized in applications and classes and versions… and persistence comes from a database, the database will be implemented using a computer file system. https://books.google.com/books?id=ld6E19QIMo4C https://books.google.com/books?id=ld6E19QIMo4C
- igouy 8y agoSmalltalk. “Java has come a ways towards that, but made some fundamental mistakes. I mean, source code in files. How quaint. How 70’s.” "Keynote on Smalltalk: eXtreme Programming to the Max" Smalltalk Solutions '99, Kent Beck. http://home.balcab.ch/jpelrine/download/ss99.pdf http://home.balcab.ch/jpelrine/download/ss99.pdf
- stewbrew 8y agoIn addition to Smalltalk, which was already mentioned, lisp and IIRC some implementations of forth also provided image-based development. Didn't really work out that well though.
- igouy 8y agoDo you consider modules to be "a basic organizing unit of code"? https://www.oracle.com/corporate/features/understanding-java-9-modules.html https://www.oracle.com/corporate/features/understanding-java...