7 ms·
Biggest turn-off with Crystal for me is no native support for Windows. It’s kind of a big deal. > However, if you are a Windows user, for the time being you ar
by _ikq8 7y ago
Biggest turn-off with Crystal for me is no native support for Windows. It’s kind of a big deal.
> However, if you are a Windows user, for the time being you are out of luck
We’ve been waiting for years.
- penagwin 7y agoI'm not sure why you're being downvoted. A car might be a great vehicle - but if you work in the ocean then the car is useless. Crystal looks like a great language, and clearly the developers aren't prioritizing Windows support - that's not a bad thing. But that does mean people who need to be able to use it on Windows have to look elsewhere.
- ksec 7y ago>I'm not sure why you're being downvoted.......and clearly the developers aren't prioritizing Windows support Crystal is barely 5 years old born purely out of side project and free time. In its early days there were other project aiming for the same thing, ( I cant remember what that project was called ) and both author discussed how each of others implementations would not work. There were lots of unknown but just keep grinding when they have spare time. I dont want to make this like a rant, but from the tone of it, apart from waiting I am not sure what the OP, or in fact 99% of the internet which somehow has this entitlement something needs to be done and they have done nothing about it. Donating would be a start. Even if it is a dollar a month. But as DHH has put it, he would not be surprised the donation only makes it worst because it make people feels more entitled.
- RX14 7y ago> We’ve been waiting for years. I know, and it's unfortunate that there's not been time to work on this. I don't think people understand how small a language like Crystal is though. There's just one person working full-time on it currently! If you'd like Windows support, one thing you could do to help is donate time or money to the Crystal project [1]. [1] https://salt.bountysource.com/teams/crystal-lang https://salt.bountysource.com/teams/crystal-lang and https://opencollective.com/crystal-lang https://opencollective.com/crystal-lang
- rvz 7y ago>> We’ve been waiting for years. Given the current status of the Windows port or any other issue, it is no good as a programmer "Waiting for years" and not even donating to said project and expecting any progress. That's like creating a new motor company with zero funding with a small team of less than 20 and its users begging for progress on a production-ready concept car in Q4. > If you'd like Windows support, one thing you could do to help is donate time or money to the Crystal project That's the sort of impression I expect from any meritocratic open-source project these days. Anyone interested in the project can donate their time to getting Windows support working or if they can't do that GitHub sponsors provides the shortest route to donating to devs (Like yourself RX14) who work on Crystal. No excuses from 'interested programmers' who want to use Crystal to complain for years about Windows on Crystal then.
- 7thaccount 7y agoThere's a lot of people like myself that can code, but aren't at the level of doing Windows ports. Strictly speaking, it would be a very big effort for some folks, so they wait.
- RX14 7y agoThe basic foundations of a Windows port are already in place for Crystal, merged into master. In fact you can can already cross-compile a "Hello World" on Windows. This means the port is in a place where the community can pitch in and help port little bits of the standard library, and help bring it into a release-ready condition.
- 7thaccount 7y agoI'm sure the crystal devs have done a great job, but again let me echo, just because I can write code at an intermediate level, doesn't mean I'd have a clue where to start or what to do in a project like this. I suppose you can never learn if you don't jump in, but it would be very difficult and time consuming. Maybe if there was a way to specify exactly what needs to be done so those less saavy could be directly pointed towards where to help? I'm not sure how this is really done.
- fizixer 7y agoI read your comment and realized I don't think much about what it means to have native Windows support in a programming language. A crystal issue page [1] talks about two ways to support Windows: - Cygwin (POSIX) - Native Windows API support Though I wonder if targeting .NET would be something to consider. It would not save much effort, compared to Windows API, but in principle, .NET is a portable platform (like POSIX). Also I wonder why the LLVM project doesn't make it relatively easier to support multiple platforms (including Windows). The whole promise of LLVM is that your prog-lang just targets LLVM (so to speak) and doesn't have to worry about specific platforms. [1] https://github.com/crystal-lang/crystal/issues/2569 https://github.com/crystal-lang/crystal/issues/2569
- smt88 7y agoIf Crystal added CLR[1] (what you likely meant by .NET) or WebAssembly as a target, I guarantee its popularity would vastly increase. LLVM would be smart too, but I suspect that having access to the complete .NET ecosystem from a Ruby-like language would be very appealing to devs who worked on Ruby at home (or at startups) and are now at big enterprises that demand big-name stacks. 1. https://en.wikipedia.org/wiki/Common_Language_Runtime https://en.wikipedia.org/wiki/Common_Language_Runtime
- gdxhyrd 7y agoThe GP is talking about the standard library support etc. of the compiled objects, while still being native.
- ezrast 7y ago> The whole promise of LLVM is that your prog-lang just targets LLVM (so to speak) and doesn't have to worry about specific platforms. "Platform" in this case mostly means executable format. LLVM is too low-level to be able to abstract away operating system features. The hard part of porting a project like Crystal isn't generating a valid binary (since LLVM does handle that part well), it's adapting the standard library for dealing with all the places where Windows and POSIX offer different interfaces to userspace - stuff like filesystem semantics, networking behavior, and threading where the system calls can't always be translated in a straightforward way.
- james_s_tayler 7y ago>We’ve been waiting for years Spin up a Linux VM and get developing? I do .NET for my $DAYJOB and we use Windows for development. It works, but I wouldn't constrain myself only to Windows for development. I have an Ubuntu VM at home that I do dev in for other stuff.
- jiofih 7y agoWhat other languages you work with that have native Windows support?
- pault 7y agoI'm having a harder time coming up with a language that doesn't have native Windows support. All of the language runtimes I've worked with (node, ruby, python, java, c#, php) have had native Windows binaries.
- e12e 7y agobash? (outside of mingw/wsl/cygwin)?
- yellowapple 7y agoThere's a Windows-native version of bash included with the Windows version of Git, no? But yeah, I'd definitely count MinGW (or more modernly, MSYS2) as "native" in this context.
- orthoxerox 7y ago> There's a Windows-native version of bash included with the Windows version of Git, no? Not really, as it's built against MSYS2 libs, which are a fork of Cygwin.
- yellowapple 7y ago> I'd definitely count MinGW (or more modernly, MSYS2) as "native" in this context
- Flicki 7y agoAside from Crystal what languages don't support Windows? You pretty much have to go out of your way to make a language that won't run on Windows.
- kick 7y agoI don't think it's a big deal. Plenty of users aren't on Windows, and plenty of people have no use for code on Windows.
- terminaljunkid 7y agowhat about cygwin?