• mindbleach@sh.itjust.works
    link
    fedilink
    arrow-up
    0
    ·
    15 days ago

    Programming is alien. It’s fundamentally hard to comprehend, because the computer will do exactly what you tell it to, regardless of what you mean. You have to think for the both of you.

    • FizzyOrange@programming.dev
      link
      fedilink
      arrow-up
      0
      ·
      15 days ago

      I’m not sure I agree. I think most people can understand recipes or instruction lists and totally could program, if they wanted to and had to. They just don’t want to and usually don’t have to. They find it boring, tedious and it’s also increasingly inaccessible (e.g. JavaScript tooling is the classic example).

      But I think mainly people just don’t find it interesting. To understand this, think about law. You absolutely have the intellect to be a lawyer (you clever clog), so why aren’t you? For me, it’s mind-numbingly boring. If I was really into law and enjoyed decoding their unnecessarily obtuse language then I totally would be a lawyer. But I don’t.

      • Strykker@programming.dev
        link
        fedilink
        arrow-up
        0
        ·
        15 days ago

        There was a very noticeable drop off in people at my university computer science program after the first programming class. There is an actual wall there for a lot of people in terms of comprehending how programming works, things like assigning a value to a variable where difficult concepts to some.

      • MyNameIsRichard@lemmy.ml
        link
        fedilink
        arrow-up
        0
        ·
        16 days ago

        Vic 20 in a shop:

        10 POKE 808,112 20 print “Boobies” 30 goto 20

        And then you watch the sales assistant walk confidently up to the computer, press the stop button and nothing happens

  • TheV2@programming.dev
    link
    fedilink
    arrow-up
    0
    ·
    15 days ago

    Why should they? Less users are programming anything, but more people have become users of computers in the first place. And we have more users of computers, precisely because the levels of abstraction do not require the ordinary user to program anything. Today’s ordinary user is more “ordinary” than fifty years ago. This development of making a tool or subject more accessible to the layman, by hiding the complexities with abstractions and yet allowing more skilled users to gain advantages by peeling away the abstractions, is present in many different fields throughout the history of mankind.

    If you look closely, it is not really surprising. Not even a problem at all. In fact, if you have the simple understanding that maybe somebody doesn’t want to program, not because they are a stupid idiot or a lazy normie consumer, but because they simply don’t give a shit about it, follow other interests and can contribute to the world with other skills, then the observation that most users are not programming anything, is insanely unproblematic.

  • HobbitFoot @thelemmy.club
    link
    fedilink
    English
    arrow-up
    0
    ·
    16 days ago

    College computer science courses have had to go back to teaching students what computer files and folders are. A lot of computer programs have simplified themselves as ease of use overtook features as a driving factor for use.

    Most people don’t know how to program because they don’t know the basics of computing.

    • FizzyOrange@programming.dev
      link
      fedilink
      arrow-up
      0
      ·
      15 days ago

      Nonsense. There are way more programmers now than there were in the Windows 3.1/9x era when you couldn’t avoid files and folders. Ok more people are exposed to computers in general, but still… Anyone who has the interest to learn isn’t going to be stopped by not knowing what file and folders are.

      It’s like saying people don’t become car mechanics because you don’t have to hand crank your engine any more.

      • HobbitFoot @thelemmy.club
        link
        fedilink
        English
        arrow-up
        0
        ·
        15 days ago

        It’s like saying people don’t become car mechanics because you don’t have to hand crank your engine any more.

        I look at it more as most people don’t need to know how to do basic car maintenance because cars and the systems surrounding cars are designed to where you don’t need to know how to do basic car maintenance to drive a car.

        People can learn to program, but the vast majority don’t have to know the basics of how a computer works to use one. Because of that, the vast majority of users aren’t going to have the drive to learn to program.

        • FizzyOrange@programming.dev
          link
          fedilink
          arrow-up
          0
          ·
          15 days ago

          Right but it isn’t “the basics of how a computer works” that drives people to learn programming is it?

          Nobody says “aha, now that I know what Giles and folders are I will become a programmer”.

          People become programmers for other reasons:

          • They want to make something (e.g. a game).
          • They are naturally interested in computers.
          • Money.
          • HobbitFoot @thelemmy.club
            link
            fedilink
            English
            arrow-up
            0
            ·
            15 days ago

            No, but you need to know the basics of how a computer works to program. And if you are interested in computers, you are going to learn how they work.

  • Buelldozer@lemmy.today
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    15 days ago

    I dunno about this; IME even when it was highly approachable most people didn’t do it. I was around back then, got my first Commodore in '84, and even the Geek / Nerd circles were mostly just for people swapping copies of commercial software. It wasn’t any better when I graduated High School in '91 and even in College almost no one outside of STEM was doing any programming.

    It wasn’t and still isn’t a popular activity.

  • drspod@lemmy.ml
    link
    fedilink
    arrow-up
    0
    ·
    16 days ago

    50 years after BASIC and nothing is written in BASIC.

    To replicate its success from the 80s we would need a language that is simple enough for everyone to learn but actually performant and powerful enough to write an entire operating system and application stack in. Then perhaps non-programmers would feel more inclined to look under the hood, see how things work, and change their program’s behavior.

    The problem though, is that for any reasonably complex system or application, you need to use structured programming. This is what enabled the levels of abstraction that we use to break down programs into layers that can be understood in pieces, and it is what makes large complex software possible without ending up with a mess of spaghetti.

    However it is these abstractions that turn a software’s code into a Domain Specific Language, and endless APIs that need to be learnt and understood by the programmer.

    For programmers it is normal to us that when we want to work on a new codebase we have to learn the idiosyncrasies of the codebase, and learn its DSL and the APIs that it uses, or exposes. But for a non-programmer, this would essentially feel like learning everything about programming from scratch. They would have to become a programmer and develop maintainer skills just to understand what they want to change. (This is why programmer is still a job).

    Perhaps the real value of BASIC was that without structured programming, every program was just a pile of spaghetti that even a child could pull apart with a fork.

    • qaz@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      16 days ago

      I don’t see how an accessible language should also need to be able to be used for system programming. A simpler python seems like a better option.

      • anomnom@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        0
        ·
        15 days ago

        Scratch is an example of a simple programming language that could be taken pretty far, but it’s often dismissed as a kid’s game.

        Or even things like IFTTT, or Apple’s Automator app (formerly called just AppleScript) that gave vaguely python like tools to less/non-programmers.

        I worked on a programming tool to bring beginners from a block language like scratch up through C or Python, but we couldn’t get enough funding to finish it and google just looked at us and tried to poorly rip it off (made raising funding to compete with them even harder).

    • TrickDacy@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      16 days ago

      Why would a new hypothetical language need to be able to build an OS for everyday people to take interest? I don’t see how that would be the case at all

  • FourPacketsOfPeanuts@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    16 days ago

    In my experience it doesn’t matter how accessible the language becomes, most people find the precision required to make machines behave in a desirable way is exhausting or alien to them.

    This isn’t any kind of failing though. I’ve come to see how organising modern businesses (with processes, regulations, standard etc) is a kind of “programming”. And there are many who are good at that (designing human processes to automate goals) where I completely flounder, even with the help of the ‘right’ training, books, coaching etc

  • tal@lemmy.today
    link
    fedilink
    English
    arrow-up
    0
    ·
    16 days ago

    Today’s users have massive amounts of computer power at their disposal, thanks to sales of billions of desktop and laptop PCs, tablets and smartphones. They’re all programmable. Users should be able to do just enough programming to make them work the way they want. Is that too much to ask?

    Smartphones – and to a lesser degree, tablets – kind of are not a phenomenal programming platform. Yeah, okay, they have the compute power, but most programming environments – and certainly the ones that I’d consider the best ones – are text-based, and in 2025, text entry on a touchscreen still just isn’t as good as with a physical keyboard. I’ll believe that there is room to considerably improve on existing text-entry mechanisms, though I’m skeptical that touchscreen-based text entry is ever going to be at par with keyboard-based text entry.

    You can add a Bluetooth keyboard. And it’s not essential. But it is a real barrier. If I were going to author Android software, I do not believe that I’d do the authoring on an Android device.

    When Dartmouth College launched the Basic language 50 years ago, it enabled ordinary users to write code. Millions did. But we’ve gone backwards since then, and most users now seem unable or unwilling to create so much as a simple macro

    I don’t know about this “going backwards” stuff.

    I can believe that a higher proportion of personal computer users in 1990 could program to at least some degree than could the proportion of, say, users of Web-browser-capable devices today.

    But not everyone in 1990 had a personal computer, and I would venture to say that the group that did probably was not a representative sample of the population. I’d give decent odds that a lower proportion of the population as a whole could program in 1990 than today.

    I do think that you could make an argument that the accessibility of a programming environment somewhat-declined for a while, but I don’t know about it being monotonically.

    It was pretty common, for personal computers around 1980, to ship with some kind of BASIC programming environment. Boot up an Apple II, hit…I forget the key combination, but it’ll drop you straight into a ROM-based BASIC programming environment.

    After that generation, things got somewhat weaker for a time.

    DOS had batch files. I don’t recall whether QBasic was standard with the OS. checks it did for a period with MS-DOS, but was a subset of QuickBasic. I don’t believe that it was still included by later in the Windows era.

    The Mac did not ship with a (free) programming environment.

    I think that that was probably about the low point.

    GNU/Linux was a wild improvement over this situation.

    And widespread Internet availability also helped, as it made it easier to distribute programming environments and tools.

    Today, I think that both MacOS and Windows ship with somewhat-more sophisticated programming tools. I’m out of date on MacOS, but last I looked, it had access to the Unix stuff via brew, and probably has a set of MacOS-specific stuff out there that’s downloadable. Windows ships with Powershell, and the most-basic edition of Visual Studio can be downloaded gratis.

    • TrickDacy@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      16 days ago

      I’m not sure what programming tools you are saying ship with windows, I’m not aware of any. And on Mac, brew is not from apple and must be installed by cli iirc. Xcode is the tool available for their ecosystem and it’s not included with the OS but is a free albeit enormous download

    • Ephera@lemmy.ml
      link
      fedilink
      English
      arrow-up
      0
      ·
      15 days ago

      It also has to be said that mobile operating systems are terrible platforms for getting into programming. The gateway drug for programming is scripting and that’s pretty much impossible there, at least without doing it in some existing automation app, which isn’t going to be a transferable skill.

      Even if you do have a PC to try to develop a full-fledged app, that’s an incredibly daunting endeavor. I could probably code out ten CLIs in a shorter time frame than one simple app.

    • esa@discuss.tchncs.de
      link
      fedilink
      arrow-up
      0
      ·
      16 days ago

      Smartphones – and to a lesser degree, tablets – kind of are not a phenomenal programming platform.

      […]

      But not everyone in 1990 had a personal computer, and I would venture to say that the group that did probably was not a representative sample of the population. I’d give decent odds that a lower proportion of the population as a whole could program in 1990 than today.

      Yeah, and these things influence each other. Today we have a networked computer in our pockets, and depending on where you live, they may or may not be required or the standard way to do tasks like get a bus ticket, login to government websites so you can do your taxes and whatnot, transfer money, and a bunch of other tasks that to a degree are really sensitive.

      So as we have a bunch of barely computer-literate people functionally dependent on these devices, we also need them to be locked down and secure. MS had some grand thoughts about “code everywhere”, which turns out is pretty awful security-wise, especially with gullible networked users. The users in this community have very different capabilities and needs than the users who might not even want a computer, but feel forced to get one because the government stopped using paper and bank and post offices no longer exist. (This is, essentially, what it’s like in modern Norway. We might be ending home delivery of snail mail soon; mail delivery every other weekday seems to be an unnecessary expense.) Beyond the lack of a keyboard, the platform has a bunch of constraints that don’t make for fun computing, but they absolutely need to be there. Unfortunately we also wind up with a split between the common restricted platforms, and the casual, customizable platforms, and not everybody gets to be exposed to the latter.

      There are probably, in absolute numbers, a whole lot more people who know js or Python than people who knew BASIC in the 80s. In addition there are people who are pretty good at spreadsheet programming, and other tasks that are essentially coding, even if they’re not listed as regular programming languages.

      • tal@lemmy.today
        link
        fedilink
        English
        arrow-up
        0
        ·
        16 days ago

        Hypercard was free for a while.

        Yeah, and I wrote some stuff in HyperTalk, but IIRC it turned into some sort of Hypercard-the-authoring-environment and Hypercard-the-player split, with the player being redistributable.

        kagis

        https://en.wikipedia.org/wiki/HyperCard

        At the same time HyperCard 2.0 was being developed, a separate group within Apple developed and in 1991 released HyperCard IIGS, a version of HyperCard for the Apple IIGS system. Aimed mainly at the education market, HyperCard IIGS has roughly the same feature set as the 1.x versions of Macintosh HyperCard, while adding support for the color graphics abilities of the IIGS. Although stacks (HyperCard program documents) are not binary-compatible, a translator program (another HyperCard stack) allows them to be moved from one platform to the other.

        Then, Apple decided that most of its application software packages, including HyperCard, would be the property of a wholly owned subsidiary called Claris. Many of the HyperCard developers chose to stay at Apple rather than move to Claris, causing the development team to be split. Claris attempted to create a business model where HyperCard could also generate revenues. At first the freely-distributed versions of HyperCard shipped with authoring disabled. Early versions of Claris HyperCard contain an Easter Egg: typing “magic” into the message box converts the player into a full HyperCard authoring environment.[15] When this trick became nearly universal, they wrote a new version, HyperCard Player, which Apple distributed with the Macintosh operating system, while Claris sold the full version commercially. Many users were upset that they had to pay to use software that had traditionally been supplied free and which many considered a basic part of the Mac.

        Hmm. Sounds like the interaction was more-complicated than just that.

  • maegul (he/they)@lemmy.ml
    link
    fedilink
    English
    arrow-up
    0
    ·
    16 days ago

    Working with some proprietary no code tools at the moment, and, yea, not letting people just program in a decent language is a mistake.

  • RedstoneValley@sh.itjust.works
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    16 days ago

    I can only think of one example where some simple programming skills could benefit ordinary users: Home Automation. All the more difficult stuff is already neatly packaged into ready to use modules, and the user doesn’t have to worry about the ZigBee protocol or APIs or network ports to turn on a light bulb. Here some knowledge about conditionals, variables, loops can easily be used to program useful automations.