FROM : John Stiles
DATE : Tue Sep 11 19:27:28 2007
The reason to ship it as an official API is that if you bundle in some
third-party solution, it won't improve with time. If Apple does it, they
can improve it in Leopard or 10.6, and all apps that adopted the
official API suddenly get the benefits.
Anyway, bundling in third-party libraries has plenty of downsides. If
ten apps do it, you've got the same chunk of code loaded ten times in
RAM instead of once. It takes more disk space and slows down app loading
times as well. Not all developers will keep their apps up-to-date with
the latest version of the third-party library, so security
vulnerabilities and perf issues from older versions of the third-party
code will always be an issue. All minor concerns when expressed
individually, sure, but these are the reasons we have official frameworks.
Alastair Houghton wrote:
> On 11 Sep 2007, at 18:05, John Stiles wrote:
>
>> Well, I think the point of APIs is kind of the opposite of what
>> you're talking about, though. You can invent an API and ship it,
>> even if version 1.0 is maybe not perfect from a performance
>> perspective, and then in version 2.0, you can keep the same
>> interface to the outside world but improve the guts so that they run
>> faster or use less memory or whatever.
>
>
> That's all true, but why release an implementation at all if there
> are third-party alternatives that are just as simple to use and if
> your implementation has no performance or other advantages?
> Particularly if there's a risk (and I think there is) that the API
> you come up with might have to change because of major architectural
> work going on on the underlying ICU code.
>
> In such a situation, I'd rather they didn't rush. Apparently Mark
> Munz feels differently, but I don't think we're going to achieve
> anything useful by debating the matter further.
>
> Right now there isn't an NSRegularExpression, and it looks like
> there's more work necessary before we get one. So we can use one of
> various third-party frameworks, or directly use one of various third-
> party libraries.
>
> Kind regards,
>
> Alastair.
>
> --
> http://alastairs-place.net
>
>
DATE : Tue Sep 11 19:27:28 2007
The reason to ship it as an official API is that if you bundle in some
third-party solution, it won't improve with time. If Apple does it, they
can improve it in Leopard or 10.6, and all apps that adopted the
official API suddenly get the benefits.
Anyway, bundling in third-party libraries has plenty of downsides. If
ten apps do it, you've got the same chunk of code loaded ten times in
RAM instead of once. It takes more disk space and slows down app loading
times as well. Not all developers will keep their apps up-to-date with
the latest version of the third-party library, so security
vulnerabilities and perf issues from older versions of the third-party
code will always be an issue. All minor concerns when expressed
individually, sure, but these are the reasons we have official frameworks.
Alastair Houghton wrote:
> On 11 Sep 2007, at 18:05, John Stiles wrote:
>
>> Well, I think the point of APIs is kind of the opposite of what
>> you're talking about, though. You can invent an API and ship it,
>> even if version 1.0 is maybe not perfect from a performance
>> perspective, and then in version 2.0, you can keep the same
>> interface to the outside world but improve the guts so that they run
>> faster or use less memory or whatever.
>
>
> That's all true, but why release an implementation at all if there
> are third-party alternatives that are just as simple to use and if
> your implementation has no performance or other advantages?
> Particularly if there's a risk (and I think there is) that the API
> you come up with might have to change because of major architectural
> work going on on the underlying ICU code.
>
> In such a situation, I'd rather they didn't rush. Apparently Mark
> Munz feels differently, but I don't think we're going to achieve
> anything useful by debating the matter further.
>
> Right now there isn't an NSRegularExpression, and it looks like
> there's more work necessary before we get one. So we can use one of
> various third-party frameworks, or directly use one of various third-
> party libraries.
>
> Kind regards,
>
> Alastair.
>
> --
> http://alastairs-place.net
>
>






Cocoa mail archive

