4 ms·
The fact that you can actually ship an app. I've been writing my app (it's an IDE for music http://ngrid.io http://ngrid.io) in Rust after trying it in cpp and
by adamnemecek 6y ago
The fact that you can actually ship an app. I've been writing my app (it's an IDE for music http://ngrid.io http://ngrid.io) in Rust after trying it in cpp and swift and it's a joy to use.
Haskell is cool and all but every time I tried it, I spent too much tle with package management for example.
Also you can't really ship an app in Haskell.
- LandR 6y agoI dont know Haskell, why can't you ship an app in Haskell?
- nine_k 6y agoYou totally can. I use pandoc regularly (though some would say it's a "utility" and not an "app").
- adamnemecek 6y agoI mean like a desktop app.
- nine_k 6y agoxmonad? :) Frankly, I did nit see people releasing proper desktop apps for some time now :( Electron apps do not count.
- diath 6y agoWhat is "ship an app" supposed to even mean here? Being able to build a binary for distribution? Both Swift and C++ can do that, and likely Haskell too.
- adamnemecek 6y agoI was talking about shipping in haskell. Technically yes, practically few people do it and for good reasons.
- dman 6y agoWhat are you using for the UI layer?
- adamnemecek 6y agoI'm building my own using femtovg https://github.com/femtovg/femtovg https://github.com/femtovg/femtovg
- auggierose 6y agoWell, if you have to do that in order to "actually ship an app" :-D I'll stay with Swift for now.
- adamnemecek 6y agoIt depends on your app, but for me, cocoa didn't quite cut it. Given my app uses some shaders.
- auggierose 6y agoYou can write Metal shaders and call them from Swift. I'd say that is easier than to write your own UIKit ;-)
- outworlder 6y agohave to? No. https://www.areweguiyet.com/ https://www.areweguiyet.com/
- auggierose 6y agoAccording to that link, you pretty much have to.
- outworlder 6y agoI am a fan of OpenGL based GUIs. I built my first one before Y2k. There's something nice about crafting UI widgets, with all their behaviors that scratches a particular itch I can't explain. That said, it is really really tough to get all the little behaviors that people rely on. Including all keyboard shortcuts (across all platforms), double/triple clicking words, etc. I guess that this may not matter that much for specialized software (but please focus on the damn textboxes, they are hard to get right). I'm just commenting in case other people decide to follow the same path. Also, for a broader audience: be mindful of accessibility. Usually, this kind of thing doesn't work with screen readers.
- offtop5 6y agoAny screenshots of the application your working on. I seriously love working on music and I'm down to try anything, but I have no idea what your app actually is
- adamnemecek 6y agoI'll be shipping soon.
- scns 6y agoPlease do a Show HN
- adamnemecek 6y agoI'm definitely planning on doing that.
- sunshinerag 6y agocurious about your experience with Swift? can you share?
- adamnemecek 6y agoI think the language is nice however the niceness comes at the cost of performance. Swift has a relatively unique performance in that it's faster than garbage collected languages but slower than C or Rust due to some hidden runtime locks. Another problem is with the package ecosystem. It feels like most of Swift ecosystem is wrappers around Apple APIs. There are also some strange workflow edge cases like the fact that you currently cannot use Metal shaders in Swift Packages. This is due to the fact that Xcode projects are supposed to be ephemeral (not version controlled, but generated when you clone the package). However if you want to compile Metal, you have to add some compiler options. As a result, every time you add a dependency, you have to regenerate the XCode project file, you have to fuck with your XCode project to add the compiler options. Ironically, you can use Metal in Rust crates just fine. Rust is also truly cross-platform. Windows and Linux have first class support. To summarize my argument, Swift feels like daddy Apple is telling me what is best for me which may or may not be true. Rust feels like true empowerment. If there is something that doesn't suit me for whatever reason, there is generally a way of working around it. I guess it depends on what you are doing. Swift is OK for iOS/macOS development but other than that Rust is more advanced. Rust macros are really powerful, things that need to be added explicitly to the Swift compiler can be implemented as Rust macros.
- pjmlp 6y ago> Swift has a relatively unique performance in that it's faster than garbage collected languages but slower than C or Rust due to some hidden runtime locks. Yep blazing fast indeed. /s https://github.com/ixy-languages/ixy-languages https://github.com/ixy-languages/ixy-languages