Тёмный

Why I Don't Code in Haskell Anymore? 

Tsoding Daily
Подписаться 115 тыс.
Просмотров 117 тыс.
50% 1

Наука

Опубликовано:

 

24 июн 2022

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 356   
@TsodingDaily
@TsodingDaily 2 года назад
How do you like my Data Center?
@leongarcia3281
@leongarcia3281 2 года назад
The best use for an old laptop that served you well for 10+ yrs and has, like, a pentium and 3gb of ram
@stevegremory3849
@stevegremory3849 2 года назад
Hey, look at the bright side! Glowies can't sniff your data!
@maxreuv
@maxreuv 2 года назад
The DataCenter looks a bit like your Haskell comment ;)
@bertrodgers2420
@bertrodgers2420 2 года назад
@@maxreuv Why can't you pay for a VPS, sorry?
@lubricustheslippery5028
@lubricustheslippery5028 2 года назад
@@bertrodgers2420 Probably something to do with living in Russia
@VojtaJavora
@VojtaJavora Год назад
As someone who mostly programs in C, any package manager that actually exists is magic to me.
@biomorphic
@biomorphic Год назад
I feel the pain. Maybe it's time to learn Rust.
@niktedig853
@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?
@VojtaJavora
@VojtaJavora Год назад
@@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.
@VojtaJavora
@VojtaJavora Год назад
@@niktedig853 also haskell package managers are not attached to the language.
@Bbdu75yg
@Bbdu75yg Год назад
Isn’t cmake and bazel painful for cc+ development ?
@dimator
@dimator 2 года назад
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 👌
@MdImrulHassan
@MdImrulHassan 2 года назад
+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.
@driden1987
@driden1987 2 года назад
@@MdImrulHassan +2 more haskell/scala/lisp please
@sebastiangudino9377
@sebastiangudino9377 2 года назад
@@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
@driden1987
@driden1987 2 года назад
@@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_Information
@Mutual_Information 2 года назад
This was the first time I heard anything about Haskell that wasn’t Haskell propaganda
@jawad9757
@jawad9757 9 месяцев назад
Where are you finding this Haskell propaganda, I want it
@MattLaine
@MattLaine 20 дней назад
You clearly haven't read my Quora posts.
@HoloTheDrunk
@HoloTheDrunk 2 года назад
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 😅
@youtubepooppismo5284
@youtubepooppismo5284 2 года назад
a monad is a monoid in the category of endofunctors.
@leongarcia3281
@leongarcia3281 2 года назад
He said the line!
@mishikookropiridze
@mishikookropiridze 2 года назад
Trivial
@nicolareiman9687
@nicolareiman9687 2 года назад
Shit that's easy why do people still don't get it quickly.
@birdbeakbeardneck3617
@birdbeakbeardneck3617 2 года назад
my brain is frying
@mishikookropiridze
@mishikookropiridze 2 года назад
@@nicolareiman9687 It's actualy easy once you know definitions of category, functor, monoid, endofunctor.
@lonelyfloat2582
@lonelyfloat2582 2 года назад
As someone who loves programming in Haskell, I can't agree more LMAO
@john.dough.
@john.dough. 2 года назад
I love these shorter, to the point, videos in addition to the longer ones :)
@Axman6
@Axman6 2 года назад
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.
@ahmaddynugroho
@ahmaddynugroho 2 года назад
Are you brainwashed by haskell propaganda?
@godnyx117
@godnyx117 2 года назад
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?
@sohangchopra6478
@sohangchopra6478 2 года назад
@@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.
@godnyx117
@godnyx117 2 года назад
@@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.
@Axman6
@Axman6 2 года назад
@@godnyx117 Cabal has been redesigned, significantly, that’s the point I’m making.
@SimGunther
@SimGunther 2 года назад
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!
@torarinvik4920
@torarinvik4920 2 года назад
Haha so true! Underrated comment!
@redpepper74
@redpepper74 2 года назад
Maybe I don’t want to learn Haskell
@torarinvik4920
@torarinvik4920 2 года назад
@@redpepper74 its a lot of fun 🙂
@redpepper74
@redpepper74 2 года назад
@@torarinvik4920 I now have stack installed on my computer and am trying to figure out how to use it
@torarinvik4920
@torarinvik4920 2 года назад
@@redpepper74 I found Cabal to be easier.
@ccgarciab
@ccgarciab 2 года назад
Doing katas in Haskell is fun and satisfying at least
@Ryan-xq3kl
@Ryan-xq3kl 2 года назад
rewrite haskell in rust
@rogergalindo7318
@rogergalindo7318 2 года назад
after having spent 20+ hours trying to get a Haskell project working, can confirm, it’s a fucking pain in the ass
@RedStone576
@RedStone576 Год назад
aw man i get into haskell because of your videos. you're totally right about the math folks building languages part
@exnihilonihilfit6316
@exnihilonihilfit6316 Месяц назад
Impulse person, right?... A year later, you got nowhere, didn't ya? ;-))
@Czeckie
@Czeckie 2 года назад
as a mathematician: how do you dare to be this right?!
@myfavouritecolorisgreen
@myfavouritecolorisgreen 2 года назад
No one gets to hate on Haskell, except for the ones that love it. So yeah, you are allowed to hate on Haskell.
@beauteetmusculation8191
@beauteetmusculation8191 Год назад
I hate it as much as I love it. Best language, biggest missed opportunity.
@totalmonkeyspeed260
@totalmonkeyspeed260 Год назад
You defined an opportunity: create a maintainable Haskell.🙂🙏
@harry3life
@harry3life 2 года назад
Haskell is not developed by mathematicians. I don't think any of the main GHC developer is a mathematician.
@max3446
@max3446 2 месяца назад
The language is certainly designed primarily by theoretical computer scientists (i.e., mathematicians) though.
@harry3life
@harry3life 2 месяца назад
@@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.
@max3446
@max3446 2 месяца назад
​@@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).
@anderdrache8504
@anderdrache8504 2 года назад
That's why I'm excited about Roc.
@Adityarm.08
@Adityarm.08 2 года назад
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.
@timwhite1783
@timwhite1783 2 года назад
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).
@jadetermig2085
@jadetermig2085 5 месяцев назад
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.08
@Adityarm.08 5 месяцев назад
@@jadetermig2085 thank you internet stranger for reminding me that my opinion is invalid & my experience irrelevant :)
@samuraijosh1595
@samuraijosh1595 4 месяца назад
​@@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.
@abraund
@abraund 8 месяцев назад
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.
@samuraijosh1595
@samuraijosh1595 4 месяца назад
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.
@vonBottorff
@vonBottorff 2 года назад
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
@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
@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.
@IronicHavoc
@IronicHavoc 3 месяца назад
Haskell is very fun to learn and then apply the stuff you learned somewhere else
@woobilicious.
@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
@TsodingDaily
@TsodingDaily 2 года назад
I like when people answer their own questions.
@kopuz.co.uk.
@kopuz.co.uk. 2 года назад
@@TsodingDaily hypophora
@MyAce8
@MyAce8 2 года назад
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
@ribosomerocker
@ribosomerocker 2 года назад
as someone who uses nix... dont use nix. do yourself a favour.
@victorandreverdipereira7440
@victorandreverdipereira7440 9 месяцев назад
​@@ribosomerockerwhy?
@MurderByProxy
@MurderByProxy 5 месяцев назад
lol finally managed to finish one of this dudes videos
@Adam-yf2ux
@Adam-yf2ux 2 года назад
Your IO Monad video was the only one that sunk in. I watched like 100s of them btw :)
@sky_kryst
@sky_kryst 2 года назад
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-.-
@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.
@jamesgood7894
@jamesgood7894 2 года назад
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.
@deidyomega
@deidyomega 2 года назад
Second F#, its not the best, but its great because it works with the entire dotnet ecosystem and tooling.
@digitalspecter
@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 :)
@MasthaX
@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.
@birdbeakbeardneck3617
@birdbeakbeardneck3617 2 года назад
are you intrested in maintaining a repo of a programming language inspired by Haskell, but is well engineered as well?
@hulucius1479
@hulucius1479 Год назад
The real issue of Haskell is not really its type system or its language concepts, but its toolchain….
@Boxing_Gamer
@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 .
@samuraijosh1595
@samuraijosh1595 4 месяца назад
​@@Boxing_Gamernot difficult at all. Get back to your haskell textbook and put in the effort.
@Boxing_Gamer
@Boxing_Gamer 4 месяца назад
@@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.
@samuraijosh1595
@samuraijosh1595 4 месяца назад
@@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.
@davidyanceyjr
@davidyanceyjr 2 года назад
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.
@vikinggeorge7007
@vikinggeorge7007 Год назад
Roc is on the way man, and damn it does look promising
@maithilijsk7698
@maithilijsk7698 2 года назад
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
@scvnthorpe__
@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.
@oShinobu
@oShinobu 2 года назад
This is so relatable
@breakprismatshell6270
@breakprismatshell6270 2 года назад
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.
@jawad9757
@jawad9757 Год назад
I really hope there is an achievable solution for Haskell's toolchain
@straw4320
@straw4320 2 года назад
Completely agreed. I wish we have 1/10 compilation time and a 30-second quick project/IDE setup in Haskell.
@deidyomega
@deidyomega 2 года назад
compile time doesn't really bother me in haskell, but sweet baby jesus does package management need to be fixed.
@mariobroselli3642
@mariobroselli3642 4 месяца назад
Haskell Videogames would be painful😮😢
@slowpnir
@slowpnir 2 года назад
_Stares in silence_
@Caldera510
@Caldera510 2 года назад
I also love Haskell...but I don't use it anymore for similar reasons.
@Lin_The_Cat_
@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.
@spartanA01
@spartanA01 7 месяцев назад
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.
@samuraijosh1595
@samuraijosh1595 4 месяца назад
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
@andyl.5998
@andyl.5998 2 года назад
Hope you're doing well, man. You look so different now from yourself on the main channel.
@aesthetic3777
@aesthetic3777 2 года назад
Opinion on OCaml? And how long will it take to learn it to intermediate level? (self-study)
@galtrapecar2702
@galtrapecar2702 2 года назад
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
@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
@TheRealisticNihilist
@TheRealisticNihilist 2 года назад
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
@jordanmcconnon6214 Год назад
Yeah java without IDE is hell. Glad i never have to look at that shite again
@Boxing_Gamer
@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.
@oliveiracaio57
@oliveiracaio57 2 года назад
What's your favorite language for functional programming?
@scalacode
@scalacode Год назад
Scala
@rodU65
@rodU65 2 года назад
Odd. This video was recommended after I spend days studying for my mathematics finals. I never looked anything in RU-vid about Haskell.👽
@janruysch6612
@janruysch6612 Год назад
Can you recommend any books about haskell?
@AnarchySane
@AnarchySane 2 года назад
Somewhere Bragilevsky and Granin began to cry(
@AlexanderGranin
@AlexanderGranin 2 года назад
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!
@emszamot
@emszamot Год назад
Could you elaborate what problems with cabal you had?
@JT-mr3db
@JT-mr3db 2 месяца назад
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.
@WilliametcCook
@WilliametcCook 2 года назад
Tried to implement a programming language in Haskell but I could never figure out I/O :P
@xravenx24fe
@xravenx24fe 2 года назад
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.
@vadymbiliuk1505
@vadymbiliuk1505 2 года назад
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
@softwarelivre2389
@softwarelivre2389 2 года назад
I sense strong JS development vibes here lol
@vadymbiliuk1505
@vadymbiliuk1505 2 года назад
@@softwarelivre2389 and good salary
@jboss1073
@jboss1073 Год назад
GHCUP is next.
@masterlup
@masterlup 5 месяцев назад
what do you recommend instead of Haskell?
@samuraijosh1595
@samuraijosh1595 4 месяца назад
As in something that gives the feel of Haskell but with better tooling?
@masterlup
@masterlup 4 месяца назад
@@samuraijosh1595 no as in: What are you using instead of Haskell and how is it better.
@cesarfigueroa6119
@cesarfigueroa6119 Год назад
any thoughts on purescript?
@torarinvik4920
@torarinvik4920 2 года назад
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.
@torarinvik4920
@torarinvik4920 2 года назад
@ That was an amazing post! I agree 100%. Its basically correctness vs ease of use.
@firelights3675
@firelights3675 Год назад
@ 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
Год назад
@@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
@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?
@musdevfrog
@musdevfrog 2 года назад
man spitting facts.
@crides0
@crides0 Год назад
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
@wlcrutch
@wlcrutch 11 месяцев назад
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…
@CHR1SZ7
@CHR1SZ7 5 месяцев назад
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
@samuraijosh1595
@samuraijosh1595 4 месяца назад
​@@CHR1SZ7Scala syntax is ugly lmao
@max3446
@max3446 2 месяца назад
OCaml isn't as elegant as Haskell but its tooling is certainly a lot better.
@rezamirhosseini1369
@rezamirhosseini1369 2 месяца назад
Maybe Erlang?
@christophervalerio5964
@christophervalerio5964 Год назад
Learning haskell... I feel the pain of stack and cabal, specially coming from Rust :) cargo just works.
@SimonClarkstone
@SimonClarkstone 2 года назад
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. :-)
@TsodingDaily
@TsodingDaily 2 года назад
> The second half of this video is a good point... I'm glad you liked my Data Center!
@SimonClarkstone
@SimonClarkstone 2 года назад
@@TsodingDaily Hehe, that too.
@Michal_Peterka
@Michal_Peterka 2 года назад
Did you try F#?
@aradarbel4579
@aradarbel4579 2 года назад
the fault is not in the language, it's in the users. it's too elegant for us mortals and our pity production uses
@TsodingDaily
@TsodingDaily 2 года назад
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.
@meanmole3212
@meanmole3212 2 года назад
Just how Bjarne said C++ is great language for experts. Unreal cope.
@FDominicus
@FDominicus 10 месяцев назад
Just curious why don't you give Ocaml and F# a try? I'd like you to do stuff with that.
@FDominicus
@FDominicus 10 месяцев назад
I'm sorry, you did havn't seen it in your channel because I'm sometimes a bit too dumb.
@DavidEngelen
@DavidEngelen 2 года назад
Cardano stans SEETHING rn
@window.location
@window.location 2 года назад
I tried to install pandoc recently, oh god it tried to pull hundreds of Haskell packages, I had to scroll my terminal to see full log.
@insidetrip101
@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.
@samuraijosh1595
@samuraijosh1595 4 месяца назад
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.
@yecinemegdiche3202
@yecinemegdiche3202 2 года назад
It's hard for me to say, but many things around Haskell are really a pain...
@philipkaim7447
@philipkaim7447 Год назад
"Porn Folder: 9.2 GiB" 🧐
@herrkrake8106
@herrkrake8106 2 года назад
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.
@neroamayo6345
@neroamayo6345 2 года назад
What is the font he is using on his terminal. Can anyone tell ?
@user-jw4lr3mq7y
@user-jw4lr3mq7y Месяц назад
Iosevka
@nolanfaught6974
@nolanfaught6974 8 месяцев назад
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
@anisometropie
@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 ?
@samuraijosh1595
@samuraijosh1595 4 месяца назад
The language is fine. The tooling, libraries, community support, ecosystem is bad.
@SebastianPereira
@SebastianPereira 2 года назад
Don't let the Cardano guys hear that.
@Zetornator
@Zetornator 2 года назад
Thank you!! Finally i can send this to my professor so he can fck off and pass me.
@Axman6
@Axman6 2 года назад
If you’re learning Haskell at university, you’re not running into any of the problem Tsoding is talking about.
@ProjectVastness
@ProjectVastness 11 месяцев назад
What about using something like F#?
@michaelmueller9635
@michaelmueller9635 2 года назад
Monads were causing too much headache xD xD xD
@simplehaskell4949
@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.
@friedrichwaterson3185
@friedrichwaterson3185 2 года назад
As Napoleon used to say, "With philosophers, you cannot do anything" or something like that
@mariobroselli3642
@mariobroselli3642 4 месяца назад
Racket vs OCaml?
@alexanderskusnov5119
@alexanderskusnov5119 2 года назад
А как же ваш коллега Александр Гранин? Использовал Free Monads и все дела.
@AlexanderGranin
@AlexanderGranin 2 года назад
Хехехе :) Ну, я смею думать, что делаю это вопреки всем возможным идеологиям Хаскеля, и развиваю альтернативный взгляд на то, чем может быть этот язык и практика его применения. Это гораздо глубже, чем просто использовать фри монады, это прагматизм и инженерный подход. P.S. Я рад, что вы обо мне вспомнили :)
@willmcpherson2
@willmcpherson2 2 года назад
Haskell tooling is certainly better than C and C++, but not as good as Rust and JavaScript. Fortunately it's steadily improving
@pleasetakemyadvice
@pleasetakemyadvice 2 года назад
you are right in fact Haskell is not been invented but discovered, so yes mathematicians are not good at building programming languages but are very good at discovering them
@lubricustheslippery5028
@lubricustheslippery5028 2 года назад
You stepped in a big can of worms. Is math invented or discovered? I am on the invented side...
@pleasetakemyadvice
@pleasetakemyadvice 2 года назад
@@lubricustheslippery5028 ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-JMP6gI5mLHc.html
@lubricustheslippery5028
@lubricustheslippery5028 2 года назад
@@anonymousalexander6005 Or you just come up with a system that is internally coherent. It's questionably if math even try to describe nature/reality in a similar way that natural science as Physics, chemistry and biology do. It's strange how good some advanced and esoteric mat is as a tool/language for the Natural science.
@jboss1073
@jboss1073 Год назад
@@lubricustheslippery5028 Two different people who never talked to each other, several times in history, have discovered the same mathematics. When have you ever seen two people with the same opinion?
@lubricustheslippery5028
@lubricustheslippery5028 Год назад
@@jboss1073 It have happened several times that different people have come up with similar and wrong physics theories independent from each other. They have probably read the same books and have similar math backgrounds. Like we hav 10 fingers so we use the base 10 for numbers. So that is at least an covergent math because of human physiology not some fundamental math fact.
@paulcosma2823
@paulcosma2823 2 года назад
I had the same experience with Haskell sadly. A beautiful language with crappy tooling
@pyogomushroom
@pyogomushroom 2 года назад
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
@FDominicus
@FDominicus 10 месяцев назад
I now can understand. I 'd give it a try and then I run into trouble with stack, I had to fall back to cabal and the joke is the .cabal file is overwritten if one uses stack and so I have a package manager which can give me an file for the cabal build system but I can not use the package manager to build it really. That sucks ...
@correaswebert
@correaswebert 2 года назад
too smol PepeHands 🤣
@TsodingDaily
@TsodingDaily 2 года назад
It is what it is
@ivanjermakov
@ivanjermakov 2 года назад
Too bad there is no viable alternative being pure functional typed language with a better tooling
@explosionspin3422
@explosionspin3422 2 года назад
Purescript gang
@khodis2002
@khodis2002 2 года назад
OCaml?
@tylert2413
@tylert2413 2 года назад
F# is probably the closest to that ideal. Large ecosystem, IDE, tooling.
@andrescamilo7406
@andrescamilo7406 2 года назад
Elixir?
@Axman6
@Axman6 2 года назад
Unison is definitely worth looking at, it’s pretty revolutionary.
@YoGooN1
@YoGooN1 Год назад
Like for the Epic Data Center!
@overclucker
@overclucker 2 года назад
It's quite beefy!
@coder8515
@coder8515 6 месяцев назад
Agree
@shutterrecoil
@shutterrecoil 2 года назад
Package deps with nix package manager
@taylorallred6208
@taylorallred6208 2 года назад
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-.-
@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.
@samuraijosh1595
@samuraijosh1595 4 месяца назад
​@@cat-.- are modules the problem or how cabal handles modules the problem?
@cat-.-
@cat-.- 4 месяца назад
@@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
@alexlangevin8340
@alexlangevin8340 Год назад
Haskell is fun :P
@kratanuva725
@kratanuva725 2 года назад
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.
@meanmole3212
@meanmole3212 2 года назад
yes but cargo is heaven
@alaindevos4027
@alaindevos4027 8 месяцев назад
Why don't use F# or Ocaml
@bibliusz777
@bibliusz777 Год назад
do u know Unison?
@matthiasschuster9505
@matthiasschuster9505 Год назад
Maybe FSharp is for you
@akaalkripal5724
@akaalkripal5724 9 месяцев назад
What happened to frege?
@aly-bocarcisse613
@aly-bocarcisse613 2 года назад
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 🤣
@veerasivarajan6736
@veerasivarajan6736 2 года назад
Hi, I really admire your work. Could you please tell me how you create the thumbnails for your videos? They look so crisp and to the point. Thanks
Далее
Ocaml First Thoughts
11:49
Просмотров 57 тыс.
Is it impossible to cut off so much?💀🍗
00:14
Просмотров 3,9 млн
What is IO monad?
36:32
Просмотров 67 тыс.
Why I Cant Stand IDE's After Using VIM | Prime Reacts
17:51
Simon Peyton Jones - Haskell is useless
6:23
Просмотров 366 тыс.
FizzBuzz - You Suck at Coding [0]
12:35
Просмотров 403 тыс.
Functional Programming & Haskell - Computerphile
9:19
Просмотров 661 тыс.
why rust libraries may never exist.
7:26
Просмотров 230 тыс.
Don't use VSCode
35:31
Просмотров 213 тыс.
Сравнили apple и xiaomi!
0:21
Просмотров 47 тыс.
КРУТОЙ ТЕЛЕФОН
0:16
Просмотров 4,6 млн