Brendan on
JavaScript 1, 2, and in between
.
"Too many of the JS/DHTML toolkits have the "you must use our APIs for everything, including how you manipulate strings" disease. Some are cool, for example
TIBET
, which looks a lot like Smalltalk. Some have real value, e.g.
Oddpost
, which Yahoo! acquired perhaps as much for its DHTML toolkit as for the mail client built on that toolkit."
- JS is not going away, so it ought to evolve.
- JS does not need to become Java, or C#, or any other language.
- JS does need some of its sharp corners rounded safely.
- JS should make it trivial to produce or consume a "package" of useful script that presents a consistent interface to consumers, even as its implementation details and new interfaces evolve to better meet existing requirements, and to meet entirely new requirements. In no case should internal methods or properties be exposed by default.
One sharp corner that I would like rounded safely would be to make that methods can be added to the Object and Array prototype without breaking for/in loops. The beauty of Javascript is that additional methods like String.trim() and String.md5() can easily be added to the existing prototype via your own script library. One way to make the same possible for the Array and Object prototypes would be allowing the enumeration to be suppressable on a per property bases...
dontenum Array.prototype.contains
...as recommended by
Douglas Crockford
.
Regarding reserved identifiers, it certainly seems inconsistent to allow...
var foo = {'var':bar};
return foo['var'];
...while...
var foo = {var:bar};
return foo['var'];
var foo.var = bar;
return foo.var;
...are not allowed.
14.06.2005, 07:56
|
> Mac OS X spreading like wildfire
|
> Trois petits filous à Faoug
|
> Jackrabbit JSR 170
|
> Rich components for HTML 5
|
> More Java Harmony
|
> Mac goes Intel
|
> Google goes Rumantsch
|
> Oxymoronic Swiss-EU relations
|
> Rico and Prototype Javascript libraries
|
> Paul Klee - An intangible man and artist
|
> Incrementalism in the Mozilla roadmap
|
> Mocha multi-threading
|
> Moving towards OpenMocha
|
> Google goes Portal
|
> What Bush doesn't get
|
> Unique and limited window of opportunity
|
> Persisting Client-side Errors to your Server
|
> Dive Into Greasemonkey
|
> Brown bears knock on Switzerland's door
|
> The experience to make what people want
|
> "Just" use HTTP
|
> Yes, what is gather?
|
> A Free Song for Every Swiss Citizen
|
> Java in Harmony
|
> Jan getting carried away
|
> Evil Google Web Accelerator?
|
> JSON.stringify and JSON.parse
|
> Ajax for Java
|
> The launching of launchd
|
> Timeless RSS
|
> Kupu
|
> SNIFE goes Victorinox
|
> AJAX is everywhere
|
> Papa Ratzi
|
> How Software Patents Work
|
> Ten good practices for writing Javascript
|
> Free-trade accord with japan edges closer
|
> Mocha at a glance
|
> Adobe acquires Macromedia
|
> Safari 1.3
|
> View complexity is usually higher than model complexity
|
> Free Trade Neutrality
|
> SQL for Java Objects
|
> Security Bypass
|
> Exactly 1111111111 seconds
|
> Kurt goes Chopper
|
> Choosing a Java scripting language
|
> Spamalot's will get spammed a lot
|
> The visual Rhino debugger
|
> The Unix wars
|
> EU-Council adopts software patent directive
|
> FreeBSD baby step "1j"
|
> Never trust a man who can count to 1024 on his fingers
|
> Visiting the world's smallest city
|
> Finally some non-MS, non-nonsense SPF news
|
> Swiss cows banned from eating grass
|
> Ludivines, the "Green Fairy" of absinthe
|
> First Look At Solaris 10
|
> EU Commission Declines Patent Debate Restart
|
> Alan Kay's wisdom guiding the OpenLaszlo roadmap towards Mocha?
|
> 1 Kilo
|
> Re: FreeBSD logo design competition
|
> Schweizer Sagen
|
> Europas Eidgenossen
|
> Art Nouveau La Chaux-de-Fonds 2005-2006
|
> XMLHttpRequest glory
|
> The Beastie Silhouette
|
> The Number One Nightmare
|
> Safe and Idempotent Methods such as HEAD and TRACE
|
> Sorry, you have been verizoned.
|
> Daemons and Pixies and Fairies, Oh My!
|
> Sentient life forms as MIME-attachments: RFC 1437
|
> Anno 2004: CZV
|
> Web Developer Extension for Firefox
|
> Refactoring until nothing is left
|
> Brendan, never tired of providing Javascript support
|
> Catching XP in just 20 Minutes
|
> Designing the Star User Interface
|
> Rhino, Mono, IKVM. Or: JavaScript the hard way
|
> Re: SCO
|
> Judo
|
> Convergence on abstraction and on browser-based Console evaluation
|
> Today found out that inifinite uptimes are still an oxymoron
|
> New aspects of woven apps
|
> Original Contribution License (OCL) 1.0
|
> Unified SPF: a grand unified theory of MARID
|
> BSD is designed. Linux is grown.
|
> 5 vor 12 bei 10 vor 10
|
> Mocha vs Helma?
|
> Schattenwahrheit: Coup d'etat underway against the Cheney Circle?
|
> Abschluss Bilaterale II Schweiz-EU
|
> From Adam Smith to Open Source
|
> Linux - the desktop for the rest of them
|
> Big Bang
|
> Leaky Hop Objects
|
> Return Path Rewriting (RPR) - Mail Forwarding in the Spam Age
|
> Microsoft Discloses Huge Number Of Windows Vulnerabilties
|
> Steuerungsabgabe statt Steuern
|
> Anno 2003: deployZone
|
> The war against terror
|
> The war against terror (continued)
|
> The relativity of Apple's market share
|
> Are humans animals?
|
> Server-side Javascript
|
> Democracy Now!
|
> The Cluetrain Manifesto
|
> Anno 1999: Der Oberhasler
|
> Anno 1998: volksrat.ch
|
> Fan traces "lost" singer Rodriguez
|
> Anno 1998: crossnet
|
> Think different
|
> The right time to buy Apple stock
|
> Geschwindigkeit vs Umdrehungszahl
|
> Anno 1997: Xmedia
|
> "The meaning of life is to improve the quality of all life"
|
> Cute Barristas at Peet's Coffee
|
> Anno 1996: CZV
|
> Alternative 1995
|
> BZ Internet Cafe
|
> Xjournal
|
> How do I set a DEFAULT HTML-DOCUMENT?
|
> Searching Gopherspace
|
> Crossnet - der kollektive Intellekt der Schweiz
|
> Global Screen Design Services
|
> NEW-LIST digests
|
> ACTIV-L Digest
|
> Eternal September
|
> AOL expanding Internet services
|
> Anno 1993: Macro-micro navigator
|
> Freude herrscht!
|
> Anno 1992: Intouch i-station
|
> You register me in 50 states
|
> Anno 1991: mediacube
|
> Friedrich Dürrenmatt - Die Schweiz als Gefängnis
|
> Anno 1990: RasterOps
|
> Enable the Creative
|
> Photoshop Startup Memories and First Demo
|
> Anno 1989: Lambada by Kaoma
|
> Anno 1988: Perfect by Fairground Attraction
|
> Bürgerbrief
|
> Morgana - Selling Digital-Font based Sign-writing
|
> Macworld Expo 1988 Amsterdam
|
> Acorn Archimedes RISC Technology
|
> Anno 1987: Knowledge Navigator
|
> Anno 1986: Max Headroom in the News
|
> FidoNet
|
> Anno 1985: Amiga 1000
|
> Hello World on C128 in CP/M Mode
|
> Analog Desktop Publishing in 1984
|
> Anno 1982: Vic-20
|
> Gamchi
|
> Postel's Law
|
> The Future Is Unwritten
|
> Earth Mother and Fortieth Floor by Lesley Duncan
|
> La Linea by Osvaldo Cavandoli
|
> CoinFest 2016, April 5-10, Mont-Soleil
|
> California by Joni Mitchell
|
> Supplement to the Whole Earth Catalog
|
> Neil Young
|
> Kurdistan-reve-de-Printemps
|
> Whole Earth Catalog
|
> Anno 1968: Mony Mony and People Got to Be Free
|
> August 28th 1968: William Buckley Vs Gore Vidal
|