• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: noob
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: noob


  • Subject: Re: noob
  • From: Laurence Harris <email@hidden>
  • Date: Tue, 18 Dec 2007 16:27:50 -0500


On Dec 18, 2007, at 8:34 AM, Alastair Houghton wrote:

On 17 Dec 2007, at 02:53, draper jones wrote:

i'm a noob to programming. where should i begin to learn or what book or books should i get????

You *might* be happier learning an interpreted language first, perhaps Python or RealBASIC or something, just to get used to the ideas behind programming, especially if you've never written any programs before. Certainly interpreted languages are less daunting and they have a faster turnaround, which makes it easier to learn. They also have the merit that they generally don't crash outright, and when something does go wrong you usually have better debugging facilities available. I started with BASIC in the early 1980s, so the idea of starting out with an interpreted language is one that I have some familiarity with.


Otherwise I recommend:

1. Learn ANSI C. *Not* C++, and not Objective-C (not straight away, anyway). **MAKE SURE** that you understand pointers, strings and arrays because those are the things people have most trouble with and they're actually very straightforward when you understand them. If you're confident writing e.g. a program that can read ten numbers from the terminal and print the largest, smallest, arithmetic mean, mode, etcetera, it will stand you in good stead for Objective-C. I think the importance of being able to write simple *non-graphical* programs like this is often understated.

2. (For the Mac) Learn Objective-C and Cocoa. Because ObjC is a *thin* wrapper over ANSI C, you'll find the new concepts easy to pick up. If you try to learn ObjC first, you may find that you don't understand the basics of C, which will cause you problems in some areas.

3. If you want, learn C++. C++ can be useful sometimes, and many Mac developers use it extensively in their apps. But make no mistake; C++ is an unpleasantly complicated language that isn't even understood by most of its practitioners. While it is undeniably powerful and sometimes very useful, I would be inclined to avoid it where possible. If you want to work on Windows programs, you'll probably need basic C++ know-how (or, for some newer software, C#). On the Mac, it isn't really necessary to learn C++ straight away. You'll find C++ easier to learn after ObjC because many of the OO concepts from ObjC exist in C++ also in one form or another.

Draper hasn't said what his programming goals are, and without knowing what he wants to do it seems like it would be hard to advise him on languages. If he's interested in Unix or generic programming, Obj-C doesn't seem like a good direction. If he's looking toward getting a programming job, C++ is a widely used language and isn't that hard to learn at the basic levels. If you want to be a guru on every aspect of it you have some serious learning ahead, but you don't need most of it to be able to write software using it. Why hasn't anyone asked the OP what kind of software he wants to write eventually? Or did I miss that?


[OT] Why would someone want an e-mail address like "sexyman11780?" LOL

Larry

_______________________________________________
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


References: 
 >noob (From: draper jones <email@hidden>)
 >Re: noob (From: Alastair Houghton <email@hidden>)

  • Prev by Date: Re: Xcode v2.5 no longer compiles project without errors
  • Next by Date: Re: Debugging/modifying 10.5 SDK linked project while booted into 10.4?
  • Previous by thread: Re: noob
  • Next by thread: Re[2]: noob
  • Index(es):
    • Date
    • Thread