Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Cyborg)
  • No Skin
Collapse
Brand Logo

CIRCLE WITH A DOT

  1. Home
  2. Uncategorized
  3. I wouldn’t say this myself without a whole lot of asterisks, but…there is something to this line of critique for sure.

I wouldn’t say this myself without a whole lot of asterisks, but…there is something to this line of critique for sure.

Scheduled Pinned Locked Moved Uncategorized
90 Posts 29 Posters 306 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • miss_rodent@girlcock.clubM miss_rodent@girlcock.club

    @inthehands Ah, fair, missed it because I was typing this (and re-finding the link).

    inthehands@hachyderm.ioI This user is from outside of this forum
    inthehands@hachyderm.ioI This user is from outside of this forum
    inthehands@hachyderm.io
    wrote last edited by
    #18

    @miss_rodent Oh, clear race condition — and I think you won the race! Just great minds etc.

    1 Reply Last reply
    0
    • inthehands@hachyderm.ioI inthehands@hachyderm.io

      There’s a second wrinkle to the OP’s critique beyond “abstractions should be better.”

      The fundamental thing that makes programming hard is bridging the gap between ambiguous natural language and an unambiguous programming language. That’s hard.

      That’s hard partly because the things that make a language unambiguous make such a language deeply unintuitive to humans, no matter how much it resembles English. BUT…

      …the other reason it’s hard is that it forces you to decide •exactly• what you want.

      inthehands@hachyderm.ioI This user is from outside of this forum
      inthehands@hachyderm.ioI This user is from outside of this forum
      inthehands@hachyderm.io
      wrote last edited by
      #19

      To some extent, that’s the job of abstractions:

      Maybe I don’t want to have to decide exactly what a button should look like, so I use the OS’s provided Button widget.

      Maybe I don’t want to have to decide exactly how integer addition should work, so I use the language’s integer type.

      In both cases, part of what the abstraction provides is “just do this thing the standard way.” But…

      inthehands@hachyderm.ioI 1 Reply Last reply
      0
      • fishidwardrobe@social.tchncs.deF fishidwardrobe@social.tchncs.de

        @inthehands speaking as someone who has spent his career in this particular cul-de-sac, the problem with english-like syntax is not that you can't write a good program in it; the problem is the very premise that you don't have to be a programmer to write a program.

        i've had a long and moderately profitable career undoing the problems caused by such people.

        i'm not sure this entirely puts LLMs in the same category. in some ways yes; in some ways no.

        some of the folks vibe coding are programmers.

        chrisamaphone@hci.socialC This user is from outside of this forum
        chrisamaphone@hci.socialC This user is from outside of this forum
        chrisamaphone@hci.social
        wrote last edited by
        #20

        @fishidwardrobe @inthehands "the problem is the very premise that you don't have to be a programmer to write a program." -- well put. i have been known to rant about the concept of "tools for non-programmers" (to do the kinds of things done with programming), as in, what is a non-programmer? and don't they cease to be one once they successfully use such a tool, by definition?

        inthehands@hachyderm.ioI fishidwardrobe@social.tchncs.deF 2 Replies Last reply
        0
        • inthehands@hachyderm.ioI inthehands@hachyderm.io

          There’s a second wrinkle to the OP’s critique beyond “abstractions should be better.”

          The fundamental thing that makes programming hard is bridging the gap between ambiguous natural language and an unambiguous programming language. That’s hard.

          That’s hard partly because the things that make a language unambiguous make such a language deeply unintuitive to humans, no matter how much it resembles English. BUT…

          …the other reason it’s hard is that it forces you to decide •exactly• what you want.

          eniatitova@sfba.socialE This user is from outside of this forum
          eniatitova@sfba.socialE This user is from outside of this forum
          eniatitova@sfba.social
          wrote last edited by
          #21

          @inthehands I’m saving this thread to explain why legalese is different from ambiguous language. And the same people who keep insisting that AI can do legal work unassisted are missing this very same point.

          inthehands@hachyderm.ioI 1 Reply Last reply
          0
          • inthehands@hachyderm.ioI inthehands@hachyderm.io

            To some extent, that’s the job of abstractions:

            Maybe I don’t want to have to decide exactly what a button should look like, so I use the OS’s provided Button widget.

            Maybe I don’t want to have to decide exactly how integer addition should work, so I use the language’s integer type.

            In both cases, part of what the abstraction provides is “just do this thing the standard way.” But…

            inthehands@hachyderm.ioI This user is from outside of this forum
            inthehands@hachyderm.ioI This user is from outside of this forum
            inthehands@hachyderm.io
            wrote last edited by
            #22

            …sometimes there’s •not• a clear standard way. Sometimes you need flexibility. For example, a lot of what makes UI programming hard is layout: you have to make your own very specific application look good on a variety of devices and screens, which means coming up with an •algorithm• for adjusting your design for all those different contexts.

            That’s an intrinsically hard problem that requires design chops and nuance and contextual knowledge. Attempts to abstract the decisions out of that problem have been stubbornly unsuccessful. (How many layout engines are out there now?)

            inthehands@hachyderm.ioI pauldavisthefirst@fosstodon.orgP angst_ridden@turtleisland.socialA 3 Replies Last reply
            0
            • inthehands@hachyderm.ioI inthehands@hachyderm.io

              There’s a second wrinkle to the OP’s critique beyond “abstractions should be better.”

              The fundamental thing that makes programming hard is bridging the gap between ambiguous natural language and an unambiguous programming language. That’s hard.

              That’s hard partly because the things that make a language unambiguous make such a language deeply unintuitive to humans, no matter how much it resembles English. BUT…

              …the other reason it’s hard is that it forces you to decide •exactly• what you want.

              ianbicking@hachyderm.ioI This user is from outside of this forum
              ianbicking@hachyderm.ioI This user is from outside of this forum
              ianbicking@hachyderm.io
              wrote last edited by
              #23

              @inthehands personally I’m baffled by the idea that we haven’t made programming easier because we haven’t tried hard enough.

              There are SO many people out there trying to make stuff simpler. Like… all of them. It’s one of the most universal motivations I can come up with among software developers. It’s just fucking hard!

              andres4ny@social.ridetrans.itA S inthehands@hachyderm.ioI 3 Replies Last reply
              0
              • inthehands@hachyderm.ioI inthehands@hachyderm.io

                …sometimes there’s •not• a clear standard way. Sometimes you need flexibility. For example, a lot of what makes UI programming hard is layout: you have to make your own very specific application look good on a variety of devices and screens, which means coming up with an •algorithm• for adjusting your design for all those different contexts.

                That’s an intrinsically hard problem that requires design chops and nuance and contextual knowledge. Attempts to abstract the decisions out of that problem have been stubbornly unsuccessful. (How many layout engines are out there now?)

                inthehands@hachyderm.ioI This user is from outside of this forum
                inthehands@hachyderm.ioI This user is from outside of this forum
                inthehands@hachyderm.io
                wrote last edited by
                #24

                Vibe coding provides a tantalizing answer in that situation: maybe it’s too varied to •abstract•, but not too varied to •plagiarize• and call it good.

                This is something subtly different from abstraction. It’s not “do this in the standard way.” Instead, it’s “just rip off whatever other people are doing right now.”

                A lot of people really want that — and tbh, a lot of them are not wrong to want it. I personally love the craft of programming, but let’s face it, a lot of software out there just needs to look like everything else and be done with it.

                inthehands@hachyderm.ioI tonymottaz@social.lolT 2 Replies Last reply
                0
                • inthehands@hachyderm.ioI inthehands@hachyderm.io

                  Vibe coding provides a tantalizing answer in that situation: maybe it’s too varied to •abstract•, but not too varied to •plagiarize• and call it good.

                  This is something subtly different from abstraction. It’s not “do this in the standard way.” Instead, it’s “just rip off whatever other people are doing right now.”

                  A lot of people really want that — and tbh, a lot of them are not wrong to want it. I personally love the craft of programming, but let’s face it, a lot of software out there just needs to look like everything else and be done with it.

                  inthehands@hachyderm.ioI This user is from outside of this forum
                  inthehands@hachyderm.ioI This user is from outside of this forum
                  inthehands@hachyderm.io
                  wrote last edited by
                  #25

                  There have also been many past attempts to solve this class of “Don’t make me make choices” problem where there’s too many customization points to provide a tidy abstraction, but people just want something standard.

                  Some attempts look like snippet libraries, code generators. Other attempts look like Dreamweaver.

                  They’ve all suffered from problems that vibe coding recapitulates: speedy initial prototyping gives way to maintenance nightmares.

                  inthehands@hachyderm.ioI hrefna@hachyderm.ioH ljrk@todon.euL 3 Replies Last reply
                  0
                  • inthehands@hachyderm.ioI inthehands@hachyderm.io

                    …sometimes there’s •not• a clear standard way. Sometimes you need flexibility. For example, a lot of what makes UI programming hard is layout: you have to make your own very specific application look good on a variety of devices and screens, which means coming up with an •algorithm• for adjusting your design for all those different contexts.

                    That’s an intrinsically hard problem that requires design chops and nuance and contextual knowledge. Attempts to abstract the decisions out of that problem have been stubbornly unsuccessful. (How many layout engines are out there now?)

                    pauldavisthefirst@fosstodon.orgP This user is from outside of this forum
                    pauldavisthefirst@fosstodon.orgP This user is from outside of this forum
                    pauldavisthefirst@fosstodon.org
                    wrote last edited by
                    #26

                    @inthehands " what makes UI programming hard is layout: you have to make your own very specific application look good on a variety of devices and screens"

                    UI programming was hard before we got mobile devices. This is not why UI programming is hard (though agreed, it makes it harder if desktop+mobile is in your design remit).

                    inthehands@hachyderm.ioI 1 Reply Last reply
                    0
                    • inthehands@hachyderm.ioI inthehands@hachyderm.io

                      There have also been many past attempts to solve this class of “Don’t make me make choices” problem where there’s too many customization points to provide a tidy abstraction, but people just want something standard.

                      Some attempts look like snippet libraries, code generators. Other attempts look like Dreamweaver.

                      They’ve all suffered from problems that vibe coding recapitulates: speedy initial prototyping gives way to maintenance nightmares.

                      inthehands@hachyderm.ioI This user is from outside of this forum
                      inthehands@hachyderm.ioI This user is from outside of this forum
                      inthehands@hachyderm.io
                      wrote last edited by
                      #27

                      Still, per the OP’s point, we should learn from what it is about vibe coding that really appeals to people.

                      The OP makes the case that we should find better abstractions and better idioms to fight boilerplate. Yes. And that we should look to things like Hypercard that reward inexperienced experimentation and exploration. Very very yes.

                      The latter part of my thread argues that we should •also• search for better solutions to the “Don’t make me decide! Just do something typical!” problem. I don’t know what that looks like, but we should take that problem more seriously.

                      miss_rodent@girlcock.clubM grwster@mastodon.socialG theorangetheme@en.osm.townT jmaxsfu@hcommons.socialJ pauldavisthefirst@fosstodon.orgP 10 Replies Last reply
                      1
                      0
                      • pauldavisthefirst@fosstodon.orgP pauldavisthefirst@fosstodon.org

                        @inthehands " what makes UI programming hard is layout: you have to make your own very specific application look good on a variety of devices and screens"

                        UI programming was hard before we got mobile devices. This is not why UI programming is hard (though agreed, it makes it harder if desktop+mobile is in your design remit).

                        inthehands@hachyderm.ioI This user is from outside of this forum
                        inthehands@hachyderm.ioI This user is from outside of this forum
                        inthehands@hachyderm.io
                        wrote last edited by
                        #28

                        @PaulDavisTheFirst
                        You’ve trimming “a lot of” from my sentence, a phrase which was doing a lot of work.

                        (I personally had been doing UI programming for 20-some years before my first experience with mobile device in J2ME, so I do hear you)

                        pauldavisthefirst@fosstodon.orgP 1 Reply Last reply
                        0
                        • theorangetheme@en.osm.townT theorangetheme@en.osm.town

                          @miss_rodent @inthehands To bastardize an alleged Dijkstra quote: "Computer programming is as much about typing as classical music is about piano keys."

                          miss_rodent@girlcock.clubM This user is from outside of this forum
                          miss_rodent@girlcock.clubM This user is from outside of this forum
                          miss_rodent@girlcock.club
                          wrote last edited by
                          #29

                          @theorangetheme @inthehands Hm, not sure what that quote is from? Wouldn't be surprised if it's Dijkstra, he wrote -a lot-, and had a bunch of interviews, speeches and presentations, etc., I've read... quite a lot of it, but, not all of it, and definitely don't remember everything from it, lol.

                          ( https://www.cs.utexas.edu/~EWD/welcome.html has an archive )

                          theorangetheme@en.osm.townT 1 Reply Last reply
                          0
                          • inthehands@hachyderm.ioI inthehands@hachyderm.io

                            Still, per the OP’s point, we should learn from what it is about vibe coding that really appeals to people.

                            The OP makes the case that we should find better abstractions and better idioms to fight boilerplate. Yes. And that we should look to things like Hypercard that reward inexperienced experimentation and exploration. Very very yes.

                            The latter part of my thread argues that we should •also• search for better solutions to the “Don’t make me decide! Just do something typical!” problem. I don’t know what that looks like, but we should take that problem more seriously.

                            miss_rodent@girlcock.clubM This user is from outside of this forum
                            miss_rodent@girlcock.clubM This user is from outside of this forum
                            miss_rodent@girlcock.club
                            wrote last edited by
                            #30

                            @inthehands I don't know that there can be a solution to that problem, that doesn't introduce new problems.
                            If you're writing code - the decisions you make about what to use and how *is* the task. Not the typing-it-out part.
                            In the same way that a writer's job is not to type/write, but to make decisions about what to write, and how to write it, etc.
                            The typing it out part is just getting the decision you should already have made out of your head and into the world.

                            miss_rodent@girlcock.clubM mastodonmigration@mastodon.onlineM 2 Replies Last reply
                            0
                            • inthehands@hachyderm.ioI inthehands@hachyderm.io

                              Still, per the OP’s point, we should learn from what it is about vibe coding that really appeals to people.

                              The OP makes the case that we should find better abstractions and better idioms to fight boilerplate. Yes. And that we should look to things like Hypercard that reward inexperienced experimentation and exploration. Very very yes.

                              The latter part of my thread argues that we should •also• search for better solutions to the “Don’t make me decide! Just do something typical!” problem. I don’t know what that looks like, but we should take that problem more seriously.

                              grwster@mastodon.socialG This user is from outside of this forum
                              grwster@mastodon.socialG This user is from outside of this forum
                              grwster@mastodon.social
                              wrote last edited by
                              #31

                              @inthehands In my career I went from tools/toolkits with slow release cycles and good documentation to continuous release cycles with little to no documentation. Towards the end of that progression, stackoverflow became an essential resource for cut-and-paste solutions to common problems. 1/2

                              grwster@mastodon.socialG 1 Reply Last reply
                              0
                              • inthehands@hachyderm.ioI inthehands@hachyderm.io

                                …sometimes there’s •not• a clear standard way. Sometimes you need flexibility. For example, a lot of what makes UI programming hard is layout: you have to make your own very specific application look good on a variety of devices and screens, which means coming up with an •algorithm• for adjusting your design for all those different contexts.

                                That’s an intrinsically hard problem that requires design chops and nuance and contextual knowledge. Attempts to abstract the decisions out of that problem have been stubbornly unsuccessful. (How many layout engines are out there now?)

                                angst_ridden@turtleisland.socialA This user is from outside of this forum
                                angst_ridden@turtleisland.socialA This user is from outside of this forum
                                angst_ridden@turtleisland.social
                                wrote last edited by
                                #32

                                @inthehands you’re articulating this in a very clear way. Over the past thirty years, I’ve coded projects in everything from Ada, Java, OCaml, Perl, PHP to Ruby, including using frameworks or libraries or scaffold-generators. I discover over and over again that the next language or framework is *great* for making it easy to solve problems until you get outside of its focus. Then suddenly, all that elegance or hidden complexity becomes handcuffs.

                                1 Reply Last reply
                                0
                                • grwster@mastodon.socialG grwster@mastodon.social

                                  @inthehands In my career I went from tools/toolkits with slow release cycles and good documentation to continuous release cycles with little to no documentation. Towards the end of that progression, stackoverflow became an essential resource for cut-and-paste solutions to common problems. 1/2

                                  grwster@mastodon.socialG This user is from outside of this forum
                                  grwster@mastodon.socialG This user is from outside of this forum
                                  grwster@mastodon.social
                                  wrote last edited by
                                  #33

                                  @inthehands I'm out of the game now, thankfully, but I see LLM tools being used by non-vibe coders in that same way, except that it's a firehose of code that's harder to vet. I see the so-called vibe coders differently, operating beyond the limit of what they can really understand and just hoping it works out. 2/2

                                  1 Reply Last reply
                                  0
                                  • miss_rodent@girlcock.clubM miss_rodent@girlcock.club

                                    @theorangetheme @inthehands Hm, not sure what that quote is from? Wouldn't be surprised if it's Dijkstra, he wrote -a lot-, and had a bunch of interviews, speeches and presentations, etc., I've read... quite a lot of it, but, not all of it, and definitely don't remember everything from it, lol.

                                    ( https://www.cs.utexas.edu/~EWD/welcome.html has an archive )

                                    theorangetheme@en.osm.townT This user is from outside of this forum
                                    theorangetheme@en.osm.townT This user is from outside of this forum
                                    theorangetheme@en.osm.town
                                    wrote last edited by
                                    #34

                                    @miss_rodent @inthehands Oh sorry, I bastardized it quite a bit heh. The original one attributed to him is something like "Computer science is as much about computers as astronomy is about telescopes".

                                    miss_rodent@girlcock.clubM 1 Reply Last reply
                                    0
                                    • miss_rodent@girlcock.clubM miss_rodent@girlcock.club

                                      @inthehands I don't know that there can be a solution to that problem, that doesn't introduce new problems.
                                      If you're writing code - the decisions you make about what to use and how *is* the task. Not the typing-it-out part.
                                      In the same way that a writer's job is not to type/write, but to make decisions about what to write, and how to write it, etc.
                                      The typing it out part is just getting the decision you should already have made out of your head and into the world.

                                      miss_rodent@girlcock.clubM This user is from outside of this forum
                                      miss_rodent@girlcock.clubM This user is from outside of this forum
                                      miss_rodent@girlcock.club
                                      wrote last edited by
                                      #35

                                      @inthehands reducing boilerplate makes sense - and things like better libraries, better abstractions, better systems to reuse code other people already wrote so you don't have to reinvent 30 wheels every time you start a new project, etc. can help reduce that.
                                      But - if you're programming, your decisions are the main thing that actually adds value to what you're making, from the larger scale of what language, libraries, etc. to use, down to what decisions you make in implementation details

                                      miss_rodent@girlcock.clubM 1 Reply Last reply
                                      0
                                      • inthehands@hachyderm.ioI inthehands@hachyderm.io

                                        Still, per the OP’s point, we should learn from what it is about vibe coding that really appeals to people.

                                        The OP makes the case that we should find better abstractions and better idioms to fight boilerplate. Yes. And that we should look to things like Hypercard that reward inexperienced experimentation and exploration. Very very yes.

                                        The latter part of my thread argues that we should •also• search for better solutions to the “Don’t make me decide! Just do something typical!” problem. I don’t know what that looks like, but we should take that problem more seriously.

                                        theorangetheme@en.osm.townT This user is from outside of this forum
                                        theorangetheme@en.osm.townT This user is from outside of this forum
                                        theorangetheme@en.osm.town
                                        wrote last edited by
                                        #36

                                        @inthehands I'm just not ready to believe that the AI hype is so big because programming is too hard. I think we definitely do need easier and more creative interfaces to machines, but I don't see the regular people who would be helped by them flocking to AI. If anything, the people most excited seem to be the people who ostensibly already know how to program, or the very online techbros on websites like HN.

                                        theorangetheme@en.osm.townT S 2 Replies Last reply
                                        0
                                        • theorangetheme@en.osm.townT theorangetheme@en.osm.town

                                          @inthehands I'm just not ready to believe that the AI hype is so big because programming is too hard. I think we definitely do need easier and more creative interfaces to machines, but I don't see the regular people who would be helped by them flocking to AI. If anything, the people most excited seem to be the people who ostensibly already know how to program, or the very online techbros on websites like HN.

                                          theorangetheme@en.osm.townT This user is from outside of this forum
                                          theorangetheme@en.osm.townT This user is from outside of this forum
                                          theorangetheme@en.osm.town
                                          wrote last edited by
                                          #37

                                          @inthehands Vibe coding is appealing like pulling the lever on a slot machine is appealing. Everybody wants a magic button that does what they mean. Unfortunately, that doesn't exist, and probably never will. I think there are much greater and more mundane forces at play here.

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups