FROM : Michael Vannorsdel
DATE : Sun May 18 19:56:59 2008
Well what can you do. Not sure why but lately many newcomers have
been showing up and complaining about Cocoa's difficulty. I'm not
sure if they've done GUI work before, but I remember my days with
PowerPlant and spending a massive amount of time just creating the GUI
and the code to back it. Perhaps this is what gave me the sense of
how much time Cocoa saves. It's easy to take things like webviews for
granted. I can guess the amount of code Apple wrote to back those to
work out of the box is pretty massive and complicated.
If programming was just drag and drop and clicking some option boxes
users could just write their own programs. But the fact is
programming is far more complicated than that (and probably will be
for a long time) and making such a framework would take a decade or
more, by which time it would be obsolete and outdated.
For professionals the GUI is a smaller part of development thanks to
time saved by Cocoa. If I have to write my own controls from scratch,
I will as it's what programmers do, write code. But I'm thankful 99%
of the time I can use something from Cocoa that comes with much of the
code already done for me.
I guess some people are upset Cocoa doesn't do enough, or all, of the
work for them. I'm more of the people happy Cocoa does any work for
me at all. If it saves me time, it's a good thing.
On May 18, 2008, at 10:41 AM, Jens Alfke wrote:
> "Hobbyists"? I think "professionals" is more accurate — especially
> since in the early days of the Mac you had to spend hundreds of
> dollars to become a developer and get access to tools and
> documentation.
>
> I can see your point about obsessive hackers having the stamina to
> overcome complicated APIs, but any platform vendor's main objective
> in developer tools is to target professional developers who will
> create the products that make the platform attractive to customers.
> "Professional" doesn't necessarily imply a big company; I refer
> equally to startups and indie outfits, anyone seriously devoted to
> creating a product.
>
> In Apple's defense, the task of implementing a sophisticated GUI on
> such limited computers was extremely difficult. The top goals were
> usability, decent performance, and affordable price. That left no
> leeway for making the APIs themselves easy to use — the niceties we
> take for granted like object-oriented programming would have used up
> way too much of that 128k of RAM and 64k of ROM.
>
> (Yes, some of the first GUIs were written in the first OOP language,
> Smalltalk. But the Xerox computers that ran Smalltalk-80 cost
> $10,000 or more; the ones that ran it with any kind of decent
> performance (the "Dorado") cost $50,000 and were basically
> supercomputers. They all had ten times as much RAM as the first Mac,
> and had custom CPUs with programmable microcode optimized for
> Smalltalk. Even so, performance was much worse than the original
> Mac, and the GUI was much cruder and harder to use. I'd already been
> using Smalltalk-80 when the first Mac came out, and the Mac's speed
> and aesthetics were just jaw-dropping.)
>
> Anyway.
>
> I have to say I find this whole discussion frustrating. The attitude
> of some people seems to be that writing computer programs, of
> arbitrary complexity, should be as easy as using a word processor.
> That's a Utopian goal at best, and more generally just naïve. Of
> course we should be trying to make the APIs and tools and
> documentation more useable; that's a constant task, and a very
> difficult one, and one Apple's doing a good job at. (The complexity
> under the hood is terrifying, and it's already been covered up
> enough that in an hour an experienced developer can throw together
> an app that fifteen years ago would have sold for $100.)
>
> Face it, any sort of serious creative endeavor is hard! There's no
> way around it. And the hardest part is learning the techniques and
> tools. If you wanted to build a robot, play Vivaldi on the violin,
> design a house, paint landscapes, or cure Ebola, you'd have to
> accept that it would take months or years of serious study, that the
> tools and documentation would sometimes be hard to use, and you'd
> have to put up with frustration before you mastered the skills.
>
> Why on earth is writing the best GUI applications in the world
> supposed to be trivial by comparison? Maybe I'm taking this too
> personally, but I sense a subtext that some people think the task of
> software design itself is somewhat trivial, more like programming a
> VCR than like architecture or painting or chemistry.
DATE : Sun May 18 19:56:59 2008
Well what can you do. Not sure why but lately many newcomers have
been showing up and complaining about Cocoa's difficulty. I'm not
sure if they've done GUI work before, but I remember my days with
PowerPlant and spending a massive amount of time just creating the GUI
and the code to back it. Perhaps this is what gave me the sense of
how much time Cocoa saves. It's easy to take things like webviews for
granted. I can guess the amount of code Apple wrote to back those to
work out of the box is pretty massive and complicated.
If programming was just drag and drop and clicking some option boxes
users could just write their own programs. But the fact is
programming is far more complicated than that (and probably will be
for a long time) and making such a framework would take a decade or
more, by which time it would be obsolete and outdated.
For professionals the GUI is a smaller part of development thanks to
time saved by Cocoa. If I have to write my own controls from scratch,
I will as it's what programmers do, write code. But I'm thankful 99%
of the time I can use something from Cocoa that comes with much of the
code already done for me.
I guess some people are upset Cocoa doesn't do enough, or all, of the
work for them. I'm more of the people happy Cocoa does any work for
me at all. If it saves me time, it's a good thing.
On May 18, 2008, at 10:41 AM, Jens Alfke wrote:
> "Hobbyists"? I think "professionals" is more accurate — especially
> since in the early days of the Mac you had to spend hundreds of
> dollars to become a developer and get access to tools and
> documentation.
>
> I can see your point about obsessive hackers having the stamina to
> overcome complicated APIs, but any platform vendor's main objective
> in developer tools is to target professional developers who will
> create the products that make the platform attractive to customers.
> "Professional" doesn't necessarily imply a big company; I refer
> equally to startups and indie outfits, anyone seriously devoted to
> creating a product.
>
> In Apple's defense, the task of implementing a sophisticated GUI on
> such limited computers was extremely difficult. The top goals were
> usability, decent performance, and affordable price. That left no
> leeway for making the APIs themselves easy to use — the niceties we
> take for granted like object-oriented programming would have used up
> way too much of that 128k of RAM and 64k of ROM.
>
> (Yes, some of the first GUIs were written in the first OOP language,
> Smalltalk. But the Xerox computers that ran Smalltalk-80 cost
> $10,000 or more; the ones that ran it with any kind of decent
> performance (the "Dorado") cost $50,000 and were basically
> supercomputers. They all had ten times as much RAM as the first Mac,
> and had custom CPUs with programmable microcode optimized for
> Smalltalk. Even so, performance was much worse than the original
> Mac, and the GUI was much cruder and harder to use. I'd already been
> using Smalltalk-80 when the first Mac came out, and the Mac's speed
> and aesthetics were just jaw-dropping.)
>
> Anyway.
>
> I have to say I find this whole discussion frustrating. The attitude
> of some people seems to be that writing computer programs, of
> arbitrary complexity, should be as easy as using a word processor.
> That's a Utopian goal at best, and more generally just naïve. Of
> course we should be trying to make the APIs and tools and
> documentation more useable; that's a constant task, and a very
> difficult one, and one Apple's doing a good job at. (The complexity
> under the hood is terrifying, and it's already been covered up
> enough that in an hour an experienced developer can throw together
> an app that fifteen years ago would have sold for $100.)
>
> Face it, any sort of serious creative endeavor is hard! There's no
> way around it. And the hardest part is learning the techniques and
> tools. If you wanted to build a robot, play Vivaldi on the violin,
> design a house, paint landscapes, or cure Ebola, you'd have to
> accept that it would take months or years of serious study, that the
> tools and documentation would sometimes be hard to use, and you'd
> have to put up with frustration before you mastered the skills.
>
> Why on earth is writing the best GUI applications in the world
> supposed to be trivial by comparison? Maybe I'm taking this too
> personally, but I sense a subtext that some people think the task of
> software design itself is somewhat trivial, more like programming a
> VCR than like architecture or painting or chemistry.






Cocoa mail archive

