The best use for an old laptop that served you well for 10+ yrs and has, like, a pentium and 3gb of ram
@stevegremory38492 жыл бұрын
Hey, look at the bright side! Glowies can't sniff your data!
@maxreuv2 жыл бұрын
The DataCenter looks a bit like your Haskell comment ;)
@bertrodgers24202 жыл бұрын
@@maxreuv Why can't you pay for a VPS, sorry?
@lubricustheslippery50282 жыл бұрын
@@bertrodgers2420 Probably something to do with living in Russia
@VojtěchJavora Жыл бұрын
As someone who mostly programs in C, any package manager that actually exists is magic to me.
@biomorphic Жыл бұрын
I feel the pain. Maybe it's time to learn Rust.
@niktedig853 Жыл бұрын
I know your comment is relatively old, but fuck it. I don't really understand why a package manager has any business being attached to a language. It seems like a glaring fuck-up in terms of compartmentalization and modularity. What's the point? The package manager should be separate from the language, like apt is separate from C. Apt works great, install packages, use them from C, it's all good. Why do we need to have a special package manager for a language when it really should be an external tool?
@VojtěchJavora Жыл бұрын
@@niktedig853 Hmm, I think I do actually agree with you, but you cannot deny that having the package manager with the compiler is easier to use and more practical.
@VojtěchJavora Жыл бұрын
@@niktedig853 also haskell package managers are not attached to the language.
@Bbdu75yg Жыл бұрын
Isn’t cmake and bazel painful for cc+ development ?
@dimator2 жыл бұрын
Ah, but that is too bad for us, because your old Haskell videos are some of them most informative and important videos I've seen. Monoids, IO monads, your explanations were just 👌
@MdImrulHassan2 жыл бұрын
+1 to that. I learnt a lot from your Haskell videos on how to use Haskell effectively without getting bogged down by advanced features. However, I only use Haskell for pet projects and offline competitive programming.
@driden19872 жыл бұрын
@@MdImrulHassan +2 more haskell/scala/lisp please
@sebastiangudino93772 жыл бұрын
@@driden1987 I don't think he used lisp very often. But I do think that lisp is a lot more "Developer Friendly" than Haskell in the way this video points out
@driden19872 жыл бұрын
@@sebastiangudino9377 Oh no, i don't think it is either. I still want to see more videos from him on those langs :D He did one on clojure which is a lisp dialect in the jvm and he enjoyed it, but it was more for solving a specific codewars problem rather than a whole project on it.
@Mutual_Information2 жыл бұрын
This was the first time I heard anything about Haskell that wasn’t Haskell propaganda
@jawad9757 Жыл бұрын
Where are you finding this Haskell propaganda, I want it
@MattLaine4 ай бұрын
You clearly haven't read my Quora posts.
@youtubepooppismo52842 жыл бұрын
a monad is a monoid in the category of endofunctors.
@leongarcia32812 жыл бұрын
He said the line!
@mishikookropiridze2 жыл бұрын
Trivial
@nicolareiman96872 жыл бұрын
Shit that's easy why do people still don't get it quickly.
@birdbeakbeardneck36172 жыл бұрын
my brain is frying
@mishikookropiridze2 жыл бұрын
@@nicolareiman9687 It's actualy easy once you know definitions of category, functor, monoid, endofunctor.
@HoloTheDrunk2 жыл бұрын
The "server" that hosts all of my projects is basically two Raspberry Pis connected by a cheap ethernet switch and a lot of hope and prayers 😅
@lonelyfloat25822 жыл бұрын
As someone who loves programming in Haskell, I can't agree more LMAO
@ccgarciab2 жыл бұрын
Doing katas in Haskell is fun and satisfying at least
@SimGunther2 жыл бұрын
Dependency Roulette is the most fun game for anyone who is tired of C's packaging brilliancy and just want to mess around with XML, JSON, or cabal files guessing which version of which package is compatible only to find out it was out of order. If you were missing stress in your life, this is totally the game for you!
@torarinvik49202 жыл бұрын
Haha so true! Underrated comment!
@redpepper742 жыл бұрын
Maybe I don’t want to learn Haskell
@torarinvik49202 жыл бұрын
@@redpepper74 its a lot of fun 🙂
@redpepper742 жыл бұрын
@@torarinvik4920 I now have stack installed on my computer and am trying to figure out how to use it
@torarinvik49202 жыл бұрын
@@redpepper74 I found Cabal to be easier.
@john.dough.2 жыл бұрын
I love these shorter, to the point, videos in addition to the longer ones :)
@rogergalindo73182 жыл бұрын
after having spent 20+ hours trying to get a Haskell project working, can confirm, it’s a fucking pain in the ass
@Axman62 жыл бұрын
Have you used Haskell/Cabal recently? Things have improved a lot, and there’s a strong emphasis on making the tooling around the language much better for commercial use. Obviously I’m biased, Haskell has been paying my bills for most of the past decade, but because of that, I have seen the huge effort that’s gone into improving things. It’s also worth remembering Haskell is relatively old, so the designed of tools like Cabal were amazing in their time, but newer languages have made improvements from having a clean slate.
@miku4j2 жыл бұрын
Are you brainwashed by haskell propaganda?
@godnyx1172 жыл бұрын
Then why not redesign them? And don't tell me "It's hard". Of course it is, programming is hard! But isn't this what we do?
@sohangchopra64782 жыл бұрын
@@godnyx117 I'm sure cabal / stack could be redesigned, but that has two big problems: 1. Backward Compatibility (existing packages have to support Cabal & Stack - now they will also have to support the new, re-designed package manager). 2. Community Fragmentation - there are already big debates around Cabal vs Stack - adding a third option is not going to help.
@godnyx1172 жыл бұрын
@@sohangchopra6478 1. The oldest problem. Now take my opinion on this with big care. I think that backwards compatibility should never be kept. It keeps projects for truly improving and getting better. This is the approach OpenBSD takes (from what I heard) and the reason that while it's far beyond Linux (at least in regular desktop usage), it's catching up with each version. And that's another reason software have "maintenance". But in any case, people can still use the old version of the project if they want and if they cannot for some reason update. But again, this is just my humble opinion 2. The fact that the community is split between these two says it all! The fact that there is not one tool that the majority of the community likes and uses means that none of them are good enough. So we need to either add a new one (probably not) or re-design on of the existing ones to eliminate its flaws. Again, these are just my opinions, there is no right or wrong. In general, this is the approach I'm thinking to follow with my programming language and its tools.
@Axman62 жыл бұрын
@@godnyx117 Cabal has been redesigned, significantly, that’s the point I’m making.
@myfavouritecolorisgreen2 жыл бұрын
No one gets to hate on Haskell, except for the ones that love it. So yeah, you are allowed to hate on Haskell.
@beauteetmusculation8191 Жыл бұрын
I hate it as much as I love it. Best language, biggest missed opportunity.
@Czeckie2 жыл бұрын
as a mathematician: how do you dare to be this right?!
@vonBottorff2 жыл бұрын
Haskell seems to be split between super-mathy research people . . . and people who want it to be a working programming language. Alas. And even the mathy stuff about Haskell seems very often one-off and lost-in-the-weeds. Evidence: Bad docs that are not much better than stream of conscience/reference dumps. Haskell needs a big, centralized effort to deal with all this fragmentation. But then there's also this feeling that it's just the temporary "base camp" of some great assault on category theory, that Agda is the true "peak" language. Fragmented and schizoid is Haskell for sure.
@beauteetmusculation8191 Жыл бұрын
Good thing you mentioned documentation. That's one of the most frustrating parts of trying to get into Haskell. I don't mind reading a bit of theory, but to the point where you need HOURS to learn how to do something completely abstract which seems like necessary to actually just write simple applications, that's insane.
@vonBottorff Жыл бұрын
@@beauteetmusculation8191 There's a lot of programming environments, projects out there where you're pretty much on your own having to read source code. Haskell is definitely like that. I think lots of contributors just think you need to read the code because that's the league you're playing in. So yeah, Haskell is big in the academic world -- and they're not about writing O'Reilly books. I think the "center" of Haskell can be seen in _The Haskell Road to Logic, Maths, and Programming_ by Doets and van Eijck. It's sort of an answer to Paulson's _ML for the Working Programmer_ which is a seminal CS text. _Haskell Road_ really complements the discrete stuff you learn in a CS program.
@Ryan-xq3kl2 жыл бұрын
rewrite haskell in rust
@Adityarm.082 жыл бұрын
I never even tried doing anything except abstract problem solving in Haskell despite it being my favourite language of all. Somehow python, go, c++ just naturally feel far better for application development - which sadly is often far from elegant.
@timwhite17832 жыл бұрын
Yeah, I'm starting to think the only way to get things done is to learn to be comfortable with ugly code. You can make it beautiful after it works but lets be honest, you probably won't.
2 жыл бұрын
@@timwhite1783 "Learn to be comfortable with ugly code". See "Perfect is the enemy of good". And of course, "You can make it beautiful" brings to mind Knuth's "Premature -beautification- optimization is the root of all evil." and the old principle "first make it work, then make it right, and, finally, make it fast" (as quoted from an article in a 1983 issue of BYTE by Stephen Johnson and Brian Kernighan).
@jadetermig20859 ай бұрын
Haskell being your favorite language despite not having done anything besides "abstract problem solving" in it, tells me you're just fangirling over it and it's not a serious or substantive opinion.
@Adityarm.089 ай бұрын
@@jadetermig2085 thank you internet stranger for reminding me that my opinion is invalid & my experience irrelevant :)
@samuraijosh15958 ай бұрын
@@jadetermig2085 and your comment tells me you've never used Haskell or have the IQ to use Haskell. A Haskell enthusiast might not be able to get an actual production ready app out not because he doesn't have any experience in production or enough experience with Haskell but it has more to do with the poor ecosystem and tooling of Haskell.
@seanmcghee23733 ай бұрын
Thank you! Haskell is giving me fits and I am trying to learn it but you've nailed part of my problem.
@totalmonkeyspeed260 Жыл бұрын
You defined an opportunity: create a maintainable Haskell.🙂🙏
@harry3life2 жыл бұрын
Haskell is not developed by mathematicians. I don't think any of the main GHC developer is a mathematician.
@max34466 ай бұрын
The language is certainly designed primarily by theoretical computer scientists (i.e., mathematicians) though.
@harry3life6 ай бұрын
@@max3446 What does theoretical computer scientist even mean? The entire field is practice basically. I don't think you can call the people implementing a real world production compiler theoretical anything.
@max34466 ай бұрын
@@harry3life I'm talking about the backgrounds of those originally involved in the design of the language. Simon Peyton Jones, Philip Walder, etc. All (originally) academics with backgrounds in language design and semantics, so it's natural that the beauty of the language itself will take precence over creating the most convenient tooling (something which from their prespective is/was probably just a necessary evil).
@einargs3 ай бұрын
@@harry3life you have clearly not done enough type theory or algorithms work
@harry3life3 ай бұрын
@@einargs It's a skill issue if you didn't found applications for your type theory or algorithms.
@breakprismatshell62702 жыл бұрын
oh man I feel you.. both cabal and stack really suck ... Personally though this is worth it in exchange for the language itself, but people might differ on that. Worse to me is that fact, that it's so difficult to estimate and optimize for resource usage in haskell, because it is so abstract.
@abraund Жыл бұрын
How amusing, I'm using your parser as a project to orientate myself into how you actually go about development, and here you refute the language. Ultimately I suppose most people who wish to work in Haskell are more interested in a new way of thinking, rather than creating working solutions.
@samuraijosh15958 ай бұрын
If you can somehow make your way out of the build process and packaging mess, sure you can get something working. I myself am trying to use Haskell as backend server script, tried multiple Haskell wed frameworks, only one was easy to quickly set up and get some work done right off the bat. As he says, such an elegant sexy language but God awful tooling.
@hulucius14792 жыл бұрын
The real issue of Haskell is not really its type system or its language concepts, but its toolchain….
@Boxing_Gamer Жыл бұрын
The many weird symbols are also annoying..a few would have been enough, like the dot operator and the dollar operator. But when people start defining their own symbols which are often just chains of other symbols it becomes too difficult for most people .
@samuraijosh15958 ай бұрын
@@Boxing_Gamernot difficult at all. Get back to your haskell textbook and put in the effort.
@Boxing_Gamer8 ай бұрын
@@samuraijosh1595 it's not difficult when you made it yourself but when you look at other people's code it can be. Some code I've had to give up on understanding.
@samuraijosh15958 ай бұрын
@@Boxing_Gamer oh sorry I misread your comment, I read it as just too many symbols. I agree, abusing the symbol functions meta programming because it's fun or makes aesthetic sense to you personally is awful.
@filmamundo9194Ай бұрын
so...c++?
@RedStone576 Жыл бұрын
aw man i get into haskell because of your videos. you're totally right about the math folks building languages part
@exnihilonihilfit63165 ай бұрын
Impulse person, right?... A year later, you got nowhere, didn't ya? ;-))
@davidyanceyjr2 жыл бұрын
It's a crime, I have tried many ways to use haskell in my current project- I too love the language. I've resorted to Nix as a last ditch effort.
@woobilicious.2 жыл бұрын
What don't you like about the tooling (if that's what you mean?) Poorly documented libraries to me seem the worst aspect, trying to write in any language, except maybe C, these days seems to have a tooling issue in general where you're overloaded with choice and can't just do some coding. Nix could probably solve your issues, and introduce a whole bunch more :P
@TsodingDaily2 жыл бұрын
I like when people answer their own questions.
@kopuz.co.uk.2 жыл бұрын
@@TsodingDaily hypophora
@MyAce82 жыл бұрын
as someone who uses nix. You only start to make back the time invested in nix once you use it for everything and idk if it will be worth it for most people without many more years of maturation unfortunately
@ribosomerocker2 жыл бұрын
as someone who uses nix... dont use nix. do yourself a favour.
@victorandreverdipereira7440 Жыл бұрын
@@ribosomerockerwhy?
@MasthaX Жыл бұрын
I never coded much Haskell myself like you did, though I did read allot about it and watched your videos amongst many others because the language is really nice like you noted. I seem to never actually used it practically for the same negative reasons as you pointed as well. There are just too much good alternatives to use out there which are usually far easier to learn and are far more practical to use. Nevertheless I enjoyed your Haskell videos and learned quite a bit more about how it all works.
@anderdrache85042 жыл бұрын
That's why I'm excited about Roc.
@wlcrutch Жыл бұрын
So…what is a good alternative to Haskell? Something that enhances functional style and with an elegant syntax yet isn’t a pain in the ass for packaging/building? I agree, stack and cabal seem like they were created by HS students…
@CHR1SZ79 ай бұрын
Scala will let you do whatever abstract functional stuff you like (with a few different flavours of that e.g Cats, ZIO, etc.) but as a jvm language it can piggyback on much of the enormous java tooling ecosystem. The syntax is not as mathy as haskell but is very expressive and generally clean
@samuraijosh15958 ай бұрын
@@CHR1SZ7Scala syntax is ugly lmao
@max34466 ай бұрын
OCaml isn't as elegant as Haskell but its tooling is certainly a lot better.
@rezamirhosseini13695 ай бұрын
Maybe Erlang?
@TheRealisticNihilist2 жыл бұрын
I feel the fuck out of this pain. I LOVE Haskell but I've never had more problems with a language's implementation mechanics except, of course, Java (because I refuse to use intellij or eclipse).
@jordanmcconnon6214 Жыл бұрын
Yeah java without IDE is hell. Glad i never have to look at that shite again
@Boxing_Gamer Жыл бұрын
I think emacs and language servers will give you a nice java idea. So far I've used emacs with rust, elm and csharp and it worked perfectly. Even has refactoring and goto definition etc. For a much easier learning curve you could use spacemacs.
@jawad9757 Жыл бұрын
I really hope there is an achievable solution for Haskell's toolchain
@torarinvik49202 жыл бұрын
I've been learning Haskell for some time now, and you just read my mind. I couldn't agree more. The language is awesome, but the ecosystem particularly Cabal and Stack as you mentioned is so unreliable its almost broken. And just like you said the creators of Haskell care much, much more about language design than useful tools. I've been having so much trouble with cabal it's not even funny. I use Haskell for prototyping and other languages to code in. Swift has so amazing support for functional programming that I can almost directly translate all the Haskell code. Now I cant really put all the blame on the Haskell designers since Haskell has a healthy community the experienced users should also contribute if they want the language to become more popular. Pharo Smalltalk has a tiny community and they have been able to create an incredibly impressive IDE far more impressive than anything I have seen in the Haskell world.
2 жыл бұрын
Haskell was, is, and probably will forever be a research language first and foremost. Well, all functional languages are research languages more (much more) than practical languages. You go through a lot of pain, to get… what exactly? I tried my hand at studying computer science (at university, for real). And we did functional programming (in StandardML I think)… the goal was to *prove* programs correct, but I don't see that happening, not on a scale that is useful. And I also doubt it can even *really* be done what with a) side-effects (which you need to have to do IO) and b) the halting problem. Sure, you can prove parts of software correct. But is that such a huge benefit? But in the end, the biggest problem for functional programming (pure functional, but also non-pure, like Lisp or Scheme) is that it goes against our "natural" way of thinking, against the way most people's thought processes work. It's hard enough for most folks to get into a programming mindset. And then they expect those to start to think *functional*? No way, Jose.
@torarinvik49202 жыл бұрын
@ That was an amazing post! I agree 100%. Its basically correctness vs ease of use.
@firelights36752 жыл бұрын
@ to me functional is the "natural" way of thinking. You type out functions that transform inputs inside out, you tell exactly what to do. The only disadvantage is there's a lot more base functions, but for example expressing "sumList = fmap (+)" instead of needing to declare local variables and a for loop
2 жыл бұрын
@@firelights3675 To you, and good for you. But to *most* people it's completely foreign (as I said). Look for people complaining that math is hard, or that math sucks, and how many people can be seen to agree. All joking how bad they were at math and that nobody needs it (and then getting the wool pulled over their eyes thanks to their ignorance and innumeracy).
@Boxing_Gamer Жыл бұрын
@ yeah once people have been programming in oop for some time, it's hard for them to break free from that thought process. But I wonder how hard fp would be to learn if it was your first language?
@scvnthorpe__2 жыл бұрын
In retrospect its the kind of thing you want to be using for like, a microservice or something that intuitively doesn't deal in side effects. So for spam filtering for example it's actually spot on.
@Adam-yf2ux2 жыл бұрын
Your IO Monad video was the only one that sunk in. I watched like 100s of them btw :)
@xravenx24fe2 жыл бұрын
The amount of info online that potential Haskell programmers dig through just to learn the tool chain and language is so fickle it's ridiculous. It's terribly hard to find up to date learning materials and parts of the tool chain are frequently deprecated or replaced and documentation just doesn't keep up. I remember Haskell Platform or w/e it was was the de facto toolchain, then Cabal, now Stack which still uses Cabal somewhere, and God knows what it's going to be next lol.
@vadymbiliuk15052 жыл бұрын
Because u need to learn things better. U didn't use Cabal for package managment. It was cabal-install actually. And Cabal is a library which Stack uses, yeah
@softwarelivre23892 жыл бұрын
I sense strong JS development vibes here lol
@vadymbiliuk15052 жыл бұрын
@@softwarelivre2389 and good salary
@jboss1073 Жыл бұрын
GHCUP is next.
@Lin_The_Cat_ Жыл бұрын
I think Haskell is an interesting and expressive language, but I gotta agree that maintenance, from my limited experience in it, does seem like a nightmare. The error messages can be very obfuscated, like with how it says there's a type error in a function for example, as well as just the syntax of the language can be a bit difficult to read coming from the imperative side of the programming world.
@spartanA0111 ай бұрын
The things you described have nothing to do with what makes Haskell maintenance difficult, but ok. Type errors are one of the main benefits that help with refactoring of Haskell codebases that other languages do not provide in the same level of detail.
@samuraijosh15958 ай бұрын
Wrong justification for the right complaint. Resolving type errors are not the problem, the type errors being so elaborate is part of the intended design. You need to learn about typeclasses and how type meta programming works in general and you'll love those type errors in the long run. The problem actually lies with the poorly managed libraries and tooling and packaging
@crides02 жыл бұрын
Not sure about Haskell, but people say that Go is a write only language, and I think that's very true. Good for maintenance? Probably not
@Caldera5102 жыл бұрын
I also love Haskell...but I don't use it anymore for similar reasons.
@straw43202 жыл бұрын
Completely agreed. I wish we have 1/10 compilation time and a 30-second quick project/IDE setup in Haskell.
@deidyomega2 жыл бұрын
compile time doesn't really bother me in haskell, but sweet baby jesus does package management need to be fixed.
@AnarchySane2 жыл бұрын
Somewhere Bragilevsky and Granin began to cry(
@AlexanderGranin2 жыл бұрын
Well :)) Actually I support the main points of the video. I have a long storry fighting with the overall lack of engineering in Haskell, and I can confirm that the propoganda exists. In fact, it's based on the ideology that Haskell is a superior language, and Haskellers are doing well. Unfortunately, it's prohibited to openly talk about problems (social mostly, technical secondly). I hate to say that, but for decades, the most powerful camps of Haskell were demonstrating the lack of pragmatism and knowledge in software engineering. Also, self-isolation ideology from the outside (mainstream) world was an obstacle to see the ignorance. Despite that, Haskell managed to get some traction of software engineering and attracted some businesses, although these pragmatic people rarely sound in the community as the core believers that math is everything. That's my long-term staying opinion. P.S. Thank you for mentioning me and Vitaly!
@WilliametcCook2 жыл бұрын
Tried to implement a programming language in Haskell but I could never figure out I/O :P
@insidetrip101 Жыл бұрын
cabal (haven't used stack), does suck. However, I think it sucks because its way too involved. You should be able to just say you want package x, and then run package x, but because everything is so hooked to their dependency versions and so many customizable options, it is really really hard to use and a huge pain in the ass. That's not to say it can't work correctly, but it is to say that I've spent at least as much time just learning how to work with cabal as I have having to learn about haskell. The expectation for the developer to get cabal to work right is just too involved, however, I do think a lot of this can be solved simply by containerization. This doesn't solve maintainability and upgrading packages, which is kind of its own beast, but at least you don't end up with hundreds of competing dependencies in a global environment.
@samuraijosh15958 ай бұрын
Yeah I've not been able to install popular Haskell backend frameworks because of stupid Cabal, it complains complains, complains about shit than actually getting shit done.
@willmcpherson22 жыл бұрын
Haskell tooling is certainly better than C and C++, but not as good as Rust and JavaScript. Fortunately it's steadily improving
@sky_kryst2 жыл бұрын
Interesting point you make there. I just got into functional programming a year back, explored elixir. Felt disappointed for lack of type system. Was peeking my interests in Haskell, although it was ocaml first. What functional programming language would you recommend for backend use?
@cat-.-2 жыл бұрын
Scala, Closure, F# are used a lot in “the real world”. Other brilliant, more elegant languages abound but suffer from similar problems with Haskell.
@jamesgood78942 жыл бұрын
I’ve felt that same want coming from Elixir. I tried using Crystal, you can do functional programming, but it’s not immutable by default; if I remember correctly, there are mutable and immutable update functions for arrays, and I always just used structs and instantiated a new one. I haven’t gotten around to doing performance tests. Other than than, I just saw the Kotlin library Arrow, which seems to have a similar feature set as scala’s Cats library, supporting monads and for comprehensions, optics, etc. Ahh, I also wanted a language that could just compile to an executable, and it seems there’s kotlin native which can support that, rather than having to run it on JVM.
@deidyomega2 жыл бұрын
Second F#, its not the best, but its great because it works with the entire dotnet ecosystem and tooling.
@digitalspecter Жыл бұрын
I'm doing backend stuff with F# at the moment, it's not half bad. That being said, have you looked at IHP (Integrated Haskell Platform)? I've only played around with it but it's very cool platform... and their focus is very much on getting stuff actually done with it :)
@aradarbel45792 жыл бұрын
the fault is not in the language, it's in the users. it's too elegant for us mortals and our pity production uses
@TsodingDaily2 жыл бұрын
I also have another Haskell rant regarding some people overusing custom operators for no good reason, and turning the language into a shitshow despite Haskell having very simple syntax at its core. But that's a story for another time.
@meanmole32122 жыл бұрын
Just how Bjarne said C++ is great language for experts. Unreal cope.
@herrkrake81062 жыл бұрын
I feel you brother! Gods damned already properly installed library can't be found by GHC for fuck sake! Going to ditch xMonad and Haskell.
@fennecbesixdouze17942 ай бұрын
This is a super L take. Haskell's tooling doesn't suck because "Haskell is created by mathematicians and mathematicians aren't great software engineers". Mathematicians make fantastic software engineers. Haskell's tooling sucks because it has very little resources put into it. Cabal is like an afterthought side-project of Duncan Coutts, who has two full time jobs already teaching and working as a consultant. Do you understand how incredible of an engineer you have to be to maintain a project like Cabal in your spare time with two other full time jobs? Literally ONLY mathematicians can be that good at software engineering. Haskell's tooling was actually pretty great for back in the day with ghc-pkg etc, back then programming languages didn't typically come with package managers, so Haskell largely pioneered the model that is now the gold-standard today. The industry has simply taken these ideas and improved on them incrementally, and Haskell hasn't kept up because it doesn't have any money behind it. For the record, I agree Haskell is not suitable to use in industry specifically because it has poor tooling. But mathematicians make outstanding software engineers, and they are typically incredibly practical and pragmatic engineers despite the uninformed stereotypes.
@emszamot2 жыл бұрын
Could you elaborate what problems with cabal you had?
@SimonClarkstone2 жыл бұрын
The second half of this video is a good point about how Haskell's nice maths is held back by problems with the software engineering side. (I myself haven't used it for like 15 years.) It has become a great place to copy ideas from. The first half of the video is at risk of repelling people who need to hear the second half by calling them lying and brainwashed. I can tell you weren't trying to convince any Haskell fans. :-)
@TsodingDaily2 жыл бұрын
> The second half of this video is a good point... I'm glad you liked my Data Center!
@SimonClarkstone2 жыл бұрын
@@TsodingDaily Hehe, that too.
@nolanfaught6974 Жыл бұрын
As a mathematician, I wouldn’t dream of using Haskell. Julia is another language designed by mathematicians and it manages to look elegant without sacrificing functionality
@vikinggeorge7007 Жыл бұрын
Roc is on the way man, and damn it does look promising
@philipkaim7447 Жыл бұрын
"Porn Folder: 9.2 GiB" 🧐
@Michal_Peterka2 жыл бұрын
Did you try F#?
@z0nx2 ай бұрын
Somebody clue me in, is C better on this front?
@slowpnir2 жыл бұрын
_Stares in silence_
@rodU652 жыл бұрын
Odd. This video was recommended after I spend days studying for my mathematics finals. I never looked anything in KZbin about Haskell.👽
@friedrichwaterson31852 жыл бұрын
As Napoleon used to say, "With philosophers, you cannot do anything" or something like that
@ivanjermakov2 жыл бұрын
Too bad there is no viable alternative being pure functional typed language with a better tooling
@explosionspin34222 жыл бұрын
Purescript gang
@khodis20022 жыл бұрын
OCaml?
@tylert24132 жыл бұрын
F# is probably the closest to that ideal. Large ecosystem, IDE, tooling.
@andrescamilo74062 жыл бұрын
Elixir?
@Axman62 жыл бұрын
Unison is definitely worth looking at, it’s pretty revolutionary.
@paulcosma28232 жыл бұрын
I had the same experience with Haskell sadly. A beautiful language with crappy tooling
@IronicHavoc6 ай бұрын
Haskell is very fun to learn and then apply the stuff you learned somewhere else
@oliveiracaio572 жыл бұрын
What's your favorite language for functional programming?
@scalacode2 жыл бұрын
Scala
@saultube446 ай бұрын
Yes, their syntax is crap too
@aly-bocarcisse6132 жыл бұрын
I say to people myself that Haskell is not production friendly. So I cannot say I do not see where you’re coming from. Haskell tooling has improved tremendously in this last 5/7… Saying that it has not been “engineered properly” is going to far IMHO. Also, Go ? I mean come 🤣
@masterlup9 ай бұрын
what do you recommend instead of Haskell?
@samuraijosh15958 ай бұрын
As in something that gives the feel of Haskell but with better tooling?
@masterlup8 ай бұрын
@@samuraijosh1595 no as in: What are you using instead of Haskell and how is it better.
@DavidEngelen2 жыл бұрын
Cardano stans SEETHING rn
@pyogomushroom2 жыл бұрын
Yeah, I totally agree with you. The Haskell development environment is the worst in the world. If you've ever experienced a rust analyzer, the bloody experience of a haskell language server would want to put Haskell in the trash right away
@taylorallred62082 жыл бұрын
I love Haskell as a language for things like niche problems but any time I try to build a larger project I don’t enjoy it very much. I tend to get lost in the details of the implementation instead of just making something that works.
@cat-.-2 жыл бұрын
Module system is so bad honestly it should be remade because the language is so good. I gave up the idea before even getting to cabal because when I see how modules worked I knew immediately what it would be like to build large, practical projects with it Still a brilliant language and I don’t regret spending time on it one bit.
@samuraijosh15958 ай бұрын
@@cat-.- are modules the problem or how cabal handles modules the problem?
@cat-.-8 ай бұрын
@@samuraijosh1595 implicit importing unqualified symbols from other NS is what made me die inside, but on retrospect this should not have stopped me from learning it, there are acceptable import patterns that solve that problem
@arkeynserhayn83702 ай бұрын
Once i read somewhere that Haskell is NOT a good first functional programming language because you spend more time learning Haskell itself than functional programming. Right now that i am learning haskell (first FP language i am learning) i couldn't agree more; quirks of haskell sytanx is giving me more trouble than lambda calculus and type enforcement combined. How scoping works is bane of my existence. I think i will be much happier learning OCaml and just be mindful not write imperative code.
@ShawnShaddock8 ай бұрын
If you think the Haskell tool chain in a pain in the ass, why not develop some tools to make it better?
@kratanuva7252 жыл бұрын
Cabal and Stack are a pain in the ass... Compared to what? Stack and Cabal are the best package managers I've used outside of cargo. I'll take them over gradle any day.
@meanmole32122 жыл бұрын
yes but cargo is heaven
@cesarfigueroa6119 Жыл бұрын
any thoughts on purescript?
@christophervalerio5964 Жыл бұрын
Learning haskell... I feel the pain of stack and cabal, specially coming from Rust :) cargo just works.
@maithilijsk76982 жыл бұрын
Do you use any different keyboard or just remap the keys with xmodmap or something. Because I have seen you using Emacs so fast. Just share with use. If you rebind the keys tell us which one. You are awesome btw
@aesthetic37772 жыл бұрын
Opinion on OCaml? And how long will it take to learn it to intermediate level? (self-study)
@galtrapecar27022 жыл бұрын
There is really not enough documentation so the majority of the learning you spend trying to figure out why and how something works. Personally I like to build things and OCaml is not suited for that. It’s great for learning in college classes but if you’re going to learn a langage why not go with something more modern/used. As for the time it takes to learn I’ve had it this semester and at the end of the year I still don’t get everything to the point where it feels comfortable.
@xybersurfer Жыл бұрын
how about learning F#? it is based on OCaml, but the advantage is that it has the .NET ecosystem including Visual Studio (not Visual Studio Code) for debugging. also .NET Core is now open source and cross platform
@janruysch6612 Жыл бұрын
Can you recommend any books about haskell?
@Zetornator2 жыл бұрын
Thank you!! Finally i can send this to my professor so he can fck off and pass me.
@Axman62 жыл бұрын
If you’re learning Haskell at university, you’re not running into any of the problem Tsoding is talking about.
@xelaxander2 жыл бұрын
Hah! Am mathematician, completely agree. My peers and myself have no clue how to develop software.
@Sorc472 жыл бұрын
To be fair, most software developers don't either.
@birdbeakbeardneck36172 жыл бұрын
are you intrested in maintaining a repo of a programming language inspired by Haskell, but is well engineered as well?
@FDominicus Жыл бұрын
Just curious why don't you give Ocaml and F# a try? I'd like you to do stuff with that.
@FDominicus Жыл бұрын
I'm sorry, you did havn't seen it in your channel because I'm sometimes a bit too dumb.
@SebastianPereira2 жыл бұрын
Don't let the Cardano guys hear that.
@oShinobu2 жыл бұрын
This is so relatable
@yecinemegdiche32022 жыл бұрын
It's hard for me to say, but many things around Haskell are really a pain...
@ProjectVastness Жыл бұрын
What about using something like F#?
@griof2 жыл бұрын
I haven't found Haskell tooling more difficult that Python's. Have you used the tooling as in 2022? Ghcup for example. Not Haskell propaganda just honest interest hahaha
@annie36062 жыл бұрын
Ghcup isn't part of the normal tooling imo, its just for managing versions of the actual tooling and compiler. Ghcup working fine doesn't solve the issue of cabal(both the library and the cli tool) and stack just being horrible to use.
@griof2 жыл бұрын
@@annie3606 can you extend more??? cabal build or stack build just works fine
@Cat_Stevens Жыл бұрын
i tried to use stack to install a very small simple dependency for Advent of Code so I could partition a list, and getting stack or cabal set up was so frustrating over 2 days i dropped it
@samuraijosh15958 ай бұрын
@@griof for me I tried to install some web frameworks based on Haskell through cabal and it just crashes complaining about some niche dependency problem.
@akaalkripal5724 Жыл бұрын
What happened to frege?
@andyl.59982 жыл бұрын
Hope you're doing well, man. You look so different now from yourself on the main channel.
@correaswebert2 жыл бұрын
too smol PepeHands 🤣
@TsodingDaily2 жыл бұрын
It is what it is
@anisometropie Жыл бұрын
Is it something that can be fixed ? I mean, is it just because there not enough tools that make your life easier (Like in JavaScript, nvm, yarn and shit ) or is the language fundamentally unrecoverable ?
@samuraijosh15958 ай бұрын
The language is fine. The tooling, libraries, community support, ecosystem is bad.
@musdevfrog2 жыл бұрын
man spitting facts.
@JT-mr3db6 ай бұрын
I love Haskell, it’s incredibly fulfilling to be productive in it but it’s true that it’s a complete PITA. When I picked up Go i realized what a completely abusive relationship I was in with Haskell.
@michaelmueller96352 жыл бұрын
Monads were causing too much headache xD xD xD
@simplehaskell4949 Жыл бұрын
Imo, the way monads are explained is often way too abstract, but in use they click and its really just "oh I can ignore this wrapper" unless you want to write a research paper lol. Have you tried learning parsers? Personally that's when monads clicked for me.
@shalokshalom Жыл бұрын
Maybe FSharp is for you
@rubyviolet82 жыл бұрын
Tried to get into haskell recently. It seems like kind of a cool concept, but I have no idea in fuck how you'd actually use it to build any kind of serious software. A lot of the functional languages don't seem to like... map very well onto the actual hardware you have. They're meant to be abstract mathematical concepts, they were only implemented as languages after the fact. I prefer lisp lol
@Axman62 жыл бұрын
I’ve been writing Haskell professionally for most of the last decade, happy to answer any questions about how you use it for real work.
@davidlynch42022 жыл бұрын
@@Axman6 would the code you write on the job be purely functional or would you have to use imperative techniques?
@rubyviolet82 жыл бұрын
@@Axman6 how would you implement game engine stuff in Haskell? Like what's the Haskell equivalent of looping through a table of entities and updating everything? Obviously gamedev isn't what Haskell's for, but that's kinda my point, for me personally anyway. Gamedev isn't exactly what c is for either, but implementing a game engine in c is fairly trivial. I just feel like for my purposes I can make so much more happen with imperative programming, but I like functional programming as a concept/for scripting tho.
@datmickey19662 жыл бұрын
@@rubyviolet8 every iteration-based routine can be replaced with a recursion-based routine. Instead of looping through a table, you can recurse through it, each time processing one element
@lubricustheslippery50282 жыл бұрын
@@datmickey1966 If it's still recursion after going through the compiler you would get performance issues. And thus still don't work for any bigger game.
@neroamayo63452 жыл бұрын
What is the font he is using on his terminal. Can anyone tell ?
@МаксатРсымбетов-з9о4 ай бұрын
Iosevka
@fulcanelly2 жыл бұрын
why don't you write own haskell implementation then ?
@bibliusz7772 жыл бұрын
do u know Unison?
@alaindevos4027 Жыл бұрын
Why don't use F# or Ocaml
@DeltaEpsilon77872 жыл бұрын
Yep, precisely my thoughts. I gave Haskell a full month of use and it's been nothing but pure pain to write in, culminating in a rant-style wall of text of everything wrong with it. At least it gave me an appreciation for small programmer-friendly things other languages do. It's almost as bad to write in as VBA and that's saying something. Really good conceptually, other languages should take inspiration from it, but the language is unironic flaming garbage otherwise. At least it helped me get up to speed with Rust quickly.
@alexanderskusnov51192 жыл бұрын
А как же ваш коллега Александр Гранин? Использовал Free Monads и все дела.
@AlexanderGranin2 жыл бұрын
Хехехе :) Ну, я смею думать, что делаю это вопреки всем возможным идеологиям Хаскеля, и развиваю альтернативный взгляд на то, чем может быть этот язык и практика его применения. Это гораздо глубже, чем просто использовать фри монады, это прагматизм и инженерный подход. P.S. Я рад, что вы обо мне вспомнили :)
@ziggy66987 ай бұрын
Haskell community might be the most gate keepy in software, I dont imagine they see their build tools as an issue.