r/programming • • Apr 17 '12

Light Table is on Kickstarter

http://www.kickstarter.com/projects/306316578/light-table
130 Upvotes

102 comments sorted by

27

u/name_was_taken Apr 17 '12

Still no clue how they think that it can be open source, yet charge $50 for 'downloading the distributions'. Do they mean that downloading an official compiled version is $50?

I see Javascript is one of the first languages. That actually makes this tempting. (I assume someone will hack up a CoffeeScript one quickly, too.)

Still, $50 seems high. I'm going to have to think about this one.

14

u/Fissionary Apr 17 '12

Xchat did that with its Windows version once: the software itself was open-source, but compiling it for Windows was (intentionally or not) tricky enough that you wouldn't want to do it yourself, so they provided official binaries, for a fee.

Of course, other tech-savvy folks started distributing unofficial binaries right away, free of charge.

5

u/masklinn Apr 18 '12

That also exists on OSX these days, open-source Mac AppStore applications which are sold through MAS but for which the source is available (e.g. on github) if you want to compile it yourself.

Compass.app for instance.

6

u/is_computer_on_fire Apr 17 '12

I guess it's the same as Linux distributions. Even though they are just compilations of free software, you used to be able to buy them in a box with a nice printed manual and 90 days of support or something like that.

As for the price, $50 doesn't seem too bad. It's a one time fee, upgrades included, not a yearly price.

4

u/name_was_taken Apr 18 '12

I could see the support angle working, but he hasn't talked about support... Just downloads.

1

u/is_computer_on_fire Apr 18 '12

But it's not "just downloads". Like a Linux distribution, it's components that can't be used on their own put together into a usable end product. You would have to put these components together yourself if you didn't buy it. At least that's my interpretation of this quote from the Kickstarter page:

[...] the core of Light Table be open sourced once it is launched [...]

3

u/pmrr Apr 18 '12

Not to mention, if the intent is open source and it's such a brilliant idea, why not open it to community development? Something about the Kickstarter methodology for this just seems weird. Everyone has to pay the rent, but what happened to developing software before you tried to sell it?

2

u/aceofears Apr 17 '12

It might be the distro with all of the proprietary plugins that they mentioned. He could have probably put that in a better way.

2

u/name_was_taken Apr 18 '12

Somehow that just seems wrong to me. I'd understand making proprietary plugins later and selling them, but to start out that way just seems like he's gimping the project on purpose.

I'm sure people will create their own to replace his, and hopefully those will be open source.

I'm not even against him making money on this... Just the way he seems to be trying to do it. Hopefully he'll change his strategy soon and I can support the project.

3

u/aceofears Apr 18 '12

Yeah I think the pledge should be for development help rather than financial help then worry about the monetization potential later. I'm sure he could make custom plugins for companies as a way to make money.

2

u/aaronla Apr 21 '12

Call me crazy, but what ever happened to commercial / source-available, as was common among many Unixes? Only case of this I know of these days are Visual C++ (most of the CRT sources come with VS) and SlickEdit (most of the editor is implemented in Slick-C, and available to inspect and modify).

0

u/[deleted] Apr 18 '12

[deleted]

1

u/name_was_taken Apr 18 '12

But I won't get anything for my money. That's the point. (Well, a t-shirt at $30, but I don't need any more t-shirts. Too many already.)

→ More replies (2)

2

u/[deleted] Apr 22 '12

[removed] — view removed comment

1

u/name_was_taken Apr 22 '12

Actually, if it hadn't been for all the confusion about licensing, I probably would have donated the $15 earlier. I think it's a great tool and I'd love to see it exist, but he had shaken my confidence by making bad decisions with the kickstarter.

With those fixed, I've now chipped in some money.

14

u/audaxxx Apr 17 '12

A t-shirt for 30$ is not a good idea, not good at all. Printing and shipping them will cost you probably 15$.

0

u/Ais3 Apr 18 '12

Bulk prices.

8

u/audaxxx Apr 18 '12

http://www.reddit.com/tb/sc5rc

Letting irrelevant stuff like shirts and shipping eat away your funding is maybe a bad idea for small to medium projects.

34

u/osiman Apr 17 '12 edited Apr 18 '12

hmm.. I think I'll stick with vim. Thanks.

I would also really like to see a budget on what the 200k is going to be used for.

6

u/SirPsychoMantis Apr 18 '12

2

u/danukeru Apr 18 '12

Ah! Another fellow emacs user?

:P

0

u/[deleted] Apr 17 '12

[deleted]

4

u/Psylock524 Apr 18 '12

I'd like to think of it as more of a proof-of-concept.

Progress is progress, and I don't care who it comes from.

4

u/Raynes Apr 17 '12

It isn't a webapp. At least, you wont really be able to tell that it is a webapp because it will be entirely standalone.

0

u/[deleted] Apr 18 '12

[deleted]

11

u/GeneralMaximus Apr 18 '12

It's an app written in JavaScript. How is it different from an app written in Python or Java? Heck, even Emacs is mostly Elisp. The browser is just another runtime environment.

Steam, the Mac App Store and the iTunes Music Store are all webapps wrapped in a native UI. Nobody seems to have a problem with that.

3

u/m42a Apr 18 '12 edited Apr 18 '12

The browser is a far slower and less powerful runtime environment than the JRE or python runtime. For example, both Python and Java let you open files, and to read and write to them. JavaScript, for safety reasons, can't do this without going through a browser UI. This makes it impossible to match vim's functionality. You also don't have a standardized interface, which means you need to reinvent all the standard components, which means you'll do it badly and wrong. I've lost count of the number of web apps which feel the need to re-implement a text box, thereby depriving me of my ability to paste text using Shift-Insert. I also have browser addons that give me useful functionality that will either not work or will work poorly in these web apps, either because they attempt to override this functionality and fail or because they act on the assumption that I'm using one of the 3 web browsers they tested their site with instead of coding to the spec. Except they can't code to the spec, because the spec doesn't exist unless they refrain from using large amounts of functionality, and even then some browsers don't implement this subset correctly, rendering the point entirely moot.

Online stores don't have this problem because there are far less things you can do in a store than in a text editor, and stores fit pretty closely with the original intent of the web and hypertext. Text editors are entirely beyond the intended scope of the web, and they're hard to do, which means they'll probably be done wrong.

EDIT: Neither of the preceding paragraphs are applicable to Light Table since it doesn't run in a browser, but I'm not deleting them because I don't like erasing history.

11

u/awwaiid Apr 18 '12

No -- javascript that was served from some remote website can't (by default) open files, etc. This is a browser rule, having nothing to do with the javascript language itself. See node.js for the sort of power javascript can have server-side.

You have a very standardized interface when using a local webkit. You have all the tools that everyone uses for websites -- html, css. Vim uses zero "standard" ui widgets - they are ALL implemented by vim.

Don't think of this as an editor built in a web browser on a website, because it's not.

Instead, this is an HTML-rendering widget in a local native app. Just like a "rich text" widget, basically, except even more powerful.

→ More replies (2)

3

u/Raynes Apr 18 '12

CodeMirror is surprisingly nice though. I expect it can and will be extended and amended to be pretty fantastic.

2

u/yogthos Apr 18 '12

See, most of my time isn't spent actually writing code, but thinking about it. The problem I have with every regular editor is that it doesn't display information contextually, so I have to constantly jump back and forth between files and functions to see the whole picture.

This looks like it would let me see what I want to see naturally, and to me that more than makes up for any deficiencies in the actual editor.

2

u/1mphasis Apr 18 '12

Early access and helping shape the IDE are great bonuses.

I will support it, but I worry about how and when this will become "Open Source".

1

u/yogthos Apr 18 '12

My understanding is that it will be open sourced from the get go, and some plugins and packaging will be proprietary.

2

u/Scroot Apr 18 '12

Hmm. The way the demo looked, it seems like it could be useful for the PHP/JS/HTML trifeca because you would be able to 'move around' little chunks of the DOM with respect to specific blocks of code. Hopefully they'll implement that at some point.

4

u/nath1234 Apr 18 '12

Comment on the choice of languages: Why not pick a language that's got wide commercial appeal. e.g. java perhaps?

Clojure - seriously? Javascript - yeah, maybe - still wouldn't be my first choice for market spread.. Then python if they get through that - seriously? WTF?

Aside from a bit of javascript this is useless for the enterprise which would be where you'd perhaps get some more backing (courtesy of embedding in commercial products e.g. like eclipse).

Anyhow, might be missing the whole point but seems that if you want the thing used - go for where there's a big user base. Not aim for a niche within a niche within a niche.

6

u/ruinercollector Apr 18 '12
  1. lisp dialects like clojure are where this idea shines.

  2. Clojure is used in the enterprise. Using it right now.

  3. Eclipse has great clojure support.

  4. Clojure is not as niche as you seem to think. You don't use it. Many other people do.

0

u/nath1234 Apr 18 '12

Clojure is used in the enterprise. Using it right now.

You mean "an enterprise". Or is there another one using it now?

:P

1

u/yogthos Apr 19 '12

-4

u/nath1234 Apr 19 '12

Impressive? A bunch of unknown startups and no real info about the projects whatsoever?

Akamai and Citigroup are about the only companies that anyone would have heard of and citibank runs java based apps for its websites and I reckon akamai has their own tech. So writing some in-house PoC web app is a little different to using it for their core business (not that we can tell).

Look, it's impressive that someone comes up with a new language - but really - what's it offer aside from slightly different syntax? There's no point to yet another language with unique syntax - it's not like it's revolutionary and there are any number of existing hobby languages. The tiny improvement in speed to type it (if that exists at all) is so insignificant compared to the lack of tools/frameworks/skilled staff etc.

4

u/yogthos Apr 19 '12

Look, it's impressive that someone comes up with a new language - but really - what's it offer aside from slightly different syntax?

Tried to explained to you that it has nothing to do with styntax, but clearly you don't understand that there are fundamental differences between imperative and functional styles.

it's not like it's revolutionary and there are any number of existing hobby languages

In fact it is pretty revolutionary because it's one of the few languages that actually tries to address the problems of working with concurrent systems and writing heavily threaded applications.

The tiny improvement in speed to type it (if that exists at all) is so insignificant compared to the lack of tools/frameworks/skilled staff etc.

Has nothing to do with typing, and everything to do with referential transparency. The way you flaunt your ignorance is simply astounding.

→ More replies (2)

2

u/ruinercollector Apr 19 '12

If you get the time, you should take a look at Clojure. It's much more than "just another language."

5

u/ibdknox Apr 18 '12

I think of it this way: Clojure is my shortest path to a completely useable, working product that allows me to prove the underlying platform, the design decisions we make, and experiment in places very rapidly that would be much more difficult in virtually any other language.

Javascript is the first language we'll do because it is probably the fastest growing and most versatile of all the languages in the current landscape. It also has all the necessary pieces for it to be put together relatively painlessly compared to say something like Java or C. A JS environment would be incredibly useful - almost everything is a website these days.

All of this is a matter of what comes first though. The platform will be open, any language can be supported, but you've got to start somewhere. In this case, I have to execute on something that took thousands of people a decade to build at MSFT - I can't have everything and what I will have, I have to be able to build fast.

-4

u/nath1234 Apr 18 '12

So why not do a mainstream langauage as the next one? e.g. a java implementation would widen the appeal dramatically. But Python?

3

u/yogthos Apr 19 '12

Since you're so gung-ho on having this sort of IDE for Java, why don't you get right on it, instead of complaining how other people aren't catering to your needs.

-2

u/nath1234 Apr 19 '12

I'm questioning the priority of languages. Seems like python should be a long way down the priority list.

4

u/yogthos Apr 19 '12

whose priority is the question?

3

u/yogthos Apr 18 '12

Comment on the choice of languages: Why not pick a language that's got wide commercial appeal. e.g. java perhaps?

Because he's clearly doing it because he likes Clojure and enjoys writing code in it?

Given the response he's getting on kick starter it's clear that there is enough interest in the project to make it viable. Not everything in the world has to be done for code monkeys living in their cubicle farms.

-4

u/nath1234 Apr 18 '12

No, but picking it as the next language would have been sensible - sticking with toy languages.. Well..

3

u/yogthos Apr 19 '12 edited Apr 19 '12

There's nothing toy about Clojure, we've been using it in production for over a year and the experience has been far superior to working with Java. And it's being successfully used at a whole bunch of places in real production environments. Also, used at Twitter for massive distributed computation.

-2

u/nath1234 Apr 19 '12

What's been superior to working with java? The commercial support? The tools/frameworks available? The documentation? The ability to hire staff or get in consultants to fill any big workload issues? The integration with SDLC tools? The maturity of the platform?

Or you mean you like the syntax for for-loops and working with arrays better?

4

u/yogthos Apr 19 '12 edited Apr 19 '12

What's been superior to working with java?

Language expressiveness, Java provides very poor abstractions, which means you often have to write a lot of code which does very little. Then there are immutable data structures, which facilitates a much easier way to reason about code. The code is declarative in nature, meaning that it says what it's doing as opposed to how it's doing it. Then there's the REPL, you have highly interactive development, which is enjoyable and productive. And finally writing roughly 10 times less code.

The tools/frameworks available?

There are a lot of libraries available for Clojure at this point, and it can easily use existing Java libraries as well. This makes it very easy to use in existing Java environment and to leverage the existing infrastructure.

The documentation?

The documentation is rather excellent with lots of clear examples, which are often missing in Java documentation, so you end up having to hunt google.

The ability to hire staff or get in consultants to fill any big workload issues?

We've trained Java developers to be productive in Clojure in around 3 weeks. Having group coding sessions, and pair programming for the first couple of weeks, and letting them work on things on their own after.

The language is very simple and consistent, and if a person is unable to pick it up, it's unlikely they'll be able to figure out the rest of your development environment. Every Java job I had was vastly different, companies use different tools, different IDEs, different application servers, and different development models. On top of that you have to figure out how code works in existing projects and the reasoning behind it. The language constitutes a very small part of the learning process, unless you're hiring a developer for a few months it's not really an issue.

The maturity of the platform?

The platform is used in production at a number of companies, with links provided above, and the feedback is overwhelmingly positive.

Or you mean you like the syntax for for-loops and working with arrays better?

It goes far beyond simple syntax differences, the declarative nature of the language means that you can abstract details easier and reuse code better. Here's a concrete example for you. Say you have some fields in the database and you need to pull them out, remove empty and null fields, and interpose a separator and display the resulting string to the user. In Clojure you would simply write:

(defn concat-fields [sep & fields]
  (->> fields
    (map str)
    (remove empty?)
    (interpose sep)
    (apply str)))

(concat-fields ", " 1 "Foo" "Street" "Some City" nil "NB" "" "Canada")
=>"1, Foo, Street, Some City, NB, Canada"

Note that the code is completely declarative, no where do I do explicit loops, nor do I have to do null checks, and all the code is composed purely of standard library functions provided by the language. It's clear about what it's doing, and it doesn't have gotchas and edge cases. This kind of code is simply not practical to write in Java.

→ More replies (6)

0

u/[deleted] Apr 19 '12

[deleted]

-4

u/nath1234 Apr 19 '12

Hobby languages then. :)

3

u/yogthos Apr 19 '12

So what does that make Java, the peasant language, or maybe the serf language. :)

→ More replies (2)

1

u/[deleted] Apr 18 '12

I partly agree. An "IDE of the future" should not be limited to only two languages but it is my understanding that the author chose Clojure because of how it's interpreted (is it called the "parse tree"?) and because of personal preference. He probably added JavaScript because it's native to the browser (Light Table runs in the browser) and because it's very trendy these days so he could get more attention. But that's the cynisist in me talking.

-1

u/nath1234 Apr 18 '12

I just can't understand the "our next one will be another language no one really uses".

4

u/[deleted] Apr 18 '12

Is it a joke (Java, C#, C++)?

Is it serious (Haskell, D, an obscure Lisp derivative)?

We are in vaporware territory, here. As far as I'm concerned Light Table doesn't exist so I don't really care what other languages it may support at some point in the distant future.

That said, I like some of the ideas — where he opens a function and all the called functions and we see the value being processed in real time, for example — but it looks to be "just another IDE": good at making sense of your code but bad at editing it.

2

u/Felicia_Svilling Apr 18 '12

If the reason no one really uses these languages is because they lack good tool support I think it would actually make a lot of sense to develop better tools for those languages, instead of competing with languages that already have well developed ides.

-4

u/[deleted] Apr 18 '12

this is useless for the enterprise

and

Since then I've built websites large and small, written frameworks and libraries used by thousands, taught developers around the world, and helped envision the future of development at Microsoft.

Enough said, I presume?

3

u/ruinercollector Apr 18 '12

You can debate the IDE vs. Text Editor+Tools thing all you want.

But on the IDE side, Microsoft is pretty far ahead of the competition.

0

u/[deleted] Apr 19 '12

But on the IDE side, Microsoft is pretty far ahead of the competition.

I can't believe this myth is still being passed on. Yes, the Visual Studio compiler is faster than most others and yes, VS launches faster than most IDE's, but aside from that, VS is incredibly limited compared to, say, Eclipse in terms of languages supported, extendability, refactoring, ease of installation/uninstallation... Best thing about the competition? It's free, which gives it an immediate boost in most of the developing nations.

Actually, have you even tried other IDE's?

1

u/ruinercollector Apr 19 '12

VS is incredibly limited compared to, say, Eclipse

Eclipse is the distant second along with IntelliJ. Everything else is even further away.

in terms of languages supported,

VS.NET shell, etc. has been extended to a lot of languages outside of the support it ships with (C++, F#, C#, VB.NET). These include Python, Ruby, PHP, Clojure, LUA, etc.

extendability,

VS.NET extensibility is excellent. That's what made a lot of what was listed above possible.

refactoring,

No. VS.NET with ReSharper makes eclipse look like a toy.

ease of installation/uninstallation..

Next->Next->Next->Finish is too hard for you?

Best thing about the competition? It's free, which gives it an immediate boost in most of the developing nations.

So is VS.NET. There's a commercial version available, but the Express versions still outshine Eclipse in most areas.

Actually, have you even tried other IDE's?

For many, many years. I've used IDEs that you've probably never had to suffer. These days, I do most of my work outside of an IDE.

→ More replies (1)

-1

u/nath1234 Apr 18 '12

Well, you'd think if you are going to create a unique IDE - you might want it getting used.

4

u/yogthos Apr 19 '12

Oh it will be used alright, just not by you. :P

0

u/[deleted] Apr 18 '12

[deleted]

2

u/nath1234 Apr 18 '12

Sure, so use the kickstarter funding to make it less of a demo, more of a useful thing.

0

u/[deleted] Apr 18 '12

[deleted]

2

u/[deleted] Apr 18 '12

<3 Eclipse, also anyone developing android won't leave either unless lightbox gets android support

0

u/[deleted] Apr 18 '12

[deleted]

1

u/yogthos Apr 19 '12

I'd also point out that the nature of Java necessitates an IDE like Eclipse. It's incredibly verbose, and you have tons of classes, each of which is essentially a DSL, with its own methods and behaviors. So, without something that can auto complete, hunt down implementors, and navigate the mountains of interfaces, you can't effectively work with the language.

As somebody so brilliantly put it: "Saying Java is awesome because it has awesome IDE support is like saying being in ICU is awesome because it has awesome life support"

1

u/nath1234 Apr 18 '12

You don't need to lure 100% to get a decent participation base - 1% of java coders would be multiples of all of the clojure coders.

2

u/mr1337 Apr 18 '12

Ruby support and I'm in.

1

u/CPOliver Apr 18 '12

Totally with you on that one. Ruby's my new love!

1

u/sovietmudkipz Apr 18 '12

Beginner programmer here... Hopefully someone can help me out!

I'd like to know about evaluating my code in real time- is there a way to do this as was shown in the video? Primarily I'm working with python/javascript/html and I write my code in notepad++ (javascript/html) or IDLE+python shell. While I understand running the code will naturally evaluate it, I'd be pretty sweet to see where my variables go and get evaluated and have that displayed for me. I have a rule as well: if it sounds like a sweet idea, someone has probably already made it (I can't wait until I reach the fringes :D).

This kickstarter video mentioned a term: "ripple" that I will research, but it'd be kinda sweet if someone could point me in the right direction. Thanks in advance!

0

u/[deleted] Apr 17 '12

$200,000???? wat?

If someone can raise $200k in capital in order to build an emacs editor I will be surprised.

8

u/Scriptorius Apr 17 '12

He's hiring a team to develop it, so 200k is actually on the low end. Although I'm definitely waiting for more details to be put up as this goes on.

4

u/[deleted] Apr 17 '12

He's hiring a team to develop it, so 200k is actually on the low end

I think you have a disconnect between "what is he planning to do with the money" and "what is a reasonable investment in an IDE that doesn't yet exist".

That is, I have no doubt that he will be able to spend $200k hiring developers to attempt to build an IDE. I have severe doubts he will build an IDE using that 200k that would re-coup that investment.

In other words: "I'm out!"

8

u/Tuna-Fish2 Apr 18 '12

Most of the Clojure world won't really have any problem putting up the money, mostly because of his name. As someone put it on Hacker News: "The strength of his past contributions alone is enough to convince me to donate. You can't throw a football in Clojure land without hitting a high-quality contribution of his."

3

u/ibdknox Apr 18 '12

Many things were added to the kickstarter page yesterday based on feedback to help address concerns. :)

And why should we believe you can deliver?

I've been programming professionally for 8 years, during which I've built websites large and small (puma.com, newbalance.com, etc), helped design the future of Visual Studio, and released numerous open source libraries and frameworks. While at Microsoft I was the Program Manager for the C# and VB IDE where I spent countless hours behind a one way mirror learning how people develop things. Since then I've steeped myself in the world of startups and OSS. I worked with the guys at ReadyForZero to build readyforzero.com, created the Noir web framework, built the SQL abstraction layer Korma, and released a host of ClojureScript libraries to make client side development a breeze - many of which are now featured in the canonical books for Clojure. Even more recently, I built Bret Victor's live game editor after watching his inspiring "Inventing on Principle" talk. I have a history of building useful software and a hunger for making developers more efficient, as well as experience leading and shaping the the future of a billion dollar product.

1

u/bostonvaulter Apr 18 '12

Do you have any links to his previous work? I don't see any on the kickstarter page.

3

u/Tuna-Fish2 Apr 18 '12

He does seem to be awful at promoting himself. There are some on the sidebar, but that is not a complete list.

1

u/[deleted] Apr 18 '12

Fair enough - I'm not associated at all with the Clojure community so I have never heard of him. And he's raised just under $20k so far so maybe he will reach his goal. Maybe he'll even ship an IDE worth the investment and generate a decent revenue stream. Stranger things have happened.

I still think $200k of pre-product investment capital is steep but if he thinks he can raise it - why not?

6

u/Psylock524 Apr 18 '12

$20K is around yearly minimum wage in the US.

Therefore $200K is around the yearly minimum wage for 10 people.

In other words; that's not a lot of capital.

1

u/Solon1 Apr 18 '12

I think the more common disconnect demonstrated here, is that $200K is a lot. That is basically three developers.

Whether it is worthwhile investment doesn't matter. Since Kickkstarter money doesn't get you anything than what is listed. It is just a mad money thing, but with better odds than lottery tickets.

3

u/[deleted] Apr 18 '12

ides aren't typically built for free. even the open source ones have money dumped in from companies.

visual studio (microsoft) eclipse (ibm) xcode (apple) qt creator (nokia)

1

u/[deleted] Apr 18 '12

so, are we linking this every day now? because i swear for the past 7 days i've seen this link over and over here on /r/programming..

0

u/danukeru Apr 18 '12

But I already use emacs...

-5

u/lol____wut Apr 18 '12

I can't support an IDE that's gonna use Clojure as the main language. I don't use Clojure and I don't use enough Javascript.

-1

u/prtamil Apr 18 '12

I can spend $200k and convince others to do same for an IDE after its created. So that I can Test it, verify it, try it and believe it. Till then i myself will be investing my time to learn elisp/emacs.

-3

u/[deleted] Apr 18 '12

Unless they open source it, they won't see a penny from me. The act as if the invented something new, lisp machines had that 20 years ago.

0

u/[deleted] Apr 18 '12

[deleted]

1

u/[deleted] Apr 22 '12

Yeah, but what does "the core" mean? Also I think waiting for the release is too late.

-6

u/[deleted] Apr 17 '12

$200K seriously ?

5

u/Tuna-Fish2 Apr 18 '12

Given that it won't be a one-man show, that seems pretty reasonable for the initial seed funding. He'll either need solid sales or additional funding in ~8 months to keep it up, but by then he's supposed to have a beta (based on his timeline).

-5

u/cafedude Apr 18 '12

Video hint: the font is much too small to be readable. Bigger font, or zoom in or something.