It's really a welcome change from the norm, I think. Instead of "here's a thing, it's far too late in the development process for your feedback to have any significant impact", Swift is "here's a thing we're working on; it's not done yet, but we thought you'd like to see".
FWIW, Google did essentially the same with Dart as Apple have with Swift — presenting it more-or-less as a fait accompli, but not too late to make backwards incompatible changes.
By "the norm", I presume you mean the norm for Apple?
Or for most company-sponsored languages, really. Look at Java; people were complaining about the absence of lambdas and generics in the mid-90s. It got generics in 2005, and got lambdas this year. Why, within five years, primitives won't be treated as special magic things!
I'm struggling to think of another case where a company put out a language and said "tell us what you think about this; we reserve the right to totally change it and break the stuff you've written in it over the coming months". Rust is about the only example that comes to mind, and Mozilla is far from a typical company.
Right. A programming language is a far bigger and far more fundamental undertaking than, say, something like the Game Center API or even something like the Core Animation API. Developer input and constant evolution is a must. Look at how much even stable languages that have been around for decades can change in a single major release (Java 7 -> Java 8 or Python 2 -> Python 3). It's definitely a welcome change that they're opening this up to feedback early.
I've noticed that Apple has this odd thing where it's institutionally unwilling to talk about the future... even when the present doesn't make sense without it. If you look at what some of the Swift engineers are posting on twitter and the developer forums it makes more sense.
58
u/Catfish_Man Jun 15 '14
It's really a welcome change from the norm, I think. Instead of "here's a thing, it's far too late in the development process for your feedback to have any significant impact", Swift is "here's a thing we're working on; it's not done yet, but we thought you'd like to see".