(yeah, yeah, not the proper type of title, but not a "regular" post either, also I'll throw in that these are my personal thoughts and do not represent those of the company I work for :-) (did you know someone once tried to get me fired when I worked at Symantec for suggesting that they should not ask other people on Usenet to do their homework for them?!))
Recently, as you probably know, Apple released the beta version of the iPhone SDK with new terms stating that, in essence, for non web-based apps, you could only use C/C++/Objective-C. This shuts out the upcoming Adobe product that compiles Flash to an iPhone app, as well as other things like MonoTouch.
For years I searched for a language that I liked that was cross platform:
- C sort of is, as long as you are careful about sizes of data types.
- C++ is the same as C, but when I was doing it less so since the compilers were all over the map with their support. Also C++ is a pretty large language and you get to remember a lot of special cases. I don't like special cases.
- Java was as close as I could get, and I have been using in since 1.0 Alpha 2, back in 1995 (so coming up on 15 years).
Doing iPhone development you really need to learn Objective-C. Every time I looked at Objective-C I would shudder. It is NOT a natural extension of C. C++ is a natural extension of C. Objective-C is some whacked out thing. That being said I sat down with a book or two or three and learned what I needed to.
Back in school we had a C++ course, sadly the instructor didn't know the language (was too new) and he focused on teaching us some pretty useless things. Once I finished school I taught myself C++ and did a pretty decent job learning what I needed to. When Java came out it tool me a about 1 day to learn the syntax, a week to get comfortable in the language, and about a month to understand the libraries (I would say it would take me 6 months to do all of that if I started now since Java has gotten a lot larger).
Objecticve-C took me about 1 week until I no longer needed to look at the book to write each line of code. Fortunate for me I was exposed to Smalltalk in school and Objective-C has a lot of smalltalk ideas. Once I clued into that it was easier.
I have never looked at developing anything in Flash. I don't want to develop anything in Flash. I have Flash disabled in my browser because the last thing I care to see is moving advertisements. Most Flash games I have seen are "neat" but not "wow cool!". And there are some sites out there, such as the Lego site, that I cannot see most of the things on when using my iPhone since it is flash based (sucks when you have an 8 year old and you cannot go to the Lego site!).
So Flash is used for:
1) website navigation when it doesn't add value, and companies are too lazy to develop something people without Flash can see
3) simple games
Why on earth does Flash exist then? The websites would be better off in HTML. I never look at ads (since they are blocked), if I want to play a game I do it for an immersive experience, and for Videos, well there are better alternatives than Flash (see HTML5).
More importantly, do I want those people able to easily write things for anything I am on? My answer is Hell No!
Also, there are technical merits for Apple to do what they are doing (though I am sure developer locking is what they are really after):
- say the iPhone didn't have a camera. So Flash/MonoTouch/Whatever doesn't have anything for a camera.
- now a new iPhone is released with a camera and Apple adds a number of camera APIs.
- Flash/MonoTouch/whatever are slow to support the camera.
Now you have the case where other companies are controlling what can happen on Apples platform. That doesn't make for a good user experience.
If you are a Flash developer and you are complaining about Apple because you are too lazy to go and learn C/C++/ObjectiveC this is what I hear:
To the Adobe Flash Evangelist, as the former Symantec Java Evangelist, instead of telling Apple to "Go screw [itself]" I think you should do this instead:
(And, yes, I know the videos are in Flash, and no, the irony is not lost on me...)
A Missed Opportunity... - I remember the first time I really felt a sense of professional community – it was very early in my career when I was a sysadmin at a big engineering comp...
2 years ago