Live data from Hacker News

Swift 5.3 Will Be Supported on Windows and Additional Linux Distributions

infoq.com

251–260 of 308 posts

Re: Swift 5.3 Will Be Supported on Windows and Additional Linux Distributions

#251

Whenever I've looked at examples on Swift on Linux in the past, the code always started with (hazy memory here) `use glibc` or similar, whereas the macOS version used a different library. So for example even just to produce a random number you had to use two completely different library functions imported with completely different names. All that to say: it's always felt to me like "cross-platform" for Swift means "t…

Probably UIKit versus Foundation. UIKit is iOS/Mac only and I think indirectly includes Foundation, which is where the essential non-UI APIs are. All this really means is you don’t get the iOS UI tools for your Windows and Linux projects.

UIKit is iOS only, not Mac

Re: Swift 5.3 Will Be Supported on Windows and Additional Linux Distributions

#252

Earlier quoted context omitted.

Probably UIKit versus Foundation. UIKit is iOS/Mac only and I think indirectly includes Foundation, which is where the essential non-UI APIs are. All this really means is you don’t get the iOS UI tools for your Windows and Linux projects.

UIKit is iOS only, not Mac

https://developer.apple.com/documentation/uikit/mac_catalyst

Re: Swift 5.3 Will Be Supported on Windows and Additional Linux Distributions

#253
post #186

Earlier quoted context omitted.

Creating a good cross-platform GUI framework is probably harder than creating a good cross-platform language. Way way way way way harder, I'd think. It's basically never been done in the modern era. All the successful ones from the past look (and work) like garbage on a modern desktop computer (I use gnucash for my dad's business, ha ha). SwiftUI is an interesting re-think, though, and as a Windows 10 user, I can tel…

> Way way way way way harder, I'd think. It's basically never been done in the modern era. Also never been really tried, except by second tier companies with small recourses like Trolltech/QT, or even smaller open source attempts like Wx.

didnt openstep use the native win32 for the ui on windows?

Re: Swift 5.3 Will Be Supported on Windows and Additional Linux Distributions

#254

Earlier quoted context omitted.

> But somehow after nearly 6 years Objective-C stills feels better This experience is shared by basically nobody? I used to love Objective-C, which was unusual even before Swift, but I would not in a million years switch back to using it. Swift is so much better in every single way.

I share it. I love Objective-C and feel its a far superior language over Swift. Swift is too clever by half, with its var, let, func, and the god awful question marks. Objective-C is verbose sure, but that helps readability. I'll never switch to Swift, as Objective-C is so much better in every single way.

I don't get the feeling you've really given it a fair chance, or tried to understand why it does what it does.

Swift really is much more readable than Objective-C, too.

Re: Swift 5.3 Will Be Supported on Windows and Additional Linux Distributions

#255

Earlier quoted context omitted.

> Way way way way way harder, I'd think. It's basically never been done in the modern era. Also never been really tried, except by second tier companies with small recourses like Trolltech/QT, or even smaller open source attempts like Wx.

didnt openstep use the native win32 for the ui on windows?

Yes, for like 2 years, then it went under...

Re: Swift 5.3 Will Be Supported on Windows and Additional Linux Distributions

#256

But why? Sure, there are people who want to tinker with it for fun, but outside of that what is the point in having Swift on Linux and Windows? You can't use it to build mac or iOS apps on Linux because the important libraries aren't there. There is no cross platform UI and Apple isn't likely to port and support theirs from macOS. If you are into servers then you have plenty of better languages options with establish…

Exactly. Why would you buy into a language that is controlled by apple?

Apple's behavior with open source is kind of "throw it over the wall" which isn't really good leadership.

The good stuff at apple is frameworks and apps, none of it released.

For examples of this, look at Darwin on https://opensource.apple.com

They provide some sources, but they are not complete and are more to look at than to use.

I figure this got through the approval process because it could plausibly get developers to pay attention to apple without letting others exit the apple ecosystem.

Re: Swift 5.3 Will Be Supported on Windows and Additional Linux Distributions

#257
post #186

Earlier quoted context omitted.

Creating a good cross-platform GUI framework is probably harder than creating a good cross-platform language. Way way way way way harder, I'd think. It's basically never been done in the modern era. All the successful ones from the past look (and work) like garbage on a modern desktop computer (I use gnucash for my dad's business, ha ha). SwiftUI is an interesting re-think, though, and as a Windows 10 user, I can tel…

> Way way way way way harder, I'd think. It's basically never been done in the modern era. Also never been really tried, except by second tier companies with small recourses like Trolltech/QT, or even smaller open source attempts like Wx.

Sun tried with Swing.. and they were not a second tier company at the time. Also previous versions of OSX (before the rename to macOS) included a special theme of Swing to make apps to look more native in OSX (Jobs was happy to announce that OSX supported Java... when Java was sexy).

Then when RIA was a buzzword Sun/Oracle tried to modernise Swing without success. Today the only big Swing apps that I know are Netbeans and maybe IntelliJ (but I think that IntelliJ has tons of customisations on top of it).

So is even hard for a big company too. I guess the problem is that the framework will be always behind the OS, and you need to recreate all the styles or to create a thin layer with the common denominator between platforms.

Is interesting that different approaches to cross-platform UI (draw all vs thin layer) goes back to Smalltalk. AFAIK the idea of Swing drawing all the UI came from VisualWorks, while the thin layer of SWT came from IBM VisualAge

Re: Swift 5.3 Will Be Supported on Windows and Additional Linux Distributions

#258
post #230

Earlier quoted context omitted.

Like Crystal, Go and Rust? (and QML for the basic events handling) https://en.wikipedia.org/wiki/List_of_language_bindings_for_...

Have you made any non-trivial use of the Qt bindings for those languages? Qt is a big and complex library, and most bindings are incomplete or poorly documented. As far as I know, PyQt is the only Qt binding is the only one that you can really rely on to work now and in the future.

There is PySide2/Qt for Python which are the official Python bindings for Qt by the Qt Company itself and they are close enough to the C++ API(since they are auto-generated) that it's possible to just use the C++ documentation and translate any C++ code into python nearly 1:1 (except things like QString where you can just use Pythons native types).

Re: Swift 5.3 Will Be Supported on Windows and Additional Linux Distributions

#259

Earlier quoted context omitted.

> Way way way way way harder, I'd think. It's basically never been done in the modern era. Also never been really tried, except by second tier companies with small recourses like Trolltech/QT, or even smaller open source attempts like Wx.

Sun tried with Swing.. and they were not a second tier company at the time. Also previous versions of OSX (before the rename to macOS) included a special theme of Swing to make apps to look more native in OSX (Jobs was happy to announce that OSX supported Java... when Java was sexy). Then when RIA was a buzzword Sun/Oracle tried to modernise Swing without success. Today the only big Swing apps that I know are Netbean…

>Sun tried with Swing.. and they were not a second tier company at the time.

Swing was ill thought from the beginning. Over-engineered, too complex, slow (as if there were 2-3 layers between the code and the drawing engine), and looking bad in every platform...

>So is even hard for a big company too. I guess the problem is that the framework will be always behind the OS, and you need to recreate all the styles or to create a thin layer with the common denominator between platforms.

I'm not so sure that's a problem. You can always look different than the OS, and do a good job at it. Millions use the Adobe Creative Suite, Cubase, Pro Tools, StudioPro, etc, and their non-native UI is the last thing they complain about...

Heck, even Electron apps do that. Why wouldn't users like apps that look different from the OS, the way Electron apps do, but with far less memory usage, much speedier drawing, and better integration options with native widgets when needed?

Re: Swift 5.3 Will Be Supported on Windows and Additional Linux Distributions

#260
post #195

Earlier quoted context omitted.

I'd argue the other way around. Not to mention that developing C# in Visual Studio or Rider feels years ahead of what's considered good enough IDE assistance in other languages. Comparable with Java even.

In some ways, Swift is a higher-level Rust. It places a lot more emphasis on functional programming, null safety, value types and immutability than C# does. The more flexible memory management model added recently, native binaries, (as the default option) and even identifier: Type over type identifier is also a nice plus for me, I agree that the IDE situation is heavily in C#'s favor. If C# is a nicer Java and Kotlin…

null safety modern C# has optional chaining, Elvis operator and non nullable types value types C# has value types contrary to Java (until project Panama)

What would you argue C# has going for it over Swift? feature wise I don't know but it clearly has a far bigger lib ecosystem which is the most important criterion

Post reply on HN