Hacker Newsnew | past | comments | ask | show | jobs | submit | 2008-04-03login
Stories from April 3, 2008
Go back a day, month, or year. Go forward a day, month, or year.

Not true. If Guido van Rossum had written it, it would definitely be worth noting.

It would be noteworthy if any evangelist for any programming language that is not PHP said something like this.


Parkinson's Law: "Work expands to fill the time available for its completion"

> There is something really evil about taking thousands of the world's smartest young people and using them to sell online text ads more efficiently. Really.

I've been saying this for a long time and I really believe it. At least borderline evil. It seems to me there's nothing doing more damage to (web) technology than Google hording many (most?) of the world's greatest hackers and severely under utilizing their abilities.


You're looking at a picture of a single circuit the size of a large office building, built to a precision of 100 microns.

I agree that this is impressive, but remember that you get to cheat: You build the thing, measure how far off you are, and stick delay lines in the short branches until everything lines up. Admittedly, if you're off by a hundred meters the required delays would be embarrassingly large, and the architect would get teased a lot, but even then I don't think it would pose an insurmountable problem.

Meanwhile, if the essence of your argument is that Lisp was used by mainframe guys and wasn't pushed hard enough in the microcomputer world, I can't help but agree. God, if only I could travel back in time and replace all those useless Pascal books I read as a teenager with Lisp books...

35.One guy, a film scanner, OCR and a lot of disks = 6 million pages of historical newspapers on line. (fultonhistory.com)
14 points by markdionne on April 3, 2008 | 6 comments

Reminds me of:

Hofstadter's Law: "It always takes longer than you expect, even when you take Hofstadter's Law into account."

37.Make GMail Prettier With This Kick Ass Skin (uneasysilence.com)
14 points by macgeekpro on April 3, 2008 | 7 comments

This is amazing. I looked at the underpinnings they used and it's the exact stack of tools I had given up on when Google Maps was released and began expanding in 2005 or so.

These guys followed through and the result is amazing. Their reasons for using the tools that they chose are exactly why it was so goddamned hard for me to do what I wanted to do with gmaps, but at the same time, I didn't have the spare cycles to do it with Ka-Map! or similar.

Brilliant execution.


Unless you're implying that each Lisp interpreter is its own language, I don't think your contention really applies. If I learn Lisp on Lispworks, and go sit down at GNU CLisp, I'm not programming in a different language - I'm using a different sub-set thereof. When I sit down to a Ruby program, and then switch to a PHP script - there are fundamental differences between the two languages that transcend the library or features either provides.

Ralphc's point wasn't about there being a clear winner in the dynamic language space, but that each of the languages mentioned had one canonical interpreter.


I really don't find that lisp, at least common lisp, is particularly concise. Consider lambda functions, one of those things that lisp is particularly praised for;

   common lisp: (lambda (x) (+ x 1))
   C#3        : x=> x + 1
   ruby       : { |x| x + 1 }
   python     : lambda x: x + 1
   Haskell    : \x -> x + 1
   
Just in terms of character count, CL is the longest of the lot.

No, the problem with trying to get a lisp under your belt has alredy been mentioned. Compared to the alternatives;

- choosing an implementation is a research project (clisp? sbcl? allegro?) - documentation is weaker - libraries are harder to find and install (ASDF vs Rubygems, Python eggs, etc.) - emacs/slime is an investment to learn - examples are few and far between - the language itself (the words, not the punctuation) is inelegant (mapcar, setq, cdadr)

I've tried really hard to learn lisp, and it turns out that actually, while there may be some platonic lisp that IS great, actually programming common lisp, now, is a massive effort in struggling in the dark.


I'll throw in my 2 cents... Up until recently, one "flaw" that Lisp had that other languages didn't was one obvious best implementation. If you want to work in Perl, Python, Java, Ruby, etc. you knew where to get them, and you know they would work similarly across platforms, so programs you wrote on your Mac would work on Windows and Linux, etc. With Lisp, different implementations did the "interesting" stuff (threads, sockets, FFI, etc.) differently, and hackers didn't want to invest time learning one implementation if everyone else decided that a different one was the best. No one wants to bet on the loser (Blu-Ray vs. HD-DVD), so they stay away until a clear winner emerges. It looks like SBCL is becoming that best implementation, and once threads work on Windows so the web frameworks will "work", that will help greatly.

Another barrier is having to learn emacs/SLIME to have a decent development environment. That is a big piece of yak shaving for the average developer. Hopefully Cusp in Eclipse or something else will help.

42.The nightmare of installing Lisp: a noob's perspective
13 points by daniel-cussen on April 3, 2008 | 28 comments

If anyone else had written this, it wouldn't be worth noting.
44.Ask YC: How long to stay secret?
12 points by wheels on April 3, 2008 | 23 comments

You may as well be vague about what you're doing till you launch. Part of the reason this is excusable is that you should launch very quickly.
46.Git for Subversion Users (or.cz)
12 points by Bluem00 on April 3, 2008
47.EBay Bans Auctions Of Digital Goods (techdirt.com)
12 points by parker on April 3, 2008 | 9 comments
48.Will There Ever be a Viable Adsense Competitor? (gabrielweinberg.com)
12 points by epi0Bauqu on April 3, 2008 | 9 comments
49.The great inflation cover-up (cnn.com)
12 points by gongfudoi on April 3, 2008 | 4 comments

>You're looking at a picture of a single circuit the size of a large office building, built to a precision of 100 microns. I agree that this is impressive, but remember that you get to cheat: You build the thing, measure how far off you are, and stick delay lines in the short branches until everything lines up.

they call that Agile Microwave Engineering

oh, and you must have two microwave engineers working on each delay line.


You can shorten (+ x 1) to (1+ x), and if you get annoyed typing "lambda", it's not that hard to change it to something shorter like "fn". Also, CL has a lot of built-ins so I don't find I need to write lambdas nearly as often as in other languages. In this example, just say "1+".

Another thing you'll find is that for trivial problems, Lisp might take a few extra characters, but it scales much better. Try making your Python lambda print the value of x first. Try telling your Ruby lambda that x (and x+1) fits in a machine word so it can compile the function into only a couple of CPU instructions. Try writing a metacircular evaluator in C#. :-)

When you're just getting started, in any language, it doesn't really matter which implementation you pick. (FWIW, CLISP is byte-compiled, SBCL is a native compiler, and Allegro costs $600. Not unique to Lisp: you can find expensive proprietary C++ compilers, too.)

As a Lisp and Ruby programmer, I disagree that Lisp's documentation is weak. I would be very happy if Ruby's docs were even half as good as Lisp's.

I type "sudo apt-get install library-name" for both Lisp and Python libraries, so no difference there. (Ruby gems are less frequently packaged, and aren't compatible with the FHS, so they're a little harder.)

Lisp examples seem to be more often found in (dead tree) books, while Ruby and Python examples are more often found on the web. Since Ruby and Python libraries (and even syntax) are still in flux, and Lisp predates the web, this kind of makes sense. If you can't buy a couple books, it can be rough, though some good Lisp books are becoming available on the web for free.

Those symbols you picked are a little weird, but when's the last time you actually saw a cdadr? It is at least consistent (which is more than can be said for some languages!). I don't find "unshift" or "__gt__" any better.

I don't want to sound like a pure apologist. I admit that Slime is an investment (if you don't already know Emacs). Apparently there is a Lisp plugin for Eclipse, but I know nothing about it. It is a shame more IDEs don't support Lisp well, though I can see why they don't.

Finally, it could be simply that Lisp doesn't map well to your mind. (I don't mean this as an insult -- everybody's different. Maybe Smalltalk or Prolog or Sisal is your cup of tea.) I don't think Ruby maps well to mine, though I know some people who seem like Matz reincarnate -- which could explain why the docs are so sparse! The core of programming, to me, is having fun building good abstractions, and if Lisp isn't doing it for you, by all means, find (or invent!) something that does. Cheers!

52.YC aspirants: if you're from outside USA then you may apply for J1 visa.
11 points by ideas101 on April 3, 2008 | 4 comments
53.Google Docs has pivot tables! (scienceblogs.com)
11 points by muriithi on April 3, 2008 | 2 comments
54.Language Adoption and Lisps (redlinernotes.com)
11 points by mqt on April 3, 2008 | 7 comments

i'm having trouble justifying a rewrite of something that works really well as-is

You're different from a lot of hackers I know.

Seriously, though, you probably will eventually rewrite most of it if you turn it into a startup. And often when people rewrite things they're glad afterwards. It will probably take less time than working out a deal with the university, and be much more interesting for you.

56.Ask YC: Is the site slow or is it just me?
11 points by hollywoodcole on April 3, 2008 | 13 comments

There are many hypotheses out there that Lisp lacks popularity for this or that flaw in the language or in the community. The problem with these hypotheses is that you can point to similar or bigger flaws in languages that have grown popular. If a language has good qualities, people will figure out ways around the problems.

My hypothesis is that Lisp is unpopular for the exact same reason some of us love it: concise code. Everybody praises concise code, but humans love looking at things that have repeated patterns. The more you compress information, the fewer repeated patterns there are to look at.

I wish PG well with Arc, but I don't think popularity will come from fixing anything that's wrong with Lisp. By my hypothesis, Lisp only becomes popular by fixing what's right with it.


If you can rewrite it from scratch, that may be the safest plan. You'll probably need to anyway. You can also go talk to the university about it, but many (perhaps most) universities are cluelessly overreaching about this sort of thing, and take forever as well.

Actually one of the surprising things I've noticed is how many good startups decided at the last moment to apply. I believe there have been some that only decided in the last couple hours.
60.Huge flaw in Ubuntu Dapper’s Python Crypto Module (arentz.nl)
10 points by st3fan on April 3, 2008 | 4 comments

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: