8957. WoNgi.. (cpc1-salf1-0-0-cust294.manc.cable.ntl.com) –
30 Jul 2009 15:56:10
[ FLAMING TEXT ]
Hiyaaaaaa amy lewigh its louise w ere :P |
|
8956. crazy babe (82.132.136.203) –
30 Jul 2009 15:54:41
[ FLAMING TEXT ]
hya gurls
|
|
8955. William (pool-68-162-171-5.pitt.east.verizon.net) –
30 Jul 2009 14:43:57
[ JavaScript rant ]
I implemented yield-based iterator-generators in SML/nj using call/cc. Now that we have a precise specification -- in terms of a well-defined host language -- there's nothing to fear! :)
exception No_more
type 'a iterator = unit -> 'a (* raises No_more *)
val withYield : (('a -> unit) -> 'b) -> 'a iterator |
|
8954. Tom 7 (h-67-100-132-217.phlapafg.dynamic.covad.net) –
30 Jul 2009 06:24:05
[ Erie and Zurich ]
J: The hearing protection is the Leightning L3 (http://www.google.com/products?q=leightning+l3) which have something like 34dB sound reduction if you get a good fit (i.e. don't have a lot of hair around the ears -- check!). They're made for construction and gun ranges. At $20 it's a way better deal than noise-cancelling electronics which are more like 10dB reduction and $300. I always travel with them and sometimes put earbuds underneath to listen to music, which works great. It's one of those possessions that I'd replace immediately if it were lost or damaged or attacked.
E: Thanks! |
|
8953. Anonymous (linux3.gp.cs.cmu.edu) –
30 Jul 2009 04:53:12
[ JavaScript rant ]
You can look at the spec of any halfway popular language or platform and find ugly warts. Few people have the motivation, ability, time or luxury to write something like the definition of Standard ML, itself not without flaws, not to mention that those with an abundance of these characteristics still tend to produce crap (cf. monad transformers).
The claim---that you might not actually be making but that seems apparent from your rant---that elegance is impossible in Javascript is not justified by the numerous, granted, deficiencies of the language.
And I hope you guys at google who know what's what will be more involved in the next iteration of Javascript instead of leaving it again to unschooled hackers and standards committee suits to fuck up. |
|
8952. AstroEriKKKKKa (pool-173-75-22-233.pitbpa.fios.verizon.net) –
30 Jul 2009 01:27:19
[ Erie and Zurich ]
awwww I loved this whole post! Especially that last story. And plane sleep walking is weird. |
|
what is your industrial-grade hearing protection? |
|
That looks like a shelf-mushroom. in all seriousness, I've been told no shelf mushrooms are poisonous. |
|
8949. Ezra (209-6-216-58.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com) –
27 Jul 2009 22:41:08
[ JavaScript rant ]
This one really galls me: 'The inscrutable contextually-dependent semi-sameness of 0, null, false, undefined, 0.0, "", {}?'
The scoping is broken but I've learned to work around it, like a battered wife.
The semi-sameness I can't deal with. |
|
8948. ✄✄✄✄✄✄✄✄✄✄✄✄â... (cse-dhcp-10-158.ucsd.edu) –
27 Jul 2009 16:02:53
[ JavaScript rant ]
✄✄✄✄✄✄✄✄✄✄✄✄✄✄✄✄✄
✄✄✄✄✄✄✄✄✄✄✄✄✄✄✄✄✄
✄✄✄✄✄✄✄✄✄✄✄✄✄✄✄✄✄
✄✄✄✄✄✄✄✄✄✄✄✄✄✄✄✄✄
✄✄✄✄✄✄✄✄✄✄✄✄✄✄✄✄✄ |
|
8947. matus (cse-dhcp-10-158.ucsd.edu) –
27 Jul 2009 15:59:53
[ JavaScript rant ]
does all this dynamic web shit still use xmlhttprequest? hahaha what an abomination.
also A+ on the pwnage |
|
8946. Jason Ganetsky (207.10.176.34) –
27 Jul 2009 13:59:47
[ JavaScript rant ]
That last post was me. |
|
I can assure you that, with respect to my claims, these ugly details like the Date object and regular expressions are not what I'm calling elegant. I haven't pored over the specification, and I'm certainly grateful that other people have. I do think Brendan Eich is a pretty smart guy, and understands language design (maybe not with the same exact values you hold). He certainly does regret the bad parts of Javascript, and no one is claiming that Javascript is anywhere near perfect. Also, I'm not judging it in terms of how easy it is to write proofs about, or to judge the correctness of a compiler... although these are ultimately important.
I'd like to focus some more on what I started talking about. With regards to your closure example: that's a canned argument you could apply to any language with closures that's not default immutable. Languages where names are bound to mutable variables tend to function the same way as Javascript. Scheme, Python, Perl, etc all behave this way. Java awkwardly "fixes" this by requiring you to declare any closed-over variable final. Take an ML program, make all variables refs, and it will behave the same way too.
All these dynamic languages look everything up by string, as well. The fact is, I think Javascript does these things better than Perl/Python/Ruby/PHP etc. And my point was that, instead of having a giant, messy object system, it has a small one that is flexible and easy to reason about. Javascript has first-class function support, and methods are really just properties in objects that point to closures... so this (and the pervasive use of closures in libraries like jQuery) is why I think Javascript has gotten millions of web developers, untrained in the art of programming, to think in a functional way.
But, ultimately, I don't think it's even close to the best language out there. Erlang, with all it's flaws, is flat-out better than Javascript in my book (and probably yours too).
You should avoid calling people you argue with "crazy". I think the CMU PL department has gotten a reputation for behavior like that. |
|
8944. Scott (ip70-179-94-234.dc.dc.cox.net) –
27 Jul 2009 02:57:59
[ JavaScript rant ]
Oh, Zurich. That is what I get for not really reading your blog sometimes, but trying to post comments other times. |
|
8943. Scott (ip70-179-94-234.dc.dc.cox.net) –
27 Jul 2009 02:56:38
[ JavaScript rant ]
Wow. Pull no punches. I'm curious now if you're familiar with Lua. Lesser known for sure, but I've seen mention of it as a small, elegant language with some functional capabilities.
Where'd you fly? |
|
8942. Jason Ganetsky (cpe-72-225-160-217.nyc.res.rr.com) –
27 Jul 2009 01:13:46
[ JavaScript rant ]
The idea of every variable being a property of some object is exactly what I found very nice about the language. The notion that the global namespace is really just an object, every activation record is just an object, and every object is an object... is minimalistic. This makes Javascript a small language at its core. This is nicer than Scheme, where looking up a variable by name is done by one of two mechanisms... the variable is either lexically scoped, or is in the global "dynamic environment". Meaning, if the compiler comes across a reference to "x", and "x" has not been declared, it will emit code to look up "x" by name at runtime to find a (define x ...). I would say what Javascript did is unify Scheme's two mechanisms, AND prototype-based objects, in one fell swoop. Scope chains and prototype chains are pretty much the same thing.
var does have to do with variable declaration... if you omitted var, you would be putting elt into the global object instead of into the function's activation object. For the code that you wrote, you can use the new "let" keyword to make an activation object mid-function and get the behavior that you expect.
I think looking everything up by string is great for a dynamically typed language. It gives you flexibility. I don't think compilers have to be too complex to optimize that away.
Yes, I see there's a giant mess in the details of Javascript's specification, and the ECMAScript definition is like a big program. I would only hope that they fix this in Javascript 2. |
|
8941. Tom 7 (h-67-100-132-217.phlapafg.dynamic.covad.net) –
26 Jul 2009 14:24:32
[ Theme from Zürich ]
Hi! Please come back at least every 12 years, I promise something new! :) |
|
8940. Anonymous (c-76-118-2-206.hsd1.ma.comcast.net) –
25 Jul 2009 16:54:11
[ Theme from Zürich ]
Hey Tom,
I looked up your site because I remembered seeing your notebook drawings and fonts way back (1997 I think) and thought they were great. So cool that you still have a site! |
|
8939. Super Mario the Mushroom puncher (c-67-175-142-237.hsd1.il.comcast.net) –
22 Jul 2009 01:16:09
[ Bathroom? Mushroom! ]
My basement was flooded after a flash rain storm a few weeks ago and it took almost 3 weeks to dry a carpeted room, Even after I used a wet dry vac. About a week after it was "dry" I noticed the black colored mold on the walls near the floor, and on paper material's that got wet. a few days later along the edges of the wall on the floor I saw that a line of these pig ear mushrooms had cropped up. If you think they look nasty coming out of a bathroom tile try seeing them come out of a carpet..its just not right. Anyway I sprayed them(and the black colored mildew/mold?) with clorox and they stopped growing and turned brown so I assume they died. I sucked them into the wet dry vac and they haven't returned..not in that spot. about a week later I saw they had cropped up in a different spot! again in a straight row of clusters this time along the bottom edge of a trunk on the floor. I killled with the same process. this week I discovered them along another wall and behind a floor model tv, I sprayed everything and I'm doing a full clean up tommorrow.( I didn't know you had to remove the black stiff immediately after bleaching, does it revive if you don't?) I think I'll try the white vinegar trreatment or go ahead and pull up the carpet, I'm sure its the carpet as the floor is tile with cement underneath. The walls may need to be checked and replaced as they are drywalled in that room. I really hope this is just harmless ecology. Prevention for me will mean finding that leak in my foundation, and getting a dehumidifier..also I know that there are plug ins that prevent mold spores which are airborn (I think in trace amounts they are a common occurrence in all older basements) from taking root. |
|
8938. Chaz730 (adsl-154-196-74.ard.bellsouth.net) –
21 Jul 2009 17:24:20
[ UPD: Escape Beta 3 ]
This game has died >.> |
|
8937. Pianist (modemcable046.130-202-24.mc.videotron.ca) –
20 Jul 2009 20:24:48
[ Quake 3 Done! ]
Hahaha Yes I should post on sda' s forum about it I guess.
For the videos, its coming, some guy is ripping them, making a video and also uploading to his youtube channel. I'll tell you very soon.
Peace ! =D |
|
8936. Tom 7 (h-67-100-132-217.phlapafg.dynamic.covad.net) –
19 Jul 2009 17:23:00
[ Theme from Zürich ]
Thanks. That's my favorite part, which is why it's also telegraphed at the very beginning. (Also then: infinite loop) |
|
8935. Nels (c-67-171-73-29.hsd1.pa.comcast.net) –
19 Jul 2009 13:42:04
[ Theme from Zürich ]
This song has a great outro. Well done. |
|
8934. Tom 7 (mobile-166-137-134-037.mycingular.net) –
18 Jul 2009 19:48:41
[ Theme from Zürich ]
Omg yesssss |
|
|
|