TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Apple Dylan IDE (2014)

131 点作者 atjamielittle将近 8 年前

7 条评论

DaiPlusPlus将近 8 年前
What I like the most is the abstraction-away from plaintext source files. Imagine a C and C++ IDE that hid the (often ugly) source files from you put only exposed individual function definitions - it could automatically keep header files in-sync, for example, and automatically place each free-function or class member in the right file without manual refactoring.<p>(I still think it&#x27;s outrageous that C is still a single-pass language - we shouldn&#x27;t need separate simultaneous declaration and definitions any more)
评论 #14479913 未加载
评论 #14480404 未加载
评论 #14480524 未加载
评论 #14479764 未加载
评论 #14480327 未加载
评论 #14480047 未加载
评论 #14479707 未加载
评论 #14481648 未加载
whyenot将近 8 年前
Macintosh Common Lisp is another one. It was so much fun to use and worked so well with MacOS. Echoing etchalon&#x27;s comment, sometimes I miss OS 8 (also 9).<p><a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Macintosh_Common_Lisp" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Macintosh_Common_Lisp</a>
评论 #14479805 未加载
评论 #14479801 未加载
threeseed将近 8 年前
It&#x27;s always interesting to look back on those days at Apple when they were so innovative and took so many risks when it came to software. Technologies like OpenDoc, Cyberdog, Hypercard, AppleScript, Taligent were really quite unique.
评论 #14480296 未加载
评论 #14479703 未加载
评论 #14479723 未加载
评论 #14479986 未加载
hydandata将近 8 年前
<a href="https:&#x2F;&#x2F;discuss.atom.io&#x2F;t&#x2F;the-deuce-editor-architecture&#x2F;2218" rel="nofollow">https:&#x2F;&#x2F;discuss.atom.io&#x2F;t&#x2F;the-deuce-editor-architecture&#x2F;2218</a> goes into a bit of detail regarding the editor, deuce. Note, you can download and play with the IDE, and read the source code, it is part of OpenDylan distribution, but sadly only works on windows right now <a href="https:&#x2F;&#x2F;opendylan.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;opendylan.org&#x2F;</a>
评论 #14481803 未加载
cm2187将近 8 年前
It&#x27;s funny because this is basically the VBA editor. You have a tree on the left with classes and modules, then in the main pane you have a drop down at the top to select functions and the text editor (if configured that way) will show a single function.<p>I wonder when Microsoft will do any work on the VBA editor. It&#x27;s not like VBA is going away. Office users still write new VBA every day. They need it.
评论 #14480393 未加载
borplk将近 8 年前
In case people don&#x27;t know, this is often referred to as a &quot;projectional editor&quot; and the paradigm is also known as &quot;Intentional Programming&quot; in the sense that the programming environment helps capture the intent of the authors.<p>Popularised (if we can call it popular!) by Charles Simonyi of Microsoft&#x27;s fame who created the company called Intentional Software that was recently purchased by Microsoft.<p>There was interesting editor called Isomorf that demonstrates the benefits of a non-text-based editor.<p>(site is down <a href="https:&#x2F;&#x2F;isomorf.io&#x2F;" rel="nofollow">https:&#x2F;&#x2F;isomorf.io&#x2F;</a>) (youtube demo <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=awDVuZQQWqQ" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=awDVuZQQWqQ</a>)<p>I would really like to see something like this take off.<p>I firmly believe we can only unlock the next generation of software engineering by breaking free from plaintext. Think about it, how many more ASCII symbols can we mangle together to create meaning and context?<p>A structural editor takes all of that away. Suddenly syntax becomes a choice just like the colour theme of your editor.<p>Plaintext programming puts us into a fight with the computers because on one hand we need to keep the syntax parsable and on one hand humans need to read and write it.<p>It&#x27;s a huge conflict of interest. You want to provide information to the compiler now the syntax becomes hard and complicated (rough example: Java). You want to keep the syntax human-friendly now the program becomes weak from the compiler&#x27;s point of view (rough example: Python).<p>Our editors need to be context aware so they can hide&#x2F;show relevant information and to encourage the people to provide as much information about the context&#x2F;domain as possible.<p>If you look around you see we have been doing a lot of this stuff in the past decades but for some reason we just half-ass it by baking stuff on top of plaintext.<p>For example embedding documentation or even unit tests (python &quot;doctests&quot;) in comment blocks in ad-hoc languages.<p>Or we embed naming conventions and so on to relate concepts with each other.<p>For example a &quot;User.js&quot; file and &quot;User.spec.js&quot; file for a test.<p>If we kept information in a structured manner suddenly so many of our problems would go away.<p>For example we will get structured version control. No need to have something like git tracking lines in files.<p>We will get unit testing that is always correctly tied to its relevant components.<p>We will get documentation that is structurally accurate. The editor could switch between programming and &quot;documentation&quot; mode. But the documentation would be a first-class object of the program not just some text that is shoved into it somewhere.<p>We will get much smarter re-factoring.<p>We will get much better compatibility across versions. Because there&#x27;s no syntax to worry about breaking from a textual perspective. Because the program becomes a semantic tree and older programs can be &quot;transformed&quot; to fix them or make them compatible or something similar.<p>Because we are text-free the environment can encourage the programmer to provide a lot more information because it can get folded&#x2F;hidden&#x2F;etc.<p>The &quot;units&quot; will all have unique identifiers so confusion in naming and so on will be significantly reduced.<p>Perhaps you could create and publish modules&#x2F;units in some central repository then use them in your projects. Kind of like NPM for example but a lot more structured.<p>So you could import a bunch of &quot;units&quot;&#x2F;functions from someone else&#x27;s catalogue.<p>Because everything could have metadata attached to it you could imagine for example &quot;security advisories&quot; could be attached to certain units such as a function and published.<p>The environment would know exactly in which places you are calling that exact function and it could alert you to the fact.<p>You could do semantic find and replace (&quot;show me all sql queries&quot;, &quot;show me all untested functions&quot;, &quot;show me all functions modified by John Smith since last 14 days&quot;, &quot;show me all undocumented functions&quot;, etc...).<p>You could do smarter CI&#x2F;CD by way of defining rules and constraints on the structure of the program.<p>Made-up Examples: - If the changeset involves objects tagged with &quot;security&quot; require approval before deploy - If the changeset introduces new SQL queries ping the DBA team - If the changeset introduces more than 1 function without corresponding documentation show warning - If more than 50% of the new objects introduced in the changeset lack corresponding test cases fail the build - You get the idea..<p>The point is, all the cool stuff we&#x27;d like to do depends on us having a lot more structured information and context about our programs and a plaintext environment is not suitable and is hostile towards that.
评论 #14479831 未加载
评论 #14494184 未加载
评论 #14481437 未加载
评论 #14482928 未加载
etchalon将近 8 年前
Some days, I still miss OS 8.
评论 #14480250 未加载
评论 #14480538 未加载
评论 #14479960 未加载