5 ms·
I doubt it will surprise you, but many disagrees with you. Using Haskell isn't a burden - on the contrary, it's far easier to get stuff working correctly. The
by FullyFunctional 7y ago
I doubt it will surprise you, but many disagrees with you. Using Haskell isn't a burden - on the contrary, it's far easier to get stuff working correctly. The type checker looks over your shoulder and stays out of the way until you make a blunder. It's not uncommon for things to work as soon as they pass the compiler. I work in C every day and this is not the typical experience there.
I'm hugely interested in Rust, but I'm disappointed that they felt the need to rename all concepts and adopt an ugly syntax. I assume it was done to attract the C++ crowd.
- im_down_w_otp 7y agoProbably the other way around. When I first started using Rust it still had LWT and segmented stacks. I was excited that it seemed like I'd finally have a sort of "systems" Erlang. Over time the only consistent large nexus of Rust users using it "in anger" were the compiler team itself and the Servo team. Lots of those folks were, or had been, working on pretty significant C++ code bases, and over time their needs and perspectives seemed to (kind of necessarily) take hold.
- lewisinc 7y agoWould you say that's still the case? I've also been hoping that Rust would see a kind of Actor-oriented ecosystem emerge, and while there's definitely projects out there, none of them really support distributed computation in the same way you'd get from Erlang. At least yet, I'm still hopeful.
- nimih 7y agoAdditionally, at least in (GHC) Haskell, you can recover most of the flexibility typical of dynamic languages via use of undefined values, partial functions, the PartialTypeSignatures extension, and the defer-type-errors flag. Personally, I've found these tools to be very useful when prototyping, exploring/experimenting in a REPL, or beginning a refactor, and the process feels very akin to development without unit tests (or tests turned off/ignored/whatever), especially in the progression of incrementally adding back compile-time-checks and watching my mistakes surface.
- verttii 7y agoGreat advice, I'll try these features out while prototyping on Haskell.
- gdxhyrd 7y agoRust is designed to replace C++. That "ugly syntax" is the de facto standard in the industry. No one, comparatively, would use Rust if it went the Haskell/ML way.
- amelius 7y agoLots of people in the industry are using python, which has a syntax very different from c++.
- TurboHaskal 7y agoI’d say the syntax is pretty much the same, besides using indentation instead of braces for defining blocks.
- flomble 7y agoI find the point about "ugly" syntax interesting, because I'm generally quite indifferent to that sort of thing, but my experience tends to indicate that it's very important to people. Facebook created ReasonML, which is just a different syntax for OCaml (I think the AST parsed from it is interchangeable with one parsed from OCaml), purely because it's less alienating to people who are used to writing C-style code. I'd say though, that generally, people who are interested in "niche" programming languages are less likely to be put off by syntax than people who have only been exposed to the more mainstream languages, which is why their preferences are less likely to be the ones reflected whenever mass adoption is a goal of language designers.