On Fri, 06 Jun 2014 20:41:09 -0600, Michael Torrie wrote:
> On 06/06/2014 12:28 AM, Travis Griggs wrote:
>>> On Jun 5, 2014, at 1:14, Alain Ketterlin <al...@dpt-info.u-strasbg.fr>
>>> Swift's memory management is similar to python's (ref. counting).
>>> Which makes me think that a subset of python with the same type safety
>>> would be an instant success.
>> Except that while you don't need to regularly worry about cycles in
>> python, you do in swift. Which means you get to think constantly about
>> direct and indirect cycles, figure out where to put weak stuff, when to
>> use a local to keep a weak property alive until it finds it's strong
>> home, etc.
> Swift's reference counting seems to be fairly close to Objective C's,
> which makes sense since the classes can be used directly in Swift. Seems
> to me that Swift is just Objective C with some syntactic sugar and a
> nicer syntax. That's why I said it was a little odd to be comparing
> Swift to Python, or at least to be claiming Apple should have made
> Python it's core language.
A "little" odd? It's utterly astonishing!
Ruby, Applescript, etc. I'll call them "scripting languages", but I don't
mean that as a put-down. I just mean that they are intended for rapid
development, they are dynamically typed, lightweight, and typically
aren't expected to compile directly to machine code.
Swift is intended as a new generation *systems language*. The old
generation of systems languages are things like C, Objective-C, C#, C++,
Java, Pascal, Algol, and so forth. The new generation are intended to
fulfil the same niches, but to have syntax and usability closer to that
of scripting languages. Languages like Go, Rust, Ceylon, and now Swift.
We're starting to see the distinction between systems and scripting
languages blurred even more than it used to be. These smart, lightweight
but powerful systems languages are likely to be a big challenge to
scripting languages like Python and Ruby in the coming decades. If you
had a language as easy to use and as safe as Python, but as efficient as
C, why wouldn't you use it?
It is naive to expect Apple to have made Python it's core language.
Apple's core language is Objective-C, and if they were going to pick a
core scripting language (other than Applescript, which exists in a
different ecological niche) it would have been Ruby, not Python. Ruby's
fundamental model is very similar to Objective-C, Python's is not. Apple
already developed a version of Ruby, "MacRuby", which was designed to
call directly into the Objective-C APIs without an intermediate interface
layer, but they have abandoned that to focus on Swift.
(Besides, Apple is unlikely to commit to a core language being something
they don't control.)