Earlier quoted context omitted.
Don't C++ and Rust offer the same facilities? C++ has std::weak_ptr and Rust has std::rc::Weak.
Yes, but they are library calls without any help from the compiler.
IBM says Swift is ready for the enterprise
141–150 of 235 posts
Re: IBM says Swift is ready for the enterprise
#142I think IBM might be moving Java/Websphere technical staff to Swift. Considering new versions Java/JavaEE are getting delayed so IBM would prefer to use Swift increasingly instead of Java.
Not sure, but they are already making J9 modular and using its JIT and GC for their own implementations of Python and Ruby. So I would say IBM is scattering their eggs across multiple baskets.
I think it is more of thing that Swift has more interesting Client/Server/Mobile story than Java. Given that I do not see why IBM would not cut investments in Java.
Re: IBM says Swift is ready for the enterprise
#143Earlier quoted context omitted.
On the contrary - they've usually raced headfirst into abandoning old technologies for the hot new thing (early to have only CD and no floppy, early to get rid of CD drive altogether, early to go to USB-C, early to go to 802.11ac, etc.) They've used their weight to create a one-company network effect for up-and-coming standards and technology.
Using their weight, huh. Apple hit 10% market share with the Mac for the first time in 2012. I think it's something like 15% now.
If the share was calculated by individual PC models and not by company, even in the PC business, there would be a bunch of Apple stuff ranking quite high.
So they can scale on many aspects much better than their competition. (plus they still have margins)
Re: IBM says Swift is ready for the enterprise
#144So... what's the "elevator pitch" for Swift? It has anything interesting over Elixir or Go (well, go's feature is "lack of feature" but you know what I mean) or Scala or Kotlin? I know that iOS and MacOS desperately needed a modern language, and great for them that they have it now, but does the rest of the world need it?
It's fairly decent as far as OOP languages go, but I'd say it's appeal as server side language is limited to iOS devs though :).
It appeals to me as a server-side language, and I've never done any iOS work. The reasons it appeals:
- Static types - Good type system - Lots of good support for immutability - Apple is heavily invested in Swift, and very responsive to the community
It has some downsides. I'd evaluate Swift against Clojure and Elixir (which both have good, though quite different, concurrency stories), and maybe Haskell (but that would be tough from a buy-in perspective). But evaluating it against Python (which my team currently uses), it's hard to see a downside; we chose Python for Django and DRF, but we're increasingly not in love with that choice.
Re: IBM says Swift is ready for the enterprise
#145Overall I like Swift and it's certainly a massive quality of life improvement for Mac/iOS devs. But I don't see as much upside for enterprise development. Server side tooling and deployment is still TBD, reference counting adds non-negligible cognitive overhead vs GC in an environment where the downsides of GC matter much less. They will have to build a complete ecosystem of server-side libraries from scratch. And un…
Can you elaborate on the cognitive overhead vs a GC language like golang or java? (With regards to memory) To me sure there is things you think about but generally memory performance is less of a mental burden. Also, swift 4 is supposed to support a rust like memory model. Not sure if it's opt in or how it will work but my impression is that it's memory model is about to support some new use cases to make it appropri…
On the other hand reference counting is extremely slow. So slow that it puts a lot of restrictions on API design and that is definitely a mental burden. Swift's own collection interface changed massively between 2.x and 3 and I believe the main reason for the redesign was that the old design required too much reference counting. (I'm not completely sure this is an accurate reflection of their thinking though)
Re: IBM says Swift is ready for the enterprise
#146I have access to books for Swift 1.0/2.0 as some has given them to me for free. How much of it is useful when it comes to breaking changes that came with 3.0 ?
If you don't already know Swift you'll be wasting your time. Swift 3 looks and behaves very differently from Swift 1. Fortunately, the Apple Swift book is free, up to date, and written well.
Re: IBM says Swift is ready for the enterprise
#147IBM seems to make a mess of everything they touch. I really wish Apple had taken a "Thanks but no thanks" stance when approached by IBM.
Re: IBM says Swift is ready for the enterprise
#148Earlier quoted context omitted.
> this attitude to dog fooding isn't great. The Dock and a few other components of macOS Sierra are written in 100% Swift, according to this year's WWDC.
The Dock? Why would they completely rewrite the Dock?
Re: IBM says Swift is ready for the enterprise
#149Earlier quoted context omitted.
Can you elaborate on the cognitive overhead vs a GC language like golang or java? (With regards to memory) To me sure there is things you think about but generally memory performance is less of a mental burden. Also, swift 4 is supposed to support a rust like memory model. Not sure if it's opt in or how it will work but my impression is that it's memory model is about to support some new use cases to make it appropri…
Speaking only for myself, avoiding or breaking retain cycles is a noticeable problem in Swift code that simply isn't there in languages with a proper garbage collector. Among newer iOS programmers, it's a big point of confusion to figure out when a callback closure should use [weak self] versus capturing self strongly, for example. I've seen a lot of people struggle to understand, completely fail, and end up dogmatic…