A lot of people have recommended that I learn this language, but when asked why it's so important all I get is zen philosophy bullshit like "transformative experience" and "enlightenment, you'll only know when you learn it". It's said to be a language for geniuses by geniuses, but fuck that I want to get shit done
Are there any practical advantages or uses for Haskell that other languages don't offer?
>Are there any practical advantages or uses for Haskell that other languages don't offer? concurrency
Alexander Brooks
>what is erlang
Nolan Hall
Other languages do have the same expression that haskell offers nor the type safety
You can’t toss aside Satori, however you do need a desire for it
Noah Perry
Good: Decent GC and concurrency story.
Bad: Terrible tooling, idiomatic code leads to non performant code, code written for performance is harder to read than C, retarded syntax.
Understanding the typeclassopedia doesn't make you a genius. So called type theorists are a bunch of circle jerking faggots and you don't have to be one in order to write successful Haskell. If anything, it's a bit of the same story as in Common Lisp and OCaml, where abusing macros and modules can nuke your project.
Thomas Brooks
You can program anything in any language. It's not like Haskell can do something Python can't (and vice versa), but constructing a program is very different between the two.
Haskell is built on "lambda calculus", a system of logic created by some guy who really likes math, and functional programming ideas. Each function takes a specific set of arguments as inputs and maps each to a specific output and that's the entire language. You basically can't do anything besides define a function's acceptable inputs and how it produces an output. The idea is that because the focus is always on input -> output and that the functions aren't modifying inputs (only producing outputs), you'll end up with a well defined program without any "undefined" behavior that's difficult to find the cause of.
You should try solving some basic programming challenges in Haskell to see how it works. I found you have to think about solving problems from a very different perspective.
Lincoln Williams
no, fucking idiot. Haskell have noting to do with zen
it is pure applied math - strongly typed sugared lambda calculus and hence applied logic
for 12 year old - it is as pure logic expressed like math, and than shit compiles into a native code
Lucas Harris
It makes you think in terms of data transformation and threading state and side effects confidently. There is a reason every language is trying to adopt functional programming concepts.
Jace Watson
>It's said to be a language for geniuses by geniuses, but fuck that I want to get shit done youre not a genius
Landon Rodriguez
Good for concurrency and inherently stateless problems ie writing a compiler. The type system will save you from many bugs, and its easier to write useful abstractions when your code is stateless and not OO. I also like the syntax a lot since you don’t have to deal with parentheses hell. Half of all design patterns in OOP are basically just workarounds for lacking first class functions.
Nathan Kelly
nice aldi logo you got there
Lucas Johnson
>retarded syntax. dude what
Jordan Campbell
Not him, but Haskell imho overly relies on operators and syntactic sugar, making it very terse, sometimes too terse. The language is solid from a semantic point of view, but I'd have preferred a more Lisp-like syntax.
Gabriel Harris
That's a good point. I think a good middle ground would have been to get rid of infix operators (except for $), that would be a lot closer to Lisp.
Haskell is quite hard to learn, so if youre just trying to smash some script out, yeah go ahead and use bash or whatever. But if you have time, Haskell teaches you some interesting things that are really applicable to other languages.
Gabriel Morris
Why do pretentious languages like this one feel the need to invent their own special syntax for everything? I'd have thought we've settled on the curly brace style we're all familiar with, used by every big language except python, but no.
You can't even understand basic ass haskell code unless you go out and learn it, but every other language you can read if you just know one, you might not be able to write it but you can get the gist of what a java snippet is doing even if you only know c++.
Jack Evans
why do brainlets think languages with entirely different semantics should have the same syntax?
Logan Baker
>what is go
Owen Johnson
>t. room temp IQ mongoloid
Robert Lee
>every other language you can read if you just know one Yes, this is the fucking worst.
I can read books from England, Scotland, Wales, Ireland, US, Canada and even Jamaica just fine, but fucking snowflake Spanish have to be all weird and incomprehensible.
It's just bad language design desu
Aaron Collins
I have 10 yoe and manage a popular Haskell project.
It's an amazing language that has taught me more about programming than anything else, but the practical advantages are pretty niche.
If you're writing something "mathy" like a parser or business rule engine or something, then yes, I'd pick it over Java/C++ any day. The type safety is amazing and the flexibility lets you do things in five lines that would take days of refactoring in other languages.
It's a bit of a resource hog though, and the space leaks are a bitch. Debugging is relatively bad, and you can forget about useful stack traces.
So yeah, if you just want to get shit done and you don't have an academic mindset, I don't think it's the language for you
Oliver Campbell
>what is clojure
Easton Garcia
Container programming language for academia autism.
William Price
Explain to me why it needs different semantics in the first place. You're still programming a computer, there's certain structures that are simple ingrained in its architecture.
Any language that doesn't have shit like for loops will be a joke until someone builds a cpu architecture it which that makes sense.
Isaac Baker
>Explain to me why it needs different semantics in the first place. Different models of computation are equivalent in expressive power, but different models are distinct in their ability to eloquently express certain problems. >Any language that doesn't have shit like for loops will be a joke until someone builds a cpu architecture it which that makes sense. There is overhead in achieving the equivalence, but unless what you're writing needs to be efficient it doesn't matter. Procedural programming paradigms remain optimal in these circumstances but that's not every circumstance.