Friday, December 7, 2012

Objective-C and the Web

Kevin Lawler:

In the past few years, quietly, almost invisibly, Apple has transformed its Objective-C language into the best language available. I have been working with Objective-C since the release of the iPhone App Store in 2008. In that time Objective-C has evolved from a clunky, boilerplate-heavy language, into a tight, efficient joy.

There are just the small issues of Web libraries and deployment.

Gwynne Raskind:

Now Kevin goes on to say what is no doubt the most controversial thing in his entire post: “Xcode is an excellent IDE, with tolerably good git support.”

Update (2012-12-13): Graham Lee:

There are only two problems with this argument: it’s flawed, and the precondition probably won’t be met. I’m sure there is an opportunity for server-side programming with Objective-C, but it won’t be met by Apple.

11 Comments RSS · Twitter

Objective-C might be efficient in some senses of the word, but it's not tight and it's not the best language available. There may be few languages that I prefer above it, but there is no single "best language available".

>"Apple has transformed its Objective-C language into the best language available"

I'm not entirely sure if this is serious, or just trolling?

Amazing: This article proposes to roll back almost two decades of web development practice and write web apps in a dialect of C. In 1995 it was common to write CGI apps in C because there was no better tool available; this was one of the big reasons for the emergence of Perl. What benefit, apart from raw speed (which is seldom the main requirement) is gained from writing a web app in a low-level compiled language as opposed to a typeless, or weakly typed, dynamic language?

On the one hand, I think he’s right that Objective-C has improved dramatically in recent years. And I’d like to be able to use some of my Objective-C code on the server. But I think the idea of just giving it “a little push before it becomes the primary language of the web backend” seems ludicrous. I’m not convinced that it would be pleasant for Web coding, or even that it would perform better than Java.

From the original article:

“To understand the opportunity facing Objective-C it will help to summarize where Java fails. The original promise of Java was that an application written once would compile and deploy on any architecture. Ignoring that this is false, web shops don't use Java for this reason. Platform inconsistency is an issue for almost no one, and it was never an issue to port correct C/C++ code, universal compatibility being the original promise of C as well.”

Here is me, reading this paragraph twice:

Sponsoring a web framework and porting Objective-C to Linux is a major effort that won't help selling hardware, and will be detrimental to development on their core products. Kevin cites “Sales of Macs for development” under the false assumption that every developer uses a Mac (?).

On the first episode of the debug podcast Loren Brichter mentions running Objective-C code on a server using LLVM. I didn't have time to dig into the details yet, but it sounds like a starting point.

Michael bishop

Don't know if any of you had seen but someone has started out with the idea of server based objective c apps in the cloud.

@Michael Thanks for reminding me. I linked to it here.

@Michael: Yeah, it's amazing what Apple managed to achieve with Objective-C. But it's not like everybody else just stood around idly. When teaching Objective-C to developers who have grown up with modern languages and frameworks, you still regularly see the "you have to do *what* to do this in Objective-C?" expression on their faces.

Developers often think the language they're most familiar with is the best one. They're always wrong.

“Xcode is an excellent IDE, with tolerably good git support.”

It's sad what drugs can do to people.

I also don't see how that would benefit Apple (very little) compared to the huge undertaking. It would also make the language much harder to evolve, with too much compatibility to ensure with other development environments.

Leave a Comment