Cocoa tips for PHP developers?
I'm a PHP developer, and I use the MVC pattern and object-oriented code. I really want to write applications for the iPhone, but to do that I need to know Cocoa, but to do that I need to know Objective-C 2.0, but to do that I need to know C, and to do that I need to know about compiled languages (versus interpreted).
Where should I begin?
Do I really need to begin with plain old "C", as Joel would recommend?
Caveat: I like to produce working widgets, not elegant theories.
php c objective-c cocoa
add a comment |
I'm a PHP developer, and I use the MVC pattern and object-oriented code. I really want to write applications for the iPhone, but to do that I need to know Cocoa, but to do that I need to know Objective-C 2.0, but to do that I need to know C, and to do that I need to know about compiled languages (versus interpreted).
Where should I begin?
Do I really need to begin with plain old "C", as Joel would recommend?
Caveat: I like to produce working widgets, not elegant theories.
php c objective-c cocoa
add a comment |
I'm a PHP developer, and I use the MVC pattern and object-oriented code. I really want to write applications for the iPhone, but to do that I need to know Cocoa, but to do that I need to know Objective-C 2.0, but to do that I need to know C, and to do that I need to know about compiled languages (versus interpreted).
Where should I begin?
Do I really need to begin with plain old "C", as Joel would recommend?
Caveat: I like to produce working widgets, not elegant theories.
php c objective-c cocoa
I'm a PHP developer, and I use the MVC pattern and object-oriented code. I really want to write applications for the iPhone, but to do that I need to know Cocoa, but to do that I need to know Objective-C 2.0, but to do that I need to know C, and to do that I need to know about compiled languages (versus interpreted).
Where should I begin?
Do I really need to begin with plain old "C", as Joel would recommend?
Caveat: I like to produce working widgets, not elegant theories.
php c objective-c cocoa
php c objective-c cocoa
edited 2 days ago
Ijas Ameenudeen
6,55732746
6,55732746
asked Aug 29 '08 at 0:19
lo_fyelo_fye
5,48022848
5,48022848
add a comment |
add a comment |
6 Answers
6
active
oldest
votes
Yes, you're really best off learning C and then Objective-C. There are some resources that will get you over the C and Objective-C language learning curve:
- Uli Kusterer's online book Masters of the Void
- Stephen Kochan's book Programming in Objective-C
And there are some resources that will get you over the framework learning curve:
- CocoaLab's online book Become an Xcoder
- Aaron Hillegass' book Cocoa Programming for Mac OS X
Despite what Jeff might say, learning C is important for professional software developers for just this reason. It's sort of a baseline low-level lingua franca that other innovation happens atop. The reason Jeff has been able to get away with not learning C is not because you don't need to know C, but because he learned Pascal which is in many ways isomorphic to C. (It has all the same concepts, including pointers and manual memory management.)
add a comment |
Get Cocoa Programming For Mac OS X by Aaron Hillegass. This should get you on your way to Cocoa programming. You can look up C-related programming as things come up.
K&R C Programming Language is the definitive reference that is still applicable today to C programming.
Get the Cocoa book, work though it and if you encounter any snags, just ask your C questions here :)
add a comment |
Who reads books these days? I have the 1st edition, I forgot to read it. Go to the iPhone Developer Center. Read examples.
In case you didn't read any of that, click the pretty picture.
add a comment |
No need to start with plain C. Start with an excellent book instead: Cocoa Programming for Mac OS X.
add a comment |
I think starting with C would be a smart thing to do. After all, Objective-C is C language with some extensions.
To develop in Cocoa you are required to know well how pointers and memory allocation work (there's no garbage collection on the iPhone), plus you will have to use some standard C libraries, because a lot of the frameworks that are used to develop for the iPhone are C libraries not Cocoa libraries. Take for example CoreGraphics, the library you have to use to draw on the screen on the iPhone. That's a C framework, meaning that it is not written in Objective-C.
Of course after learning C to a modest level, you could start reading about Objective-C and Cocoa, and in that case I would start with the Objective-C language specification (link to PDF) and the Aaron Hillegas book on Cocoa.
add a comment |
The memory management concepts that are (or were, depending on if you like the whole garbage collection thing) central to the Cocoa frameworks can be a little confusing. This is particularly true for those coming over from languages such as PHP, Python, Ruby, or even Java. Knowing C, or C++ for that matter, put you at a great advantage when learning Objective-C and Cocoa.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f33696%2fcocoa-tips-for-php-developers%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
6 Answers
6
active
oldest
votes
6 Answers
6
active
oldest
votes
active
oldest
votes
active
oldest
votes
Yes, you're really best off learning C and then Objective-C. There are some resources that will get you over the C and Objective-C language learning curve:
- Uli Kusterer's online book Masters of the Void
- Stephen Kochan's book Programming in Objective-C
And there are some resources that will get you over the framework learning curve:
- CocoaLab's online book Become an Xcoder
- Aaron Hillegass' book Cocoa Programming for Mac OS X
Despite what Jeff might say, learning C is important for professional software developers for just this reason. It's sort of a baseline low-level lingua franca that other innovation happens atop. The reason Jeff has been able to get away with not learning C is not because you don't need to know C, but because he learned Pascal which is in many ways isomorphic to C. (It has all the same concepts, including pointers and manual memory management.)
add a comment |
Yes, you're really best off learning C and then Objective-C. There are some resources that will get you over the C and Objective-C language learning curve:
- Uli Kusterer's online book Masters of the Void
- Stephen Kochan's book Programming in Objective-C
And there are some resources that will get you over the framework learning curve:
- CocoaLab's online book Become an Xcoder
- Aaron Hillegass' book Cocoa Programming for Mac OS X
Despite what Jeff might say, learning C is important for professional software developers for just this reason. It's sort of a baseline low-level lingua franca that other innovation happens atop. The reason Jeff has been able to get away with not learning C is not because you don't need to know C, but because he learned Pascal which is in many ways isomorphic to C. (It has all the same concepts, including pointers and manual memory management.)
add a comment |
Yes, you're really best off learning C and then Objective-C. There are some resources that will get you over the C and Objective-C language learning curve:
- Uli Kusterer's online book Masters of the Void
- Stephen Kochan's book Programming in Objective-C
And there are some resources that will get you over the framework learning curve:
- CocoaLab's online book Become an Xcoder
- Aaron Hillegass' book Cocoa Programming for Mac OS X
Despite what Jeff might say, learning C is important for professional software developers for just this reason. It's sort of a baseline low-level lingua franca that other innovation happens atop. The reason Jeff has been able to get away with not learning C is not because you don't need to know C, but because he learned Pascal which is in many ways isomorphic to C. (It has all the same concepts, including pointers and manual memory management.)
Yes, you're really best off learning C and then Objective-C. There are some resources that will get you over the C and Objective-C language learning curve:
- Uli Kusterer's online book Masters of the Void
- Stephen Kochan's book Programming in Objective-C
And there are some resources that will get you over the framework learning curve:
- CocoaLab's online book Become an Xcoder
- Aaron Hillegass' book Cocoa Programming for Mac OS X
Despite what Jeff might say, learning C is important for professional software developers for just this reason. It's sort of a baseline low-level lingua franca that other innovation happens atop. The reason Jeff has been able to get away with not learning C is not because you don't need to know C, but because he learned Pascal which is in many ways isomorphic to C. (It has all the same concepts, including pointers and manual memory management.)
answered Aug 29 '08 at 1:08
Chris HansonChris Hanson
49.4k667103
49.4k667103
add a comment |
add a comment |
Get Cocoa Programming For Mac OS X by Aaron Hillegass. This should get you on your way to Cocoa programming. You can look up C-related programming as things come up.
K&R C Programming Language is the definitive reference that is still applicable today to C programming.
Get the Cocoa book, work though it and if you encounter any snags, just ask your C questions here :)
add a comment |
Get Cocoa Programming For Mac OS X by Aaron Hillegass. This should get you on your way to Cocoa programming. You can look up C-related programming as things come up.
K&R C Programming Language is the definitive reference that is still applicable today to C programming.
Get the Cocoa book, work though it and if you encounter any snags, just ask your C questions here :)
add a comment |
Get Cocoa Programming For Mac OS X by Aaron Hillegass. This should get you on your way to Cocoa programming. You can look up C-related programming as things come up.
K&R C Programming Language is the definitive reference that is still applicable today to C programming.
Get the Cocoa book, work though it and if you encounter any snags, just ask your C questions here :)
Get Cocoa Programming For Mac OS X by Aaron Hillegass. This should get you on your way to Cocoa programming. You can look up C-related programming as things come up.
K&R C Programming Language is the definitive reference that is still applicable today to C programming.
Get the Cocoa book, work though it and if you encounter any snags, just ask your C questions here :)
answered Aug 29 '08 at 0:29
Misha MMisha M
4,177133961
4,177133961
add a comment |
add a comment |
Who reads books these days? I have the 1st edition, I forgot to read it. Go to the iPhone Developer Center. Read examples.
In case you didn't read any of that, click the pretty picture.
add a comment |
Who reads books these days? I have the 1st edition, I forgot to read it. Go to the iPhone Developer Center. Read examples.
In case you didn't read any of that, click the pretty picture.
add a comment |
Who reads books these days? I have the 1st edition, I forgot to read it. Go to the iPhone Developer Center. Read examples.
In case you didn't read any of that, click the pretty picture.
Who reads books these days? I have the 1st edition, I forgot to read it. Go to the iPhone Developer Center. Read examples.
In case you didn't read any of that, click the pretty picture.
edited Apr 1 '12 at 20:43
Neysor
3,539112964
3,539112964
answered Aug 29 '08 at 0:45
dlamblindlamblin
26.8k1774108
26.8k1774108
add a comment |
add a comment |
No need to start with plain C. Start with an excellent book instead: Cocoa Programming for Mac OS X.
add a comment |
No need to start with plain C. Start with an excellent book instead: Cocoa Programming for Mac OS X.
add a comment |
No need to start with plain C. Start with an excellent book instead: Cocoa Programming for Mac OS X.
No need to start with plain C. Start with an excellent book instead: Cocoa Programming for Mac OS X.
answered Aug 29 '08 at 0:30
Frank KruegerFrank Krueger
44.4k39143198
44.4k39143198
add a comment |
add a comment |
I think starting with C would be a smart thing to do. After all, Objective-C is C language with some extensions.
To develop in Cocoa you are required to know well how pointers and memory allocation work (there's no garbage collection on the iPhone), plus you will have to use some standard C libraries, because a lot of the frameworks that are used to develop for the iPhone are C libraries not Cocoa libraries. Take for example CoreGraphics, the library you have to use to draw on the screen on the iPhone. That's a C framework, meaning that it is not written in Objective-C.
Of course after learning C to a modest level, you could start reading about Objective-C and Cocoa, and in that case I would start with the Objective-C language specification (link to PDF) and the Aaron Hillegas book on Cocoa.
add a comment |
I think starting with C would be a smart thing to do. After all, Objective-C is C language with some extensions.
To develop in Cocoa you are required to know well how pointers and memory allocation work (there's no garbage collection on the iPhone), plus you will have to use some standard C libraries, because a lot of the frameworks that are used to develop for the iPhone are C libraries not Cocoa libraries. Take for example CoreGraphics, the library you have to use to draw on the screen on the iPhone. That's a C framework, meaning that it is not written in Objective-C.
Of course after learning C to a modest level, you could start reading about Objective-C and Cocoa, and in that case I would start with the Objective-C language specification (link to PDF) and the Aaron Hillegas book on Cocoa.
add a comment |
I think starting with C would be a smart thing to do. After all, Objective-C is C language with some extensions.
To develop in Cocoa you are required to know well how pointers and memory allocation work (there's no garbage collection on the iPhone), plus you will have to use some standard C libraries, because a lot of the frameworks that are used to develop for the iPhone are C libraries not Cocoa libraries. Take for example CoreGraphics, the library you have to use to draw on the screen on the iPhone. That's a C framework, meaning that it is not written in Objective-C.
Of course after learning C to a modest level, you could start reading about Objective-C and Cocoa, and in that case I would start with the Objective-C language specification (link to PDF) and the Aaron Hillegas book on Cocoa.
I think starting with C would be a smart thing to do. After all, Objective-C is C language with some extensions.
To develop in Cocoa you are required to know well how pointers and memory allocation work (there's no garbage collection on the iPhone), plus you will have to use some standard C libraries, because a lot of the frameworks that are used to develop for the iPhone are C libraries not Cocoa libraries. Take for example CoreGraphics, the library you have to use to draw on the screen on the iPhone. That's a C framework, meaning that it is not written in Objective-C.
Of course after learning C to a modest level, you could start reading about Objective-C and Cocoa, and in that case I would start with the Objective-C language specification (link to PDF) and the Aaron Hillegas book on Cocoa.
edited Aug 29 '08 at 0:33
answered Aug 29 '08 at 0:27
Sergio AcostaSergio Acosta
8,764115587
8,764115587
add a comment |
add a comment |
The memory management concepts that are (or were, depending on if you like the whole garbage collection thing) central to the Cocoa frameworks can be a little confusing. This is particularly true for those coming over from languages such as PHP, Python, Ruby, or even Java. Knowing C, or C++ for that matter, put you at a great advantage when learning Objective-C and Cocoa.
add a comment |
The memory management concepts that are (or were, depending on if you like the whole garbage collection thing) central to the Cocoa frameworks can be a little confusing. This is particularly true for those coming over from languages such as PHP, Python, Ruby, or even Java. Knowing C, or C++ for that matter, put you at a great advantage when learning Objective-C and Cocoa.
add a comment |
The memory management concepts that are (or were, depending on if you like the whole garbage collection thing) central to the Cocoa frameworks can be a little confusing. This is particularly true for those coming over from languages such as PHP, Python, Ruby, or even Java. Knowing C, or C++ for that matter, put you at a great advantage when learning Objective-C and Cocoa.
The memory management concepts that are (or were, depending on if you like the whole garbage collection thing) central to the Cocoa frameworks can be a little confusing. This is particularly true for those coming over from languages such as PHP, Python, Ruby, or even Java. Knowing C, or C++ for that matter, put you at a great advantage when learning Objective-C and Cocoa.
answered Sep 16 '08 at 1:10
eczarnyeczarny
37437
37437
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f33696%2fcocoa-tips-for-php-developers%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown