On Feb 1, 2006, at 12:48 AM, Christian Cruz wrote:
I have not background at all in programming, so I have some questions:
1.- Can I start learning Xcode from the scratch?
Of course. You can learn anything anywhere, if you're willing to
work hard enough.
But one problem you've already run into: XCode is not a language.
It's a tool that allows you to write code in a variety of languages.
There are three levels here: the software tools, the language, and
the program itself.
An analogy: you can use Pages to write novels in English. There are
three levels here, too: the software tool (Pages), the language
you're writing in (English), and the job itself (writing a novel).
Moving from Pages to Word or Mellel means learning a few quirks of
the software, but you're still writing a novel in English. And if
you happen to be a polyglot, writing a novel in French is still
writing a novel, and a lot of the problems of writing a novel --
plotting, pacing, characterization, internal consistency -- remain no
matter what language you're working in. And some things are easier
to express in some languages, because of the features of the
language: you can't be easily ambiguous about the gender of a friend
or a cousin in French, for instance, because of the way the language
works, so if the plot of your detective novel depends on that, then
you'll find yourself writing a lot of circumlocutions.
Learning to program and learning a specific programming language are
very different things; they're often confused, because you need to
learn at least one programming language in order to learn to program,
and so the learning processes overlap. Learning to program involves
things like breaking down problems into smaller steps, finding
appropriate models for whatever it is you're trying to do, and
tracking down mismatches between the real world and the model.
Learning a programming language involves finding out how to represent
the problem to the computer in a way that the computer can understand
it. The difficult problems of programming persist across languages,
though quirks and idiosyncrasies of some languages make some
approaches better than others.
So the answer to your question: you can learn programming from
scratch, and you can learn Objective-C and Cocoa from scratch, and
you can learn XCode from scratch. You won't get instant
gratification -- it takes knowledge and experience to become a
competent programmer, let alone a good one -- but you certainly can
2.- Should I prefer something easier and "dummy proof" like RealBasic.
The hard part is the programming, and RealBasic won't save you from
that. There are a lot of fiddly details of coding that RealBasic may
save you from, though. If you're in it for the long haul, you'll
probably find you're better off with Objective-C or C++ than with
RealBasic, but if you're in it for the long haul you'll probably wind
up picking up at least a half-dozen languages.
3.- Can anyone recommend me a good book to start a self teaching
If you want to understand programming really deeply, there are few
better books than _The Structure and Interpretation of Computer
Programs_. It's a college textbook, not really designed primarily
for self-study, but if you work your way through it carefully and
make sure you understand every point along the way, by the time you
finish it you'll be ahead of 98% of the people with computer science
degrees out there.
If you understand programming already, _Cocoa Programming for Mac OS
X_ is an excellent introduction to Objective-C and Cocoa. It assumes
you know how to program already, though, and it focuses on details
specific to Objective-C and Cocoa.
Aside from that -- I recall _C: How to Program_ as being particularly
good for beginners when I was tutoring C programmers, but that was a
long time ago and later revisions may have altered it. (I have the
second edition on my shelf; they're up to the fourth edition now.)
Objective-C is a superset of C, so learning C well is not wasted
effort; and a good basic programming book that walks you through the
basic concepts in C is probably a very good place to start, whether
you keep on using C or move on to Objective-C or C++ (or even Java)
So I'd recommend starting with _C: How to Program_, following it with
a mix of _The Structure and Interpretation of Computer Programs_ and
_Cocoa Programming for Mac OS X_.
4.- It is possible to really learn Xcode without experience in
programming, the closest thing to a code that I've seen was watching
the Matrix movies.
That is sort of like asking "Is it possible to really learn Pages
without experience in writing?" Sure, but since XCode is a tool to
let you write programs, you'll learn to program, you'll learn a
language, and you'll learn XCode. You can *start* learning XCode
without much experience programming, but you won't get very far; just
as you can learn about Pages without having much writing experience,
but you'll learn more about it as you actually use it to write.
5.- I can write my own scripts using lingo, but I think that does not
count as real programming, I'm right?
Based on what I've seen of Lingo, it's certainly possible to use it
as a general programming language, but it's a chore to do so. I
suspect that what you've already written are most accurately
described as first steps in programming. Whether that's "real
programming" or not is pretty much irrelevant; they're *small*
programs, first steps, and one of the big problems in programming is
learning how to write big programs that don't collapse under the
weight of their own complexity.
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden