Linked by Thom Holwerda on Fri 3rd Feb 2012 23:43 UTC
PDAs, Cellphones, Wireless There's an article making the rounds right now about how applications on iOS crash more often than applications on Android. I'm not going to detail the entire methodology - the article itself does so - but it does raise an interesting talking point about how both mobile operating systems handle application crashes and updates.
Permalink for comment 505987
To read all comments associated with this story, please click here.
My 2 cents, and a few minutes
by gbtw on Sun 5th Feb 2012 20:12 UTC
gbtw
Member since:
2012-02-05

As a recently graduated software developer, doing my internship at a company that required a Android application, then finding a job at a company that required me to develop and IOS application I can give a small insight into this from a developers perspective.

The reason my internship was successful was based on one thing, and one thing only, for Android that uses a version of Java I have had enough experience using that language from my school courses.

My software development education started with ANSI-C then C++, Java ,C#, along the way we touched some other languages like python and php. The point of this transition from lower level language to higher level language was mainly due to change of marketplace.

It also meant that a lot of lowerlevel skills were less and less relevant, mainly the usage of pointers and included assembler language in your application. Garbage collection was also to become a process you did not have to keep track of yourself.

Higher level languages do this all for you, this means programming has a lower barrier of entry. This however does lead to being more like building with Lego rather than carpentry.
Some of my fellow students don't have a clue what individual systems do, but can hack something to gather that on first inspection looks somewhat like the client has specified.

IOS on the other hand uses a dialect of C, objective-C that on first glance was completely unreadable to me. I had a hard time following what happened and what was done. Function names that also included multiple arguments were a big WTF for me.

Now the main point here was that I did not have a large investment in this language and my development time went grossly over budget. Coupled with me having to develop on a system that I have never used before (Mac, instead of Windows or Linux), a incomplete development toolkit, only recently (last few months) the debugger in x-code has been useful, no more selecting breakpoints and not stopping, etc.

Another thing my fellow developers struggled with was the use of pointers and garbage collection. As far as I have seen in IOS you have to do it yourself. This ofcourse can lead to highly efficient applications, but in the hands of novices that can only Lego that pretty much means applications will break at some point because developers have no clue what is happening.

And you can be certain that no-one making apps for IOS has any investment in objective-c. Everyone just jumped on the bandwagon.

P.S. I own neither device, no interest too, I have an old Nokia C1209 and I'm keeping it till it breaks!

Reply Score: 3