Attached: haskell-logo.png (397x131, 7K)
Name a more difficult to learn language
Austin Bell
William Cooper
C++
Xavier Howard
Assembly language
Aaron Moore
FORTH
but it is so worth it
Easton Hill
It's not difficult at all
Samuel Lewis
Boom
/thread
But seriously, C++ is actually very easy if you approach it the right way and concentrate on the higher-level aspects. But when you're ready to go deep and get down to nitty gritty details C++ is waiting there patiently ready to fill all your needs.
Haskell... is like a castle. It's brutal to climb straight up to the top of its wall while an army of orcs rains arrows on you. But when you do finally get it... it's like a virgin princess that would make your family proud and everyone else jealous but ready to give blumpkins and rimjobs in bed if that's what you want.
Anthony Hill
Please. Haskell's not even that hard
-- Haskell
four = 2 + 2
NB. The J language
]four=.+/2 2
99% of the "difficulty" of Haskell is from people abusing the type system to abstract stuff into libraries and then not documenting the libraries very well (monads are an example of this) but the language isn't inherently arcane and you can teach yourself even the goofiest abstractions by having a good grasp of the individual language features and just reading the code
Whereas there's just a critical mass of fuckery you need to have mastered before you can read a single line of J code
Henry Edwards
Vanilla JS.
Christopher Stewart
This. What the hell is OP on about?
Adrian Williams
visual basic
Henry Ross
Ok. Explain Monad Transformers and Lens to me.
Leo Sanders
Quasi-quotes
{-# LANGUAGE QuasiQuotes #-}
fNeedle :: (Int, Int, Int) -> (Int, Int, Int, Int)
fNeedle = [nd|
}=={(+1)}=\==========================>
\
}===\ \ /============>
\ \ /
}=) \ (==={uncurry div}=/={negate}===>
\
\=={(*2)}========================>
|]
Ian Miller
Type wrappers for convenience.
Data traversal utility
Owen Sanders
depends, moron
some can be very comfy (mips) and some just are terrible (x86)
Joseph Jones
1) fpbp
2) checked
3) /thread
Liam Lewis
C++ is easy compared to Haskell. I challenge anyone in this thread to ask me anything about C++.
C++ is complex in it's breath. Haskell is complex in it's depth. It's the latter that makes a language difficult to learn. C++ just takes long to learn.
Jayden Moore
Scala, also the best language in existence
Blake Miller
Scala is okay but has serious flaws. I saw this as a professional scala developer... Haskell is better.
Ryder Martin
Agda
Wow that was hard desu.
Jordan Morgan
>look at me, I can spout complicated sounding jargon and buzz words
Jordan Wood
Let's see faggot.
What are the differences between type inference with auto keyword and template argument deduction?
Oliver Butler
brainfuck. But that's because I can't into programming, just scripting. Until I can find some medication that helps me focus and not get distracted every ten seconds, I'll never be a programmer. Adult ADHD is a fucking cunt.
Nolan Hernandez
The only novel parts of haskell are in the rich type system. Disregard monads and functors and all the abstraction and haskell is just as simple as any other language. You really only need to understand how they work if you want extremely expressive code.
Take Elm for example. It's literally just haskell with a gimped type system. You can learn the entire language and be productive with it in a weekend.
James Davis
golang
trying to read the examples is just like reading moonrunes man
Lucas Powell
Dexedrine or Adderall, they work really well too. I don't take it anymore because it basically turns you into a robot zombie with no personality, but holy fuck does it ever work to help you focus and get shit done. There's a good reason why college/uni students take it to study/focus on work.
Leo Young
Not who you responded to, but this was such great bait.
According to Effective Modern C++, before N3922, deducing the type of a bracketed initializer gives an std::initializer_list (patricians: this is kind of like a fucked up product type because C++ has no introduction forms) for auto declarations even when there's a single entry. Not so for template type deduction. As of C++14, the behavior is identical.
I've had to learn C++ thoroughly. There's not as much there as you seem to think.
> B-b-but muh language lawyering of C++ proves I'm jus as smart as those kids studying category th-theory!
C++ pseuds are precious.
Connor Ramirez
Is there a single actual good reason to learn this?
Jack Stewart
>Learn how sums and products are supposed to work.
>Learn list comprehensions, pattern matching, currying, typeclasses, modules, and all the other shit normie-tier languages are now copying incorrectly because they eliminate problems with large codebases.
>Learn to separate functions from effects.
>Completely sidestep null reference errors because of type safety.
Only if you don't like being a pleb.
Ayden Murphy
Are you sure?
Asher Harris
If you say "gullible" really fast, it sounds like "lemonade."
Parker Wright
>any answer except malbolge
normies
Caleb Edwards
You got it backwards.
x86 is pretty straight forward.
Landon Wright
studies show that pure functional languages are more intuitive and easier to teach
its not my fault that you're a brainlet
Daniel Baker
No one fucking said anything about that. The writer of "First principles in Haskell" said he needed 5 years to get Haskell.
The author of Lens said he tried 9 times to get category theory before he finally pushed through.
Fuck off. It takes months to write anything in Haskell, other languages are nowhere near.
Jeremiah Wright
your retarded
Parker Gomez
Yeah, dude. Just take out everything that makes a language what it is - aka good. What the fuck is that kind of logic? Just take pointers out of C man, see, it's sooo easy.
Carter Torres
cool argument, gook fag.
Josiah Garcia
reddit spacing
Jaxon Martinez
**yore
Angel Baker
Which studies?
In our functional programming course, where we were taught Haskell, nearly nobody understood much at all.
Even making a tree data-structure was too difficult for most.
Carter Stewart
No. Not unless you like using something esoteric just for the sake of not being part of the norm.
Grayson Ramirez
That is C
Michael Long
That's true actually.
Nasa restricts the use of pointers in their C style guide, it's completely possible to use C for complex systems without them. Just like it's completely possible to use haskell without understanding monads.
Isaiah Davis
Rust. The Borrow Checker is like an asshole genie that floods you with error messages if you don't word your wish exactly right.
Jason Robinson
unlambda
Kayden Flores
I'd rather say name a more useless language.
Yes one can undoubtedly learn Haskell, it is not that hard like some brainless people say, but I literally see no point in using it
>Strange concepts which don't find their place IRL
>Fucked up syntax
>A tradition of giving functions/arguments nonsense one-letter names
>Not production-ready
>Fat runtime w/costly abstractions; big bin size (not critical today)
>Less libs than any big dog
>Used by less than few companies in the world and has very few open-source projects (compared to top 5 langs)
High entry barrier
Josiah Thompson
How about you ditch your visual basic programming style rather than posting red faces and complaining?
Xavier Wilson
how about
>it's really fun
>allows you to write "safer"
>entry into cooler concepts about types and formal verification
>generally the haskell community has a love for abstractions that allows it to write less govnokod
Ryan Perry
I'll take Monads over Templates every day..
>OMG it has MATH in it, it has to be difficult
Dylan Sanders
>C
>not being part of the norm
This triggers the shit out of me.
Guess what your OS, Server, databases and so on are written in?
This.
But even then I'd rather learn Lisp than Hasklel.
Henry Myers
Malbolge
Agda
ATS
Coq
F*
Fucking Scala
Idris
Mercury
Shen
David Watson
Enlightenment.
Robert Evans
From the top of my head, template argument deduction perserves cv qualifiers and whether the type is a reference. So does decltype(auto).
auto removes those things.
Benjamin Morris
These are actual things in Haskell though.
Xavier Johnson
I haven't used it in real life. Do you run into issues with the laziness?
Grayson Hernandez
The learning curve only feels steep because you basically have to learn programming all over again, since it's such a different style. If you put as many hours into learning Haskell as you put into learning "normal" languages you would be just as productive in either.
Ayden Carter
Our university teaches programming in one high school. I discussed it some time with a professor and he said they tried to teach programming with functional and failed. At some point they hit the underlying structures anyway (like call stack).
Same here, although I personally think that FP is very intuitive. I think the difficulty in Haskell starts at monad transformers, that's where it becomes tiring and I don't understand why people struggle with folds on lists and simple data structures when it's the comfy part of Haskell.
Kevin Bailey
Not really, I think. If you know an ML it's not that different.
Joseph Gray
nobody said they weren't user, just that such terms are made to sound more complicated than they really are by laypeople who don't know what they mean. Just look at all the bullshit surrounding Monads/Functors/Applicatives/etc, which are actually pretty straightforward concepts.
Alexander Russell
>start learning Haskell through books and online Russian scientists
>start seeing Haskell appreciation threads
Comf
Logan Cooper
I've been learning Haskell too and having a blast!
Noah Stewart
this, especially if you plan on writing your own decompiler
x86_64 is a clusterfuck
John Barnes
You think the BORROW checker is difficult? Nigga, you're like two weeks in.
Please explain the answer to my stackoverflow question.
stackoverflow.com
I have no idea what the guy wrote, but he fixed my code
Thomas Russell
+ Great language to learn functional concepts
+ Probably the best language for writing parsers and lexers
+ Great for writing programs heavy on math
+ Can be made to run in parallel trivially and deterministically
+ No side effects
+ Abstraction levels close to Lisp
- Difficult to learn
- Very memory heavy
- Relatively small library
- Difficult to make GUIs
- Monad Transformers are ugly
- Very slow for some tasks unless you give up purity
I could list some more.
Tyler Adams
my uni has haskell as the first language we learn and for me I never found it difficult. a few years later it is still my "main" language. maybe its difficult if you are already entrenched in other paradigms?
Ryder Turner
erlang
Christopher Ross
what's the connection between fun langs and parsers and lexers? i see it alot
Xavier Garcia
Japanese
Gabriel Sullivan
I'd say it's because languages that are fun to use are expressive and build upon themselves, it just so happens that that's useful for building parsers.
Jeremiah Morales
explain to a brainlet how
1 || 1
is incorrect syntax
why does False || True
return True
But 1 || 2
gives an error ?
Dominic Wright
kek, u wot m8
Jayden Torres
you'll be enlightened by your own intelligence
Henry Rivera
Rust
APL
ADA
Lincoln Turner
if you have to ask, don't bother. Haskell is a language for people that actually want to understand programming and be good programmers. Consider pic related instead.
Eli Turner
Pass my class.
Jose Cooper
Nix, It is what you would get if haskell and json had a fugly child.
Gabriel Mitchell
Because they're numbers not bools you fuckstick
Cameron Sanders
JavaScript, unironically.
Gavin King
c++
why would anyone use c when c++ exists lol
Cameron Taylor
Itanium assembly.
Luke Moore
hello
Brayden Bell
but 1 and 2 are not the same
so i thought it would return false
Noah Adams
If one of the things on the sides of || evaluates to true (or is just simply true) it will return true.
Numbers are just the wrong type (unless maybe some language can consider 0 and 1 to be bools
Carson Lee
Not knowing that it's good for understanding programming and becoming good at it doesn't mean he thinks it's useless to understand programming and become good at it.
Owen Russell
are you retarded?? what the actual fuck
Connor Bell
>hurr durr category theory is buzzwords
Haskell isn't machine learning (chain rule? sounds old and easy, let's call it backpropagation!).
Thomas Cox
fucking this, I am fluent in Haskell but I have been spending the last three days ripping my hair out trying to figure out how to modify a simple nix expression
Adrian Sullivan
How do you say "my hovercraft is full of eels" in Haskell?
Nix is great, wish i had the need to write nontrivial nix expressions. All i need is a simple per-project nix-shell.
Gavin Ward
> maybe its difficult if you are already entrenched in other paradigms?
When I started learning haskell I had some imperative background and that was somewhat blocking me being comfortable with the language. After all "why can't I put a variable here and be happy?". But after thinking a while I am sure that if you haven't seen imperative (aka evil) code a pure-functional language is actually more easy to grasp
Xavier Peterson
It's called "a damn good type system" niggers
Dylan Anderson
You're right.
When I was in University, Haskell was the first language. It was pretty good at getting us to think about programming in the right way.
For example I know some struggle with OO but if you're used to thinking functionally it seems simple from the start. I've also heard people struggle with recursion which just seemed easy to me.
Levi Morales
>- Difficult to make GUIs
hackage.haskell.org
Tk has typed Haskell bindings, and it is literally the easiest way to GUIs.
Carson Thompson
Academics are into both.
Robert Nelson
Malbolge
Jonathan Evans
>it doesn't mean he thinks it's useless to understand programming and become good at it.
people who actually think it's useful to understand programming and become good at it, tend to do their own research and not ask retarded b8 questions on anime image boards of the
>this is shit, prove me wrong lmao
variety.
Never give undue credit and underestimate how many lazy pajeets inhabit the earth user.
Tyler Long
see brainlet
Jason Price
mercury
Kayden Baker
Coq.
Hudson Walker
>terms are made to sound more complicated
You're the brainlet here. Try to convey exactly the meaning of applicative functor without relying on its definition. Takes a few good paragraphs to avoid confusion, even though the "concept" is simple.
Jacob Mitchell
huh?
If you want an expression that returns false because 1 and 2 are different, how about:
1 == 2