top | item 217817

Rhinos and Tigers

42 points| mqt | 18 years ago |steve-yegge.blogspot.com | reply

29 comments

order
[+] twism|18 years ago|reply
I'm also working on a rhino/javascript web framework...I am about 15% to where I want to be but the concept is there. With all this talk of "programmer's insecurity" and release often and early (this might be too early) I thought i should put this out and solicit feedback. Any would be appreciated, thanks.

(lacks documentation and tests, but if you look in the contexts folder I think hackers should be able to grasp whats going on)

http://code.google.com/p/env-framework/

http://code.google.com/p/env-framework/source/browse/trunk/e...

[+] sage_joch|18 years ago|reply
"...people kept trickling in, and I estimate there were about 400 people stuffed in the room by the end. It was standing-room only, and people were spilling out into the hall. The conclusion? The other talks must have been really boring."

Actual conclusion: people eat lunch. His talk was at 12:45, and the previous round of sessions had completed at 12:30.

[+] rtf|18 years ago|reply
I don't really see a need for this; I can use haXe to get the additional interoperability Yegge refers to with Rhino/Javascript, and I won't have to use the JVM to get it.

That he pooh-poohs all static languages by pointing to some excess of Scala and using a slippery-slope argument from there doesn't really help.

Plus the verbosity.

[+] gojomo|18 years ago|reply
Having skimmed it, I can reduce the 11,500 words to just 128:

--

The future lies with dynamic languages; their success in big systems, and Scala as a complex move in the anti-dynamic direction, are both inconvenient developments for Java and static-typing orthodoxy. Still, the JVM and VMs in general are good for dynamic language implementations.

Javascript/Rhino is better than you think, and among the best of the JVM languages -- better than Java, and still easy to integrate with Java in both directions. Rhino is getting investment from Google and elsewhere; remaining objections will be conquered.

Google will open-source 'Rhino's not Ruby' (aka 'Rhino on Rails') this year (he hopes). RnR has been used by a 20-developer team there to build a huge web app in a small code footprint. Google's JSCompiler for compressing JS will likely be open-sourced, too.

[+] andreyf|18 years ago|reply
Still, the JVM and VMs in general are good for dynamic language implementations.

Not just good, but vital for just-in-time optimization. The argument of JIT bringing dynamic languages to the speeds of Java/C++ seems compelling...

[+] anewaccountname|18 years ago|reply
I'd change that to:

"to build a huge web app that never saw the light of day"

[+] ntoshev|18 years ago|reply
The Scala argument in Paper Tigers is incorrect. If Java-style static typing catches 90% of the bugs that can be caught with 5x more complex type system, I would say some trade-off for simplicity is acceptable and it is reasonable to just use the simpler type system.

I think types should be optional. ECMAscript actually supports optional types, doesn't it?

The whole argument of static vs dynamic typing seems wrongheaded. It should be all about minimal code size. Normally you want the shortest program possible. But you also want some confidence that your program works, hence you write unit tests. If tigers are too scary, than you can use the optional static typing, write more unit test, etc - all at the cost of increasing code size.

[+] jpeterson|18 years ago|reply
Can one person really produce so much text? Does he have a team of writers or what?
[+] xirium|18 years ago|reply
Possibly. In the article, he mentions that he has one million lines of Java in production.
[+] icey|18 years ago|reply
I wish there was someone around who has had a chance to look at some of his code. Something I've noticed from years of doing code reviews and consulting is that people who are that verbose in their writing tend to be very verbose in their coding. I wonder if Steve generates massive classes when they could be done much smaller.

Again, it's totally unfounded, I'm just speaking from anecdotal evidence.

[+] pchristensen|18 years ago|reply
Well, he said he types 120 wpm, he was transcribing a presentation he already gave, and it has been a month since he wrote anything. Not that hard.
[+] babo|18 years ago|reply
It's a transcript of an hour long talk, so it's not that much as that and worse to read.
[+] eb|18 years ago|reply
+1 for the first person that posts a summary.
[+] Xichekolas|18 years ago|reply
Here is your opportunity to brush up on your Markov skills. Feed his post in as the text corpus, then generate the first 250-500 words. Should give you something at least passable.
[+] tlrobinson|18 years ago|reply
Rhino is cool, and useful.

We're actually using it in production for a couple things.

[+] aswanson|18 years ago|reply
Drunken, entropic rambling.
[+] edw519|18 years ago|reply
First. (You said "first". You said nothing about quality.)

To get from 11,494 words to 400 words, every 29th word:

Rhinos — it's bite-sized of find transcribing rest... a (out about been make of not. nice. through drive JavaScript you, help JVM your of top who Empire machines don't his get. it's last tent... And at the people. of And single of best this talk hard!" dinner well, vs. And And you'll but introduced of of that's do talk to And finally that It's of is they Kuperberg's], a kind it: — running the change change the this for thick You to where are new. You're it, spells to them recognize inadvertent: do a you Note: same access with client; it's we Google want People picked this right, do it Yeah. the C mean, have you for proof I I a it's which tried wrote Sure, right? But rehash compilers, ever on It's we of the Wow. there's "Make came So You ability for you now or do but in things. to So function, just bit to welcome to by "JVM So blocks little compare stank. were it weighted comparisons much to leave an think work match addChild(), people are it, is But they A fun! The who science said, probably freaking You these he implement where application not not string language, that, The Unit I thinks languages] testing (pointed if on have it conflicting [Java] JavaScript cool. bottom Java literal using right? a called hundreds now Subclassing! And And you extent, work when you you're And still room There're you I'm shortly got Ruby": of didn't really to lost sort not So widely The languages. their doing you people, Right? matter mind. Mmmmm, of Scala's language a very system this types Haskell.] like, hear dynamic performance. know tigers and not let's PHP. and static "Well! fun tiger need It's x) using They Engineering camp what this extra story terms The maybe like, much the have got to JavaScript up it that whatever think. here... You this Java a it, In almost in thing> — and put species. and JSON sometimes for working pretty get embed C# this That Now labels, to — Language a is bytecode. [roughly] you pretty pop, interpreter fast. allocation. objects]. comparison] provable it's And down You'll it's can true. code because Ajax So Which And a says, you try be and RnR], there by think compilers folks. don't so to quickly, Google is: not have? There brought to They're directions bugs. in thank

[+] DanielBMarkham|18 years ago|reply
I ran this through an automated text summarizer.

Didn't make much sense then, either. Best I got was a discussion on languages running on top of the JVM and a mention of PG.

[+] earthboundkid|18 years ago|reply
OS X's Summarize service, by sentence:

> Basically I argued in that talk — successfully at Stanford, so I think that was... something — that for just-in-time compilers, it's becoming pretty clear, they have a lot better access, a lot better data at runtime about how you're actually using your program right now than the compiler ever had.

By paragraph:

> Case in point? Regular expressions. (raise hand) Who likes to write their own giant deterministic finite automata to do string matching? Heh. It's weird — nobody raised their hand.

So, something about people not wanting to write their own compilers?