Here Are The Techniques That I Use To Earn Extra Money Anytime I Need To. These Easy Money Making Ideas Can Be Used By Anyone! Get it now!
I've been coding in Objective C about 3 months now doing iPhone development. I've been programming C++ for about 20 years and c, basic, and assembler before that. My feeling is mixed.
I don't think I like Objective C. I know I don't like XCode. I do very much like Cocoa Touch.
I admit that I am in the camp that favors strong type safety. I just can't for the life of me understand why this should compile and further why it's a good thing it compiles. UITapGestureRecognizer* tap = UIPanGestureRecognizer alloc initWithTarget:self action:@selector(handleTap:); I wrote this code cutting and pasting to get a bunch of gestures in and missed one.It didn't even give a warning.
Finding the bug was a nightmare. I do like the named parameters, but they took a bit to get used to. I don't like manual management of a ref count.
It's bound to go wrong. If I don't have it like in C I am careful to manage my memory and have clear handoff functions. Factory functions clearly place cleanup responsibility on the caller.
Objective C I find I have to learn which functions retain the object and which autorelease or if I alloc and hand the object off what retains it and what does not. It's memorization of too many things.In C++ if I have a raw pointer I should be responsible, if a shared pointer then I am not, and if a reference then I'm at the whim of the owning object. There is no comparison when it comes to available libraries.
STL, Boost, Loki, for example. I don't like the inconsistent naming convention. The poor autocomplete just adds to the problem.
XCode is not fit for consumption.It has nice ideas half implemented. It in no way compares to what is out there for IDEs. No matter what anyone thinks of Objective C, there can be no defense of XCode compared to Eclipse or Visual Studio.
When I work on game consoles like PS or Wii we develop in visual studio and plug in our own build chain. Cocoa Touch is outstanding! Full access to a very good library and the ability to mix C++ when I want those features is very good, and I know is a feature of the language.
I'm building almost every game using UIKit as the dominant technology. Complaints that it's too slow etc, are just wrong. I like UI builder a lot, but as with everything XCode it's largely unfinished.
Often I set a value in UIBuilder and it doesn't come through. There's just no excuse for that. Apple created the iPhone concept and drew a lot of us to Objective C.
Android is allowing C++ and already Cocos2d-x is out and surpassing Cocos2d. Android is predicted to dominate the market. C++ is coming to an iPhone near you.It will be interesting to see if allowed to choose how many people will adopt Objective C over C++.
Regardless of what I ultimately think of Objective C, learning new languages help us become better programmers. Things we like in one language have a habit of creeping over and that is helpful to everyone.
Some of the hatred for Obj-C is time vs. money. When you've used a language like C++ for 15+ years you want to make money with a THAT. You don't want to stop and go learn a whole new language that in two weeks will only have you doing basic buttons and simple tasks.
Then there's XCode and Interface Builder. These programs will have most developers pulling their hair out! Horrible!
All of this would be true for any language not just Obj-C. Java and ActionScript succeed because they are very close to C/C++ in the minds of developers.
I come from a Java Background and I write Android Apps. All my Customers want an Iphone App as well, so I decided to learn Obj-c and I'm having a lot of fun doing so. I think the language looks very clean and stylish very apple ( I know its not an apple lang:).
The main difference for me is Xcode I'm loving it. It looks so nice and works alot better then. I can get my Motodev eclipse working especially the bugs are not existant.
I haven't written my first Iphone app yet but I'm really looking forward to it. I am excited about learning obj-c as I never knew that, it is basically build abon C which I always wanted to learn, but never saw the reason to do so other than interest. I like the brackets - makes the code more organized, I think.
And I really like the header Idea especially for coders wanting to extend my apps.
For me it boils down to one solid thing: Every time I try to write something in Objective-C I feel like I've jumped back in time 20 years. Let me explain the big ones for me: No namespace support Manually allocating/deallocating memory for objects: ExampleType *instance ExampleType alloc init to invoke the default constructor, and then having to remember to call instance dealloc or instance autorelease. Seriously.It's 2009.
I'm STILL expected to deal with pointers and manually allocate memory? That's the epitome of the kind of code my dad wrote in the 80's. Also, I don't know if Apple's heard about it but there's this little thing out there called AUTOMATIC FUCKING GARBAGE COLLECTION that bypasses the need to explicitly state that your object needs to be released when it goes out of scope.
Not having that was excusable 10 years ago. But not now. When code exits a function, it should be smart enough by now to know what goes out of scope and deallocate it.
Manually boxing primitives. . Net gets this right by automagically mapping things like int to System.
Int32, Java 5+ has autoboxing (at a albeit minor performance cost), but with objective-c, we're still left to the pitfall of primitives and objects Generics. Ok. I get the whole dynamically-typed vs strongly-typed argument.
Use NSMutableArray. Blah blah blah. Why can't I make a NSMutableArray or NSMutalbleArray?
C++ has it. And Yes, I understand I can include C++ in Objective-C projects, but that's a similar mindset of saying just reference C# projects in your VB projects to get the features you want in your solution.No single standard for method documentation. Java has JavaDoc.
. Net has xml comments. What does objective c have?
Doxygen?Yeah... Thanks for INCLUDING THAT IN THE FREAKING SDK.
2 ObjC 2.0 has automatic tracing garbage collection. – Pavel Minaev Aug 1 '09 at 4:08 3 Lol. Garbage collection is only useful if you are writing slow poor performing C# / Java applications.
Try write a server app, or some other sort of high performance data manipulation tool with garbage collection. You need some more experience before you can make such judgements. – Jacob Aug 18 '09 at 12:38 2 I think if you are claiming you need to ever call object dealloc you don't really know enough about the language to critique it.
I personally miss namespaces a little, but only from the standpoint of being able to lazily import an entire namespace worth of classes. Otherwise the naming convention is OK. Also, you don't need NSMutableArray since you can just have an Array filled with NSDate objects and send any messages in you like.
That's the whole strongly/weakly typed thing coming up - I prefer that area weakly typed than have a ton of verbosity. – Kendall Helmstetter Gelner Jan 11 '10 at 17:40 1 I think your find that C# garbage collection is in most cases more efficient than hand coded deallocating of memory. In the same way that optimization is usually far better done by the compiler these days than most people hand coding assembler.
The actual structure of the language is designed to be good at optimizing. Things have moved on. Have you heard anyone say C# is too slow for GUI development?
– AnthonyLambert Apr 12 '10 at 13:03 1 +1 I don't fully agree with the premise but I love the salty language :) – seand Aug 18 '10 at 6:16.
I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.