Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Oct 18 2022 19:35
    @SethTisue banned @lunaterra22
  • Sep 14 2022 18:08
    @SethTisue banned @discjock:matrix.org
  • Sep 12 2022 20:37
    @SethTisue banned @manuelzamoratetherbtcusa:matrix.org
  • Sep 06 2022 14:29
    @SethTisue banned @white_hat_hacker:minds.com
  • Sep 06 2022 14:29
    @SethTisue banned @alexchole:matrix.org
  • Aug 31 2022 17:03
    @SethTisue banned @andersonwatts7:matrix.org
  • Jul 19 2022 20:37
    @SethTisue banned @tonyobanon
  • Jan 02 2022 23:58
    @SethTisue banned @fakubishes:nerdsin.space
  • Dec 15 2021 05:01
    som-snytt commented #12516
  • Dec 15 2021 04:38
    SethTisue edited #1312
  • Dec 15 2021 04:38
    SethTisue opened #2273
  • Dec 15 2021 04:31
    jackkoenig opened #12516
  • Dec 15 2021 04:29
    SethTisue edited #1312
  • Dec 15 2021 04:28
    SethTisue edited #1312
  • Dec 15 2021 04:27
    SethTisue labeled #9831
  • Dec 15 2021 04:27
    scala-jenkins milestoned #9831
  • Dec 15 2021 04:27
    SethTisue labeled #9831
  • Dec 15 2021 04:27
    SethTisue opened #9831
  • Dec 15 2021 03:35
    som-snytt commented #11339
  • Dec 15 2021 03:27
    som-snytt labeled #12494
Rob Norris
@tpolecat
Hey C# has LINQ.
Peter Aaser
@PeterAaser
yeah, true
Otto Chrons
@ochrons
F# as middleground? :)
Peter Aaser
@PeterAaser
now I know what the hascalator crowd feel and why they can't seem to shut up...
wow gitter ate my message
I read functional programming in C#
wait there it came
what the fuck
Otto Chrons
@ochrons
gitter is eventually consistent
Peter Aaser
@PeterAaser
anyways, I did indeed write FP in C# (same concept as red book) and it made me want to scream into the void
Rob Norris
@tpolecat
it's eventually quiescent, i think that's the most we can say
Peter Aaser
@PeterAaser
I was stuck writing C# for a server, and I gotta say, OOP design is really hard to get right
Safe to say I never got it right
Rob Norris
@tpolecat
Yeah it's very hard.
Peter Aaser
@PeterAaser
I tried to write it in a sort of hybrid style
ended up with a platypus
but a platypus not fit for life
Josh
@joshlemer
y'all ever heard of the whole square vs rectangle OOP problem
Peter Aaser
@PeterAaser
In some way or another I'm sure
I want to try smalltalk
it's basically the "true communism" of OOP according to the fans
Rob Norris
@tpolecat
Did you see deech's Lambda World talk? It's really good.
Peter Aaser
@PeterAaser
the one place it worked out
Is it recent? what is it about?
Peter Aaser
@PeterAaser
oh, pretty topical
have you ever written smalltalk?
Rob Norris
@tpolecat
No.
The talk is about the tooling gap, which is vast.
Peter Aaser
@PeterAaser
Oh wait I've actually seen this video
yeah it's very interesting
tooling is so important
Ichoran
@Ichoran
I don't think OOP is hard to get right if you only use it for the problems that are shaped like OOP.
Peter Aaser
@PeterAaser
true
Ichoran
@Ichoran
I guess it doesn't help that OOP's sweet spot is really small compared to what it was billed as (solution to everything)
Rob Norris
@tpolecat
Agree, as long as we can disagree about how big the spot it.
Ichoran
@Ichoran
I suspect you think that the spot is the empty set, or perhaps the definition of OOP data structures. ("OOP data structures are a great way to model OOP data structures!")
Peter Aaser
@PeterAaser
I think we can all agree on disagreeing
Ichoran
@Ichoran
Anyway, I find OOP great for trees of ever-increasing but not-substantially-changing functionality, and/or elaboration of a basic operation with specialization on different types of data.
I find it lousy for plugging in new functionality, not earlier conceived, to relevant parts of an existing design.
Rewiring an entire inter-method dependency graph in a subclass is entirely possible, and terrifying. I can't even get that right the first time I write it, much less when maintaining it.
Marcin Sokrates
@marcinsokrates_twitter
I can't get over how akka-http is so extensible... they had to write a whole separate event loop for unix sockets to support them
Josh
@joshlemer
I find it confusing when doing things like, subclass calls super.foo() which calls this.bar() which is itself overridden in the subclass, that gets confusing
Ichoran
@Ichoran
Yeah, but that's how it's supposed to work. As long as you don't rewire your dependency graph, it's cool.
Basically you need strict LSP but also every dependency of method a on b has to be treated as part of the interface. Then things might "get confusing", but they generally work.
The whole point is that in the superclass, whether it's calling its own bar or the subclass bar is irrelevant insofar as the superclass can observe.
It is, admittedly, a little too easy to muck it up and make it matter.
But hey, it's easy to muck up recursion and make it infinite, and we still use recursion :)
What is confusing is when foo depends on bar in the superclass, but in the subclass bar depends on foo. Then in a subsubclass, who do you override to get the right behavior?
Peter Aaser
@PeterAaser
fuck if I know, I havent even called .super in 5 years or so