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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

Holonforth

93 点作者 eterps超过 2 年前

12 条评论

omnibrain超过 2 年前
Thats how the SAP ABAP Workbench works.<p>A hierarchical view of your programs, classes, functions, etc. on the left. The root node is where you started, so if you just open a class, you get the eveything that belongs to that class, but you can also open a whole namespace. On the right you can then edit the code.<p><a href="https:&#x2F;&#x2F;help.sap.com&#x2F;saphelp_gbt10&#x2F;helpdata&#x2F;EN&#x2F;46&#x2F;9d783e3a7d371ae10000000a11466f&#x2F;TEMPLATE_image002.gif" rel="nofollow">https:&#x2F;&#x2F;help.sap.com&#x2F;saphelp_gbt10&#x2F;helpdata&#x2F;EN&#x2F;46&#x2F;9d783e3a7d...</a><p>The syntax of ABAP may be not tho everyone&#x27;s taste (modern ABAP looks better though), but the capabilities to write business software in a completely integrated system are magical.<p>The database is &quot;just there&quot;. SQL to access the DB is a first class citizen of the language. Your datatypes are the same in the database and your programs. You can use the primitive datatypes to create rich datatypes with attached default values and validation logic. When you build a input field in the GUI and connect it to the database field everything just works.<p>That makes me really miss working with SAP.
评论 #32987159 未加载
评论 #32987343 未加载
IgorPartola超过 2 年前
This is a neat idea. I think it could be a tool that really shapes the workflow for a programmer and the way we think about writing code. Think about it: we have this loose correlation between a module and a text file. But you could conceptually put two module’s worth of concepts into one file. Or split a single module between two files. That looseness leads to code that is hard to understand and manage. If the UI you use forces you to work on one unit of the program at a time you are much less likely to create the Monster Function of Doom or 1000 modules that don’t do anything but provide indirection. I think UI usability may suffer a bit but a well designed IDE of this sort could really transform how we think about software architecture.
sebastianconcpt超过 2 年前
This principle was very well used in Smalltalk&#x27;s IDE in its Class Hierarchy Browser.<p>Some other languages can exploit it too. And some clever web-based REPLs approximate decently to it.<p>I&#x27;d love to see this idea growing outside the Smalltalk world because is very valuable and influential to the DX (developer experience).<p>I vaguely remember seeing it in IBM&#x27;s Visual Age for Java in the early 2000&#x27;s.
评论 #32986591 未加载
评论 #32994578 未加载
评论 #32988297 未加载
95014_refugee超过 2 年前
This is another (interesting) spin on the language workbench &#x2F; program as datastructure concept.<p>Honestly, the problem is that people think they want faster horses. You see the usual banal comments here &quot;what if the database crashes&quot;, &quot;I just want to edit with Emacs&quot;, but no consideration (usually due to no exposure) of the upside of always having the program in a state that can be comprehended mechanically.<p>It&#x27;s unfortunate, because it ties us to maintaining and building programs like it&#x27;s the 70s. For a fresher take on what this could enable if the general programming population were a bit less reactionary, consider the (sadly moribund) <a href="http:&#x2F;&#x2F;mbeddr.com" rel="nofollow">http:&#x2F;&#x2F;mbeddr.com</a>
drivers99超过 2 年前
One thing about forth in a linear file is you can define a word (word is the forth term for subroutine or function), use it in another word, and redefine the word to something else after that without affecting the previous word. (Generally the word list (dictionary) is just a linked list and you search by starting from the newest word.) So I&#x27;m curious how the hierarchical words are stored and in what order they are searched.
评论 #32989178 未加载
derekzhouzhen超过 2 年前
You lose the ability to use a 3rd party editor, traditional source control, grep and various other small command line tools. Also god forbid if the database is corrupted during a crash or sudden power loss.
评论 #32986529 未加载
评论 #32988536 未加载
评论 #32991718 未加载
评论 #32987204 未加载
denton-scratch超过 2 年前
So that&#x27;s not new. There was an extended BASIC in the Sinclair QL that allowed you to browse units and functions in the left pane, and edit the code in the right pane.<p>Before that, there was a system on the Burroughs B20 series that had a similar design; browse on the left, edit on the right.<p>Yeah, I approve of non-linear code editors.
评论 #32985866 未加载
0xblood超过 2 年前
Neat, but not more. I prefer to define my own context (splitting into files as I see fit) and using code folding etc. which can achieve a similar result without fundamentally changing workflows (as others pointed out - editors, git, grep, ..). Each time you want to write a new function (&quot;word&quot; I guess) requires somewhat of a context switch as you have to navigate through a GUI to where it should go, where just swapping files in my editors buffers feel more naturally. But then again I have never tried working like this and maybe I&#x27;d have to try
MisterTea超过 2 年前
This is how IEC 61131-3 is structured in automation vendor IDE&#x27;s. Thanks to decades of brain damage many of the IDE&#x27;s don&#x27;t deal with textual source code but proprietary binary project files and you click to create POU&#x27;s, progrm organizational units. Want to write a function? You have to click to create it as a POU and work on the code in a new window. In some IDE&#x27;s the POU is even plit into a local variable window and a code window. Awful.<p><a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;IEC_61131-3" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;IEC_61131-3</a>
n4r9超过 2 年前
If anyone like me is confused by the term &quot;CMS&quot;, my guess is that it means &quot;Content Management System&quot;: <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Content_management_system" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Content_management_system</a>
评论 #32987451 未加载
ltbarcly3超过 2 年前
Looking at this tool, if I had to work in this environment the first thing I would do is figure out how to edit the files in Emacs. This looks extremely frustrating and painful and very much not compatible with how someone would need to use it to be productive. Imagine you have to jump between 3 functions for some reason, you have to go through this 4 level + deep hierarchy? Why? How does this help?<p>There are lots of ways of organizing the world hierarchically, that you CAN do that does not mean it&#x27;s helpful to do it, more `organized` does not imply better.
iLoveOncall超过 2 年前
Titles like this are worst than clickbait. It should be mandatory to have descriptive titles on HN.<p>To save everyone a click: &quot;The Holonforth programming systems combine browser, editor and umbilical target link. And in the DOS systems also: assembler, compiler, linker, debugger and interpreter.&quot;<p>I would literally rather have the title be &quot;This programming system is going to change the world and put you out of a job if you don&#x27;t learn it&quot; rather than some random name.
评论 #32985335 未加载