×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Sony Adopts Objective-C and GNUstep Frameworks

samzenpus posted more than 2 years ago | from the new-way-of-doing-things dept.

GNUStep 345

EMB Numbers writes "Sony has revealed that the new SNAP development environment for 'consumer electronics' is based on Objective-C and the open source GNUstep implementation of Apple's Openstep spec. While Apple has continued to update their specification in the form of Cocoa and Mac OS X, GNUstep has preserved the original standard. Anyone familiar with Cocoa Touch and iOS will feel right at home developing for Sony. There may even be some source code compatibility between the platforms. The world continues to chase apple — probably for the better."

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered

345 comments

nice! (-1)

Anonymous Coward | more than 2 years ago | (#34342250)

fuck your mother!

Re:nice! (2, Funny)

MightyMartian (840721) | more than 2 years ago | (#34343292)

I did, and then you came along.

Re:nice! (-1, Troll)

Anonymous Coward | more than 2 years ago | (#34343482)

I did, and then you came along.

You fucked your own mother? You are one sick MOFO. So you are the OP's father and half brother?

WebKit? (1, Insightful)

Anonymous Coward | more than 2 years ago | (#34342256)

I wonder if this will finally give us GNUStep WebKit. That would be an interesting thing :)

How compatitble (1)

AnonymousClown (1788472) | more than 2 years ago | (#34342260)

FTFL:

The GNUstep core libraries strictly adhere to the OpenStep standard and OPENSTEP implementation.

From the submission:

While Apple has continued to update their specification in the form of Cocoa and Mac OS X, ...

So, I take it one would need two code bases?

Re:How compatitble (5, Informative)

TheRaven64 (641858) | more than 2 years ago | (#34342292)

No, Cocoa is almost a superset of OpenStep (with the exception of a couple of classes like NSDataLink that Apple ditched). We (GNUstep) track the changes from Cocoa and have done for the last ten years. We also track changes from iOS. For example, we have NSRegularExpression, which is only in iOS Foundation, not yet in OS X Foundation.

Re:How compatitble (2, Interesting)

Daengbo (523424) | more than 2 years ago | (#34342416)

I read this last night on Reddit, and have been chewing on it. I see this as a move to get mobile developers by piggy-backing on the Obj-C knowledge of iOS devs. Same language -- subset of API.

Re:How compatitble (1, Interesting)

Lucky75 (1265142) | more than 2 years ago | (#34343062)

Same terrible language. I despise Objective-C with a passion. Give me good old C++ any day of the week. None of that gui driven development shit with Cocoa either.

Re:How compatitble (1)

Abcd1234 (188840) | more than 2 years ago | (#34343158)

Give me good old C++ any day of the week.

ROFL... yeah... nothing more to be said, really...

Re:How compatitble (3, Insightful)

kohaku (797652) | more than 2 years ago | (#34343262)

C++ it like a swiss army knife with a multitude of razor-sharp blades and attachments. It can do whatever you want to do, and it can do it pretty cleverly, but if you don't know the tool really, really well, you're going to end up missing fingers :D

Re:How compatitble (1)

olau (314197) | more than 2 years ago | (#34343340)

C++ it like a swiss army knife with a multitude of razor-sharp blades and attachments. It can do whatever you want to do, and it can do it pretty cleverly, but if you don't know the tool really, really well, you're going to end up missing fingers :D

Fingers are overrated.

Re:How compatitble (1)

DrXym (126579) | more than 2 years ago | (#34343006)

If you track so closely, technically what's to stop GNUStep / LLVM being used as a platform to host and run iOS apps? Potentially GNUStep + LLVM could even find its way into Android or similar and provide a means for people to run iPhone apps on non-iPhone platforms.

Re:How compatitble (2, Funny)

WrongSizeGlass (838941) | more than 2 years ago | (#34342364)

So, I take it one would need two code bases?

Objective-C: All your code bases are belong to us

Re:How compatitble (0)

Anonymous Coward | more than 2 years ago | (#34342872)

Could be worse.
Just look at Java, which nowadays feels like you're working more with XML files than actual code.

Bizarre choice (0)

Anonymous Coward | more than 2 years ago | (#34342288)

Objective-C is kind of blah these days. It has the performance of a scripting language with the verbosity of a compiled language (I'm exaggerating but not much). No thanks.

I guess they don't have much choice though, the most logical choice would be Qt (C++) but since that is owned by Nokia I imagine they don't like that idea very much.

After that the next most logical would be Android or Windows, neither of which is that great (Windows is bloated and obviously controlled by Microsoft, Android is clunky, chunky and slow because of their moronic decision to use puketastic Java).

Re:Bizarre choice (4, Insightful)

sznupi (719324) | more than 2 years ago | (#34342336)

Qt is LGPL, it's not "owned" by Nokia - certainly not in the way Apple controls Cocoa and GNUstep strives to keep up.

That said, as far as I am concerned GNUstep is at least the second best choice of the two / it's nice to see that their efforts might finally give something big.

Re:Bizarre choice (0, Troll)

Bobakitoo (1814374) | more than 2 years ago | (#34342452)

Qt is owned by Nokia. It has multiple release using multiple license, LGPL, GPL and some proprietary terms. Sure, anyone can use the LGPL release and develope for it, but only Nokia can do what ever they want, without restriction. I highly doubt that Sony will want to open it source code in confonformence to the LGPL(Yes, i know the difference. They will be heavly modify the toolkit itself. These peoples dont simply write cool looking apps). Even with the proprietary license, that would mean sending money for each handset sold to their competitor.

The only way Qt could be use by many phone makers would require Nokia the drop the proprietary license and pass the right to some independent foundation(ala mozilla). No phone maker is going to lay at the mercy of Nokia. It is not truly open if some party has privileged access.

Re:Bizarre choice (-1)

Anonymous Coward | more than 2 years ago | (#34342428)

Good points. As others have mentioned in the comments, Objective-C was one of Apple's poorer decisions (actually it wasn't "Apple" proper, more like Steve Jobs as he is the one that basically put GNUstep together before moving it all back to Apple). It's just obsolete and never worked that well to begin with and GNUstep is incredibly outdated these days, Sony would have done better to use the Amiga OS if they're going that route. Apple has been busy trying pull out all the Objective-C stuff for the last few years.

And to the person above, Nokia does in fact own Qt. Licensing is a completely separate issue.

All this says to me is that, as usual, Sony has a poor plan (you know, like all the other crap they have done: rootkits, alienating their user base, Playstation3, etc).

Re:Bizarre choice (3, Insightful)

K. S. Kyosuke (729550) | more than 2 years ago | (#34342474)

As others have mentioned in the comments, Objective-C was one of Apple's poorer decisions

I suppose you have a significantly better (simpler and more flexible) compiled OO language suitable for system-level programming up your sleeve, when you talk like that.

Re:Bizarre choice (0)

Coryoth (254751) | more than 2 years ago | (#34342710)

I suppose you have a significantly better (simpler and more flexible) compiled OO language suitable for system-level programming up your sleeve, when you talk like that.

I'm not sure "simpler and more flexible" are the only measures of "better", but if you want compiled OO languages suitable for systems level programming that are arguably better than Objective-C, you could try

  • Ada2005
  • Eiffel
  • Lisp (with CLOS for OO)
  • OCaml

Certainly arguments for each of them as better options could be made.

Re:Bizarre choice (2, Interesting)

onionman (975962) | more than 2 years ago | (#34342746)

As others have mentioned in the comments, Objective-C was one of Apple's poorer decisions

I suppose you have a significantly better (simpler and more flexible) compiled OO language suitable for system-level programming up your sleeve, when you talk like that.

I like the D programming language. It's relatively new, but its well designed and multi-paradigm. It's suitable for system-level programming, but still supports higher-lever programming methods such as OO and functional programming.

Err, why would you do system level programming... (1)

Viol8 (599362) | more than 2 years ago | (#34342894)

... with a language that does run time binding? It sounds like the ideal enviroment for all sorts of trojans , viruses and obscure faults and failures.

Re:Err, why would you do system level programming. (1)

abigor (540274) | more than 2 years ago | (#34343338)

Can you give some concrete, real-world examples where these have plagued Objective-C applications/systems?

Re:Bizarre choice (3, Interesting)

forsey (1136633) | more than 2 years ago | (#34343302)

I think a lot of people who dislike Objective-C are those who just looked it over and haven't spent too much time with it. I used to feel the same way until I got most of the way through an iPhone app recently. I view it as an acquired taste. Watching the great WWDC videos that Apple provides on it's development site helped me to understand it a lot and learn why they do the things they do with it.

Re:Bizarre choice (5, Insightful)

beelsebob (529313) | more than 2 years ago | (#34342482)

Actually, Objective-C's performance is very very good, and verbosity is absolutely a good thing. The problems I might raise with objective-c would involve it's highly dynamic nature, and lack of a decent type system, not it's implementation's speed or it's code clarity, which are both positive advantages for it!

Cocoa is also one of the absolute cleanest application development frameworks out there by far (CocoaTouch improves on it a chunk though purely by binning a lot of old cruft), so I'd say sony made a bloody good choice.

Apple's response? (2, Interesting)

symes (835608) | more than 2 years ago | (#34342290)

It will be interesting to see if Apple respond to this and how. My feeling is that they might try and protect their assets and restrict developers' options. I haven't really thught this through but I just can't see Apple letting people develop apps for iPads and then recycling ostensibly the same code for some Sony gadget. It is not in their nature.

Re:Apple's response? (0)

Anonymous Coward | more than 2 years ago | (#34342304)

The converse, however, is also true. If someone develops for a Sony gadget then it would be natural to port it over to Apple products which will increase their available apps.

Developer eligibility (1)

tepples (727027) | more than 2 years ago | (#34342356)

If someone develops for a Sony gadget then it would be natural to port it over to Apple products which will increase their available apps.

Except by the time you are eligible to develop for Sony gadgets, you're expected to already have released an app for the iProducts. Plenty of existing Sony gadgets that run apps, such as PlayStation family products, appear to require all developers to be established companies, not individuals or small businesses.

Re:Apple's response? (1)

RedK (112790) | more than 2 years ago | (#34342338)

The OpenStep specification is... well, Open. What can Apple do ? They don't hold rights that are being infringed here.

Re:Apple's response? (2, Interesting)

Bill_the_Engineer (772575) | more than 2 years ago | (#34342892)

Well actually they do, but they wanted it "open". Apple also owns the rights to Obj-C and they still support its inclusion in gcc.

Re:Apple's response? (1)

yabos (719499) | more than 2 years ago | (#34342340)

I don't see why. OpenStep has been around for a long time. Obviously they don't have all the same APIs for the UIKit that Apple has but a lot of code could be shared since they implement a lot of the same classes.

Re:Apple's response? (-1)

bomanbot (980297) | more than 2 years ago | (#34342424)

I do not think this will elicit a big reaction from Apple. GNUstep is, as far as I know, relatively close to the old frameworks NeXT used in their OS before Apple bought them. Apple then extended and expanded those and made what we now know as Cocoa out of them.

But that was about a decade ago and Cocoa grew and changed a lot during this time. I have not dabbled in GNUstep, but I believe that although there may be some familiarities, nowadays using GNUstep and using Cocoa is a pretty different experience for developers.

For this reason, I also think the summary is way too optimistic: There are already some big differences between developing for the Mac and developing for iOS and those two are at least developed side by side by the same company. The differences between GNUstep and iOS should even be bigger then, making the possible transition not nearly as smooth as the summary might suggest, especially since GNUstep might not even have many APIs for touchscreens and other mobile device-specific stuff yet. I think GNUstep is still pretty much desktop-only as of right now, which makes the Sony decision more than just ... interesting.

What this Sony decision might do, however, is increase adoption of Objective-C as a language. Before now, Objective-C was pretty much confined to the Apple ecosystem, apart from some guys fiddling around GNUstep for fun, I think the language did not have any other commercial venue besides using it on a Mac or on iOS devices (which is a pretty big venue, though). Now, you can also use it to target some Sony stuff as well and maybe, if it proves successful, also gets adopted by some other manufacturers, too. In that sense, Apple might secretly even be pleased that Sony did this, as it promotes Objective-C and gives developers more incentive to learn the language, which might then spur more Mac or iOS development as well.

Re:Apple's response? (0)

Anonymous Coward | more than 2 years ago | (#34342870)

"but I believe that although there may be some familiarities, nowadays using GNUstep and using Cocoa is a pretty different experience for developers".

Cocoa is much more "OpenStep" than you might think. Furthermore, most of what they did were additions and then a myriad of Frameworks.
Add to this that GNUstep tracked and implemented several new methods and classes. As a developer I can tell you that the similarities are so striking that you can port an application by just recompiling it from GNUstep to Cocoa (and, often, also vice-versa). The User interface has some differences, so an adjustment to the NIB and Gorm files is advisable, but the code can be really the same.
Sure, GNustep has some extensions and Cocoa has many more, but the common subset is itself much bigger than what OpenStep was.

Re:Apple's response? (0)

Anonymous Coward | more than 2 years ago | (#34342460)

If you don't think Apple would love a world where most software was written for their platforms first and then ported to others as an afterthought, then I think you seriously misunderstand "their nature".

Re:Apple's response? (2, Insightful)

DrXym (126579) | more than 2 years ago | (#34343212)

This is more or less their philosophy. Look at their attempts to squash scripting languages, runtimes & browsers on iOS. There is absolutely zero technical reason for this, it's all to force developers to code to Apple's APIs. The last thing they want is for apps to become heterogenous so they do everything in their power to prevent that happening starting with making devs choose which platform to sink their efforts into.

Superficially this is a good strategy but things can easily swing the other way. After all Android is here and takes virtually the opposite approach. It's quite likely in a few years that Apple will be playing second banana to Android and it will be they who are waiting for apps to get ported.

Re:Apple's response? (1)

lurch_mojoff (867210) | more than 2 years ago | (#34342486)

Apple don't have to do squat to prevent iPad apps form being "recycled" on a Sony gadget - there are more than enough differences that cannot easily be compensated between this Sony platform and iOS for this to even be a possibility. For example Sony will be using Cairo instead of Apple's Quartz, so any drawing code in an app will have to be rewritten. Also GNUstep does not implement UIKit at all. It doesn't even mimic AppKit all that well. And reverse engineering and achieving parity with either framework is a gargantuan task. So any UI code in an app will also need to be rewritten, or at least significantly modified, at which point you might as well rewrite the whole application in an entirely different language/framework.

Re:Apple's response? (1)

countertrolling (1585477) | more than 2 years ago | (#34343040)

Combining efforts to write a better DRM.. If there was any conflict over assets, I'm sure an agreement of sorts has been, or soon will be reached

Re:Apple's response? (1)

tlhIngan (30335) | more than 2 years ago | (#34343298)

It will be interesting to see if Apple respond to this and how. My feeling is that they might try and protect their assets and restrict developers' options. I haven't really thught this through but I just can't see Apple letting people develop apps for iPads and then recycling ostensibly the same code for some Sony gadget. It is not in their nature.

Why should Apple be worried? It enhances both ecosystems. People who want to develop for Sony's platform exclusively still need Objective-C developers, and those developers can turn around and write MacOS X and iOS apps as well, enhancing Apple's platforms on the market.

Apple knows they need developers, which is why they threw in the developer tools for free with every Mac. Sony also validates Obj-C as a useful language and that can easily bring in more developers, who after writing apps for the Sony device may decide to re-use their skills on MacOS X and iOS, enhance both ecosystems. In the short term it'll hurt a bit as Obj-C devs get poached by Sony but that'll just bring new entrants into the field.

Right now, other than iOS and MacOS X, development with Obj-C is very minimal. But having two major players in it can entire others to use Obj-C, and hey, they too can develop for MacOS X or iOS. Provided Sony doesn't screw it up too badly.

for the better? really? (0)

Anonymous Coward | more than 2 years ago | (#34342316)

"probably for the better"? You sir have obviously never tried to work with Objective-C..

Who does what? (4, Insightful)

clickclickdrone (964164) | more than 2 years ago | (#34342322)

The world continues to chase apple -- probably for the better

Or more accurately, One foreign company adopts a compiler.

For the better? (2, Insightful)

Xest (935314) | more than 2 years ago | (#34342330)

"The world continues to chase apple -- probably for the better."

lol, did someone really just say that in the context of Objective-C? For all the things Apple has done right and does well, clinging on to Objective-C is not one of them.

Re:For the better? (0)

Anonymous Coward | more than 2 years ago | (#34342386)

Yes, all those iOS apps sure are doing poorly because of Objective-C.
Would you actually like to explain what is wrong with Objective-C? I'm assuming you've actually used it but I could be wrong.

Re:For the better? (1, Funny)

Anonymous Coward | more than 2 years ago | (#34342528)

s/because of/in spite of/

Re:For the better? (2, Insightful)

WrongSizeGlass (838941) | more than 2 years ago | (#34342400)

Indeed. I've worked with Objective-C on and off since the pre-OS X 'Rhapsody' days. It's almost like a cruel mix of coding, texting and writing documentation ... all that plus a touch of COBOL's verbosity with a syntax/grammar nazi in its heart. After a while you just want to look a blank screen.

Re:For the better? (1)

CODiNE (27417) | more than 2 years ago | (#34342430)

I'm no expert on languages, but doesn't Objective-C deliver on what it's intended to be? A light-weight object oriented extension to C without all the extra stuff that makes C++ difficult to use?

Also doesn't it's dynamic runtime stuff allow certain things that C++ doesn't?

Re:For the better? (0, Troll)

Anonymous Coward | more than 2 years ago | (#34342632)

Yeah - it allows inconsistent dynamic runtime crashes thanks to the lack of compile time binding. Great, thanks Obj-C.

Re:For the better? (3, Insightful)

Xest (935314) | more than 2 years ago | (#34342742)

To be fair it's not that there's any inherent problem with Objective-C, that much is pretty well demonstrated by the countless great applications built on it for Apple's platforms. The real issue is really that it's like the neanderthal of languages- it evolved from C in parallel with languages like C++ and Java, but in doing so has ended up rather more ugly, and whilst it has some good bits, it also has bad bits like a lack of namespaces and operator overloading (although of course these issues aren't limited to Objective-C, Java lacks operator overloading too for example) but the combination of what is frankly a quite horrible syntax and these missing features means it's essentially just a poor man's C++. The obscurity of the syntax just builds an extra barrier that's really unnecessary in this day and age- every developer just about is comfortable with C++ style syntax so why waste time with a language syntax that's so obscure when you can just have one that people can jump straight into? This issue spills over into cross platform development somewhat in that it's much more of a headache to development multiple versions of a program when you're facing two very different sets of syntax more so than porting between programs with similar syntax.

So yeah, certainly it "works", but there's really just no point in it when other languages work just as well without the added headache of lack of things like namespaces and an obscure syntax. There are bigger issues with the development tools and libraries themselves, but really that's something else, my comment was really targetted at the language- effectively Objective-C is different without bringing anything worthwhile to the table- at least with some other languages that have more obscure syntax they also often have a redeeming feature, like say being a functional programming language for example.

Re:For the better? (2, Interesting)

Viol8 (599362) | more than 2 years ago | (#34342772)

Yes , I agree about the syntax. Instead of creating a nice consistent extension to the C language as Bjarn did with C++ (albeit with some kludges) , Obj-C really looks like someone tossed a completely different language into C because it was easier than making an effort to actually extend C nicely, and then didn't even bother to stir the resulting dogs dinner.

Re:For the better? (5, Insightful)

onefriedrice (1171917) | more than 2 years ago | (#34343464)

Yes , I agree about the syntax. Instead of creating a nice consistent extension to the C language as Bjarn did with C++ (albeit with some kludges) , Obj-C really looks like someone tossed a completely different language into C because it was easier than making an effort to actually extend C nicely, and then didn't even bother to stir the resulting dogs dinner.

I laughed at this post, but then I realized you might not be trying to be funny. As a C++ programmer myself, I've never heard anyone referring to C++ in a serious way as a "nice consistent extension to the C language." C++ is an absolute monster. It's completely inconsistent in many ways and is riddled with so many "gotchas" that it takes years until you should be able to call yourself an expert. That's a long time in the context of learning a new way to describe what a computer should do.

I haven't programmed in Objective-C in years, but I do remember that it is far simpler to learn than C++. It adds comparatively little to the C language, as far as syntax goes; basically just the [] message-passing construct and the @ keywords. I think Objective-C "2.0" may have distinguished itself a little more, but I haven't looked into it.

Anyway, hopefully you're being funny. Otherwise, we have completely different opinions. Objective-C seems to have extended C in a way that is much nicer and cleaner than C++ IMO.

Re:For the better? (3, Insightful)

teh kurisu (701097) | more than 2 years ago | (#34343044)

I think the extent to which the syntax is a barrier to entry for new developers is exaggerated. Square brackets denote method calls - easy. It might take a wee while before typing out method declarations in the right order is second nature, but I think that's acceptable because you gain (forced) named parameters.

I like the fact that the syntax is different, because the chances of getting caught out are reduced. There are already too many languages with similar but subtly different syntaxes out there.

Re:For the better? (1)

Xest (935314) | more than 2 years ago | (#34343254)

I agree it's not a big barrier, it's just an unnecessary inconvenience, that's the problem. I think the inconvenience alone puts a lot of people off of it because there are so many other languages out there that don't have that inconvenience for them.

Re:For the better? (3, Insightful)

Arker (91948) | more than 2 years ago | (#34343378)

essentially just a poor man's C++.

Actually, it's the other way around, C++ is the poor mans objC. Unlike C++ it's a C superset, and way back with NeXT it was demonstrably leading to fewer bugs and less developer time on the same job. Apple has made some poor decisions in its role as de facto shepherd but the language is solid in its role.

Re:For the better? (3, Informative)

muecksteiner (102093) | more than 2 years ago | (#34343448)

You apparently do not really understand what Objective-C is about yet. Yeah, I know, "you don't know what you are talking about" is the classical ad hominem attack in any programming language flamewar. But in my opinion, it is hard to see how anyone who has actually taken the time to look at Objective-C closely could ever refer to it as being a "poor man's C++".

Now calling it a "poor man's Smalltalk", well, you might have a point there. But C++? ObjC and C++ are both in some way descended from C, but that is where the conceptual similarities end. The ObjC runtime is dynamic, which is IMHO a blessing, compared to the strict typing and template system of C++. But I'll grant you any day that Obj-C could do with some modernisation, in particular w/r to namespaces.

But even the other thing you mention, operator overloading... that is absent for a reason, simply because software design works differently in ObjC. You don't really need it in the same way that you do with C++. Same with multiple inheritance. You have protocols for that, amongst other things.

So please give ObjC another, more in-depth look, some time. You might be surprised in a positive way, once you look past the admittedly rather weird syntax.

A.

Re:For the better? (1)

hobbit (5915) | more than 2 years ago | (#34342770)

It used to be a lightweight extension to C, but ObjC-2.0 rather spoiled that with dot syntax for properties :(

Re:For the better? (5, Informative)

Graff (532189) | more than 2 years ago | (#34342912)

Also doesn't it's dynamic runtime stuff allow certain things that C++ doesn't?

Yeah, like built-in introspection [wikipedia.org] and reflextion [wikipedia.org] . Stuff like RPC (remote procedure calls) [wikipedia.org] is simple and flexible under Objective-C but under C++ it has to be hard-coded in and can be very brittle.

Re:For the better? (1)

CODiNE (27417) | more than 2 years ago | (#34343140)

Nice link on Reflection, every now and then I wish I could do that but didn't know I could.

Re:For the better? (3, Informative)

Graff (532189) | more than 2 years ago | (#34343442)

Nice link on Reflection, every now and then I wish I could do that but didn't know I could.

There's a lot more to it if you dig deeper:
Objective-C Runtime Programming Guide [apple.com]

You can do some pretty neat stuff like dynamically creating a class and adding methods to it. Some of it should only be used as a last resort but it's nice having the tools at hand if you really need them. This kind of stuff is either extremely difficult or outright impossible in C++.

Yes, there are some performance penalties to a dynamic runtime but for most cases it is negligible. If you desire you can circumvent the dynamic aspect of Objective-C and "freeze" method calls in order to get around those penalties for performance-critical code. There's a great series of articles on this subject: The Optimizing Objective C Series [mulle-kybernetik.com]

Re:For the better? (2, Insightful)

dyfet (154716) | more than 2 years ago | (#34343018)

While your overall statement could be thought of as broadly correct and relevant, it does so by being a chimeric language where you have two completely different and unrelated syntactic forms (C and smalltalk) that are superimposed on each other. I personally feel this reduces overall legibility.

Another consideration is that since method calls are messages with signatures that are symbolically matched at runtime as each method is invoked, there is some runtime overhead in method calls that are very different than found in C++ methods, even in respect to C++ virtuals, and this may become very important depending on how methods are used. To me Objective-C tends to make you use smalltalk as the framework for "overall" application structure and then use pure C for the details, where C++ is better for applying object oriented methods even to low level details, and this is where execution speed often does matter.

Finally Objective-C's runtime library standardized threads and conditionals, which makes writing multi-threaded applications more consistent and even generically cross-platform. However, all the issues with using pure C functions and libraries that are not re-entrant do of course remain.

Re:For the better? (1)

t2t10 (1909766) | more than 2 years ago | (#34343070)

Sure it delivers on that. And in 1985, that was a great thing; it was technically obsolete even then, but for underpowered personal computers, it was a decent compromise.

In 2010, it's just stupid. We don't need extensions to C of any form, we need C and its satanic spawn to die.

Re:For the better? (4, Interesting)

thenextstevejobs (1586847) | more than 2 years ago | (#34342484)

For all the things Apple has done right and does well, clinging on to Objective-C is not one of them.

It'd be nice if you pointed out, you know, actual reasons rather than just make snide comments. I'm sure some knee-jerk Apple haters will vote you up though.

My issues with iOS development lie not with Objective-C, but with Apple's frameworks and libraries. It's frustrating to only have header files and not be able to check out what a method actually does when debugging. Fortunately, the documentation for their classes is top-notch. The objc runtime is also a pretty wild ride, but once you know your way around you can poke at it and find out where your messages are going at least. Can check out the source for the runtime here http://opensource.apple.com/source/objc4/ [apple.com]

Another issue of course, is XCode. I've switched to writing most of my iOS code in vim, building my code with the xcodebuild command. I still rely on XCode to do things like add files to the xcodeproj and manage the build configurations. XCode has a mind of its own, wacky completions, a completely fucked up undo buffer, strange locations for settings, and more frustrating joys. Would love to do away with that.

Check out the cocoa.vim plugin [vim.org] , and also, while I'm at it, you can get your vim for your local environment pimped out in minutes with Vimlander 2: The quickening [github.com] . Test driving my apps with Pivotal's Cedar [github.com] framework.

Re:For the better? (-1, Troll)

Anonymous Coward | more than 2 years ago | (#34342538)

How about no one uses it in business, military, banking, data processing et al, and the vast majority of its usage is in web-applet replacements for apple's toy platforms?

Re:For the better? (4, Informative)

lurch_mojoff (867210) | more than 2 years ago | (#34342574)

Some of the biggest NeXT clients were precisely from the military, intelligence, banking, financial services and science communities. And they chose NeXT precisely because of Objective-C and NeXTStep.

Re:For the better? (2, Insightful)

barzok (26681) | more than 2 years ago | (#34342586)

Just because something is popular & widespread, doesn't mean it's high-quality.

And just because something is not widespread, does not mean that it isn't high-quality.

Re:For the better? (-1, Troll)

Anonymous Coward | more than 2 years ago | (#34342572)

It'd be nice if you pointed out, you know, actual reasons rather than just make snide comments.

Syntax and implementation. I willingly go the extra mile to avoid using Obj-C anywhere except for UI code.

the documentation for their classes is top-notch.

Not in my experience, eg: All the documentation presumes the developer is using IB when no serious developer I know will touch it.

Another issue of course, is XCode. I've switched to writing most of my iOS code in vim, building my code with the xcodebuild command. I still rely on XCode to do things like add files to the xcodeproj and manage the build configurations. XCode has a mind of its own, wacky completions, a completely fucked up undo buffer, strange locations for settings, and more frustrating joys. Would love to do away with that.

100% with you here. XCode is such utter shit that it's not funny. There really should be a command line tool allowing developers to manage the project whilst maintaining a modicum of sanity.

Re:For the better? (1)

teh kurisu (701097) | more than 2 years ago | (#34342724)

Syntax and implementation. I willingly go the extra mile to avoid using Obj-C anywhere except for UI code.

Isn't syntax just a personal preference? I actually quite like ObjC's syntax. What don't you like about it?

Not in my experience, eg: All the documentation presumes the developer is using IB when no serious developer I know will touch it.

As long as you understand what Interface Builder is doing under the bonnet/hood, then it's really not that hard. And is there any particular reason why a serious developer wouldn't touch IB? I find it to be quite a useful tool, much better than the equivalent in Qt Creator.

XCode is such utter shit that it's not funny.

Agreed. Xcode 4 is available as a developer preview and I'm hoping that it solves a lot of the issues I have with the current version, but I haven't had a chance to play with it properly yet.

Re:For the better? (1, Interesting)

Anonymous Coward | more than 2 years ago | (#34342956)

Isn't syntax just a personal preference? I actually quite like ObjC's syntax. What don't you like about it?

The bits that aren't C.

is there any particular reason why a serious developer wouldn't touch IB?

Load time of xib and the fact that for any non-trivial interface, you're going to end up hand-coding it anyway.

Agreed. Xcode 4 is available as a developer preview and I'm hoping that it solves a lot of the issues I have with the current version, but I haven't had a chance to play with it properly yet.

I forget, is this one of those things I agreed to an NDA on? If so would Apple kill me for telling you that despite a cleaner UI; XCode4 is just as useless?

Re:For the better? (1)

beelsebob (529313) | more than 2 years ago | (#34342812)

Not in my experience, eg: All the documentation presumes the developer is using IB when no serious developer I know will touch it.

You've never met a serious developer.

I've worked in Mac and iPhone application development for several years in industry and never met any developer (including collegues, online friends, people on the cocoa mailing lists, people on the developer forums, people at conferences), serious or not, who does not use IB.

Re:For the better? (0)

Anonymous Coward | more than 2 years ago | (#34343486)

You've never met a serious developer.

I've worked in Mac and iPhone application development for several years in industry and never met any developer (including collegues, online friends, people on the cocoa mailing lists, people on the developer forums, people at conferences), serious or not, who does not use IB.

So the first thing you ask every iOS developer is "do you use Interface Builder"? Granted there are plenty of developers who use it for the root view and hand code everything else. I say these folk aren't using it, merely tolerating it.

Re:For the better? (2, Informative)

nicholas22 (1945330) | more than 2 years ago | (#34342578)

"The world continues to chase apple -- probably for the better." That's just flame bait, I wouldn't have glimpsed twice on this article had there been no such phrase... Yet, here I am now, reading the article, posting and trying to come up with something that will tease Apple fanbois, for the heck of it. This is why I come here every day ;)

Re:For the better? (1)

Maury Markowitz (452832) | more than 2 years ago | (#34343182)

Or perhaps more accurately, not updating it.

It still has some things I like, but there's many more things I like in other places now. Boxing for one...

Summary is incorrect (4, Informative)

zr-rifle (677585) | more than 2 years ago | (#34342332)

GNUstep's objective is to create a free and open source implementation of the Cocoa libraries, with some additional libraries. It does not target the OpenStep spec, which is antique and obsolete.

Please read the definition [gnustep.org]

Re:Summary is incorrect (1)

thenextstevejobs (1586847) | more than 2 years ago | (#34342540)

If Apple started using open source'd classes for things like strings and could focus their internal development on things that interact more directly with hardware (especially graphics), that would be a win for everyone.

Less money for them for common functionality, more ability for me to see what's causing a bug.

Re:Summary is incorrect (1)

gnasher719 (869701) | more than 2 years ago | (#34342630)

If Apple started using open source'd classes for things like strings and could focus their internal development on things that interact more directly with hardware (especially graphics), that would be a win for everyone.

1. Have a good look at all the open source stuff that you can download from Apple. You'll be surprised. Especially with string handling, Apple has always been one of the driving forces behind Unicode. 2. "Everyone" I think excludes Apples.

Re:Summary is incorrect (2, Informative)

rxmd (205533) | more than 2 years ago | (#34343324)

Apple has always been one of the driving forces behind Unicode.

For selected values of "always". Apple has supported Unicode well since OS X, that is since 2001 or so, or in other words, ten years after the Unicode standard was published. Even Windows was earlier - Unicode support in Windows NT 3.x was there on the API level, in NT 4 it would work well if your programmers had been halfway diligent, and in Windows 2000 it would work well out of the box. With Apple systems before 2001, it was a pain to get Unicode working properly on MacOS 9 - it was technically supported in 9.x, but it didn't really work all that well.

With OS X, Apple finally had the opportunity (that Plan 9 had had something like a decade earlier) to design a new API that used Unicode for all strings. Prior to OS X, the Apple device that supported Unicode best was the Newton, and even there you didn't have proper input methods and rather limited font support.

Global Competitors (-1, Troll)

aelarne (1947374) | more than 2 years ago | (#34342376)

Apple is so far ahead in competition compared to its competition. The market hasn't been as one-sided as this in years! Come visit the worlds best translation website! http://worldtranslator.info/ [worldtranslator.info]

Re:Global Competitors (1, Redundant)

WrongSizeGlass (838941) | more than 2 years ago | (#34342412)

Apple is so far ahead in competition compared to its competition.

I nominate this for November's Yogi Berra award.

Re:Global Competitors (0)

Anonymous Coward | more than 2 years ago | (#34343362)

It's a spambot trying to push links for SEO. Someone needs to mod that post down to -1.

O RLY??? (0)

Anonymous Coward | more than 2 years ago | (#34342446)

Does that mean Sony is exploring new avenues for their rootkits?

closed. (-1, Flamebait)

blackfrancis75 (911664) | more than 2 years ago | (#34342598)

This makes total sense - Sony are very similar to Apple in that they lock their systems down and actively prevent after-market modifications. For these reasons, there was no way Sony were going to go down an Android-esque / Java route, so mimicking Apple was the logical choice.

Re:closed. (1)

lurch_mojoff (867210) | more than 2 years ago | (#34342718)

In what way GNUstep + GCC (+ presumably Linux) facilitate "systems [lock]down and ... prevent after-market modifications" more than "Android-esque / Java"?

Re:closed. (1)

Verunks (1000826) | more than 2 years ago | (#34342800)

This makes total sense - Sony are very similar to Apple in that they lock their systems down and actively prevent after-market modifications. For these reasons, there was no way Sony were going to go down an Android-esque / Java route, so mimicking Apple was the logical choice.

did this just came out of your arse or what? do you think that using java instead objective-c/gnustep will prevent Sony or anyone from locking down the system, or even better do you think that using objective c like Apple will automagically lock down the system?
Oh and by the way Sony Ericsson use android for their phones, and there is some speculation that they will use android 3.0 for the playstation phone

Re:closed. (0)

Anonymous Coward | more than 2 years ago | (#34343422)

You = zero knowledge

Discontinued (1, Insightful)

Anonymous Coward | more than 2 years ago | (#34342610)

Why is this pushed without mentioning that "SNAP Development is currently on hold" and the source code removed?

C/C++/Objective-C OOP (2, Interesting)

mrnick (108356) | more than 2 years ago | (#34342700)

I had a difficult time moving from C++ to Objective-C. I think it would have been easier going straight from C to Objective-C. Old habits are hard to break. I thought I new OOP but it was learning Objective-C that really let it sink in.

I learned it as part of my Master's project, an iPhone application, for my graduate studies in Computer Science. I have since setup a Linux box specifically to code in Objective-C.

It really comes down to personal preference. Code in what language you like. Currently I prefer Objective-C.

NP

Re:C/C++/Objective-C OOP (1, Informative)

t2t10 (1909766) | more than 2 years ago | (#34343126)

Why not learn something decent instead, like Ruby or Python?

Re:C/C++/Objective-C OOP (0)

Anonymous Coward | more than 2 years ago | (#34343290)

show me the native compiler for those

Re:C/C++/Objective-C OOP (1)

H0p313ss (811249) | more than 2 years ago | (#34343322)

Why not learn something decent instead, like Ruby or Python?

That's funny, you should get that on T-shirts. You could make a bundle from project managers.

Re:C/C++/Objective-C OOP (1)

abigor (540274) | more than 2 years ago | (#34343444)

Because he wants to write commercial software that runs on millions of devices? I love Python, but it's not the language one chooses for that sort of thing.

Re:C/C++/Objective-C OOP (1)

asvravi (1236558) | more than 2 years ago | (#34343358)

[quote] I thought I new OOP but it was learning Objective-C that really let it sink in. [/quote]

So I take it you didn't no OOP?

The world continues to chase apple? (3, Interesting)

Assmasher (456699) | more than 2 years ago | (#34342776)

Insinuating that SONY making use of Apple inspired development tools/specs/practices/whatever is validation of Apple in some way seems quite strange.

SONY is famous for being absolutely crap and producing/choosing/using development tools.

SONY's picking a development tool set related to Apple's only clear benefit is to people who have had to develop for SONY products in the past - ANYTHING is better than software that came out of SONY.

They sure used to make great hardware though, and that's starting to return a bit.

But adopting Apple-like dev environment(s)...? Water to a man dying of thirst and all that...

Why not Cocotron? (1)

hobbit (5915) | more than 2 years ago | (#34342844)

As far as I understand it, Cocotron is more concerned with implementing Cocoa rather than OpenStep (i.e. it would be more attractive to iOS developers), and I'd have thought its license (MIT) would be easier for Sony to ensure compliance with than the GPL.

Looks like SNAP just shut down (1)

halfdan the black (638018) | more than 2 years ago | (#34342978)

look at the homepage, http://snap.sonydeveloper.com/ [sonydeveloper.com]
it says SNAP development is currently on hold
Now, when I was checking out the site last night, it was all still there, now for some reason, some CEO type decides axe the project. Wonder if Microsoft got wind of this and forced them to shut it down and re-write in visual basic. Perhaps Microsoft threatened Sony by raising their OEM costs or something?

"The world continues to chase apple -- probably fo (3, Insightful)

Charliemopps (1157495) | more than 2 years ago | (#34343076)

"The world continues to chase apple -- probably for the better."

When did Slashdot become a forum for apple fanboys?

Re:"The world continues to chase apple -- probably (3, Insightful)

hrimhari (1241292) | more than 2 years ago | (#34343430)

It has been a few years since it migrated from a Linux fanboy-only site to a more democratic one. Today, you'll find Linux fanboys, Apple fanboys and surprise! Even Microsoft fanboys! But more importantly, you'll also find people impartial enough to not be fanboy to anything.

mod 30wn (-1, Troll)

Anonymous Coward | more than 2 years ago | (#34343174)

operat1ng systems a 4opular 'news his clash with
Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account

Loading...