4 ms·
As someone making something in the same general space as Eve, very sad to see this happen. Thanks for taking a shot and proving that there are other ways of thi
by pbiggar 9y ago
As someone making something in the same general space as Eve, very sad to see this happen. Thanks for taking a shot and proving that there are other ways of thinking about programming!
Looking forward to the writeup.
- chubot 9y agoJust curious what's the general space that Eve is in? Programming environments for non-programmers? I applaud the ambitious efforts of both Eve and Light Table -- it's definitely worth trying, and the negative result is valuable too. But part of me wonders if they were tackling too big a problem, or at least MARKETING a (potential) solution to too big a problem. IIRC, I believe they figured out through talking to users (which they did, which is good!) that most people want to do stuff with data. For example, teachers might want to do some simple analysis of homework assignments and students. And there are many tasks that fall into the category of what you would do with "mail merge" in Word or a macro added to an existing spreadsheet. I wonder if they would have had more success by nailing a narrow use case and expanding outward. The marketing always felt too "general". I feel like a lot of non-programmers want to get their jobs done more than they want to learn programming. You probably have to trick them into programming. Even 10 or 20 hours of up front "learning" is too much. FWIW, I've worked with technical artists in games (e.g. writing MEL scripts in Maya), and statisticians doing big data (e.g. writing R), so I have thought a lot about non-programmers programming. And I've also looked at and modified their code. There is probably a more polite way to ask this, but I think it has to be asked. How many people in the world have the IQ to write a program of say 100 lines that does something useful? If you have a job as a technical artist, a statistician, or an actuary, I think you fall in that category. (On the other hand, it's also true that not everyone with those jobs can write a program that works, let alone that can be maintained by their coworkers.) But there are plenty of people who can barely use computers. I remember that my former boss (a very empathetic man) was recruited by a neighbor to teach his son programming. The son played a lot of games, and was interested in making games. And my boss's realization was: "this person needs to learn how to use a keyboard and mouse first". I think with the rise of phones and tablets, you might see basic skills like text editing going down the drain. Contrary opinion: if you don't have the patience to learn how to use a text editor to say write HTML files, you don't have the patience to learn programming OF ANY KIND, even visual programming. (Incidentally, there is a similar inspiration behind Raspberry Pi -- basic skills like knowing how hardware works had gone downhill for Cambridge students since the 80's.) Anyway, this was a random bunch of thoughts, from someone also working on a programming language. But I'm working on a language for experts, not for beginners. (It's better Unix shell, which both developers and non-developer professionals -- like sys admins, data scientists, technical artists -- use.) The point is that I'm wondering what space Eve was really in. When I look at their website, I see A moonshot to make programming accessible to everyone. http://witheve.com/ http://witheve.com/ That doesn't tell me very much. If it's for everybody, then it's for nobody. I've always liked these observations from Paul Graham, which I've quoted here before: You can't look a big problem too directly in the eye. You have to approach it somewhat obliquely... http://www.paulgraham.com/procrastination.html http://www.paulgraham.com/procrastination.html Let me conclude with some tactical advice. If you want to take on a problem as big as the ones I've discussed, don't make a direct frontal attack on it. Don't say, for example, that you're going to replace email. If you do that you raise too many expectations. Your employees and investors will constantly be asking "are we there yet?" and you'll have an army of haters waiting to see you fail. Just say you're building todo-list software. That sounds harmless. http://www.paulgraham.com/ambitious.html http://www.paulgraham.com/ambitious.html So basically I think it would have been better to just tell everyone "we're making a better mail merge" or "we're making better excel macros", or even just a better SPREADSHEET, which is itself huge enormous problem, but actually smaller than "programming for beginners". Then you'd be helping them get their jobs done without all the programming mumbo jumbo. But the whole time you could be trying to generalize it into a way of programming in other domains, for programming "in general". Just like Python can be applied to many domains. ----- Also, even if you SUCCEED at making a better language/IDE that subsumes what people do with mail merge, excel macros, and every spreadsheet in the world, you HAVE NOT succeeded at overhauling programming! Programming is a very big field now! There are / will be languages for distributed computing with various consistency guarantees, languages for computing with privacy, with security, languages for quantum computing, languages for machine learning. Those will not be touched by something like Eve or Light Table. That's one of the reasons I'm interested in shell -- because in many contexts, it's the lowest common denominator that connects all these different domains.
- juancampa 9y agoReally agree with that last part about framing it as a better spreadsheet first. What's the language you're working on? care to share a link?
- seanmcdirmid 9y agoThe spreadsheet idea is what I'm trying out ATM (hopefully will have a good demo in a month or two). I like Fowler's view on this from 2009: https://martinfowler.com/bliki/IllustrativeProgramming.html https://martinfowler.com/bliki/IllustrativeProgramming.html
- chubot 9y agoI've always wanted to make a programming language, but I just tell everyone it's a shell, since that is more understandable and less "threatening" [1]: http://www.oilshell.org/ http://www.oilshell.org/ The thinking is that if I fail to make a new programming language, which is the 99% case, then at least I can make a "better bash", which I know people will use if it works. It was on the front page last week, although this is the second time it has become a flame war between sys admins and developers: https://news.ycombinator.com/item?id=16154438 https://news.ycombinator.com/item?id=16154438 I haven't gotten a chance to work on the Oil language part much, but I wrote a little bit about it here: http://www.oilshell.org/blog/tags.html?tag=oil-language#oil-language http://www.oilshell.org/blog/tags.html?tag=oil-language#oil-... Anyway, I think the shell has a lot of potential for beginners because it's the first "language" you'll encounter when booting up a PC. My first "language" was actually MS-DOS batch files!!! (Although note that the project isn't prioritizing beginners over experts.) The shell is just stuck with decades of legacy, to the point where people actively avoid it (as shown by the HN thread). But the only way to "kill bash" is to reimplement it, which I have almost done! So now that I have a clean architecture / prototype, the plan is to speed it up, and evolve it into a different language without the legacy. There will also be lots of extensions, like a built-in awk paradigm of streaming, and a built-in make paradigm of incremental and parallel computation, etc. There are a lot of good concepts in Unix, which are not even available in Python, but they're hidden behind these crappy 70's style macro languages. It's interesting that the development of shell, awk, and make were about the time when people started figuring out to write parsers! Historically, awk and yacc were almost co-developed. If you're unfamiliar with shell as an interesting language that's distinct from Perl/Python, the he "shell-the-good-parts" tag might help: http://www.oilshell.org/blog/tags.html?tag=shell-the-good-parts#shell-the-good-parts http://www.oilshell.org/blog/tags.html?tag=shell-the-good-pa... [1] I recently reposted this "programming language checklist" which summarizes what I think of new programming languages :) https://www.reddit.com/r/ProgrammingLanguages/comments/7mcsx3/programming_language_checklist/ https://www.reddit.com/r/ProgrammingLanguages/comments/7mcsx...