Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I still don’t understand the Xcode rant. Using Swift can be done in any LSP-compatible text editor (VSCode, which even has a first-party extension for Swift, but also zed, Sublime Text, etc.)

Unless you’re doing Apple-specific development, you don’t need Xcode.





LSP support isn't great. It keeps improving however. Used to get quite a few crashes. And I think background indexing still doesn't work.

Why would you bother using Swift if you're not targeting Apple? I can imagine wanting to use it for something cross-platform that is primarily an ios/macos thing.

But if you don't want to include those I wouldn't pick a language that's under control of a company I don't use.

It's a bit like using c# or powershell on Linux. Yes it can be done and it's helpful for cross platform with windows but I wouldn't consider it a first class citizen.


> Why would you bother using Swift if you're not targeting Apple?

For the reasons stated in the article.


> I wouldn't pick a language that's under control of a company

Hmm...

TypeScript: Microsoft

Rust: Mozilla

Go: Google

Java: Oracle

By your logic we should be programming in Common Lisp.

==========

Edit:

    - Rust: Mozilla
    + Rust: Rust Foundation

>... under control of a company I don't use.

You left out an important part of the GP's comment.

>By your logic we should be programming in Common Lisp.

I wish. (Scheme is acceptable too)


I was talking about this at a party this afternoon (yes, I do go to the most interesting parties, thanks) and while Scheme is acceptable the Common Lisp is not because it's not OK to go without boolean primitives. Types are a good idea, if you have types the simplest is clearly the boolean, so start there.

I believe firmly that there should be a single true value, which we might reasonably name true, and a single false value, false, other values aren't booleans, so it's no more reasonable to ask whether an empty string is false, than to just forget to close the quote marks on a string. What we wrote isn't a correct program.


Scheme has a single false value (#f) but everything else is considered true...

Any Lisp w/o image support is no true Lisp in my book. That leaves us with only Common Lisp and Janet.

The others (Scheme, Clojure, etc.) are just Lispy syntax but lack the true "soul" of Lisp-style development.


Racket?

Common Lisp is actually a great language. The SBCL implementation has a good compiler that produce reasonably fast code, and it's under active development.

The only real drawback to common lisp is the fact that the library ecosystem is practically non-existent.


> Rust: Mozilla

Nope. Not anymore, several years maybe?


You forgot the most popular language in the world right now:

Python: The Python Software Foundation

Turns out two of the best languages don't need corporate overlords to steer their development.


Not to mention C, C++, JS, PHP, bash. Hell there are so many great languages not controlled by big companies.

Could that happen today though? I think python started in a very different world then today.

Alot of its current popularity is becasue big companies developed the libraries that make up the foundation of Ai with it.


>I t's a bit like using c# or powershell on Linux… but I wouldn't consider it a first class citizen.

C# is very very much a first class citizen on Linux. It may not be native, but you can run binaries on Linux without needing the runtime when you compile it to target the platform.

I wrote a couple of monoservices on my Mac using c# which ran perfectly on my Microk8s cluster on Linux.


I have nearly a decade of experience building .NET C# solutions on Linux and lately also on Mac, with almost everything hosted on Linux via Docker. I’m not sure what’s still missing for it to be accepted into the "first class citizen" club by the Linux elite.

The goal post must be moved. I constantly hear “there is no GUI story”… well thats not a core part of the language!

There actually is a great GUI story also for Linux today enabled by the excellent Avalonia (https://avaloniaui.net).

What company is using Swift outside of Apple-specific development?

Arc, TBCNY's browser for macOS and Windows uses Swift [1] [2].

Their newer Dia browser which is meant to be cross-platform also uses Swift.

[1]: https://speakinginswift.substack.com/p/swift-tooling-windows...

[2]: "How we're building the Arc Browser Windows app with Swift" -- https://www.youtube.com/watch?v=Xa_fNuaSE_I


> What company is using Swift outside of Apple-specific development?

Skip allows to "Build truly native iPhone and Android apps with Skip" so technically skip runs swift on android which is outside of Apple-specific development.

They also recently got open source from their closed source model prior from what I can tell

https://skip.dev/


Doesn’t affect the validity of your comment whatsoever, but there was the attempt by the Browser Company to implement Arc on Windows in SwiftUI lol

Not a lot, but has absolutely no relation whatsoever to my comment.

Agreed. People use any thread mentioning swift to dunk on Apple for X number of reasons with vague details and regurgitated dogma. I get Xcode has quirks I use it everyday believe me I know but it's not that bad that it's unusable.

> I get Xcode has quirks I use it everyday believe me I know but it's not that bad that it's unusable.

It's not unusable, but it's not that great either. When I have a project that requires Xcode I certainly don't look forward to it the way I do such as wehn I have a project that doesn't need any specific IDE.

As a sidenote; I recently (1 year ago, maybe?) did a C project in Eclipse, and was blown away but just how snappy, quick and, utlimately, enjoyable it was compared to VS Code.


I recently really wanted to use Swift server side because of all the updates to Vapor.

Ran vapor new. Tried to build the project. Laptop spun for minutes and got really hot. Then I gave up and just went back to the usual.


> but it's not that bad that it's unusable

Yeah, so I tried XCode with a couple of years ago. Within 2 hours of working on my very first project, it somehow corrupted either my project's metadata and/or its own internal preferences so badly that it would no longer launch - it would just crash to Desktop instantly. Literally the most unusable application I've used in recent memory!


And the app upload is so broken, Apple released a third party tool to bypass their own IDE...

I only use Xcode rarely, and I'm unfamiliar with its quirks.

That is precisely what makes it such a bad experience compared to my work in JetBrains IDEs or vscode.

Together with an unfamiliar platform I also have to fight that weird IDE.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: