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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

Chris Granger on the LightTable architecture

184 点作者 lemming大约 10 年前

14 条评论

Permit大约 10 年前
FWIW a friend and myself were very inspired by Light Table, Chris Granger and Brett Victor. We&#x27;ve been working on applying these ideas to C#.<p>We&#x27;ve built <a href="http:&#x2F;&#x2F;codeconnect.io" rel="nofollow">http:&#x2F;&#x2F;codeconnect.io</a> for a function-by-function view of C# code.<p>Now we&#x27;re currently finishing up live coding: <a href="http:&#x2F;&#x2F;imgur.com&#x2F;2QE5Bkw.gif" rel="nofollow">http:&#x2F;&#x2F;imgur.com&#x2F;2QE5Bkw.gif</a><p>People have expressed sadness about the current state of Light Table. I think Chris did a phenomenal job demonstrating some of these ideas and exposing them to the developer community at large.
评论 #9378613 未加载
评论 #9379700 未加载
评论 #9379361 未加载
评论 #9379718 未加载
AceJohnny2大约 10 年前
I am sad that LT didn&#x27;t succeed as I hoped (I was a backer), but this email highlights a very important feature for succesful open-source projects (which LT was meant to be from the start), which is to make them accessible to other contributors.<p>Building your project in a niche language (not just Clojure, but ClojureScript) is a risk. Making it tough to follow the code&#x2F;data flow is indeed a terrible decision (though usually a silent one as a side-effect of other architectural choices). Etc...<p>I&#x27;m an Emacs user, and I&#x27;m still waiting for the Next Great Editable Editor. (Though since it moved to Git [thanks ESR!], maybe Emacs itself will get a new wind)
评论 #9378598 未加载
评论 #9378361 未加载
评论 #9378580 未加载
评论 #9379476 未加载
kristianp大约 10 年前
&quot;Even with a principled approach, I think I managed to build a system that only I can really get around in.&quot;<p>Interesting. Power vs difficulty in debugging.<p>&quot; BOT filled its goals of an architecture that is infinitely extensible and runtime modifiable, but that degree of power came at a cost - despite its simplicity the resulting program is very hard to follow. I&#x27;ve recently come to understand that this is because mixins are fundamentally an anti-pattern and BOT is basically dynamic mixins.&quot;<p>BOT is described here: <a href="http:&#x2F;&#x2F;www.chris-granger.com&#x2F;2013&#x2F;01&#x2F;24&#x2F;the-ide-as-data&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.chris-granger.com&#x2F;2013&#x2F;01&#x2F;24&#x2F;the-ide-as-data&#x2F;</a>
评论 #9378454 未加载
评论 #9378284 未加载
lemming大约 10 年前
Even though I make a competitor (Cursive) I&#x27;m still sad to see LightTable languishing. It had some interesting ideas, even if they never came to fruition.<p>But the point about the code being incomprehensible is definitely true. I&#x27;ve tried a couple of times to follow a simple flow through the code to see how something worked, and it&#x27;s difficult-to-impossible. It would be great if the community could pick it up, but this email makes that look very difficult.<p>Interesting comments about using alternative languages, too. However I suspect that in the same way that ClojureScript wasn&#x27;t really that much of a benefit compared to the architecture, it probably isn&#x27;t the main impediment to outside contribution either.
moron4hire大约 10 年前
This is what happens when you create a project. 99 times out of 100, you make something that isn&#x27;t what you&#x27;d hoped it would be.<p>So what?<p>The key is to recognize that failure is not the lack of certain project XYZ being at certain state QPO. Most people will not have the lifespan long enough to see a project they work on go perfectly. This notion of failure, that it is the lack of some future state of being showered in dollars&#x2F;accolades&#x2F;kisses-and-hugs, means that every project, ever, is a failure.<p>Failure is giving up.<p>Failure is letting that experience, where you didn&#x27;t magically achieve your hopes and dreams, and letting it drive you back into the warm bosom of punching a clock at a gigantocorp or cargocultup. Instead of relying on yourself for your livelihood, your purpose, your mark on society[0], you go somewhere safe where you get told what to do and you just bide your time, collecting a paycheck, until you escape that particular bouncing dead cat on to the next one.<p>Success is not giving up. It&#x27;s taking your lumps, &quot;oooh, I made a shitty thing, woe is me, I&#x27;m not as smart as I thought I was&quot; [1] and telling yourself that it doesn&#x27;t matter, that you&#x27;ll try again.<p>Chris, if you&#x27;re reading here: start another IDE project. Use what you&#x27;ve learned. If you really, actually cared about the things you said, don&#x27;t let your perceived failure with LightTable[2] prevent you from starting something new. It won&#x27;t be the same story all over again, because you aren&#x27;t the same person now as when you started LT in the first place.<p>In the end, no project is a failure, unless we let it have no impact on us, unless we learn nothing from it. Don&#x27;t squander the lessons learned through bad projects by choosing to not continue onto new ones.<p>[0] And don&#x27;t for a second think you don&#x27;t owe society a mark or two<p>[1] Check my username<p>[2] I wish my projects have failed so well as LightTable
评论 #9379380 未加载
Rapzid大约 10 年前
Wow.. Am I the only one that actually likes using LT? I don&#x27;t always write Clojure but when I do, I use LT. I dream of creating ClojureScript single page apps with OM in LT nearly every day.. :)<p>I find the insta-RPL to be absolutely fantastic. I wish F# had insta-repl instead of just repl. I wish everything had insta-repl.
评论 #9379492 未加载
justinmk大约 10 年前
Chris&#x27;s post on the LT mailing list 1 year ago[1]:<p><pre><code> Depending on how things play out, it might make sense to try and merge [with atom.io]. [...] The main value of LT isn&#x27;t about being a better standard editor, it&#x27;s taking that editor and making it do things that standard ones can&#x27;t do. [...] From the outset, our goal has been to make programming better and I&#x27;ve honestly come to the conclusion that LT on its own can&#x27;t do that. [...] The truth is that I think we can do orders of magnitude better and I have some evidence of that already, but it&#x27;s going to take more than a new tool. It&#x27;s going to take a different way of thinking about the problem. That is what I think will end up being the ultimate legacy of Light Table - a version of programming that is meaningfully designed for humans. You&#x27;ve heard us mention &quot;Aurora&quot; a number of times now and I think that&#x27;s the best description for this crowd of what we&#x27;re out to accomplish; programming designed for humans. This often comes as a surprise to people, but I honestly don&#x27;t like to program very much - it just happens to be the only way to create the things I want. </code></pre> It should have been clear by then that the LT author had lost interest. That&#x27;s when I decided[2] to concentrate on making Vim&#x2F;Emacs better instead of trying to find (or make) a &quot;perfect&quot; foundation upon which the <i>already existing Vim&#x2F;Emacs plugins</i> could be <i>rebuilt</i>. There&#x27;s a reason why Sublime re-uses Textmate themes; and Java is useful (tons of libraries) even though it&#x27;s boring; and Linux is widespread even though it&#x27;s inelegant compared to Hurd or whatever: there&#x27;s a giant mountain of existing, working <i>boring</i> tools already built--tools that you <i>will not</i> want to rewrite after your perfect platform is done.<p>Neovim popped up around that time and for the above reasons it made sense to me. If the foundation is imperfect, do the dirty work to make the foundation less-imperfect. With 10% of the work[3], I think Neovim can enable 90% of the goodies I (we?) wanted in LT (and 100% of the visual appeal).<p>[1] <a href="https:&#x2F;&#x2F;groups.google.com&#x2F;d&#x2F;msg&#x2F;light-table-discussion&#x2F;YTuCHoOym1E&#x2F;PNSnlYsM1i8J" rel="nofollow">https:&#x2F;&#x2F;groups.google.com&#x2F;d&#x2F;msg&#x2F;light-table-discussion&#x2F;YTuCH...</a><p>[2] <a href="http:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;vim&#x2F;comments&#x2F;1ztxgd&#x2F;why_atom_cant_replace_vim&#x2F;cfx0kyq" rel="nofollow">http:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;vim&#x2F;comments&#x2F;1ztxgd&#x2F;why_atom_cant_re...</a><p>[3] Remember: don&#x27;t discount the work of writing plugins.
评论 #9381107 未加载
zubairq大约 10 年前
I am quite amazed that so many people think that Light Table failed. Far from it, Light Table changed a whole industry:<p>1) Chris Lattner, the creator of Swift publicy acknowledged that Swift, used to develop all future IOS and Apple Watch apps is inspired by Light Table:<p><a href="http:&#x2F;&#x2F;nondot.org&#x2F;sabre&#x2F;" rel="nofollow">http:&#x2F;&#x2F;nondot.org&#x2F;sabre&#x2F;</a><p>2) It inspired a whole generation of people and tools to move away from heavily typed and compiled languages like Scala to dynamic and repl based languages
评论 #9379925 未加载
grandalf大约 10 年前
He makes a very good point about understandability in system design:<p><i>Mixins hide control flow and add layers of indirection that make it hard to even see what the possible paths through the program are. Instead of a clear and obvious flow of data you have to hunt around to try and piece together the graph of possible events. My hope was that pushing as much of that into data as I could think to at the time would make it observable, but realistically a graph with more than about 20 edges is very hard to make much sense of and an IDE certainly has more than 20 edges.</i>
nahuel0x大约 10 年前
I think the way forward is to add the Light Table main features to the Atom Editor as plugin. It has a bigger community (and facebook $$$ behind) and is a very good candidate for &quot;the next Emacs&quot;.
ticking大约 10 年前
It&#x27;s good that LT is finally acknowledged to have failed as &quot;the uber clojure IDE&quot;. It&#x27;s architecture is horrible, and its catering too much to other languages.<p>Once it&#x27;s dead the space it frees up can be filled again by something that actually works.
评论 #9378287 未加载
qznc大约 10 年前
&gt; architecture ends up being far more important than the specific language used<p>Good insight.
_pmf_大约 10 年前
&gt; The industry has also changed pretty drastically since I started LT. During its creation CPS gained traction, React was created, the Clojure ecosystem basically rewrote itself...<p>The software industry has not changed drastically for several decades. To call the introduction of a system (React) that is basically a workaround for a problem that should does not exist at all in a sane environment (DOM) a drastic change for the software industry is a bit much.
patal大约 10 年前
Is this article restricted material? If not, could somebody please make it accessible in some way? Apparently, there&#x27;s a google account necessary in order to read it...<p>Thanks!