4 ms·
Your ideas sound intriguing. Are they original, or can I read up on them somewhere?
by hnben 3y ago
Your ideas sound intriguing. Are they original, or can I read up on them somewhere?
- elbear 3y agoAs far as I'm aware, the Unison Language implements some of his ideas: https://www.unison-lang.org https://www.unison-lang.org
- hcs 3y agoI've heard the name Intentional Programming applied to this or a similar concept https://en.wikipedia.org/wiki/Intentional_programming https://en.wikipedia.org/wiki/Intentional_programming > Tight integration of the environment with the storage format brings some of the nicer features of database normalization to source code. Redundancy is eliminated by giving each definition a unique identity, and storing the name of variables and operators in exactly one place.
- valty 3y agoI think the key is making it feel exactly like writing plain text though with cut/copy/paste and the rest of it...which is kind of hard.
- camgunz 3y agoTo me they felt very similar to Joe Armstrong's "Why do we need modules at all?" [0]: --- Why do we need modules at all? This is a brain-dump-stream-of-consciousness-thing. I've been thinking about this for a while. I'm proposing a slightly different way of programming here The basic idea is - do away with modules - all functions have unique distinct names - all functions have (lots of) meta data - all functions go into a global (searchable) Key-value database - we need letrec - contribution to open source can be as simple as contributing a single function - there are no "open source projects" - only "the open source Key-Value database of all functions" - Content is peer reviewed ... --- Whole thread's worth a read. [0]: https://erlang.org/pipermail/erlang-questions/2011-May/058768.html https://erlang.org/pipermail/erlang-questions/2011-May/05876...
- theLiminator 3y agoKinda sounds similar to unison.
- ImHereToVote 3y agoHow is versioning handled?
- valty 3y agoSounds exactly what I have been thinking of. IMHO the key is visualization of everything. Data dependencies, runtime control flow, and a centralized graph-based data store and schema.
- valty 3y agoI've worked them up from questioning the things about programming that seem most rigid and dogmatic over many years. But there is a lot of literature I have found along the way. Intentional Programming is an interesting read as someone has already mentioned...from the guy who brought us `strHungarianNotation`. Storing code in a database but retaining the joy of the plain text cut/copy/paste experience is the key challenge, as well as all the unix file goodness. Its quite fun to talk to ChatGPT about these topics and just question everything and delve back in the history of programming.
- valty 3y agoAlso projectional editor...https://en.wikipedia.org/wiki/Structure_editor https://en.wikipedia.org/wiki/Structure_editor
- TeMPOraL 3y agoThey're both old and completely ignored. People occasionally reinvent them when they e.g. store code in DBs, or add scripting languages to their programs, or build new programming langauge because Hello World in Java is too verbose. Unison plays with these ideas (I tried it, it's taking things in the right direction, though I still can't figure out how to write anything more complex than sorting numbers in the REPL with it; the examples are too Haskelly, IMHO.) Smalltalk language is, I believe, the original - built around the assumption that code is in the database, and coming with a built-in IDE for this. Glamorous Toolkit is trying to push this further, to give programmers better ability to create ad-hoc problem-specific views into their programs. I've seen a few other articles written about this over the years, but I don't have any link handy.