From: Ry Nohryb on
On Jul 26, 2:20 pm, Tim Streater <timstrea...(a)waitrose.com> wrote:
> In article
> <7535b43b-6cff-46db-83f8-52fb6f992...(a)i31g2000yqm.googlegroups.com>,
>  Ry Nohryb <jo...(a)jorgechamorro.com> wrote:
>
> > -People will switch to another browser, one that works, of which there
> > are at least four very nice ones: FireFox, Opera, Safari and Chrome.
>
> and iCab.

Yep. But including derivates such as flock, seamonkey, omniweb, etc.
makes the list of browsers much longer, and, AFAIK, the truly original
iCabs ended in ~ 2007, and the latest iCabs (both in the Mac and in
the iPhone) are no more than ~ a wrapped up [WebKit +
JavaScriptCore]...
--
Jorge.
From: Tim Down on
On Jul 26, 1:16 pm, Ry Nohryb <jo...(a)jorgechamorro.com> wrote:
> LET'S MAKE THIS CLEAR:
>
> Creating circular references is a perfectly OK thing to do, what's
> BOTCHED is/are MICROSOFT's INTERNET EXPLORER (all versions): its -
> their- garbage collector which is broken, and that's what produces the
> memory leaks. It's not my/your/our fault. It's solely Microsoft's.
>
> OTOH, whenever you do extra work and code fixes/workarounds for these -
> IE's- memory leaks in your page/web app, you're:
>
> 1.- Wasting your time.
> 2.- Wasting (somebody's) money.
> 3.- Making your code more complex, unnecessarily.
> 4.- Aggravating the problem, because Microsoft won't ever feel the
> need to fix what you're fixing for them, and for free.
>
> So, if you/we/them don't ever fix their (IE's) bug(s), people will end
> up, sooner or later, seeing that The Web works well everywhere but in
> IEs, and either :
>
> -Microsoft will have to fix their browsers' bugs -finally-,
>
> or,
>
> -People will switch to another browser, one that works, of which there
> are at least four very nice ones: FireFox, Opera, Safari and Chrome.
>
> Have a nice day.
> --
> Jorge.

Microsoft now seem to be following a strategy of releasing new and
dramatically improved versions of Internet Explorer and encouraging
people to switch to them. What else do you want them to do?

Tim
From: Matt Kruse on
On Jul 26, 7:16 am, Ry Nohryb <jo...(a)jorgechamorro.com> wrote:
> Creating circular references is a perfectly OK thing to do, what's
> BOTCHED is/are MICROSOFT's INTERNET EXPLORER (all versions): its -
> their- garbage collector which is broken, and that's what produces the
> memory leaks. It's not my/your/our fault. It's solely Microsoft's.

Didn't they address the circular reference problem with host objects
in one of their jscript updates? Even for IE6? I don't remember.

> OTOH, whenever you do extra work and code fixes/workarounds for these -
> IE's- memory leaks in your page/web app, you're:
> 1.- Wasting your time.
> 2.- Wasting (somebody's) money.
> 3.- Making your code more complex, unnecessarily.
> 4.- Aggravating the problem, because Microsoft won't ever feel the
> need to fix what you're fixing for them, and for free.

As others have said, some of us still have to code for IE6 because
it's the default browser used in corporate environments.

As my recent project has been a browser extension for FF/Chrome/Safari/
Opera, I've been very happy to not worry at all about this problem. It
makes coding a little more elegant when you can write closures and
never have to worry about memory leaks.

(ps - other browsers certainly have memory leaks of their own, but
unless I am coding specifically to support IE6, I don't do any work-
arounds. I figure that the browser vendors will solve the problem
eventually, as long as I'm using valid javascript syntax.)

Matt Kruse
From: Ry Nohryb on
On Jul 26, 4:09 pm, Tim Down <timd...(a)gmail.com> wrote:
> On Jul 26, 1:16 pm, Ry Nohryb <jo...(a)jorgechamorro.com> wrote:
>
>
>
>
>
> > LET'S MAKE THIS CLEAR:
>
> > Creating circular references is a perfectly OK thing to do, what's
> > BOTCHED is/are MICROSOFT's INTERNET EXPLORER (all versions): its -
> > their- garbage collector which is broken, and that's what produces the
> > memory leaks. It's not my/your/our fault. It's solely Microsoft's.
>
> > OTOH, whenever you do extra work and code fixes/workarounds for these -
> > IE's- memory leaks in your page/web app, you're:
>
> > 1.- Wasting your time.
> > 2.- Wasting (somebody's) money.
> > 3.- Making your code more complex, unnecessarily.
> > 4.- Aggravating the problem, because Microsoft won't ever feel the
> > need to fix what you're fixing for them, and for free.
>
> > So, if you/we/them don't ever fix their (IE's) bug(s), people will end
> > up, sooner or later, seeing that The Web works well everywhere but in
> > IEs, and either :
>
> > -Microsoft will have to fix their browsers' bugs -finally-,
>
> > or,
>
> > -People will switch to another browser, one that works, of which there
> > are at least four very nice ones: FireFox, Opera, Safari and Chrome.
>
> > Have a nice day.
> > --
> > Jorge.
>
> Microsoft now seem to be following a strategy of releasing new and
> dramatically improved versions of Internet Explorer and encouraging
> people to switch to them. What else do you want them to do?

I'd just like them to fix their most ugly and long-standing bugs
(circular references, named function expressions, innerHTML, host-
objects' eccentricity, etc.), and I'd like if it didn't take them 10+
years to fix them.

And I'd like full, 100% compatible, bug-free HTML5 support. And the
<canvas>, please !

:-)
--
Jorge.
From: Asen Bozhilov on
Ry Nohryb wrote:

> Creating circular references is a perfectly OK thing to do, what's
> BOTCHED is/are MICROSOFT's INTERNET EXPLORER (all versions): its -
> their- garbage collector which is broken, and that's what produces the
> memory leaks. It's not my/your/our fault. It's solely Microsoft's.

Why do you think that is good programming style? It's always good idea
the programmer to use design which avoids circular reference pattern.
Circular reference pattern is main problem of reference counting GC
algorithms.
<URL: http://en.wikipedia.org/wiki/Reference_counting />

Probably you will ignore IE <= 7 users, but if you write for any
environment with reference counting GC you will have the big issue.
The good habits are the best solution in this case. I really don't
care about circular reference pattern, just because I don't use it.
The circular reference pattern must be fixed during design stage of an
application.