Haskell

Do learning Haskell is worth it?

Other urls found in this thread:

doc.rust-lang.org/stable/book/
daniel.haxx.se/blog/2016/10/14/a-single-byte-write-opened-a-root-execution-exploit/
twitter.com/NSFWRedditGif

You should start learning english first.

No

Depends on your goal. It's a fun language, and if you're one of the lucky few you may get a high-paying job writing formally verifiable microkernel models or something.

Part of this site is Haskell now.

Learn a little bit of it. You can get quite deep into the ecosystem though, and can get a bit lost in Haskell world. The hard part is then coming out.

learn rust
doc.rust-lang.org/stable/book/

It's a beautiful language. I like it because I feel like it's the closest you can get to pure mathematical notation with any current language. Some of the concepts like lazy evaluation and immutability are interesting and useful as well. You'll learn to recognize what side effects actually are and eliminate them wherever possible. GHC is one of the fastest compilers out there and it's simple to interface with C if necessary.

People will tell you it's only academic, useless (and in fact there IS a style of writing haskell called Pointless notation :^)) but I find that not to be true. Sure, if you pick up Haskell you'll be reading a lot of PhD. level papers, but don't let it scare you off, you'll learn a ton. You can apply a lot of your knowledge to other languages even if the syntax differs. But you won't necessarily want to after a point. The only thing I wouldn't use it for is game development since the libraries are all very immature. This isn't the case for other fields however. Parsec is one of the most powerful parser combinators out there.

The type system isn't hard to learn and type inference lets you omit type signatures entirely if you desire. It's very powerful and makes writing dynamic languages painful after a while.

You will get a ton of abstract mathematical notation thrown at you. But it is mostly a bunch of complex math words that describe very simple phenomena. Once you start understanding monads you will see how the language can be used for practically anything. But I'd estimate 90% of people get turned off by this notation and give up before they understand monads.

The worst part of the language according to a lot of people is the package manager, cabal. My only experience with it has been bad so I tend to agree with them. Use Stack instead, it's better in nearly every way.

So yes, it's worth it, if you ask me. Even if you don't use it for your job or whatever.

bit-rotted memelang that's been used in precisely 1 real world product

You're one of the ones who can't understand monads I see.

You should try to attack arguments that poster made and not guy who posted.

Or how about we don't reward lazy shitposting with disproportionately good responses. The post above it already covers everything.

No but English is, pajeet.

It can help you be a better programmer by making you think about types differently. You might find it fun to learn.

Haskell great for learn. Learn you a Haskell for great good. Cyka blyat. Learn good.

They were so caught up in if they could, that they never stopped to think about if they should.

fuck off.

Haskell is breddy fun and doesn't afraid of anything OP

Not sure if it's "worth it", really depends a lot on your situation

Let's reimplement GTK and gnutls from scratch :^)

???
Most languages have C interfaces

Yes, but Haskell and C are complete mismatches in terms of typing, correctness and whatnot. It's suitable for legacy code and cause it's fashionable, but C still isn't anything you really want to drop into from Haskell if you can at all help it. Might as well make Common Lisp interface with C64 BASIC or something.

I don't think you wholly understand the use cases for interfacing. You aren't supposed to "Haskellify" C or vice versa, the idea isn't some all-encompassing programming logic. You just delegate certain tasks to languages more suited for them.

To give an example, you can write a socket handler in C for performance and granular control and pass the output to a router or a manager written in Haskell. The C output isn't typed when first received as far as Haskell is concerned, that's a good thing because you have control over the logic and what you're typing it to.

If you learn Haskell you'll write better Python.

I don't think you understand what I'm saying. The design decisions (or lack thereof) and culture of C are anathema to Haskell and vice versa, even taking into account one being low level procedural and the other being high level functional. Legacy code interfacing aside there are simply better choices for languages Haskell could FFI with for low level purposes.

Also

Ruby, Perl, and PHP are legacy, C still hasn't been replaced.

all my wat

It's interesting and a good way to learn how to use a static type system to your advantage (ADTs, string validation and units are very nice applications), but I wouldn't use it for anything serious. The Haskell people ignore the physical reality of the hardware and are completely caught in the trap of abstraction for abstraction's sake, probably because it worked so well with functors and monads despite the naysayers. The former results in lazy evaluation, which simplifies some things but turns estimation of resource consumption into a topic for a master's thesis. The latter results in overengineered nonsense like lens which feels exactly like these overblown Java frameworks, only with an academic taste this time.

However, you can learn the same from ML, which is overall the better language in my opinion.

C can't be replaced. Any changes you made to the language would take away from the whole point of C.

Neither have any of those other languages. What's going to replace those? Python 3? It couldn't even replace Python 2.

Cyclone is pretty much "safe C". If it was designed with a bit more of thought and the community wasn't retarded, it could replace C.

"Safety" is a mistake in the first place. Learn how to use your tools and stop blaming the language.

daniel.haxx.se/blog/2016/10/14/a-single-byte-write-opened-a-root-execution-exploit/
kill yurself

Sure thing, buddy. I am sure your two weeks of experience writing Fizzbuzz in C weight a lot more than senior developers with 30 years of experience in C who still make mistakes from time to time. I almost forgot the fact that Holla Forums is full of 250 IQ geniuses who are capable of running unit tests with every possible input in their brain for each function they write in a matter of seconds.

...

Mistakes like that link are just proof that someone isn't qualified to write code. The author of c-ares should retire as a programmer and the author of dlmalloc should be charged with criminal negligence for a horrible design.

Being a programmer requires the discipline to check all of your work. Foisting that off on the language itself is ridiculous and unsustainable.

I hope you faggot have Suicide Linux installed.

I don't even know Haskell and I can count past 1: alacrity, xmonad, pandoc, hakyll


name a single non-trivial C program or programmer with a clean record. Not even the OpenBSD and suckless autists are innocent from security vulnerabilities in their C programs

Haskell has zero bugs because it has no programs.

Nice XKCD reference bro! Have ALL of my upboats!

It's like poetry

Without the cadence or rhyme. Nah, it's just shitposting.

kill yourself nigger

muh meme monads
muh "purity"
muh shitty inefficient but "elegant" quicksort

It's like mathematics man, that means it's good because mathematicians are smart dudes or something

There's one pseron here (that makes it blatantly obvious he's the same person) that just absolutely trashes every haskell thread he can find. No haskell discussion allowed. Never any arguments, just muh memes, memes, ur a meme, im a meme, everything is memes, memes memes. I don't know what his problem is but he takes it upon himself to spew "meme" as many times as his short greasy fingers will allow before he runs out of energy. There is no reasoning with this amalgamation of lard, so trying to have any intelligent discussion about topics such as haskell is rendered useless on this board.

It's not even real quicksort because it's not in place. haskell-posers can't even into basic algorithms.