
How to write an iOS app purely in C - rubyn00bie
http://stackoverflow.com/questions/10289890/how-to-write-ios-app-purely-in-c/
======
richardjrossiii
Author of the answer in question here.. Feel free to ask me any questions
you'd like about this!

I also did the same thing in ARMv7 assembly, if you're interested in that:

[https://github.com/richardjrossiii/iOSAppInAssembly](https://github.com/richardjrossiii/iOSAppInAssembly)

~~~
aninteger
Well done.. I'm curious about whether this would be possible in Android. I'm
not talking about OpenGL and using the ndk but creating Android activities.
Would it be much much more difficult?

~~~
Ologn
"I'm not talking about OpenGL and using the ndk but creating Android
activities"

I'm not really sure what you mean. Any program for Android which is 100% C
code is going to be using the NDK in most cases. Including ones creating an
activity natively (
[http://developer.android.com/reference/android/app/NativeAct...](http://developer.android.com/reference/android/app/NativeActivity.html)
).

------
klodolph
There's a category of questions on Stack Overflow like,

> How do I do (complicated task X) without using (class of solutions Y)?

It's like madlibs. I'll fill in the blanks for you:

> How do I write a portable function for searching the filesystem in pure C++?

Here, X is "search the filesystem portably" and Y is "just use Boost, dummy".

> How do I create an iOS application without using Xcode?

> How do I do AES encryption in my network code? (instead of just using a
> library to handle TLS)

Programmers develop highly specialized taste as they mature, with preferences
like "C is good, Java is bad" or "everything should be done with the command
line" or "I never want to leave Visual Studio again". I'm amazed by how many
people say, for example, that they absolutely can't use Boost but when
pressed, they can't give a good reason why. That's because Boost offends their
subjective sensibilities for some ill-understood reason, not because Boost is
flawed in any particular way (although Boost certainly has its flaws).

I have a ton of rep on Stack Overflow from answering questions, and so every
time I answer a question like this, I remember all of the discussions I have
had with people which go like this:

> Me: (complicated task X) is a complicated task. It will take you weeks to do
> it by yourself.

> Asker: But shouldn't it be easy?

> Me: (reasons 1, 2, 3 why it's not easy)

> Asker: But I don't care about 2 and 3, and I don't think 1 is a problem.

> Me: (list of ways that things go horribly wrong if you do it yourself) If I
> may ask, why can't you use libraries?

> Asker: I can't use libraries because (misconception about how libraries
> work).

> Me: Oh, that's not true at all.

The exchange takes place typically over the course of a couple hours, since
Stack Overflow is not designed to allow a question to be used as chat.

So sometimes, if I'm feeling like a show-off, I post some ridiculously
complicated way of solving the question just as it was asked, then say at the
bottom:

> Or you can just do (easy solution Y), which is super easy, but you
> apparently can't do that for unspecified reasons.

~~~
userbinator
These are people who want to learn how something is actually done, to
experience that sense of accomplishment themselves, and not just use a
solution someone else has already written; and I don't think that's
necessarily a bad thing.

~~~
sosborn
>These are people who want to learn how something is actually done

While this is true sometimes, many times it is simply that they don't want to
learn a new way to do something. You can tell which side of the fence they
lean towards in the way they phrase the question.

------
JoeAltmaier
AND there's a perfect example of the grief StackOverflow heaps upon both
questioners and answerers. 80% of the comments were "you idiot, just use ObjC"
or "ok that worked but you're an idiot for not using ObjC". Exactly one
response to the correct answer bothered to read it or expand on it.

Is all of StackOverflow overrun by smartasses? Or is it just the iOS crowd?
What excuse can be given for all the unprofessional junk responses? How can
they be suppressed? Moderators can be draconian but something is needed.

------
ygra
The author of the accepted answer was 15 at the time of writing.

At that age I had a good grasp of Turbo Pascal, but not much that would be of
any use professionally.

------
youngButEager
StackOverflow: CURATION BY HUMILIATION.

------
pkulak
Sometimes I start thinking I'm a really good programmer.

These kinds of things are great for keeping me humble as hell.

------
pjbrunet
One day, nobody will remember Objective-C.

Let Apple have its 15 minutes of fame.

~~~
zachlipton
As someone recently noted in the discussion of Swift, Objective-C is basically
older than the CD-ROM. I'd say the language has had several decades of life,
not 15 minutes of fame.

(Actually, it appears Objective-C is certainly older than the CD-ROM and is
from about the same era as the audio CD.)

~~~
pjbrunet
Looks like Objective C finally surpassed Fortran and Cobol somewhere in 2011.
Good luck to you in the future ;-)

[http://www.google.com/trends/explore#q=%22objective%20C%22%2...](http://www.google.com/trends/explore#q=%22objective%20C%22%2C%20fortran%2C%20cobol&cmpt=q)

