While there probably are some proportion of programmers that program in flash want to stay in flash because they don't want to try new things, sometimes, it's a more practical matter.
Hell no I don't want to maintain 4 code bases for each of the iphone, android, palm, and blackberry platforms, especially if my app doesn't depend on anything special that one platform provides.
Two distinct responses, so two separate replies. First, the same old argument that has nothing to do with the OP:
> especially if my app doesn't depend on anything special that one platform provides.
Why is it in Apple's best interests for your app to run on iPhone? What competitive advantage do they lose if your app--which doesn't depend on anything special--runs on android, palm, and blackberry but not on iphone?
What competitive advantage do they lose if your app--which doesn't depend on anything special--runs on android, palm, and blackberry but not on iphone?
Let's look at Macs instead. Walk into any large company, which probably spends millions of dollars a year on computers (and IT support). No Macs. Why?
(Because their half-assed IE 6-only app doesn't run on Macs. Hence, they waste millions of dollars a year supporting Windows XP.)
Similarly, why do the corpo-drones all have Blackberries instead of iPhones? Not because the Blackberry has an awesome UI or is cheaper -- because the app they need is Blackberry-only.
Let's look at Macs instead. Walk into any large company, which probably spends millions of dollars a year on computers (and IT support). No Macs. Why?
Because most IT staffs are not savvy enough to support both PCs and Macs on a corporate network. IME, IT is often barely competent enough to support PCs.[1]
[1] Design shops are the exception to this rule, since Macs tend to be popular with creative types
Why is it in Apple's best interests for your app to run on iPhone? What competitive advantage do they lose if your app--which doesn't depend on anything special--runs on android, palm, and blackberry but not on iphone?
Er, because then there wouldn't be much left? The large majority of iPhone apps don't depend on anything "special"; just touch events, basic widgets, and sometimes accelerometer support and 3d graphics.
Two distinct responses, so two separate replies. Second, the point of the post is that it is a benefit to the programmer to learn and use multiple languages. I get the feeling that the Apple row is a McGuffin, a way to introduce his thoughts on programming education.
Yeah, my guess is the 2nd also. The author of the post also has a background being interested in how differences in computational platforms affect what's produced on them. He has a whole book on how, when looking at "Atari games", it's not irrelevant that they were made on an Atari, and to really understand them requires understanding the Atari VCS programming model and hardware: http://www.bogost.com/books/video_computer_system.shtml
My high-level read of this post is a worry that that's becoming no longer true: the way that programming and hardware differences made Atari VCS, arcade, Commodore 64, and Apple II software each have its own distinctive style, might not be replicated in the present day, as Android, iPhone, and Blackberry apps all look like the same munge of identical apps compiled through some compatibility layer, and not really taking advantage of anything distinctive about each platform.
I am sorry to comment harshly but this is most WTF article which i have ever read!
To quote the Author
"""
Specifically, a large number of developers seem to think that they have the right to make software for the iPhone (or for anything else) in Flash, or in another high-level environment of their choosing. Literally, the right, not just the convenience or the opportunity. And many of them are quite churlish about the matter
"""
I mean come on!
Some one write a translator which converts code from one language to another! And stupid tactics are being used by Apple to stop it!
Does this person does not know about the Turing Completeness of programming languages??? It does not matter which programming language you use as long as it is Turing complete!
The article goes on to make dubious arguments about computational creativity on different platforms which make totally no sense!
Turing-completeness of programming languages is pretty irrelevant: different languages make some kinds of things easier or harder, support some idioms and discourage others, tend towards certain kinds of programming, etc. That's why programming in Haskell, Ruby, C, and asm are not all identical in practice, even though in theory any program written in one could be written in any other. And yes, they do support different kinds of computational creativity.
Yeah i know they are different but when one has created a bridge between two languages, disallowing it for some non nonsensical reasons of "computational creativity" seems utterly stupid to me!
What if i wrote a haskell to C++ converter and Microsoft (Wait Apple already did that) banned it because it only wants you to use OO programmin!! Also we know that Haskell/Lisp/Scheme are more suited toward certain applications!
Still do you agree that Haskell or Scheme is "bad" for IPAd just because it has a touch interface???
"A language that doesn't affect the way you think about programming, is not worth knowing." --Alan Perlis
I think this is the point of the OP, obscured somewhat by the discussion of 3.3.1 (IMO). While in theory everything is possible with every language, each "worthwhile" language affects the way you think about programming. Idiomatic Ruby makes you think about extremely late binding of behaviour. Flash and Processing make you think about drawing on a canvas (in different ways!). Idiomatic Lisp makes you think about programs as data. And so forth.
I think it matters very much which programming language you use, and I can demonstrate this. Let's have a programming contest. You may choose what we are to build. You may pick a domain in which you are comfortable. I may choose the language you use, provided it is Turing-complete.
My issue with article is that it makes arument that programming style is decided by the interface or the device which in case of a device like IPAD is totaly false!
Yes Thinking in Scheme is different than in C++ but Some programs are more suited to be written in a functional language. And that has no bearing on whether the device is an ipad or a PC.
Interfaces dont define the programming style to be used!
Underlying Problem does!
And thanks to Apple you cant use a FP language on ipad!
> Some one write a translator which converts code from one language to another! And stupid tactics are being used by Apple to stop it!
a) Why are the tactics 'stupid'? Justify that statement.
b) OP's main argument here is that no programmer is entitled to the 'right' to be able to make software for the iPhone in an environment of their choosing. He goes on to argue that different languages/environments serve different purposes, and it would do programmers good to pick up these different environments. Your response ("Imeancomeon!") does not address this point in any way.
c) It is implicit in understanding programming languages that they have very different approaches to different problems. Some programmers call this 'forms of thinking' as in 'the Lisp form of thinking' (or something equivalent, I really should check the vocab on this). Programming languages are more than just Turing Complete. They're a lens through which you view problems. Most times such lenses are very important.
> The article goes on to make dubious arguments about computational creativity on different platforms which make totally no sense!
d) Why are the arguments dubious? Why does his point about computational creativity on different platforms not make sense?
OP has provided us with coherent, well-written, and justified arguments. Your post, on the other hand, is filled with one-line assertions.
Please rectify this. You are not contributing to the discussion.
Programming language to be used is determined by the underlying problem to be solved and not the device interface (touch, keyboard or a Mars rover!).
If some app is more suited to be written in an FP language that choice is independent of device that app is being run on as long as the machine code is Turing complete!
I wonder if it doesn't amount to an indictment of the state of computational literacy.
It doesn't.
Developer outrage over this policy has nothing to do with having to learn a new language and everything to do with imposing artificial restrictions on the development process.
If anything, developer outrage is a sign that developers value creative solutions to programming problems.
This is a terrible blog post, because it makes specific claims about why developers are complaining about Apple's actions and whether they are justified in doing so, which are torn to shreds quite lucidly in the comments, at which point the author dismisses the criticisms by saying they miss the point, he was really just ranting about computational literacy.
So, according to the author, he's really saying "Apple's actions, right or wrong, relevant or irrelevant, do perhaps call to mind the matter of computational literacy, and that sometimes people don't appreciate that different languages are adapted for different purposes." If you read any other meaning into the article, which I do even from the title, you are apparently attacking a straw man.
I don't why it annoys me so much when someone abdicates their intellectual responsibility, but it does.
I read into it mainly that one reason some developers are complaining about Apple's actions is that they don't get the idea of working on different platforms, etc., but have an "I do Flash and doing Flash is my right!" sort of view. Which seems right to me, even though there are clearly other reasons to dislike Apple's actions as well (like the antitrust concerns, and reduction in language experimentation).
Your statements are flawed. Yes we program on some platforms in certain languages because we are forced to do so (due to the inability of certain languages to operate within those bounds). However, if we restrict capable languages from platforms in which they would thrive, we are effectively blocking progress.
There was a time that assembler was the best language. If we restricted platforms to only asm, C would never exist. Where do you think computing would be today if Dennis Ritchie and Ken Thompson had shared your views and refused to challenge the de-facto standard of a platform?
21 comments
[ 3.9 ms ] story [ 57.9 ms ] threadHell no I don't want to maintain 4 code bases for each of the iphone, android, palm, and blackberry platforms, especially if my app doesn't depend on anything special that one platform provides.
> especially if my app doesn't depend on anything special that one platform provides.
Why is it in Apple's best interests for your app to run on iPhone? What competitive advantage do they lose if your app--which doesn't depend on anything special--runs on android, palm, and blackberry but not on iphone?
Let's look at Macs instead. Walk into any large company, which probably spends millions of dollars a year on computers (and IT support). No Macs. Why?
(Because their half-assed IE 6-only app doesn't run on Macs. Hence, they waste millions of dollars a year supporting Windows XP.)
Similarly, why do the corpo-drones all have Blackberries instead of iPhones? Not because the Blackberry has an awesome UI or is cheaper -- because the app they need is Blackberry-only.
Because most IT staffs are not savvy enough to support both PCs and Macs on a corporate network. IME, IT is often barely competent enough to support PCs.[1]
[1] Design shops are the exception to this rule, since Macs tend to be popular with creative types
Er, because then there wouldn't be much left? The large majority of iPhone apps don't depend on anything "special"; just touch events, basic widgets, and sometimes accelerometer support and 3d graphics.
My high-level read of this post is a worry that that's becoming no longer true: the way that programming and hardware differences made Atari VCS, arcade, Commodore 64, and Apple II software each have its own distinctive style, might not be replicated in the present day, as Android, iPhone, and Blackberry apps all look like the same munge of identical apps compiled through some compatibility layer, and not really taking advantage of anything distinctive about each platform.
To quote the Author """ Specifically, a large number of developers seem to think that they have the right to make software for the iPhone (or for anything else) in Flash, or in another high-level environment of their choosing. Literally, the right, not just the convenience or the opportunity. And many of them are quite churlish about the matter """
I mean come on! Some one write a translator which converts code from one language to another! And stupid tactics are being used by Apple to stop it!
Does this person does not know about the Turing Completeness of programming languages??? It does not matter which programming language you use as long as it is Turing complete!
The article goes on to make dubious arguments about computational creativity on different platforms which make totally no sense!
Still do you agree that Haskell or Scheme is "bad" for IPAd just because it has a touch interface???
I think this is the point of the OP, obscured somewhat by the discussion of 3.3.1 (IMO). While in theory everything is possible with every language, each "worthwhile" language affects the way you think about programming. Idiomatic Ruby makes you think about extremely late binding of behaviour. Flash and Processing make you think about drawing on a canvas (in different ways!). Idiomatic Lisp makes you think about programs as data. And so forth.
I think it matters very much which programming language you use, and I can demonstrate this. Let's have a programming contest. You may choose what we are to build. You may pick a domain in which you are comfortable. I may choose the language you use, provided it is Turing-complete.
Yes Thinking in Scheme is different than in C++ but Some programs are more suited to be written in a functional language. And that has no bearing on whether the device is an ipad or a PC.
Interfaces dont define the programming style to be used! Underlying Problem does! And thanks to Apple you cant use a FP language on ipad!
a) Why are the tactics 'stupid'? Justify that statement.
b) OP's main argument here is that no programmer is entitled to the 'right' to be able to make software for the iPhone in an environment of their choosing. He goes on to argue that different languages/environments serve different purposes, and it would do programmers good to pick up these different environments. Your response ("I mean come on!") does not address this point in any way.
c) It is implicit in understanding programming languages that they have very different approaches to different problems. Some programmers call this 'forms of thinking' as in 'the Lisp form of thinking' (or something equivalent, I really should check the vocab on this). Programming languages are more than just Turing Complete. They're a lens through which you view problems. Most times such lenses are very important.
> The article goes on to make dubious arguments about computational creativity on different platforms which make totally no sense!
d) Why are the arguments dubious? Why does his point about computational creativity on different platforms not make sense?
OP has provided us with coherent, well-written, and justified arguments. Your post, on the other hand, is filled with one-line assertions.
Please rectify this. You are not contributing to the discussion.
It doesn't. Developer outrage over this policy has nothing to do with having to learn a new language and everything to do with imposing artificial restrictions on the development process.
If anything, developer outrage is a sign that developers value creative solutions to programming problems.
So, according to the author, he's really saying "Apple's actions, right or wrong, relevant or irrelevant, do perhaps call to mind the matter of computational literacy, and that sometimes people don't appreciate that different languages are adapted for different purposes." If you read any other meaning into the article, which I do even from the title, you are apparently attacking a straw man.
I don't why it annoys me so much when someone abdicates their intellectual responsibility, but it does.
There was a time that assembler was the best language. If we restricted platforms to only asm, C would never exist. Where do you think computing would be today if Dennis Ritchie and Ken Thompson had shared your views and refused to challenge the de-facto standard of a platform?