Google's Nexus One takes on Droid as Apple's iPhone App Store grows

123457»

Comments

  • Reply 121 of 128
    Quote:
    Originally Posted by DominoXML View Post


    To your points:



    1. separate declaration



    Your right this bothers and I think the IDE could automate or synchronize this.

    But it's not an problem that really hurts productivity when you get used to it.



    2. XCode is a bad IDE



    I'm coming from other languages and systems and I totally disagree.



    You will have to get used to it, but it supports the MVC concept in a pretty clear and structured way. I'm used to IDE's with a higher UI integration and it's sometimes hard to get used to it, but I think there are some advantages in getting the code and structured like this when it comes to bigger projects and clean design.



    Calling it bad is your personal opinion. I think it's just the result of a different philosophy we have to get used to.



    Part of that philosophy is optimization. There are tools like shark and instruments that make it possible to get the "best" out of your code.

    You might not worry about this, because your projects do not need this performance tweaks, but for me it was one of the main reasons to begin to learn Objective-C. I think techniques like CLang, LLVM, GCD and OpenCL are all about efficiency. To be honest I'm not sure if my old brain can handle this, but it's a clear vision of high "code-efficiency" for the next years.



    If you prefer the more integrated way that's fine. But in this case I think Visual Studio and .Net are the benchmark.



    3. Pointers



    It's obvious that pointers can lead to buffer-overflows, memory-leaks and memory fragmentation. Even experienced developers run into this troubles.

    It's the price for some advantages like more efficient and dynamic memory management. E.g. You can sort elements in a List without having to create new copies.

    When you call a function without to have to provide the variable and you can point to a known variable in order to avoid to allocate multiple memory copies.



    As far as I know Java is internally working with pointers, but "hides" them.

    Not sure if it's possible, but if Apple would find a way to define a similar "auto-pointer" (possible loss of efficiency) for those who need or want it. I'd like it.



    4. The NS-Thing



    Its historical (Next Step) and it's a common technique to add a prefix in order to mark classes as "mine" or "system".

    May be it's possible to configure the IDE to hide/cut the NS-Prefix and append it at compile- or translation-time. This might cause a lot of trouble.

    I'm a beginner. Until now I have the experience that using cocoa isn't about typing a lot of code. We would have to ask an experienced cocoa dev, but our billion keystrokes seem to be exaggerated.



    5. Garbage Collection



    Apple has got two years of experience with it from the Mac. Hard to say how big the memory or performance penalty would be, but I'd be pleased to see it in iPhone SDK 4.



    Thanks for your answer. I still think there are some really weird points in Objective-C. Agree it can deliver more efficient code than what is possible in Java, but on the other hand, much of the code doesn't need to be any efficient than what Java can do with automatic MM and hiding pointers out of developers sight. But this makes developer more efficient, as the programming model is simpler and less error prone. One of the first things I learned at the programming was to avoid premature optimizations, i.e. only optimize once you identified your bottlenecks. There are ways how to optimize in Java and you can also use processor specific (native) code that can use manual memory allocation if you really need it to get extra performance. But as (typically) 95% of your code needs no optimization at all, it is much efficient to code without manual MM than other way around. Apple can innovate there, but as all API is pointer based, it would be a lots of changes.

    I really hate XCode, although I agree it might be just personal preference, and if you are happy with it, good for you. My benchmark is not VisualStudio, but coming from Java background rather IDEs such as Eclipse. The incremental compilation (so you have instant feedback on syntax errors) and the refactoring tools are so much better than what XCode can provide and makes you efficient developer, which is the good thing we probably both agree on. I can't see much that XCode provides me as the extra mile (except it is iPhone only IDE and I have to use it) for its deficiency in the areas I outlined.
  • Reply 122 of 128
    Quote:
    Originally Posted by Brainless View Post


    Thanks for your answer. I still think there are some really weird points in Objective-C. Agree it can deliver more efficient code than what is possible in Java, but on the other hand, much of the code doesn't need to be any efficient than what Java can do with automatic MM and hiding pointers out of developers sight. But this makes developer more efficient, as the programming model is simpler and less error prone. One of the first things I learned at the programming was to avoid premature optimizations, i.e. only optimize once you identified your bottlenecks. There are ways how to optimize in Java and you can also use processor specific (native) code that can use manual memory allocation if you really need it to get extra performance. But as (typically) 95% of your code needs no optimization at all, it is much efficient to code without manual MM than other way around. Apple can innovate there, but as all API is pointer based, it would be a lots of changes.

    I really hate XCode, although I agree it might be just personal preference, and if you are happy with it, good for you. My benchmark is not VisualStudio, but coming from Java background rather IDEs such as Eclipse. The incremental compilation (so you have instant feedback on syntax errors) and the refactoring tools are so much better than what XCode can provide and makes you efficient developer, which is the good thing we probably both agree on. I can't see much that XCode provides me as the extra mile (except it is iPhone only IDE and I have to use it) for its deficiency in the areas I outlined.



    Also thanks for your answer.



    Your points are valid. They are based on your experience and there's no legitimate way to challenge personal experience. (Except if you draw wrong conclusions or get too emotional.)



    It takes years to "build" a solid foundation in development. Therefore we tend to defend our position noisy.



    To be honest I first was angry because of e.g. the "retard monkey" (you are too intelligent to need such expressions) , but then enjoyed the short exchange of experience.
  • Reply 123 of 128
    Quote:
    Originally Posted by DominoXML View Post


    Also thanks for your answer.



    Your points are valid. They are based on your experience and there's no legitimate way to challenge personal experience. (Except if you draw wrong conclusions or get too emotional.)



    It takes years to "build" a solid foundation in development. Therefore we tend to defend our position noisy.



    To be honest I first was angry because of e.g. the "retard monkey" (you are too intelligent to need such expressions) , but then enjoyed the short exchange of experience.



    Sure it is about personal experience a lot. But I responded to original post saying Obj-C is "clearly >" Java which I don't think is necessarily true. It is tough not to be emotional when you see so many comments from people who often don't have any development experience so they essentially don't know what they talking about (yet they are often decision makers).



    I really like iPhone, the Cocoa framework is a nice one and it is indeed nice and powerful device which is a good platform for many interesting applications (and more to come), but I wouldn't write Android off : it is a nice platform too, very well designed one, with many features that iPhone already plays catch up with. I feel they made right decision with Java as development language. I really like the development tools. Every time I code for iPhone I feel I get free trip to the nineties, this is how XCode feels to me : so much resembling the old Metrowerks CodeWarrior I used to code then, so much yesterday. Got your point about the array of tools that are available, but still don't know if there is something that justifies using the XCode way of doing things. If you elaborate on the perceived strengths of its workflow, it would be appreciated : I really welcome the experience exchange with someone who has relevant knowledge.
  • Reply 124 of 128
    tenobelltenobell Posts: 7,014member
    Quote:
    Originally Posted by ifail View Post


    Please do, but it has to pertain exactly to the iPhone mmkay since thats what im talking about.



    Sure, ever since the launch of the original iPhone there has been an underlying belief (or hope) that Apple would fall asleep on further development. There is no reason to believe this.



    Quote:
    Originally Posted by solipsism View Post


    It?s seems impossible to me to prove that his post could be incorrect. He gave an opinion that he was impressed, stated no absolutes about what will happen, and them stated "Apple might need to do a bit more work for wow factor? which I assume is pretty true for every product in that they are always doing ?a bit more? all the time.



    I agree its all speculation and there is no way to prove anything for sure. So far I see no evidence that Apple will slow down, they know they have to continually top themselves as their competitors catch up. Looking at some of Apple's software engineering acquisitions, I think there is more "wow" to come.
  • Reply 125 of 128
    Quote:
    Originally Posted by Brainless View Post


    One of the first things I learned at the programming was to avoid premature optimizations, i.e. only optimize once you identified your bottlenecks. There are ways how to optimize in Java and you can also use processor specific (native) code that can use manual memory allocation if you really need it to get extra performance.



    I'm also used to this way. Beside using frameworks I have developed some framework extensions for my own needs.

    Some time ago I felt it's time to rework and optimize them although I wasn't able to get some extra money from the customers. (You can't do this often.)

    Since that time I faced bottlenecks only at completely new stuff.

    So I think premature optimization of core-services and core-frameworks (I hope Apple continues) makes sense even when resources seem to be unlimited.

    I think e.g. MS has missed this point with Vista and had to address it with W7.



    Quote:
    Originally Posted by Brainless View Post


    I really like iPhone, the Cocoa framework is a nice one and it is indeed nice and powerful device which is a good platform for many interesting applications (and more to come), but I wouldn't write Android off : it is a nice platform too, very well designed one, with many features that iPhone already plays catch up with. I feel they made right decision with Java as development language. I really like the development tools. Every time I code for iPhone I feel I get free trip to the nineties, this is how XCode feels to me : so much resembling the old Metrowerks CodeWarrior I used to code then, so much yesterday. Got your point about the array of tools that are available, but still don't know if there is something that justifies using the XCode way of doing things. If you elaborate on the perceived strengths of its workflow, it would be appreciated : I really welcome the experience exchange with someone who has relevant knowledge.



    Regarding to Eclipse we might be able to change an Apple slogan to "there's a plug-in for that".

    You can configure and extend it in a way that increases your personal productivity. When You are used to your most productive environment it's hard to step back.
  • Reply 126 of 128
    Quote:
    Originally Posted by DominoXML View Post


    I'm also used to this way. Beside using frameworks I have developed some framework extensions for my own needs.

    Some time ago I felt it's time to rework and optimize them although I wasn't able to get some extra money from the customers. (You can't do this often.)

    Since that time I faced bottlenecks only at completely new stuff.

    So I think premature optimization of core-services and core-frameworks (I hope Apple continues) makes sense even when resources seem to be unlimited.

    I think e.g. MS has missed this point with Vista and had to address it with W7.



    By premature I mean optimization that you do ahead of knowledge that this particular spot is a bottleneck. You can't have "everything" optimized, even with unlimited resources - by over-optimizing not needed parts you may degrade performance others. That's why modern interpreted languages with JIT compilation can be sometimes even more efficient than statically compiled code, because they might utilize information from the code that runs.

    I would say 90% of my Java code is fast enough even without any sort of optimizations



    Quote:
    Originally Posted by DominoXML View Post


    Regarding to Eclipse we might be able to change an Apple slogan to "there's a plug-in for that".

    You can configure and extend it in a way that increases your personal productivity. When You are used to your most productive environment it's hard to step back.



    I was referring to the core functionality of Eclipse without plugins. Yes, actually you need plugin for Android development in Eclipse, but that's irrelevant. Out-of-the-box features beat those of XCode.
  • Reply 127 of 128
    Quote:
    Originally Posted by Brainless View Post


    See you are already in the midseason form ;-) The original post said G1 will never get 2.0 update. I said, it's just the poster who thinks so, as this was never announced. And you replied that its not just him. Simple laws of boolean logic means that you too state there will be no 2.0 for G1. I can't read your mind, so if you post this and sincerely think just the opposite, my apologies to you.

    <snip>



    You cannot install 2.0.1 on the G1 as on date unless you hack the Linux Kernel that it uses. There is no support from Google for doing so. If you can find a firmware released for Google which will allow 2.x to run on a G1, please point me to the website link. I don't think it is going to happen. I think we are supposed to upgrade to Nexus One or equivalent. Any phone that releases in 2010 and beyond won't touch the 1.x firmware. You will be left behind if you are on the 1.x firmware version and products that are not yet in the market better be using Eclair for development. There is no point in arguing over it. It is a question of how long you are willing to wait for a "you are screwed" press release from Google or a "here is a patch for you" late in the day by when you should be running 3.x firmware (maybe).
  • Reply 128 of 128
    Quote:
    Originally Posted by talksense101 View Post


    You cannot install 2.0.1 on the G1 as on date unless you hack the Linux Kernel that it uses. There is no support from Google for doing so. If you can find a firmware released for Google which will allow 2.x to run on a G1, please point me to the website link. I don't think it is going to happen. I think we are supposed to upgrade to Nexus One or equivalent. Any phone that releases in 2010 and beyond won't touch the 1.x firmware. You will be left behind if you are on the 1.x firmware version and products that are not yet in the market better be using Eclair for development. There is no point in arguing over it. It is a question of how long you are willing to wait for a "you are screwed" press release from Google or a "here is a patch for you" late in the day by when you should be running 3.x firmware (maybe).



    Hope you understand the difference between the following :



    1, G1 will never get 2.0 - its a fact

    2, I think G1 will never get 2.0, but its just my opinion

    3, G1 might get 2.0 later, not decided yet

    4, I think G1 will get 2.0, but it is just my opinion

    5, G1 will get 2.0 soon, its a fact



    While I am somewhere between 3 and 4 (close to 4 given what Google source said off record), you demand proofs as if I said 5.

    I respect your opinion which is 2 and we'll se who's right. But the original poster said 1, and I reacted that it is simply not true, as it was never officially announced.



    If you leave this out, what's the problem with G1 having just 1.6 as it is now ? I guess most of the users don't care, only those obsessed with having "latest and greatest" instantly. The same group of people that demand their next camera in mobile has double pixels resolution than previous model, "because it is better". OK, these folks will be disappointed.



    But for ordinary user, it is not that big deal. Major difference in 2.0 is that it now CDMA is supported as well, which is not applicable to G1 at all. There are some new API, which are nice to have such a ad-hoc bluetooth, or better synchronization, but most applications can live without this. From the developer perspective it is not a big deal to deliver application for 1.6 as well, the differences are minimal and HW is quite homogenous, at least all have GPS, Compass and Camera, which can't be said about iPhone, 3G, 3GS and iPod Touch.



    So what's your point ?
Sign In or Register to comment.