-
-
Notifications
You must be signed in to change notification settings - Fork 38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
does not compile using latest ldc #77
Comments
It's a compiler bug, I reported the issue but nobody is apparently working to fix the issue there... In the meantime I can only give a workaround: edit the problematic files and replace |
out of all the programming languages why did you choose D? Please recode this app in C/C++ or rust |
This project makes extensive use of meta-programming and memory management is not critical in this project. Writing it that project in C would be painful, a lot of abstraction will be missed. C++ is basically D but worse in that usecase. There might not be compiler bugs but C++ will instead have me fallback on worse templates, no mixins, no language support for dynamic tables/vectors, and back when this project was in C++, the standard lib was colliding with the one used in Apple's libraries which is different. I considered rewriting it in Swift and in Rust. In Swift, the problem is that doing anything low level is painful (in exchange we would have been able to use Apple's Plist parser and FoundationNetworking). In Rust, I am still thinking about it. The cons would still be a worse metaprogramming, and the fact compile-times are longer. In the pros, there will probably be a better library ecosystem and nobody asking me the question of why I chose that programming language I guess (and memory safety too if I am motivated enough to remove unsafe blocks from my Rust library). |
there isn’t 😂 reaction):, |
Rust would be the best tbh. Compile time isn't much to worry about. |
Go looks like a terrible language: I can't see any compelling reason to use it over D, it has the same flaws that D have, but it isn't as old and thus has no excuse. It tries to make choice for the developers to let them focus on code, but did all the wrong choices. I don't want verbose error handling, I don't want the syntax to be succinct. It does not give me much more safety than I have in D. No null safety, no real safety I would even say. No pattern matching, in general types are pretty lackluster. And it doesn't replicate what D does well, metaprogramming and system programming. |
I think it would be good on some aspects, but I don't think it would bring more contributions, and I don't have much time currently to work on the project unfortunately. Also I would love to show some code, to illustrate why I am reluctant to switch to Rust, but for now it is not public. |
Details: #42 (comment)
The text was updated successfully, but these errors were encountered: