Re: Cocoa approachable by non-programmers ?
Re: Cocoa approachable by non-programmers ?
- Subject: Re: Cocoa approachable by non-programmers ?
- From: Quinn Taylor <email@hidden>
- Date: Sun, 23 Feb 2003 23:29:27 -0700
Hi, Dennis & publiclook --
I have not as yet been able to devote the time necessary to learn
Objective-C, and I am a very young programmer and a full time student,
but some things that have been publicized about Obj-C have nonetheless
caught my attention. (All of the following counts under IMHO...)
Obj-C was written as a superset of standard ANSI C, with the difference
being the implementation of object-oriented coding. Thus, it has the
many benefits of C, with which you can write serious software that can
get down to the nitty-gritty, or just something simple. Also it has
the benefits of working with objects without the stifling overhead of
other languages. Currently I am studying Java at college, but it
doesn't appeal to me as much as C, just because it is more complicated
and harder to work with.
It's very true that Cocoa obviously favors Obj-C to Java, and there are
some good reasons. Java was marketed to the world as a
"platform-independent" language, but in all truth, it has yet to
fulfill that promise. The truth is that with multiple platforms in
existence, it is well nigh impossible to make something completely
standard, and Java is no exception. The thing is, simple programs work
great when run multi-platform. But more complicated stuff has to be
adapted for specific platforms. Also, Java doesn't have all the
advantages of a program compiled natively, such as accurate and
responsive interfaces and the like. Java was also created with the
Internet in mind, and its creators didn't want it to just become and
easy way to write viruses and other destructive programs for any
platform. So they denied access to a lot of fundamental system
functions. Cocoa allows you to use them, but once again, they will
only work on the Mac -- Windows has a different API.
Cocoa was created to be a simpler way to accelerate program
development. Thus, in many ways it is simpler than C and Obj-C. It is
not supposed to be incredibly complicated. I think that may be why so
many C-related questions are so common on the list -- people move
beyond difficulties with the actual creation tools and run into
questions that are more language-specific. Also, (from my
understanding) many of the things that come along free with Cocoa have
to do with advanced development, not strictly with C-language
functions. I mean, you'd still have to program the code in Obj-C.
(Wouldn't it be nice if it did it all for you?)
Personally, I find many things in programming to be confusing enough
when you first learn them, and in general it takes a lot of practice
and learning by trial and error. The development tools, in my opinion,
should NOT be so difficult that it gets in the way of your development;
so hard to use that just getting it to work prompts waves of questions.
I guess the relative lack of Cocoa-related questions is kudos to Apple
and their superior implementation. I personally am very impressed, and
I don't even know what I'm doing properly yet!
I might suggest getting a book such as "C Pocket Reference " (ISBN
0596004362, $10.47 on Amazon) that acts as a quick reference to C
language, as it would prove most helpful when you run up against C
functions that you don't recognize when learning Obj-C. Also "C Primer
Plus" for a thorough treatment.
It would be folly for anyone in the computer industry to be so
presumptuous as to say what is "the future" of programming, but C has
been around for 30 years, and Obj-C is definitely a strong contender.
They both stand a good chance of being around quite a few years down
the road. Sometimes you just have to bite the bullet and dive in. It
sure ain't painless, but it will be worth it!
Regards,
Quinn Taylor
On Sunday, February 23, 2003, at 09:24 PM, Denis Stanton wrote:
Hi publiclook (have you no name of your own?)
On Monday, February 24, 2003, at 03:45 PM, publiclook wrote:
As I have submitted some of the questions I think you are referring to
I think I can give at least on of the answers.
I'm attempting to learn Objective-C without previously using C.
I began programming in Fortran IV at University. They said Algol 68
(yes, thats 1968) was the future of programming, but when I got a job
in the real world it had to be Cobol. I spent 20 years in the Cobol
world and had brief encounters with RPG, Snobol, Lisp and Small (Algol
derivative, not smalltalk). Later I taught myself enough Pascal to
write a program that sold for enough to buy my first Mac. (128k RAM,
140k floppy disk, no hard drive, a bargain at #1,395 - $2,000).
Pascal, or maybe Modula II was the way of the future. I co-founded a
software development company, originally Macintosh targeted. We hired
programmers who worked in C, and later C++ but it was no longer my job
to program so C passed me by. I tried a few times, but there was
never time or incentive.
Three or four years ago, I became interested in WebObjects and was
happy to find that I could learn Java. About that time WebObjects was
being moved from Obj-C to Java and I welcomed this.
WebObjects is great, but I haven't found a single potential employer
that has heard of it. With OS X and Cocoa there seems to be a
opportunity for me to write programs again and maybe make an
application for sale. I would prefer to build on my Java experience,
buy it seems that Java is very much a second class citizen in the
Cocoa world so I'm learning Obi-C. The problem I encounter is that
Obj-C documenters assume they are talking to experienced C
programmers, rather than reluctant Java converts. I hate it when they
say "this is like printf", and nowhere does it say what "printf" is
like.
There is an argument that says I should learn C first. This is not a
bad idea, but I am aware that I would spend many hours learning to do
things that are given for free with Cocoa.
I am enjoying Obj-C, despite some agonizingly slow progress through
basic C stuff, but I do wonder if I'm working myself into an obscure
corner with a language that won't help my resume.
Denis Stanton
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.