Why Apple Should Open-Source Swift -- But Won't 183
snydeq writes: Faster innovation, better security, new markets — the case for opening Swift might be more compelling than Apple will admit, writes Peter Wayner. "In recent years, creators of programming languages have gone out of their way to get their code running on as many different computers as possible. This has meant open-sourcing their tools and doing everything they could to evangelize their work. Apple has never followed the same path as everyone else. The best course may be to open up Swift to everyone, but that doesn't mean Apple will. Nor should we assume that giving us something for free is in Apple's or (gasp) our best interests. The question of open-sourcing a language like Swift is trickier than it looks."
I disagree (Score:5, Insightful)
Why bother crying and begging them to allow you to strengthen their products? If you want to work on Swift then send your resume to Apple.
Re: I disagree (Score:2)
Or create a free reimplementation. I don't know if there's anything going on there but I know there have been talks about it in the GNUstep community.
Re: I disagree (Score:5, Informative)
Its a question of good governance. Give it freedom but yet maintain direction. Not an easy balance to get right as companies like Oracle are slowly learning. How much control would Apple want to exert? My guess is a lot.
Re: I disagree (Score:5, Insightful)
No Mozilla is only in control of the implementation branded as Mozilla,
Yes. that would be "Mozilla Firefox", the project I explicitly referred to.
... ironically through copyright/trademark laws.
Ironically? How so?
... anyone is free to fork the product and potentially completely remove any control Mozilla has by simply doing a better job at building the browser
Yes. Which would then be a different project
Re: (Score:2)
I presume what you're really getting as is that by not Open Sourcing Swift, Apple doesn't have to worry about someone forking Swift, making it better than the Swift mainline, and dividing the Swift universe.
The only Firefox 'forks' I can think of are minor tweaks (even just compiling with different flags) or pure trademark-avoidance; if Apple do a good job, I doubt they'd have much to worry about. (Not to mention that, on Apple platforms, you'd have to use Apple's language; forks have no bearing on that.)
Mo
Re: (Score:3)
(Not to mention that, on Apple platforms, you'd have to use Apple's language; forks have no bearing on that.)
Incorrect. Your code has to compile using their APIs. There are multiple tools out there for writing iOS and OSX code (Embarcadero RADStudio, Titanium, FreePascal, MonoTouch, etc.) . All code must be signed before it can be accepted into the AppStore. And, the code undergoes basic checks to such things as unauthorized API calls, missing images, etc. The signing requirement still has to be done using XCode. The alternative tools are able to call it to facilitate the signing process.
Swift and Objective-C
Re: (Score:2)
What is there to stop people from making their own implementations of compilers for swift?
What we've seen from other languages is that patents can potentially be a problem, but I don't know if that's applicable in this case.
Open sourcing the future design of swift however means apple may lose control of how the language develops and could be a hindrance to it's primary use in developing software for it's OSes.
Apple might loose control if someone else makes a better implementation, and that users switch to it. That would be a good thing and motivate Apple to improve their original implementation which might otherwise stagnate.
Re: (Score:2)
If Apple doesn't want the help of the OSS community then forget 'em.
There is this part of the open source community that is quite willing to help - but requests that for their help, you are effectively losing control over your own work. That's why Apple dropped gcc. I think they can live without you.
Re: (Score:3)
And they went running to another Open Source compiler. Your point?
Re: (Score:2)
No, the reason Apple invested a ton of money and development effort in LLVM (it started around 10.4/10.5 when the first Clang/LLVM compiler was offered as an alternative to gcc) was GPLv3.
Apple was paying very close attention to what the GPL was evolving into, decided they didn'
Re: (Score:2)
Re: (Score:2)
The real irony here is that, in the meantime, Microsoft has open sourced the entirety of C# and VB.NET compilers.
What for? (Score:4, Interesting)
There's no shortage of programming languages. Swift isn't anything special. It mostly has value for its integration with Apple's environment and this isn't Open Source either, so what would Swift being Open Source actually be good for? I really can't see why anyone would want to use Swift anywhere than on OS X or iOS when the real value isn't in the language anyway but in the frameworks and the integration with them.
(And I'm not even saying that Apple's approach is better. It's a different approach and has its own advantages and disadvantages. But if you have a closed system using its advantages makes more sense than trying to square the circle.)
Re:What for? (Score:5, Interesting)
I maintain the GNUstep / Clang Objective-C stack. Most people who use it now do so in Android applications. A lot of popular apps have a core in Objective-C with the Foundation framework (sometimes they use GNUstep's on Android, more often they'll use one of the proprietary versions that includes code from libFoundation, GNUstep and Cocotron, but they almost all use clang and the GNUstep Objective-C runtime). Amusingly, there are actually more devices deployed with my Objective-C stack than Apple's. The advantage for developers is that their core logic is portable everywhere, but the GUIs can be in Objective-C with UIKit on iOS or Java on Android (or, commonly for games, GLES with a little tiny bit of platform-specific setup code). I suspect that one of the big reasons why the app situation on Windows Phone sucks is that you can't do this with a Windows port.
It would be great for these people to have an open source Swift that integrated cleanly with open source Objective-C stacks. Let's not forget that that's exactly what Swift is: a higher-level language designed for dealing with Objective-C libraries (not specifically Apple libraries).
Objective-C is a good language for mid-1990s development. Swift looks like a nice language for early 2000s development. Hopefully someone will come up with a good language for late 2010s development soon...
Re: (Score:2)
Interesting post! Could you point me towards a github or two of open source apps that are written like that ?
Re: (Score:2)
I'm sure GitHub has a search function ;D
Re:What for? (Score:4, Interesting)
Hopefully someone will come up with a good language for late 2010s development soon...
Well, there's always ClozureCL with its Objective-C bridge. :D
Re: (Score:2)
This is the best post I've seen on /. in five years. No further comment.
Re: (Score:2)
The advantage for developers is that their core logic is portable everywhere, but the GUIs can be in Objective-C with UIKit on iOS or Java on Android (or, commonly for games, GLES with a little tiny bit of platform-specific setup code).
How is this an advantage to anyone who plans ahead? I suppose if you wrote your original application in Objective-C and weren't thinking about cross platform support, then fine. But if you're planning on supporting both platforms why don't you just go completely cross platform and use C? Objective-C sucks. Swift fixes a lot of its problems but the syntax is a bit odd to me. And I've been writing iOS applications for the last 3 years, it's not like I haven't used Obj-C at all.
Re: (Score:2)
How is this an advantage to anyone who plans ahead? I suppose if you wrote your original application in Objective-C and weren't thinking about cross platform support, then fine. But if you're planning on supporting both platforms why don't you just go completely cross platform and use C?
Because C.
Re: (Score:2)
How is this an advantage to anyone who plans ahead? I suppose if you wrote your original application in Objective-C and weren't thinking about cross platform support, then fine. But if you're planning on supporting both platforms why don't you just go completely cross platform and use C?
Because C.
Obj-C isn't any better than C in my opinion. But, to each their own.
Re: (Score:2)
It is if you're doing any nontrivial amount of string manipulation.
Re: (Score:2)
It is if you're doing any nontrivial amount of string manipulation.
Well okay you do have me there. Strings are much easier to manipulate in obj-c.
Re: (Score:2)
I am a bit curious. How is the objective-c compiled and ran on Dalvik? Are you doing: objective-c -> LLVM -> dalvik bytecode?
Is the project you speak of Apportable?
Re: (Score:2)
How is the objective-c compiled and ran on Dalvik? Are you doing: objective-c -> LLVM -> dalvik bytecode?
It isn't. It runs natively via the NDK.
One thing Swift will address... (Score:4, Informative)
One thing Swift will address... There are currently 3 memory management models in use in Objective-C, and for some of those models, you don't get a retain count automatically (for example, this is the case for a number of collection objects when doing an insertion).
Swift has the opportunity to rationalize this, which is not something you could do with the Objective-C libraries themselves, since doing so would change historical APIs and thus break old code.
It wasn't really until Metrowerks basically became incompatible with the Intel switchover and the 64 bit support had to drop certain types of support from Finder due to 64 bit inode numbers, and while I happily would have made them new header files so that they would have continued to work with the UNIX Conformance work, where Ed Moy and I basically broke their local private copies of their header files, since Motorola sold off the Intel version of the Metrowerks C the week because Apple announced Intel, it was pretty much DOA at that point.
So it basically took an Act Of God to get some people to get the hell off some of the old APIs we had been dooming and glooming about for half a decade.
Swift is another opportunity for that type of intentional non-exposure obsolescence to clean up the crappy parts of the APIs and language bindings that haven't been cleaned up previously due to people hanging onto them with their cold, dead hands. Hopefully, they will advantage themselves of this opportunity.
What is Slashdot's Relationship to InfoWorld? (Score:3, Insightful)
Many click-bait, shit posts come from snydeq and they all link to how-is-it-still-in-business-rag InfoWorld.
I know Slashdot hasn't tried in years, but damn, there are interesting stories out there that can produce good discussion.
Article shows fundamental lack of understanding (Score:5, Interesting)
Whoever wrote that article doesn't understand Swift well, or Apple for that matter:
Swift is designed to support a world built bottom up in Objective-C. It's meant to play well with the bazillion lines of existing Objective-C, not supplant it.
This is totally wrong. Apple could not be more clear that Swift is built to supplant Objective-C. It will take a while to re-write the frameworks but they are encouraging everyone now to write new stuff in Swift, and as rapidly as possible making the bridge over to the Objective-C frameworks as Swift friendly as possible.
I think Apple will not open Swift at the moment because they want to have a small core group directing where the language goes, at least at first... and then it will open up more from there. But that also supports the notion that swift is not an auxiliary language, but the primary path going forward.
Re:Article shows fundamental lack of understanding (Score:5, Insightful)
See also: Microsoft and
Re: (Score:2)
Article shows fundamental lack of understanding (Score:2)
https://lists.apple.com/archiv... [apple.com]
"Swift is Apple's modern, type-safe language for Cocoa development But Objective-C remains a first-class citizen too"
http://devstreaming.apple.com/... [apple.com]
Seems like it's not meant to supplant but to live alongside it.
Re: (Score:3)
Go back to 2002 or so and s/Objective-C/Java. They're committed for the time being, but if they see people switching to Swift uniformly they'll dump Obj-C like a bad habit.
Re: (Score:3)
They won't see people switching to Swift uniformly. There are trillions of lines of code written in Objective-C, and programmers already know it and are comfortable with it. There are no tools for migrating code from Objective-C to Swift, much less the hodgepodge of mixed C, Objective-C, and sometimes C++ that quite frequently occurs in real-world apps, so for the foreseeable future, you'd end up just adding Swift to your existing apps, which means you now have three or four languages mixed in one app ins
Re: (Score:2)
This is totally wrong. Apple could not be more clear that Swift is built to supplant Objective-C.
Right now a problem with Objective-C is that it exists on top of C. For an experienced C or C++ programmer that's no problem. But for someone who is learning Objective-C as their first and only language, there are some very strange things going on. They are all quite logical if you know C or C++, but not at all if you don't.
That's one thing that Swift gets rid of. There is nothing that is weird for historical reasons. (There are things that look weird to the C programmer though). Another thing that's gon
Re:Article shows fundamental lack of understanding (Score:4, Insightful)
Type-casting -oh my lord type casting- is so astoundingly bad in Swift it really beggars belief that in the 21st century anyone could design something that bad!
Then I'd say you didn't understand it.
Re: (Score:2)
If you need a typecast in an object oriented languga, the chance is 99.9x% that you did something wrong. ... wow I'm speachless.
A guy does not like a new language and complains about their type casts
The type-casting is good (Score:2)
Type-casting -oh my lord type casting- is so astoundingly bad in Swift
What don't you like about it?
I like it because it precludes a lot of stuff from going wrong unless you are very explicit in telling swift how you would like to be shot in the foot.
What I like ... errrm, respect about Apples Swift (Score:5, Insightful)
What I respect about Apples Swift (not to be mistaken for the other PL Swift [swift-lang.org]) is that it/Apple doesn't claim Swift to be anything other than it actually is. An improvement on PLs already exisiting in Apples Ecosystem tailored *specifically* for developing in that ecosystem, catering to the preferences and addressing the pet peeves of their developer community. AFAICT with no downsides and measurable upsides if you intend to develop native iOS Apps exclusively.
*This* all IMHO is a new lock-in PL done right - as far as you can do those right. .Net/C# mess.
contrary to all the lies, damn lies and hideous marketing bullshit that went into the
Apple did it right again in the way that they actually let the engineers take care of the language, the designers layout a nice free iBook on it and basically kept marketing out of it. ... Not that Apples marketing is really that bad.
If I ever do native iOS development and embrace the golden cage, I might even look into it - the syntax does look less scary than that of the classic C family.
My 2 cents.
Re: (Score:2)
My main issue is we are entering a post desktop world. (No the desktop isn't dyeing, but it isn't the center of our computing world)
So we need the following.
1. A platform to create moble apps.
2. Being able to create these apps on different systems.
It is actually very lame to have to have a Mac to build an iOS app. You really should be able to do it on at least the Big three OS Windows,Mac,Linux. Because we are not desktop centrist anymore and people will go around with different Desktops and OS's freely.
I hope it crashes and burns (Score:2, Insightful)
It took a vengeful God to confound the languages of man the first time around. This time around we have gone into do it ourselves mode as everyone who wants to either segment markets, is too lazy to improve an existing language, or just wants a monument to their ego creates a new language.
Swift is little more than a potential attractive nuisance and it's hardly in Apple's (The great creator of attractive nuisances) to open source it. They want it to become as popular as possible without becoming universal.
Re: (Score:2)
Re: (Score:2)
1) The Swift compiler is buggy. A language with compiler bugs is painful to use.
2) Locked in to a single platform.
3) Apple has a habit of eliminating support for languages/tools on a whim.
I would be very careful before dedicating resources to Swift.
Re: (Score:3)
Well doesn't Objective C lock a developer into a single platform? Where else are these iOS apps going to run without a recompile and platform dependencies?
Is the Java based Android running apps on other platforms like iOS or Microsoft's?
The Open Phone platform is either low performance apps with middleware, or a Unicorn parade. I do see that you should be careful of lockin -- but isn't everyone already locked in anyway?
Re: (Score:2)
Well doesn't Objective C lock a developer into a single platform?
No, there's been an open source implementation of OpenStep (the real name of Cocoa) for decades. Some of the platform stuff is Apple specific, but that is true of Linux and OpenBSD as well. You can handle it the same way you handle any other platform incompatibility: encapsulate the incompatibility into as small a piece as possible.
Believe it or not, you can actually compile Objective-C code for Android and run it. Of course, you will have to recompile it, but that's not an issue when you have the source
Re: (Score:2)
Your choice on iOS is javascript + HTML, Objective C, or using some third party like Unity. The iOS has been able to eke out an advantage over other phones for battery life and the ability to run large games ONLY BECAUSE they forced this "writing to hardware" with Objective C.
Objective C is difficult and the other options are for low performance apps that are little more than cobbled web pages.
The need for Swift is great, and I've been using it to jump back into programming; it is well thought out and strai
Crap article (Score:2)
Half of it doesn't make sense and the rest is factually inaccurate. For instance, Apple won't open-source Swift because people don't want to buy cheap iPad clones? Huh? The foundation of Swift began in the open-source world? Nope.
Any article like this that doesn't mention Apple are the primary driving force behind the open-source LLVM/Clang tools is missing a big part of the puzzle. Apple have a track record of working on this sort of stuff openly once it gets to production quality.
Apple Fanboy (Score:2)
TFA has no idea what he's talking about? (Score:2)
Swift is a programming language. Anyone can write a different compiler for it. Open sourcing Apple's LLVM frontend would be nice, but is not required.
If it's not open sourced and no one does a Swift implementation, we'll be exactly in the same situation as before. You had to write Java for Android and Objective C for iOS. Now you'll have to write Java for Android and Swift for iOS. I fail to see how that changes anything, except Swift being slightly less annoying thatn ObjC.
90% of the article serves to show
Re: (Score:2)
You can write iOS and Android code in any language, as long as you port the runtime and package it with your application. On iOS HTML5 and JavaScript e.g is popular, but so is Qt and C++.
Re: Feel Free to Open Source your Own Code (Score:3)
No one is demanding anything, but some of us believe that distributing your software as free and open source software is better for everyone including the original developer. There's nothing wrong in suggesting it.
Re: (Score:2)
No one is demanding anything, but some of us believe that distributing your software as free and open source software is better for everyone including the original developer. There's nothing wrong in suggesting it.
You can add some reasons why you think that open sourcing Swift would be good for Apple. When you do that, it would be good to look at it from Apple's point of view. Try to find arguments that would convince Tim Cook.
Re: (Score:2)
Because someone else will do cool things with it that you wouldn't.
Re: (Score:3)
It's an argument for why Apple should do it, not that Apple must do it.
Re: (Score:2)
I don't see anything about demand there.
Re: Editors ! Explain terms, then add the story (Score:4, Informative)
In this context it's a programming language for the Objective-C runtime developed by Apple.
Re: (Score:2)
Re: (Score:3)
You are connected to Internet. What's the point on duplicating information?
If you don't understand a term, you can search its explanation yourself.
Let me try fixing the summary for you (Score:3)
Faster innovation, better security, new markets — the case for opening Swift (an innovative new programming language for Cocoa and Cocoa Touch [high-level APIs that make it easy to create OS X (a series of Unix-based graphical interface operating systems developed and marketed by Apple Inc.) apps (applications; computer programs that run on PC [personal computer] or mobile device) with just a few lines of code (collection of computer instructions written using some human-readable computer language, us
Re: Apple not in my best interests either (Score:5, Interesting)
I don't know about that necessarily. Some has contributed a nontrivial amount of work to LLVM and especially the clang project. That has certainly been appreciated outside the Applesphere.
Re: Apple not in my best interests either (Score:5, Informative)
To be clear: Apple aren't just a contributor, they created Clang [uiuc.edu] and employ one of the LLVM project's founders to work on LLVM, Clang, and Swift.
Re: (Score:2)
The FSF overreached with GPL v3 ... (Score:5, Interesting)
Yeah, but as I recall wasn't the whole reason for clang that they wanted to stop using GCC, as it's truly free software? Perhaps my recollection is incorrect.
Or perhaps you are viewing things through political filters.
Apple, and others, stopped using the "truly free" gcc because GPL v3 became quite restrictive.
The FSF overreached with GPL v3, they tried to be too forceful, they overestimated their importance and irreplaceability. The market responded by moving towards LLVM, a less restrictive option.
Re: (Score:2)
> Apple, and others, stopped using the "truly free" gcc because GPL v3 became quite restrictive.
There's nothing in there that should scare off anyone. If someone is bothered by the GPL3 in a project like C++ compiler, then you should be very suspicious of their motives. They clearly aren't interested in playing nice or being a good citizen.
They clearly want to be free to f*ck you over later.
Re: (Score:3)
Re: (Score:2)
> Apple, and others, stopped using the "truly free" gcc because GPL v3 became quite restrictive.
There's nothing in there that should scare off anyone.
GPL v3 includes language to thwart anti-circumvention efforts, anti-tivo'ization requiring installation information like signing keys, etc.
I believe Linus has spoken against the anti-tivoazation clause in the GPL v3.
If someone is bothered by the GPL3 in a project like C++ compiler, then you should be very suspicious of their motives. They clearly aren't interested in playing nice or being a good citizen.
They played nice and were good citizens with GPL v2 for many years.
Plus Apple was a good citizen by supporting many FOSS projects and releasing various internal projects as FOSS.
http://www.opensource.apple.co... [apple.com]
They clearly aren't interested in playing nice or being a good citizen. They clearly want to be free to f*ck you over later.
I'm suspicious of people who see things so "clearly". :-)
Re: (Score:2)
They clearly want to be free to f*ck you over later.
Quite the opposite. As an AC reminds us LLVM/clang is modular and better integrates into Integrated Development Environments and other development tools. Its quite the technical win in that respect.
Gcc intentionally thwarts such integration to avoid exposing various internals and creating a possible path around the GPL. I.e. politics is limiting the engineering, integration and usability of gcc.
So there are technical motivations to move to LLVM as well.
Re: (Score:2)
> Apple, and others, stopped using the "truly free" gcc because GPL v3 became quite restrictive.
There's nothing in there that should scare off anyone. If someone is bothered by the GPL3 in a project like C++ compiler, then you should be very suspicious of their motives. They clearly aren't interested in playing nice or being a good citizen.
They clearly want to be free to f*ck you over later.
Go tell that to the BSD guys. No, they don't want to screw you over, their definition of freedom differs. To them, freedom is defined as having as absolutely few restrictions as possible. GCC vs Clang is a perfect example. GCC is intentionally made as opaque as possible to prevent you from working around it, and it's far worse in this respect then many of the proprietary compilers. Clang is more interested in being as useful to the user as it can. If you really want it summed up in one sentence, here it is:
Re: (Score:3)
Under GPL2, It was perfectly happy to pick and choose from among the Free software it wanted, occasionally throwing back some incidental patches and libraries here and there.
That's not legal. Under the GPL2 they must release all changes they make to any binary they release (and Apple did release their changes). You're going to have to re-think your hypothesis.
Re: (Score:2)
It is legal paranoia. Just like how IT-types have network security paranoia and ban a bunch of software/tools that *could* *potentially* introduce security issues to the company network...
I mean, sure, if you spend time looking at an individual license it could be OK. But why spend the time to investigate? Just blanket deny, and if somebody thinks it's worth fighting the bureaucracy to use a damn piece of software, *then* it might be worth looking into making an exception...
Re: (Score:2)
Not really. GCC is inconvenient in several ways. See this comparison [llvm.org] for details. Most of them are technical, but a couple are related to the license being GPL. Clang and LLVM are "truly free software" as well, so Apple clearly aren't averse to "truly free software".
Re: (Score:2)
Re: (Score:2)
They stopped using gcc for various reasons, the project was stagnant, ridden by core developers that could not agree on a road map, it forked a few times I believe and it was always not only buggy but years behind modern C++ standards. Not to mention gcc is slow and the code it produces was not really fast or small in the recent years.
No idea how it is faring right now.
Re: (Score:2)
They stopped using gcc for various reasons, the project was stagnant, ridden by core developers that could not agree on a road map, it forked a few times I believe and it was always not only buggy but years behind modern C++ standards. Not to mention gcc is slow and the code it produces was not really fast or small in the recent years.
No idea how it is faring right now.
You should really take a look at gcc 4.9 because your viewpoint is seriously out of date.
Re: (Score:2)
Why should I? I talked about stuff long ago, I'm not interested in gcc :)
I use LLVM/clang on my Mac and professional C++'compilers for embedded (but honestly, because the customers demand it)
That was not my 'viewpoint' but a reiteration of stuff I observed the recent years.
However it is nice if modern gcc is back on track for standard compliance and state of the art code generation.
Static Analyzer? (Score:2)
Re: (Score:2)
Almost everything you said is wrong. At the time clang was born GCC was not stagnant, it was moving along quite well, and it was busting out C++ improvements.
For Objective-C it was. So Apple either had to switch to C++ or go on their own which is what they did. Now Clangs work on other languages but Apple's focus was always on Objective-C.
Re: (Score:2)
No, they're saying Apple switched because GCC's core wasn't designed in a way that made it easy to extend the Objective-C bits in the way that Apple wanted. And that could well be part of it—I'm not sure.
But I think a bigger reason was that Apple could use Clang to make Xcode better, whereas GCC's parsing libraries were A. pretty tightly coupled to GCC (making it technically difficult to reuse them) and B. licensed under a license that made linking them into non-open-source software problematic at be
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
It's the Slashdot Reality Distortion Field in effect, I think.
Re: (Score:2)
Steve Jobs said that FaceTime was going to be open source when he introduced it.
But it never happened.
Re: (Score:2)
Don't forget Webkit and Darwin. Does anybody actually use Darwin?
Re: (Score:3)
I've heard Apple uses it....
Re: (Score:2)
Re: (Score:2)
Webkit was a fork of KDE's HTML renderer, mostly over maintenance issues.
So when Apple rewrote the engine in WebKit2, it was over "maintenance issues"? That's a little bit of revisionist history. When Apple forked KHTML it was for one reason: control. Apple wanted to make a lot of changes (which they did) and take it in a new direction. They could have stayed with KHTML; however, that meant they would have to rely on KHTML developers to approve and upstream changes. So they forked it which they are allowed to do.
I don't think Apple has ever open sourced anything because they actually believed in open source ideals, namely that open sourcing something has a positive-sum outcome.
No Apple is interested in getting things to work. If that means ope
Re: (Score:2)
Very true. Case in point: in didn't even know about this 'language' (dialect).
Re:Deliberate incompatibility (Score:4, Informative)
Applle didn't adopt Objective-C. Objective-C came with the package when Steve Jobs returned to Apple and brought NeXTSTEP/OpenStep with him from NeXT. Objective-C is an attempt to graft SmallTalk style object oriented programming onto standard C without breaking too many other things.
Re: (Score:2, Informative)
It was probably 5-10 years from the NeXT acquisition until Objective-C became mainstream in the Mac development community. It was all C++ and Carbon until then.
Re:Your post is a non-sequitur. (Score:4, Interesting)
The point being that Apple didn't adopt Objective-C just to be weird. Next used Objective-C to build NextStep and there's certain things in Objective-C that made NextStep moderately cool.
I actually worked at Apple, on the operating systems team, around that time. Apple was in no position to be arrogant in 1997 and wasn't actively looking for ways to be incompatible. Today, that's a very different story.
Re: (Score:3)
Re: (Score:2)
I could say the same thing to you, Mr Coward. There's the trap you see - complain about the tidal wave of no-added-value pundits, and someone hits back accusing you of hypocrisy, for making the comment. I've tried ignoring them, I'm afraid they don't seem to be going away.
Re: (Score:2)
Not only that, but why as a developer would you want to limit yourself to a single OS, never-mind that this one has an evil overlord with its own interests at heart? And FWIW, how come no one in their right mind uses Active X web extensions either?
-"A man has got to know his limitations." -Clint Eastwood's Dirty Harry, mocking the guy who said it to him first.
Re: (Score:2)
That's not a flaw with open-source, that's one of the beauties of it. Whoever has a vested interest in it, can benefit from it. If I can get something out of it, why should I care if someone else can profit from it more than I do?
Re: (Score:2)
Apple prides itself as a closed ecosystem.
Apple prides itself on an integrated system. That does not always mean closed. For example, their music is AAC which is the successor to MP3. This is not a format of their design.
Yes it may have adopted some open source projects like WebKit in Safari.
And by adopted do you mean made it the de facto engine for many different web browsers? When Apple forked KHTML, it was not used by Google or Opera etc. If you want to ignore that they created OpenCL, LLVM, Bonjour, etc.
Re: (Score:2)
It's easy to throw together a new language and compiler. The question is whether it has the credibility and features to build a large user community. I see nothing in Rust that makes me believe that it does. Whether Swift is a better or worse programming language doesn't matter as much as that its adoptions by Apple pretty much guarantees that there will be programmers, books, tools, and libraries.
Re: (Score:2)
It happens often enough, but I don't know if I'd describe it as "easy."
Re: (Score:2)
Rust does not have similar goals at all. Rust aims to be the 21st century C++, with a sane design that ditches back-compat with C and adds safety-by-default. Swift is Obj-C redone Java-style.
Re: (Score:3)
Re: (Score:2)
You think the iphone/ipad market (apple world) is small? They should have done this sooner because obj-c is too low level (difficult/time-consuming to code/debug) for your typical $0.99 app. This language will probably cut development time of ios apps by a factor 2 to 10.
I don't think other platforms need it though as they already have java, python, .net, and newer languages.
Re: (Score:2)
Apple haven't said that they will open-source Swift. The only thing they've said so far is that they've been concentrating on getting it to 1.0 first and haven't made a decision about open-sourcing it yet.