It depends on what sort of app you're developing - web app, or native iphone app. There are benefits and drawbacks to both.
You can make (and host) an iphone web app on any platform, and write it in pretty much any language. There are projects like iui to make your web app look more like an iphone app. You also don't have to pay to get into the iPhone developer program, but your app isn't available through the app store - it's just a web site. In the newest version of the iPhone OS you can bookmark a site to your site to the "desktop" - making it possible to launch your web app just like any other iPhone app.
If you're making a native iPhone app, again, it depends what sort of app you're making. If it's a game, you can develop it in C (ObjectiveC is a superset of C) and OpenGL ES, and just make a thin ObjectiveC iPhone app wrapper to launch your game. If you're making a "regular" iPhone app with widgets, etc. this is very difficult (if not impossible) without developing on a Mac - in addition to ObjectiveC you'll need the Mac and iPhone libraries - things like Cocoa, etc. that just aren't available on any other platform.
There are also some cross-compiler options here too - MonoTouch for Mono/.NET, Flash cross-compiling and probably more. You'd still need a Mac / iPhone developer account to ultimately test the result in iPhone simulators or on an actual device.
As for how 'imoral' this is of Apple/Steve Jobs - it's the difference between a closed platform and an open platform - some video game systems are also closed platforms also and you pay for the privilege of developing an app for them - and they have the option to censor / prohibit your app/game from their platform. The iPhone is just the most current and popular version of this. If you don't like it - develop an Android app instead :)