IBM Swift Sandbox lets you test Apple's newly open-source programming language in your browser

2»

Comments

  • Reply 21 of 27
    Wow. I'm not a developer (yet), but this would seemingly portend a potentially huge end run around the corporate Windoze hegemony.
    Yup! This is immensely huge! The world has just changed. There's going to be a ton of software innovation in the next few years because of this alone.
  • Reply 22 of 27
    asdasdasdasd Posts: 5,686member
    People are getting a bit over excited here. A language doesn't go huge over night ( in terms of iOS jobs objective C still dominates and that's an environment where swift is specifically designed for)  and certainly not in areas where the speciality is elsewhere. Yes it's possible in the future that a server or webservice could be written in Swift. That's not necessarily going to attract Java developers and it's immaterial to the guy writing the client what language is behind the server he is requesting the webservice from. 


    C# already is portable. You can write iOS apps in it. But people don't. 
  • Reply 23 of 27
    First of all, having a language run in the browser isn't all that unique, as many other languages have at least simple web runners.

    Swift is currently cannibalizing Objective-C. It seems to me that Swift's meteoric rise is currently doing to the fact that Apple has made it clear that Objective-C's are numbered. This is expected and desirable given Objective-C's age as a language.

    The fact that Apple has open sourced it will help with:

    a) Getting a lot more bug reports

    b) Getting at least a decent amount of pull requests from open source hobbyists.

    c) Getting at least a decent amount of pull requests from corporations that are good open source contributors.

    Does this mean it will *the* language in use everywhere as it seems to be hyped? This doesn't seem likely, as throughout the history of programming languages there have always been different languages for different tasks. In recent history, Java (and to a less extent C# and C++) have been languages preferred for server-side development. For the web, JavaScript, HTML and CSS have been preferred for client-side (node.js notwithstanding).
    edited December 2015
  • Reply 24 of 27
    MarvinMarvin Posts: 15,322moderator
    asdasd said:

    C# already is portable. You can write iOS apps in it. But people don't. 

    C# is the main language for the Unity game engine. You can see some popular iOS games in their showcase, some of which are on OS X too:

    https://unity3d.com/showcase/gallery

    Lara Croft, Monument Valley, Crossy Road, Hitman Sniper, Republique, Final Fantasy, Alto's Adventure, Oddworld, Assassin's Creed Identity, Threes.

    They say they had 47% of the game developer market last year based on a survey of 10,000 developers:

    https://unity3d.com/public-relations

    Native code is fine for data-based/utility apps but people aren't going to develop a whole multi-million lines of code game engine of their own in Objective-C and cross-platform engines are done in C++. Whether or not Swift will take over for data apps is up to the developer market overall but the positive reception to it is an indicator that this will happen. Some developer experiences are here:

    http://prioritiesapp.thomassillmann.de/how-i-migrated-the-complete-priorities-app-project-from-objective-c-to-swift/
    https://www.kogimobile.com/blog/swift-vs-objective-c-from-a-business-perspective/

    Legacy code will keep Objective-C around as well as a reluctance to retrain developers but the most popular choice will always be the one that Apple is pushing ahead with. Objective-C wouldn't even be used at all these days if Apple hadn't used it as their main language.

    Maybe Apple will be able to provide stats at WWDC next year on what percentage of apps or percentage of the overall code are being submitted with Swift if they can tell from the binaries to give iOS developers an idea of where the market is. If the market is all moving over quickly then it makes sense for new developers to be learning that first.
  • Reply 25 of 27
    asdasdasdasd Posts: 5,686member
    Marvin said:
    asdasd said:

    C# already is portable. You can write iOS apps in it. But people don't. 

    C# is the main language for the Unity game engine. You can see some popular iOS games in their showcase, some of which are on OS X too:

    https://unity3d.com/showcase/gallery

    Lara Croft, Monument Valley, Crossy Road, Hitman Sniper, Republique, Final Fantasy, Alto's Adventure, Oddworld, Assassin's Creed Identity, Threes.

    They say they had 47% of the game developer market last year based on a survey of 10,000 developers:

    https://unity3d.com/public-relations

    Native code is fine for data-based/utility apps but people aren't going to develop a whole multi-million lines of code game engine of their own in Objective-C and cross-platform engines are done in C++. Whether or not Swift will take over for data apps is up to the developer market overall but the positive reception to it is an indicator that this will happen. Some developer experiences are here:

    http://prioritiesapp.thomassillmann.de/how-i-migrated-the-complete-priorities-app-project-from-objective-c-to-swift/
    https://www.kogimobile.com/blog/swift-vs-objective-c-from-a-business-perspective/

    Legacy code will keep Objective-C around as well as a reluctance to retrain developers but the most popular choice will always be the one that Apple is pushing ahead with. Objective-C wouldn't even be used at all these days if Apple hadn't used it as their main language.

    Maybe Apple will be able to provide stats at WWDC next year on what percentage of apps or percentage of the overall code are being submitted with Swift if they can tell from the binaries to give iOS developers an idea of where the market is. If the market is all moving over quickly then it makes sense for new developers to be learning that first.

    I meant using C# to build native apps using the AppKit. 

    Ok, so people write games in unity in C#. That doesn't really invalidate my general point.  What Apple are hoping is that Swift is used not just on iOS, but to replace Java, or C etc to build servers and Android. I don't see that  happening. And why are you confining yourself to "database/utility apps"; unless you mean all apps except games then it's just confusing nomenclature. 

    ( The reason why games work for ports is because they generally eschew all native UI and often network interaction, and build their own, so it makes sense to use a common overall framework. People are ok with non-standard UI on a game,  but the problem for cross platform development for anything else is that it looks wrong on one or more platforms, and won't pick up native UI changes -- for instance going from iOS6 to iOS7).

    And I wasn't talking about whether swift will dominate iOS development so lets do that; presumably it will eventually but not in the time frames people think here. Mobile application development is really not a bedroom dev environment anymore and Swift isn't even locked down in it's syntax, they are taking submissions for version 3.0 right now. Its hard to justify a re-write at the moment ( and on the Mac it just won't run pre 10.9).

    Those links weren't very well written and not very convincing either, not for large projects, since they admit there were productivity hits in moving to swift. 


    edited December 2015
  • Reply 26 of 27
    MarvinMarvin Posts: 15,322moderator
    asdasd said:

    I meant using C# to build native apps using the AppKit. 

    Ok, so people write games in unity in C#. That doesn't really invalidate my general point.  What Apple are hoping is that Swift is used not just on iOS, but to replace Java, or C etc to build servers and Android. I don't see that  happening. And why are you confining yourself to "database/utility apps"; unless you mean all apps except games then it's just confusing nomenclature. 

    ( The reason why games work for ports is because they generally eschew all native UI and often network interaction, and build their own, so it makes sense to use a common overall framework. People are ok with non-standard UI on a game,  but the problem for cross platform development for anything else is that it looks wrong on one or more platforms, and won't pick up native UI changes -- for instance going from iOS6 to iOS7).

    And I wasn't talking about whether swift will dominate iOS development so lets do that; presumably it will eventually but not in the time frames people think here. Mobile application development is really not a bedroom dev environment anymore and Swift isn't even locked down in it's syntax, they are taking submissions for version 3.0 right now. Its hard to justify a re-write at the moment ( and on the Mac it just won't run pre 10.9).

    Those links weren't very well written and not very convincing either, not for large projects, since they admit there were productivity hits in moving to swift. 


    C# and other languages are used in cross-platform tools for non-gaming mobile development too. A survey here said 30% of developers use cross-platform tools:

    https://www.developereconomics.com/reports/cross-platform-tools-2015/

    Unity was 3rd, Xamarin was second-highest and uses C#:

    https://xamarin.com/customers

    The top one Phonegap/Cordova uses HTML, Javascript, CSS and there are thousands of apps using it:

    http://phonegap.com/app/ios/

    The survey says that enterprise is helping adoption of cross-platform tools. That still leaves 70% of developers not using cross-platform tools so a lot of apps are being written with native coding (C, C++, Objective-C). Migrating to Swift will depend on how much of their codebases are made up of Objective-C as well as how easily Swift can integrate with the other languages they use. For Swift to integrate with C++, it needs to use Objective-C wrappers.

    The timeframes people have mentioned for Swift overtaking Objective-C in usage have been over the next few years. That's a pretty realistic expectation. Pixelmator used it for a plugin just a few months after Swift 2.0 was released along with Metal:

    http://www.pixelmator.com/distort-extension/

    As far as replacing Java or C# for some developers e.g server-side, that all depends on how efficient it is and how easy it is to integrate with their environments. Microsoft and Oracle will offer support for their respective server-side tools, Apple might just leave it up to the developer community. If IBM steps up to that role, that would help drive its adoption. All we can say for now is that it has the potential to do all those things and Objective-C didn't.

    C# from Microsoft obviously hasn't replaced everything else but it made a significant impact. I only expect Swift to be for Apple what C# has been for Microsoft.
    edited December 2015
  • Reply 27 of 27
    gatorguygatorguy Posts: 24,213member
    I like Swift but it takes more than being a good programming language to hit mainstream. Java and .NET had the head start on the web, following by scripting languages (PHP, Ruby, etc). With all the web infrastructure built on these languages I find it hard to see a massive move towards Swift, or any other language - the same way I find it hard for financial services to move core code from COBOL.
    I thought it had already been settled that Swift had become the most popular language several months ago???
    No, it's far from the "most popular" at the moment but it's apparently a great coding language and sure to see fast adoption. Nice job Apple!
    http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

    edited December 2015
Sign In or Register to comment.