Am 09.06.2014 um 09:55 schrieb "Lundberg, Johannes" 
<[email protected]>:

> I found this  http://www.splasmata.com/?p=2798
> 
> They seem to experience huge difference in speed comparing Obj-C / C to Swift.

Well, that was to be expected (somehow). C-types can be compiled straight ahead 
into machine instructions.
So the only area where optimization could be better than for ObjC is for 
handling objects.

My opinion so far after reading the docs from Apple is that they have done some 
improvements but other
things became worse than with ObjC. Examples:

+ get rid of @ for strings
+ use + operator for string concatenation
+ homogenous handling of types, type-arrays
+ generics
+ overflow checks
+ get rid of nil
+ better syntax for blocks
+ get rid of the concept of pointers

but some apects will just move beginner's problems to other areas:
- strings are always copied on assignment (making some code less efficient)
- operator overloading makes code more difficult to read
- people will stumble over the whitespace rules for prefix vs. postfix operators
- confusion when to apply the ! and ? postfix operators
- case statements do not fall through by default (although the idea to 
explicilty specify a "fallthrough" is good, it is a new conecpt)

Maybe more I have not yet though of.

So IMHO they have introduced some concepts that are good from a modern language
design - but only understandable if someone has studied these concepts before. 
So a beginner
will not be able to utilise them better than any advanced feature of Obj-C.

It is more or less the question if a monumental cathedral looks better if built 
with modern tools.

Someone has mentioned that it is easier to switch to SWIFT if someone has 
Javascript experience.
But I don't think so. In my view SWIFT compared with any other language will 
show commonalities,
but has difference which can lead to big trouble - if not properly understood. 
So to me it looks
like a mix of Java, JavaScript, C, Obj-C with some spices from Pascal, BASIC 
and other concepts.

But like any opinion this is based on the current knowledge I have. And no 
practical experience…

-- hns
_______________________________________________
Discuss-gnustep mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnustep

Reply via email to