

Steve Jobs Says, "Fuck You Ruby Fanbois" - mcantelon
http://oppugn.us/posts/1270855147.html

======
jlouis
This is one of Zeds weaker rants. He wants to piss of the Ruby community, yet
it is far too obviously filled with bait. Time will show if the fish bites,
however.

What is really going on is a war fought by proxy on the iPhone. The combatants
are Adobe wanting to commoditize all platforms for their flash apps and Apple,
who wants to keep the control of their platform. Ruby, Lisp (any), Haskell,
Python, and Lua are not participants in the war, yet they got hit by the
nuclear fallout.

The interesting question is how much Apple needs to do to piss off developers
- which they need in their eco-system. While other platforms lags somewhat
behind the iPhone, there is no doubt that the scales can tip quickly. I may be
wrong, but I think rather few programmers make their pay from iPhone revenue
streams.

~~~
DanielRibeiro
Well, Rhodes guys say that they were not affected by the "nucler fallout":
<http://rhomobile.com/2010/04/09/iphone-4-0-sdk-rules/>.

If that's the case, you can still code in Ruby for the IPhone.

If not, maybe xmlvm can do the job (<http://xmlvm.org/overview/>)

~~~
jlouis
It is a legislative defensive move by Apple. I hardly doubt they would go
after a highly successful and well-written Ruby application. Rather they want
a way to pull everything flash at a whims notice with reference to the
agreement. In other words, they set up a trap.

------
jrockway
This essay is basically based on the flaky foundation that the best way to
develop software is to code for the underlying computation device. This is an
unproved assertion, and so the rest of the essay basically falls apart.

The underlying device is severely limited in many ways. Programs are not
composed of "blocks of memory". There are an infinite number of integers, not
2^64 of them. Etc.

It doesn't make much sense to structure functionality around these flawed
assumptions unless you are absolutely sure your application's functionality is
a subset of the computer's functionality. Since most iPhone applications let
you do much more than just add numbers modulo 2^32, it makes sense that it
should be built in terms of higher-level abstractions. Who cares if your app
isn't "coded for the underlying machine". It works, and it's easy to add new
features without breaking everything else!

(Some C-level abstractions are quite good, of course, like the function call
stack. But a Scheme-like call _graph_ is even more natural.)

The goal in creating software is for your program text to describe the
solution to your problem. It's easier to do this in the "problem domain"
instead of "C", so we have created abstractions that allow us to think at the
high-level of "problem" instead of the low-level of "electrons being pushed
around through semiconductors".

Anyway, if you want to use an unpopular language so you can think you're
better than everyone else, why not use Haskell instead? At least that way you
get type safety, fast automatic memory management, composable libraries,
interactive development, portability, and a friendly irc channel to hang out
on.

Oh yeah, because you're a luddite, not a programmer. Sorry, I forgot.

~~~
Qz
Forget a flaky foundation, the whole 'essay' is full of meaningless hyperbole,
and poorly written at that.

------
tptacek
_"getting up and running with Ruby on Rails on a Mac takes a metric fuck ton
of ass raping"_

If by that colorful phrase you mean, "gem install rails". I'm pretty sure we
ship a Rails product, and I'm pretty sure that we only issue people Macbooks
running OSX, and I'm pretty sure he's wrong about that.

~~~
davidmathers
It's not that simple. You have to prepend that command with "sudo" and then,
immediately after pressing enter, you have to type your password.

------
swombat
<http://twitter.com/zedshaw/status/11909132752>

_"Now, work with me people, I want to get "Fuck" on HN front page
again:<http://news.ycombinator.com/item?id=1254189> ._

Touching how he cares about us...

------
icey
Eh, usually I like Zed's stuff; but this one sounds like every conversation
I've had with every C developer ever.

It's not that learning C is a big deal, it's that it contains a lot of
unnecessary work and there are nicer (read: more convenient) languages to work
in. Good Ruby developers will probably make good C developers, and bad ones
will be obviously bad.

I guess Zed's not over having his feelings hurt by the Ruby community yet.

I give this one a 5/10 (although, I should give a bonus point for successfully
getting "fuck" on the front page again, I guess).

------
aphyr
Clearly, I only write Ruby because I never learned C (or Modula-2 and Java for
that matter) first. And I'd never write in a high-level language to deploy to
multiple platforms with totally different APIs.

Is this article supposed to be ridiculous ad-hominem, or is it sarcasm?

~~~
mtarnovan
_These are also the guys who love Apple. Mostly because DHH loves Apple._

 _Well today, I am in love with Steve Jobs. He apparently agrees with me that
these guys shouldn't be coding._

Flamebait, mostly. Sarcastic ? Not really, sarcasm implies some degree of
subtlety.

------
ZeroGravitas
I thought this was going to be something interesting about Apple's own MacRuby
project, which many people were keen to see on the iPhone, but it's just a
weird rant.

------
philwelch
Since when does blatant flamebait get 64 points on Hacker News?

I miss this site.

EDIT: Oh, it's Zed Shaw again. I'll continue in my delusional belief that
blatant flamebait _not_ authored by Zed Shaw would be flag'd to death by now.

------
globalo
can i code in c? yes.

do i want to? no.

~~~
TallGuyShort
Although I dislike a lot of what he said, this was part of his point. I was
'raised', so to speak, on C. I work with a lot of people who have only worked
with mainstream high-level languages. What I find very often is that a lot of
people spend a huge amount of time trying to understand the cause of some
'bug', and it essentially comes down to them not understanding what is
actually going on when it comes to references, memory management, etc... I
hate coding real-worlds apps in C, but as a language it's still one of my
favorites because of what it forces you to truly understand. Convenience is
nice, but not at the cost of misunderstanding.

------
mcantor
I thought Zed gave up on this style of posting. Really, the novelty wore off
years ago.

------
randrews
I'm a big Zed Shaw fan, and I plan on sending a rant to this site, but I have
to disagree with him here.

The real issue isn't that they're forcing developers to use C. The real issue
is that they're forcing developers to conform to an arbitrary standard.

If people can write apps in Lua or C# that build and run on the phone, and
that meet Apple's quality standards to get into the App Store, why should they
care? What business is it of Apple's to tell independent iPhone developers how
to do their jobs?

So, if I were going to write a rant about this, I'd write one about assholes
who are too nosy about how I use the stuff they sold me. That might just be me
though.

------
tdmackey
"... gotta embrace the curly-brackets, and they can't call them fucking stache
or mustache characters. They're called fucking curly-brackets, and if you
can't call them that then me and my damn C friends are gonna laugh at you
every day you come to work."

Oh noes! I'm a full-time C programmer doing linux-based networking OS stuff
and I call them staches! I am probably going to get beat up at work now. Than
being said, I don't think I really ever use "stache" or "curly-brace" in
actual conversation, its just sort of implied when necessary.

------
jjames
They won't have to learn C or much of memory management or anything about
pointers because of that other Smalltalk influenced language full of fancy
abstractions.

That dragging things around in Interface Builder and copy/pasting TableCell
code off the web is more hardcore than a typical Ruby on Rails website is
unfortunately not a realistic argument. That's why we have so many "haha, I
farted" type apps.

------
sigzero
RoR is hard to get running on a Mac? WTF? I just compiled Ruby and Rubygems
last night with zero issues. A simple "gem install rails" and it was done.

------
holdenweb
While you can't deny Apple's right to control the app market (and even the
development methods), why would anyone work with a vendor that _does_?

------
jerf
OK, I think we get the point here.

Is it time for a flood of stories about how Erlang is no longer permitted on
the iPhone, hint hint?

------
mnemonicfx
Well, unless anyone is willing to re-implement Foundation and UIKit framework,
writing iPhone apps with pure C will take forever.

------
fbu
People should program in C because it is more difficult ? Then people should
use punching card for the same reason.

People should program in C because some people programing in ruby are morons ?
Great argument ...

I really don't see any valid argument why knowing C is such an enlightening
experience (I would argue it is not).

~~~
dschobel
Linus Torvalds famously said the same exact thing whilst bashing C++ (instead
of Ruby as Zed does here).

    
    
      C++ is a horrible language. It's made more horrible by the fact that a lot 
      of substandard programmers use it, to the point where it's much much 
      easier to generate total and utter crap with it. Quite frankly, even if 
      the choice of C were to do *nothing* but keep the C++ programmers out, 
      that in itself would be a huge reason to use C.
    
    

[http://thread.gmane.org/gmane.comp.version-
control.git/57643...](http://thread.gmane.org/gmane.comp.version-
control.git/57643/focus=57918)

~~~
helwr
thanks for the amazing link (I'm 100% with the 'dinosaurs' on that one), it is
worthy of a separate post

------
__skyl__
G-d forbid iFart be written in Ruby. Such important work should be left to C
if you can't get all the way to assembler.

------
bakunin
There's a deeper socio-philosophical aspect to this rant. When you elevate a
group of people to the level of Gods and give them totalitarian power, it
certainly is funny when they use this newfound power to oppress you.
Totalitarianism is possible only when the people behind a dictator allow it to
exist. When it comes back to bite you in the backside, it's funny to observe
how you react.

Is Apple a totalitarian government with Steve Jobs as it's dictator that was
made possible by a decade of Ruby-like fanboyism? I don't know. Maybe, or
maybe not. But is it funny to observe how all the Ruby fanboys squirm with
this new Apple development? It sure is.

------
pan69
Is he saying that Apple is doing this because of quality control? As in,
programmers who program in C, C++ or OC are better programmers so you get
better software?

~~~
JBiserkov
More like programmers who program in C, C++ or ObjC are slower, so if their
idea is actually worthy, we can copy it before they've grabbed enough land.

------
petercooper
_Nope, now they have to learn C and how RAM actually works, and what a fucking
pointer is_

Those topics are _really_ important in Objective C..

------
lazugod
It's trolling, but it's spot-on trolling.

------
richcollins
Writing iPhone apps requires very little C. Objective-C is actually quite
similar to Ruby.

~~~
shalmanese
[Why [Not [ThingsThatAreLikeOtherThings RubyTheProgrammingLanguage]
ObjectiveCTheProgrammingLanguage] BecauseItsFuckingWordy]

------
dartdog
Way to go Zed!

