Apple unveils Swift, a brand new Xcode programming language for developers

15791011

Comments

  • Reply 121 of 214
    stargazerctstargazerct Posts: 227member
    Quote:

    Originally Posted by paxman View Post

     

    Yup - this was definitely underwhelming. No new 6" iPhone.

     

    /s


    Perhaps if you wanted new hardware from Apple, you shouldn't have been watching the keynote to a developers conference. Kind of a dead giveaway for anyone with a hint of knowledge about what this event is about?

  • Reply 122 of 214
    tallest skiltallest skil Posts: 43,388member
    Originally Posted by nht View Post

    The old guys probably don't want to learn yet another language.

     

    I saw both “FINALLY a language that doesn’t have to deal with this” and “WOW, I’d never thought of that” on their faces.

     

    Originally Posted by stargazerCT View Post

    Perhaps if you wanted new hardware from Apple, you shouldn't have been watching the keynote to a developers conference. Kind of a dead giveaway for anyone with a hint of knowledge about what this event is about?

     

    … /s

  • Reply 123 of 214

    This is the developers conference not the hardware event.  You should have known this.

  • Reply 124 of 214
    asciiascii Posts: 5,936member

    I agree with mdriftmeyer that Swift may find a place as a rapid prototyping language but won't displace ObjC. And I agree with ecs that eventually Swift will be forgotten and C/C++ will still be going strong.

     

    Sorry guys but releasing a new programming language is something companies do when they don't have any really *good* ideas about where to go next. And releasing 4000+ new APIs is another sign of the same thing, i.e. we don't know what direction to go, so lets just go everywhere at once. Someone is not saying "No" enough at Cupertino.

  • Reply 125 of 214
    solipsismxsolipsismx Posts: 19,566member
    ascii wrote: »
    Sorry guys but releasing a new programming language is something companies do when they don't have any really *good* ideas about where to go next.

    From what I saw it sounds like they are trying to attract new and younger coders with Swift and the new IDE.
    And releasing 4000+ new APIs is another sign of the same thing, i.e. we don't know what direction to go, so lets just go everywhere at once. Someone is not saying "No" enough at Cupertino.

    Haven't they released thousands of new APIs with every new version of iOS since they 2008?

    I can't fathom how you can think they have no direction after this massive keynote.
  • Reply 126 of 214
    mdriftmeyermdriftmeyer Posts: 7,503member
    Quote:
    Originally Posted by ascii View Post

     

    I agree with mdriftmeyer that Swift may find a place as a rapid prototyping language but won't displace ObjC. And I agree with ecs that eventually Swift will be forgotten and C/C++ will still be going strong.

     

    Sorry guys but releasing a new programming language is something companies do when they don't have any really *good* ideas about where to go next. And releasing 4000+ new APIs is another sign of the same thing, i.e. we don't know what direction to go, so lets just go everywhere at once. Someone is not saying "No" enough at Cupertino.


     

    The APIs are definitely long overdue to be released. NeXT/Apple tends to take 5  years of internal baking before they spring it on everyone. The list they've done is very exciting.

     

    I haven't bothered to study the Physics APis added for Gaming, but I would have preferred Apple Frameworks be an extension of the forthcoming Bullet 3.0 Physics Library. I'll have to see if they can be leveraged within these new Physics frameworks, without basically doing the heavily lifting in-between. It is one project I would hope Apple contributed towards getting mature.

     

    Bullet Library brings a lot of 3rd party Engineering application options that OS X needs.

     

    Looking through SceneKit shows the physics are much more primitive to that of Bullet Physics. Nice start.

  • Reply 127 of 214
    mdriftmeyermdriftmeyer Posts: 7,503member
    Quote:

    Originally Posted by nht View Post





    We'll metal does. Should be interesting how well they can abstract that across all the various iOS hardware.

    I'm through about the same. Yah, I never got the excitement about type inference.

     

    Metal only has to do with the A series SoC, no more, no less.

  • Reply 128 of 214
    asciiascii Posts: 5,936member
    Quote:

    Originally Posted by SolipsismX View Post





    From what I saw it sounds like they are trying to attract new and younger coders with Swift and the new IDE.

    Different programming languages are suited for different purposes, not different ages. Some are more high level, suited for prototyping, some are more 

    low level, suited for performance. Some are domain specific such as math or science.

    Quote:

    Originally Posted by SolipsismX View Post



    Haven't they released thousands of new APIs with every new version of iOS since they 2008?

    I remember them saying "Over a thousand new APIs" before but never 4,000. And Tim Cook himself said in the keynote that we were going to see "The Mother of All Releases for developers," and "It's so huge we're going to dedicate an entire section of the presentation just for this," so I think this is something exceptional.

    Quote:

    Originally Posted by SolipsismX View Post



    I can't fathom how you can think they have no direction after this massive keynote.

    I think direction means choosing a path. When they release so many APIs, to me that's like brute force exploring all paths instead of choosing one. You could put a positive spin on it and say they're giving people choice, but to me it just looks like they had no Big Idea this year so decided to make up for it with sheer quantity.

  • Reply 129 of 214
    solipsismxsolipsismx Posts: 19,566member
    ascii wrote: »
    I remember them saying "Over a thousand new APIs" before but never 4,000. And Tim Cook himself said in the keynote that we were going to see "The Mother of All Releases for developers," and "It's so huge we're going to dedicate an entire section of the presentation just for this," so I think this is something exceptional.

    Last year it was 1500. This year at 4000 doesn't seem unreasonable considering they have an entirely new language with it's own APIs.
    I think direction means choosing a path. When they release so many APIs, to me that's like brute force exploring all paths instead of choosing one. You could put a positive spin on it and say they're giving people choice, but to me it just looks like they had no Big Idea this year so decided to make up for it with sheer quantity.

    Their path seems to have always been make things smoother and more seamless for developers and customers. I think they continually success in both areas, and this year I think they have shown to be outpacing themselves with the way Mac OS X and iOS can seamlessly pass data between themselves and with offering a new language and IDE that will make it even easier for developers to create apps. Maybe simplifying computing will not a good thing if we get too many unexperienced devs but so far Apple's continued focus to streamline these processes have seem to worked out well for the devs, customers, and, of course, themselves.
  • Reply 130 of 214
    paxmanpaxman Posts: 4,729member
    ascii wrote: »
    When they release so many APIs, to me that's like brute force exploring all paths instead of choosing one. You could put a positive spin on it and say they're giving people choice, but to me it just looks like they had no Big Idea this year so decided to make up for it with sheer quantity.
    What a depressing interpretation. It's only been a few hours!
  • Reply 131 of 214
    asciiascii Posts: 5,936member
    Quote:

    Originally Posted by paxman View Post





    What a depressing interpretation. It's only been a few hours!

    True. I have watched the few sessions that have been streamed to the WWDC app so far and will watch more as they appear, so there could be something really great coming. But nothing in the dev section of the keynote was really revolutionary. If you follow blogs like Lambda the Ultimate then everything in Swift is old news.

  • Reply 132 of 214
    nhtnht Posts: 4,522member
    ascii wrote: »
    I agree with mdriftmeyer that Swift may find a place as a rapid prototyping language but won't displace ObjC. And I agree with ecs that eventually Swift will be forgotten and C/C++ will still be going strong.

    Sorry guys but releasing a new programming language is something companies do when they don't have any really *good* ideas about where to go next. And releasing 4000+ new APIs is another sign of the same thing, i.e. we don't know what direction to go, so lets just go everywhere at once. Someone is not saying "No" enough at Cupertino.

    It's 2014. I'm freaking tired of .h files and c language syntax cruft. A more modern language is a welcome replacement for ObjC/C/C++. ObjC is effectively useless outside the Apple ecosystem anyway.
  • Reply 133 of 214
    dewmedewme Posts: 5,361member

    At some level I have to agree with "ascii." While they're not announcing an entirely new application platform or runtime engine, seeing Apple announcing a new programming language and a slew of new APIs is somewhat reminiscent of Microsoft's tactics circa late 90s and early 00s. Microsoft's C# is marginally "better" (depending on your perspective) than Java and C++ and I'm sure Swift will be marginally better than Obj-C and C++. But moving off center compared to standards based languages like C++, which continue to evolve nicely, certainly opens up the possibility of being a distractive influence and regressive for app developers. It gives them another reason to start over from square one with basic technology acquisition, relearning, and knowledge restacking instead of adding functional or architectural enhancements to their existing products and components. Eventually the new language's benefits may very well prove to be worth the reinvestment but this strategy is not without risk.

     

    The glass half full perspective is that Swift presents a much more approachable language for getting at the power of iOS and its rapidly growing set of accessible behaviors and services in the platform. Anything that makes the platform more accessible, inviting, productive, and rewarding for new and existing developers is a good thing. As much as I like powerful languages like C, C++, Obj-C, C#, etc., they are all laden with needless complexity and have abundant pitfalls and traps that will bite you until you master the language syntax, semantics, compiler nuances, and runtime behaviors. Gaining proficiency in any programming language, even the "safer" ones like Java and C# is still very non-trivial. Does Swift move the needle in the direction of achieving the most benefit for the most number of developers and ultimately their customers? It probably does, but whether it creates too much baggage to justify the investment remains to be seen. I suspect that it's not a binary thing - it will deliver incremental value improvement at an incremental cost expenditure for an incremental number of developers. It will still be better but still not the be-all and end-all that takes programming for the masses to the next level. For now that's good enough to temper my nervousness that I'm seeing the same script playing out again with a new actor.

  • Reply 134 of 214
    rayzrayz Posts: 814member
    Quote:
    Originally Posted by ascii View Post

     

    Different programming languages are suited for different purposes, not different ages. Some are more high level, suited for prototyping, some are more 

    low level, suited for performance. Some are domain specific such as math or science.


     

    Very true, but in this case the domain is general-purpose programming. Having had a quick read through the book, Apple seems to have cracked this in spades. It's certainly a lot more capable than the prototyping language you're trying to cast it as; rather, it sits nicely within the object/functional set that Scala occupies. 

    Performance an issue? Could be; no one knows for sure just yet, but your argument is very similar to ones I heard many years ago:

     

    "C??? Do me a favour. No one will use for performance reasons; assembler's the way to go. Always will be.'

     

    And the fact is that 99% of the applications written for Apple's platform don't need bare metal type coding to run at a decent speed, especially when weighed up against how much faster folk will be able to develop with Swift as opposed to using ObjectiveC. The language will also give them a boost in the enterprise space where they certainly haven't shown much interest in developing ObjectiveC applications, even with Apple's surging numbers there.

     

    You think that the language will disappear in a few years? I'm thinking that once the incumbent crop of ObjectiveC developers is slowly replaced by the younger functional enthusiasts, it will become the de facto language going forward. I think ObjectiveC/C will still be used where performance is critical and for legacy applications, but at the rate Apple is improving it's hardware and compiler tech, I wouldn't say forever.

     

    Quote:
    Originally Posted by ascii View Post

     

    I think direction means choosing a path. When they release so many APIs, to me that's like brute force exploring all paths instead of choosing one. You could put a positive spin on it and say they're giving people choice, but to me it just looks like they had no Big Idea this year so decided to make up for it with sheer quantity.


     

    It's quite possible that it looks like that to you because you're only staring at a very narrow path and how it affects you, while Apple is more concerned with a broader vision.

    This is not a case of just adding a few APIs here and there to keep the ObjectiveC people happy. This is defining their path to the future.  What you fail to see is that the path (or rather strategy, because a path is just the journey, not the destination) they've chosen is for growth, and it started long before the WWDC keynote.

     

    The iPhone5c was not about making a cheap phone; it was about making a phone that would appeal to the younger generation.

    The Beats buyout was the same (though I'm still less enamoured about that, so we'll see). 

    Carplay is about expanding the platform into new areas.

    Homekit is about expanding the platform to new areas.

    Swift is about attracting a new breed of developers.

    The pastel colour scheme is about attracting a new younger audience.

     

    Now, the older generation can either get with the program or move elsewhere because, unfortunately, Apple cannot rely on us for revenues forever – we simply won't last that long.

     

    Yes, Apple will lose a load of customers and developers who long for the good old days of memory leaks and green felt backgrounds, but they will pick up even more customers and developer who are hungry for fresh ideas and new tech, and who, quite frankly, will live longer.

     

    This has been going on since Apple threw out the grey and replaced it with Aqua.

    Quote:
    Originally Posted by ascii View Post

     

    Sorry guys but releasing a new programming language is something companies do when they don't have any really *good* ideas about where to go next. And releasing 4000+ new APIs is another sign of the same thing, i.e. we don't know what direction to go, so lets just go everywhere at once. Someone is not saying "No" enough at Cupertino.


     

    As far as being a metric for anything, the number of APIs in a release is about as meaningful as Lines of Code in a program. 

     

    They expanded into home automation and the cloud (and the cloud thing isn't really new). So that's hardly proof of a lack of direction.

  • Reply 135 of 214
    rayzrayz Posts: 814member
    Quote:

    Originally Posted by nht View Post





    It's 2014. I'm freaking tired of .h files and c language syntax cruft. A more modern language is a welcome replacement for ObjC/C/C++. ObjC is effectively useless outside the Apple ecosystem anyway.

     

    I don't think we're talking replacement just yet.

     

    But yes, header files .... <shudder/>

  • Reply 136 of 214
    hmmhmm Posts: 3,405member
    Quote:
    Originally Posted by SolipsismX View Post





    I'm not an expert in computer languages but that doesn't look like the same language Apple demoed today.

    Just think of it as an overloaded language.  For whatever reason I find the concept hilarious.

     

    Quote:
    Originally Posted by wizard69 View Post





    Possibly but even AMD is going this way to avoid the overhead of OpenGL. If the performance increases are accurate I can see rapid adoption of Metal. As far as swift goes most game cores are written in C++ and I really don't see that changing.

    I am slightly skeptical, because I can recall some of Apple's other benchmarks. That doesn't mean it won't be fast. I also wonder what features will be available. You can use OpenGL for more than just games. 3.1 allows it to be used for general computation, which is great if you have any highly parallel tasks. I suspect this would include games when it comes to simulating things like hair and particles.

     

    Quote:
    Originally Posted by Marvin View Post



    No semicolons at the end of lines but that doesn't mean tabs for scope like python as they still use braces. I guess they'll use newlines for end of line markers. This is harder in cross-platform languages due to the variety in line endings but fine for OS X.

     

    I always figured python did that to prevent the ridiculously silly fall through asleep at the keyboard errors.

     

    if (blah)

           blarg();

           somethingElse();  // executes either way in most languages

     

    Quote:

    I was hoping they'd actually just buy Unreal SDK or Unity but it looks like they don't want to pick just one as they noted a few SDK developers during the presentation. Hopefully Metal will allow developers to bring over fuller apps too. The graphics demo looked very nice and that's before the new hardware is out.


     

    I'm kind of wondering if compute shaders will be available through metal like you have with OpenGL ES 3.1.

  • Reply 137 of 214
    rayzrayz Posts: 814member
    Quote:
    Originally Posted by jasenj1 View Post

     

    Swift for the JVM coming in 3... 2... 1...

     

    From my quick reading of the reference book, several things remind me of Groovy: no semi-colons, the "?." operator, implicit typing, closures. It's a bit odd to me that the type is after the identifier.

     


     

    Should be very easy to do. The language is very similar to Scala,  and to Kotlin which is currently being developed by Jetbrains.  The position of the type identifier is the same in both these languages; I'm told it makes the syntax for functional programming much easier to comprehend.

  • Reply 138 of 214
    rayzrayz Posts: 814member
    Quote:

    Originally Posted by Constable Odo View Post

     

    You keep forgetting that everyone on Wall Street is waiting for an iWatch that will sell in the tens of millions of units at $300 a pop.  Did you see any iWatch?  No.  Did you see any new AppleTV?  No.  So it makes sense that investors quickly sold off their shares because they can't make any money from Apple this week.  Wall Street wanted to see hardware, not software at the developers conference.  Software simply doesn't make investors salivate when it comes to Apple.


     

    Er . . . you know it was a developers' conference, right?

  • Reply 139 of 214
    canukstormcanukstorm Posts: 2,700member
    Quote:

    Originally Posted by mdriftmeyer View Post

     

     

    Metal only has to do with the A series SoC, no more, no less.


    If I remember correctly, Metal only works on the A7 processor.

  • Reply 140 of 214
    vanfrunikenvanfruniken Posts: 262member
    It is somewhat disappointing that Swift leaves the SmallTalk syntax behind.

    I would have thought that Modern Obj-C take 2 would
    - resemble F-Script even more (do away with the bracket syntax for messages)
    - unify base types and classes (in F-Script, every value is an object, but Swift also tries to do this -- we'll see)
    - provide more developer friendly string manipulation syntax
Sign In or Register to comment.