Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Oct 18 19:35
    @SethTisue banned @lunaterra22
  • Sep 14 18:08
    @SethTisue banned @discjock:matrix.org
  • Sep 12 20:37
    @SethTisue banned @manuelzamoratetherbtcusa:matrix.org
  • Sep 06 14:29
    @SethTisue banned @white_hat_hacker:minds.com
  • Sep 06 14:29
    @SethTisue banned @alexchole:matrix.org
  • Aug 31 17:03
    @SethTisue banned @andersonwatts7:matrix.org
  • Jul 19 20:37
    @SethTisue banned @tonyobanon
  • Jan 02 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
trepidacious
@trepidacious
@SystemFw How do they handle it?
Jose C
@jmcardon
@Richtype games are not made in FP languages
or at least not many
Fabio Labella
@SystemFw
@trepidacious Purescript has first class records with . syntax. SML has records and modules. Frege looks like haskell but the data constructors are scoped
Rich
@Rich2
No but as there oodles of money to be made in games and fp makes things so easy why not?
Fabio Labella
@SystemFw
Garbage collection, for once
same reason why not a lot of games are written in Java either
(plus other reasons, but this one is a big one)
trepidacious
@trepidacious
@SystemFw There's minecraft
Martijn Hoekstra
@martijnhoekstra
many games also do horrible unspeakable things intertwining game logic with display and network stuff, due to the real time requirements. If you accept doing that, you lose most (all?) advantages of FP anyway.
Fabio Labella
@SystemFw
yeah, not a lotnone
trepidacious
@trepidacious
Maybe it will be like GC - as compiler/vm support gets better the performance will be acceptable, then about 10 years later people will start admitting that fact and using FP for games :)
Rich
@Rich2
Well my request would be until such time as FPers start delivering a full range of games could they stop trying to abolish imperative programming.
trepidacious
@trepidacious
You just need to wait for enough people with a misconception to retire or get promoted :)
Martijn Hoekstra
@martijnhoekstra
I'm not sure anyone is trying to abolish imperative programming in computer games
I think nobody is
Fabio Labella
@SystemFw
@Richtype would you say the same of Java-ists trying to abolish manual memory management?
Jose C
@jmcardon
My request would be until people writing garbage collected languages can deliver real time operating systems, they could stop trying to abolish manual memory management
Rich
@Rich2
I'm no fan of Java and I think Scala Native has the long term potential to replace C++. I like the imperative / functional choice in Scala.
Jose C
@jmcardon
My request would be until people writing high level languages can write an efficient XSalsa20 implementation, they could stop trying to abolish inline assembly
(repeat ad infinitum)
Fabio Labella
@SystemFw
Scala Native is still garbage collected
trepidacious
@trepidacious
@jmcardon Good real-time operating systems are a very specialised area, I mean I love GC, Scala, I would dearly love to write everything in them, but you more or less have to use C or something based on the same kind of model to get down to us-scale latency
Jose C
@jmcardon
so are games
games are a very specialized area as well
Eric K Richardson
@ekrich
@jmcardon I think that is true. Realtime Java had the ability to manage memory and of course Scala Native does.
Fabio Labella
@SystemFw
games are soft-realtime systems
Rich
@Rich2
@jmcardon No problem with that.
trepidacious
@trepidacious
@jmcardon Good enough latency for games is in ms, it's say 2-3 orders of magnitude less stringent
Stefan Zeiger
@szeiger
There's always Rust for the cases where you can't afford a gc
Jose C
@jmcardon
@ekrich I don't mean those things :P
I'm just trying to show where the rabbit hole leads.
These are opinions we have about the types of software we build.
Fabio Labella
@SystemFw
@trepidacious it's not necessarily about the order of magnitude. It's about predictability, that's what real time means. Garbage collection stands in the way of that, generally speaking
Doesn't mean we have to put up with it when we don't need to
trepidacious
@trepidacious
@jmcardon Also hard-realtime can involve demonstrating no interruptions of say > 50us, whereas in games it's probably fine to have an occasional lag of many ms, nothing will melt/explode :)
Fabio Labella
@SystemFw
same for imperative programming basically :P
Martijn Hoekstra
@martijnhoekstra
I think the strawman here is that nobody is trying to abolish imperative programming techniques in video games
Eric K Richardson
@ekrich
I think that GC is super nice but a system that supports both is not as safe but gives you options.
Rich
@Rich2
It should be noted no one creates games in C++. Its C++ plus one or more scripting langages, and possibly a load of XML.
Jose C
@jmcardon
I think optional GC support would be rad
@Richtype league of legends would like to have a word with you, as well as no man's sky
though lol isn't C++ only, it's also a bunch of lua
Eric K Richardson
@ekrich
Scala Native supports GC none option which may be good for some things like short running scripts.
trepidacious
@trepidacious
@SystemFw Yes that's true, I was just meaning that GC is much less of an obstacle for games that for many uses of hard real time systems because of the timescales. You could definitely have a hard real-time system with a guaranteed latency of < 100ms, but I'm not sure it would have many use cases.
Ah I am now definitely seeing the gitter problems :(
Eric K Richardson
@ekrich
The hard part with real time is certification. You have to have certification for any critical system and that tends to be done to the board/cpu level.
Rich
@Rich2
You see this is why I don't buy the performance excuse from FPs on games. I think FP is very well suited to the high scale applications of the web, but that doesn't mean its the best fit for everything. A language /ecosystem should scale down as well as up. We don't need an effect Monad to write Hello world. There are many tasks that the private individual /small bushiness person performs where imperative reasoning is fine.
Jose C
@jmcardon
yeah but when did any of us here claim FP is the hammer for all nails?
might sound like it but remember this is a Scala room and most people here are writing scala applications