

As an iPhone developer, I'm glad Apple banned cross-compiling - maxklein
http://blog.cubeofm.com/as-an-iphone-developer-im-glad-apple-banned-c

======
jaustin
I think he's looking at it from the wrong starting point, and getting confused
about who is benefiting.

1\. Apple are increasing the barrier of entry for him in to OTHER mobile
development worlds - he's no longer able to develop a solution that is easily
portable to Android, WinMo, BB, for example. He's betting his ability to write
popular mobile apps on the fact that Apple will always provide him the
platform he needs, and (more worryingly) that they will continue to keep his
App in the App Store. If Apple chose to duplicate the functionality of his app
themselves, he can't easily move to providing it for Android - so he's
screwed. I contest that his job is less secure than ever.

2\. His last point suggests he's made himself more valuable and unique by
learning ObjC. That's nice for him, but it isn't a reason to be happy with the
new ruling from Apple: if anything, the new T&Cs likely to result in MORE ObjC
developers, so reducing how remarkable he is as a programmer.

~~~
maxklein
You actually make very good points, and I think you are correct. The way I
advocate functions in the short term, but in the longer term, your way is
better.

------
mooism2
He's happy basically because Apple has raised barriers to entry against some
of his (potential) competitors.

~~~
NickPollard
Exactly this - the points he makes in the article are all correct, but they're
all related to monopoly. His point is merely 'Anything that prevents others
making better products is good for me'. That may be, but it's bad for the
consumer.

It's like if Microsoft made it harder to write Office software for Windows, it
would be good for sales of MS Office, but wouldn't be good for the consumer if
it prevented people developing competing, better software.

~~~
maxklein
What about the case where a large amount of apps are in the store. This is bad
for both the consumer and the seller.

~~~
j_baker
How is that bad for the consumer? Lots of apps means lots of supply, which
means lower prices for the consumer.

~~~
maxklein
The lowest price is already mandated by Apple. There is no lower price
possible. Lots of apps means a big discovery problem by the consumer. They
can't find the good apps then.

So prices stay the same and the customer does not find what he wants.

~~~
mquander
Firstly, what do you mean, they can't find the good apps? There are already
tens (hundreds?) of thousands of apps, and people seem to do OK with the store
rankings, ratings, and with word of mouth.

Secondly, I'm curious where you found a magic oracle to tell you how to
eliminate all the _bad_ apps from the store, but keep all the _good_ ones. I
don't think that "(eq language objective-c)" is that oracle.

------
philk
As a midwestern corn farmer, I'm glad the US has placed tariffs on Brazilian
ethanol.

------
jey
That's not what a cross-compiler is. You're using a cross compiler to code for
iPhone unless you are compiling natively on the iPhone. (i.e, A cross-compiler
is a compiler that generates code for a platform other than the one it's run
on. So unless your "Flash cross-compiler" is written in Flash...)

[http://www.google.com/search?hl=en&q=cross-
compiler](http://www.google.com/search?hl=en&q=cross-compiler)

------
cawhitworth
Or: "I've found a niche! Don't let other people into my niche, they might do
it better/cheaper/faster!"

~~~
maxklein
It's more: I'm glad more people are not coming into my niche. If they did,
devs will adapt, but if they are being kept out - well, that's good news.

------
flatline
"Developers are lethargic - they are not springing about learning new
languages"

Damn, guess I'm not much of a developer. I mean, if I wanted to build
something real in Obj-C, I would take a hit up front like anyone else to learn
my way around, but the developers I've worked with who don't want to learn new
things are NOT the ones I'd be worried about competing with.

~~~
rbanffy
"Developers are lethargic - they are not springing about learning new
languages"

I am learning Erlang and playing with Clojure.

It's not any new language. It's just that ObjC is not very attractive.

------
edster
As a person whose is in a position similar to his, I agree with the spirit of
his comments.

Basically, what are things of value in this world? Scarcity is probably the
biggest driving force, especially when coupled with demand. It's what drives
the prices of precious metals and stones, truffles, caviar, etc.

The same logic applies to any business. A high barrier to entry is one way
that a business keeps competition at bay. Specialization of skills is another.
Of course, having a specialized skill loses its value when there is no demand
for that skill.

As a programmer, part of my job is learning new things before everyone else so
I can stay ahead of the curve. Once the world catches up and the technology
becomes commodity, the money dries up. For almost all things related to
technology, from hardware to software, it's a race to the bottom so you had
better jump to the next train which is still moving.

------
j_baker
Sorry, but "I'm glad because I don't have to learn something new" just isn't a
convincing argument to me. If something is useful and worth learning, the
short-term cost of learning something is repayed many times over in the long
term.

And I think that Flash and other cross-compilers are worth the time in the
long term. Using just one programming language exclusively is like having a
hammer. The thing about hammers is that when they're all you have, every
problem has a nasty habit of turning into a nail.

~~~
maxklein
Using a cross-compiler is like having a hammer and using it for nails, screws,
thumbtacks etc.

There is this myth that any programmer can learn lots of new languages. That
just is not true. Most programmers are good in just a few languages - the rest
they are not good in.

~~~
tomh-
It is true, a programmer can learn lots of new languages. It is mastering all
the libraries and infrastructure which is time consuming. And you guys are all
forgetting that writing large portions of your code in c++ is at the moment
the most portable solution. It works on IPhone, IPad, Android NDK, PSP, Xbox,
PS3, PC, Mac etc. The only thing you need to do is to hookup the platform
specific gui code to your app logic.

~~~
gte910h
1> Any compatibility layer is _also_ forbidden by the agreement. So classes
that make it easy to port (or c modules or whatever) would also be forbidden.
They did more than ban flash here

2> C++ is a unreliable target on android still for fullscale development.
C/C++ is really for computation heavy libraries, not end to end development.
You're supposed to call into your C with JNI and do most of the app with Java

------
scootklein
this seems like a common "if you can't beat em, join em". you would've been
better off counting your objective-c learning as lost time and moved to a
cross-compiler like everyone else (since they support publishing to multiple
platforms and can do tween animations :D).

you're not entitled to anything being an iphone developer, and specifically
ripping on cross-compilers because they found a more efficient way to do it
means you aren't willing to adapt. your loss

------
Luc
I don't know the exact nature of Max's 'many small apps', but given that Apple
comes down on Flash, I wouldn't put it past them to come down on cookie-cutter
apps, too.

~~~
maxklein
Could happen, but if flash devs were let in, it would happen even quicker.

------
zephyrfalcon
"If a new popular cross-platform framework suddenly arrived, I would have to
go back and relearn it."

That is the way of things when you're a developer.

------
rbanffy
The simplest route around this problem is to cross-compile to ObjC source. Is
that too hard a problem?

~~~
scott_s
That's exactly what Apple has disallowed.

~~~
rbanffy
Apple also forbids me from making notes with pen and paper before I start
writing source-code because then the paper notes are the _original_
representation of my ideas and I rarely represent my ideas as Objective-C
code.

Actually, I am more inclined to think the synapses and neurotransmitter
concentrations in my brain are the original representation of the program, but
that's another story. ;-)

------
zacharypinter
"For Apple, they are following the Microsoft Mantra: focus on the developers."

Seems comically false to me...

