Advertisement

03.20.2008 at 05:31AM PDT, ID: 23256608 | Points: 500
[x]
Attachment Details

learning objective-c - where to start?

hi experts

quite a long question, hence the 500 points. also an "advice" question, rather than a right or wrong, so points will go to whoever can help me out.

i'd really like your advice on learning Objective-C. i'm a Windows user, an internet application developer, expert in XHTML, CSS, JavaScript (a JavaScript "Master" on this site), thorough knowledge of PHP and MySQL, and have dabbled with Cold Fusion and ASP.

despite never owning a Mac, i love Apple products (i've had four iPods), and bought an iPhone the second it was available in the UK. i watched with great interest - to say the least - the Apple iPhone SDK press conference a couple of weeks ago, and i'd really like to move towards developing applications for the iPhone - the problem is, i have no experience of Objective-C or ANSI C for that matter.

so, what i'd like to know is this...

- to learn Objective-C, do i first need to pick up at least the fundamentals of ANSI C? or can i just jump straight into Objective-C, perhaps as a result of my previous "programming" experience (PHP, JavaScript)?
- i understand that the iPhone SDK will only run on Mac OS, but is there some way of developing Objective-C on a Windows machine while i'm learning (i want to see whether i actually *can* write Objective-C before i buy a Mac)?
- if you believe that i really should play with ANSI C first, how do i go about setting up an environment on a Windows machine, if this is at all possible?
- any other advice would be greatly appreciated.

thanks for listening

geordie007
Start your free trial to view this solution
Question Stats
Zone: Apple
Question Asked By: geordie007
Question Asked On: 03.20.2008
Participating Experts: 4
Points: 500
Views: 0
Translate:
Loading Advertisement...
03.20.2008 at 05:48AM PDT, ID: 21170689

All comments and solutions are available to Premium Service Members only.

Start your 7-day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
03.20.2008 at 07:50AM PDT, ID: 21172083

Rank: Guru

All comments and solutions are available to Premium Service Members only.

Start your 7-day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
05.02.2008 at 12:19AM PDT, ID: 21485019

All comments and solutions are available to Premium Service Members only.

Start your 7-day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
05.03.2008 at 01:12PM PDT, ID: 21493570

All comments and solutions are available to Premium Service Members only.

Start your 7-day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
 
Loading Advertisement...
Microsoft
  • Internet Protocols
  • Applications
  • Development
  • OS
  • Hardware
  • Windows Security
Apple
  • Operating Systems
  • Hardware
  • Programming
  • Networking
  • Software
Internet
  • Search Engines
  • File Sharing
  • WebTrends / Stats
  • Spy / Ad Blockers
  • Web Browsers
  • New Net Users
  • Web Development
  • Chat / IM
  • Anti Spam
  • Web Servers
  • Anti-Virus
  • Email Clients
Gamers
  • Tips
  • Online / MMORPG
  • Puzzle
  • Emulators
  • Action / Adventure
  • Role Playing
  • Consoles
  • Game Programming
  • Strategy
  • Sports
  • Misc
  • Computer Games
Digital Living
  • Hardware
  • Automotive
  • New Net Users
  • New Users
  • Software
  • Digital Music
  • Gaming World
  • Home Security
  • Apple
  • Networking Hardware
Virus & Spyware
  • Vulnerabilities
  • IDS
  • Encryption
  • Anti-Virus
  • Operating Systems Security
  • Software Firewalls
  • WebApplications
  • Cell Phones
  • Operating Systems
  • Internet
  • Hardware Firewalls
Hardware
  • Displays / Monitors
  • Handhelds / PDAs
  • Components
  • Peripherals
  • Laptops/Notebooks
  • Servers
  • Misc
  • Apple
  • Embedded Hardware
  • Networking Hardware
  • Storage
  • Desktops
  • New Users
Software
  • System Utilities
  • Industry Specific
  • Network Management
  • Photos / Graphics
  • Page Layout
  • VMware
  • Misc
  • Web Development
  • OS
  • CYGWIN
  • Voice Recognition
  • Virtualization
  • Message Queue
  • Quality Assurance
  • Security
  • Firewalls
  • MultiMedia Applications
  • Development
  • Database
  • Office / Productivity
  • Business Management
  • OS/2 Apps
  • Server Software
  • Internet / Email
ITPro
  • OS
  • Storage
  • Encryption
  • Operating Systems Security
  • Apple Hardware
  • Laptops & Notebooks
  • Servers
  • Networking Hardware
  • Peripherals
  • Devices
  • Displays / Monitors
  • WebTrends / Stats
  • Search Engines
  • Firewalls
  • Web Computing
  • WebApplications
  • IDS
  • Vulnerabilities
  • Email Clients
  • File Sharing
  • Spy / Ad Blockers
  • Web Browsers
  • Web Servers
  • Networking
  • Anti-Virus
  • Consulting
  • Chat / IM
  • Anti Spam
Developer
  • Web Servers
  • Web Browsers
  • Game Programming
  • Dev Tools
  • Industry Specific
  • Office / Productivity
  • Database
  • CYGWIN
  • Web Development
  • Search Engines
  • File Sharing
  • WebTrends / Stats
  • Programming
  • Content Management
  • Application Servers
  • Protocols
Storage
  • Removable Backup Media
  • Storage Technology
  • Servers
  • Grid
  • Remote Access
  • Backup / Restore
  • Misc
  • Hard Drives
OS
  • Miscellaneous
  • Security
  • Development
  • Linux
  • VMware
  • MainFrame OS
  • Unix
  • Apple
  • OS / 2
  • AS / 400
  • BeOS
  • Microsoft
  • VMS / OpenVMS
Database
  • Oracle
  • Miscellaneous
  • MySQL
  • Software
  • Sybase
  • Contact Management
  • PostgreSQL
  • Data Manipulation
  • Clarion
  • InterSystems Cache
  • Siebel
  • MUMPS
  • OLAP
  • SQLBase
  • SAS
  • GIS & GPS
  • 4GL
  • Berkeley DB
  • DB2
  • Informix
  • Interbase / Firebird
  • FoxPro
  • Reporting
  • LDAP
  • Filemaker Pro
  • MS SQL Server
  • dBase
  • MS Access
Security
  • Misc
  • Web Browsers
  • Software Firewalls
  • Operating Systems Security
  • File Sharing
  • Spy / Ad Blockers
  • Vulnerabilities
  • WebApplications
  • IDS
  • Anti-Virus
  • Encryption
  • Anti Spam
  • Email Clients
  • VPN
  • Chat / IM
Programming
  • Editors IDEs
  • Installation
  • Handhelds / PDAs
  • Multimedia Programming
  • System / Kernel
  • Automation
  • Algorithms
  • Game
  • Signal Processing
  • Project Management
  • Open Source
  • Database
  • Misc
  • Languages
  • Processor Platforms
  • Theory
Web Development
  • Scripting
  • Blogs
  • Web Servers
  • Software
  • Search Engines
  • Web Graphics
  • Web Services
  • Images
  • Internet Marketing
  • Images and Photos
  • Components
  • Document Imaging
  • Web Languages/Standards
  • Illustration
  • WebApplications
  • Fonts
  • WebTrends / Stats
  • Authoring
  • Digital Camera Software
  • Miscellaneous
Networking
  • Protocols
  • Apple Networking
  • Network Management
  • Message Queue
  • Application Servers
  • Content Management
  • File Servers
  • Email Servers
  • Misc
  • Java Editors & IDEs
  • Wireless
  • Networking Hardware
  • Backup / Restore
  • System Utilities
  • ISPs & Hosting
  • Web Servers
  • Storage Technology
  • Removable Backup Media
  • Servers
  • Web Computing
  • Broadband
  • Grid
  • OS / 2
  • Novell Netware
  • Unix Networking
  • Windows Networking
  • Security
  • Telecommunications
  • Operating Systems
  • Linux Networking
Other
  • Lounge
  • Business Travel
  • Community Support
  • New Net Users
  • Philosophy / Religion
  • Math / Science
  • Miscellaneous
  • URLs
  • Expert Lounge
  • Politics
  • Puzzles / Riddles
  • Automotive
Community Support
  • Suggestions
  • New to EE
  • New Topics
  • CleanUp
  • Announcements
  • General
  • Feedback
  • Input
  • EE Bugs
 
03.20.2008 at 05:48AM PDT, ID: 21170689
Hello,

you could just jump into Objective without knowledge of C. Programming experience is a plus.

The GNU compiler is able to generate Objective-C code.
For example, you could use the windows port DJGPP : http://www.delorie.com/djgpp/

With Leopard able has move Objective C to version 2.0 :
http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC

But Objective C without the library (frameworks) available on Apple platform is the same as using Java without the Java API...

I found this on google to complete my answer :
http://www.oreillynet.com/cs/user/view/cs_msg/22037

Best regards

Last solution is to install OS X on your windows machine (search google for howtos)
 
03.20.2008 at 07:50AM PDT, ID: 21172083

Rank: Guru

Objective-C is really a superset of C so knowing C really. But for learning OO is C not a very good tool Objective-C is but you have to do OO programming right from the start and that's not  that natural. E.g output can be simple done by printf functions, but then there might be the problems with manual memory allocation which now has changed in Leopard on Apples where GC is "build-in" but it's not elsewhere.

A good starting point to get into Objective-C is either an Objective-C tutorial
http://www.infobliss.at/objc/obc001_index.htm

or
http://objc.toodarkpark.net/

good for learning Objective-c is also learning Smalltalk. If you know Smalltalk you can start writing Objective-C code very soon. Of course you have to declare variables in Objective-C this can reach from very type specific (NSString eg) to totally unspecific id someThing;

apple also has a nice introduction to Objective C on their pages at:


http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/Introduction/chapter_1_section_1.html

and i think starting from somwhere on Wikipedia might be worth it also:
http://en.wikipedia.org/wiki/Objective-C

I really appreciate the wonderful C extension, which Objective-C is, but unfortunatly  the biggest competitor on the Market (well if one can talk from Market with FOSS) GNUstep is way to flaky, the tools are bad and especially debugging is extremly painful. Objective-C deserves better so best is to get some Mac OS X (IMH) because Objective C is really supported and used there

Regards
Friedrich
 
05.02.2008 at 12:19AM PDT, ID: 21485019
You don't necessarily need to learn ANSI C. There is a very good book called "Programming in Objective-C" that introduces without assuming prior knowledge of C, which all other tutorials you'll find will. You probably won't find it on the shelves at your local bookstore since it's five years old now, so if it's not at your neighborhood library you can conveniently order it from my Amazon affiliate store:

http://astore.amazon.com/alexcurylo-20/detail/0672325861/002-6088628-8359202

I recommend that you read that book some way or other, and then you'll have a handle on whether you dig this Objective-C thing at all. If you do, then buy a Mac. It is barely possible to scratch out ObjC programs under Windows with gcc-based toolchains ... but you really, seriously, don't want to bother with that. If you're interested in the iPhone, then get the iPhone SDK, don't waste time.

 
05.03.2008 at 01:12PM PDT, ID: 21493570
I'll second Alex's vote for Programming in Objective-C.  Note, though, that Kochan's main website is having trouble, and he has posted a .Mac homepage at http://web.mac.com/steve_kochan/My_Home/Objective-C.html with errata, example code, and answers to the exercises in the book.

~Mikey
 
 
20080236-EE-VQP-29 / EE_QW_2_20070628