RT @garybernhardt
1960s: "COBOL will let non-programmers make the software!"
1980s: "4GLs will let non-programmers make the software!"
2000s: "UML will let non-programmers make the software!"
2020s: "AI will let non-programmers make the software!"
RT @garybernhardt
1960s: "COBOL will let non-programmers make the software!"
1980s: "4GLs will let non-programmers make the software!"
2000s: "UML will let non-programmers make the software!"
2020s: "AI will let non-programmers make the software!"
Attached: 1 image Friendly reminder: It's easy to forget there are many more people in the world that write code and are *not developers* than there are professional software developers. Scientists, journalists, lawyers, activists, med. doctors, writers, educators, artists, designers, and many others, can create computer programs! This paper from 2012 shows an 2005 estimate (for 2012) that there are almost 4x more people programming ("end user programmers") than professional programmers https://dl.acm.org/doi/10.1145/2212776.2212421 #EndUserProgramming #NotADeveloper
@hrefna @gasproni @garybernhardt
Cough.
Coding != Designing
That's like comparing the work of a builder with the work of an architect.
Side note: experience shows, that you still cannot get everyone to code, it requires a certain minimum of abstract thinking capabilities.
Just as being able to create a nice colourful graph with Excel does not make you a data scientist.
@aizuchi @gasproni @garybernhardt Literally my career: picking up the pieces when non-programmers tried to code in a specific 4GL I won't mention here.
Sometimes they swore that they were, in fact, programmers. "it's easy! It's just like COBOL!". (It isn't, and in this case, it isn't.)
@fishidwardrobe @aizuchi @gasproni @garybernhardt most terrifying thing I ever saw was the code generator they gave my father to input specs and create COBOL in the late 80s. He was an old , electro-mechanical POTS exchange guy.
Yes it produced code, but the code was unreadable, slow and frequently wrong
@heinragas @gasproni @garybernhardt Yes, it was Cool:Gen. I remember applying there for a job ages ago, and the job description mentioned Cool:Gen, but at the actual interview they asked me "are you prepared to learn Cobol? Because that's what we're going to train you in."
I wasn't.
And I guess they're still transitioning.
@halla When I started at Cap Gemini in 1998, every starter got a course in Cobol. Everybody was still in the throes of Y2k, and I heard tales of people getting reams of Cobol code on their desk, and a marker to mark everything that looked like a date. Someone who knew their stuff would then take a look to see if anything had to be done...
I wonder how much untenable legacy we are making today. Can't be nothing.
Consider the year 2038 problem:
https://en.wikipedia.org/wiki/Year_2038_problem
@gasproni @garybernhardt Nobody said that about UML. There was a fad for generating program structure from UML tools, and vice versa, in the 90s (I wrote such a tool), but that was always a programmer's shortcut, never a replacement for programmers. And it turned out to not actually be a shortcut, which is why "round trip engineering" and "model driven architecture" are not a thing anymore.
@gasproni @garybernhardt The cognitive dissonance from thinking being a trade really messes with people, and they're determined to fix it by any means that doesn't involve updating their priors.
(People should experience trades more in youth.)
@gasproni I wasnât alive for the COBOL hype. I finished college in time for the UML hype. I do remember that.
Honestly, nobody Iâve met in the industry really believes that AI will be much more than an advanced auto correct once all this has played out.
@gasproni @garybernhardt I think one major misconception here is that people assume typing in code is the real challenge in programming. However, the real issue is to come up with a model of the solution for a vaguely specified process or feature.
However, AI might be helpful in creating the code faster after the real work has been done.
you'd think, over the course of 60yrs, if non- programmers wanted to make the software, they'd have just learned programming.
@gasproni @garybernhardt
I had that conversation in 1985, with the sharpest guy in my CompSci degree, told me solemnly we had to get into analysis work, that coding would be killed by 4GLs in a few years.
Later, I did learn SQL and used it heavily to avoid procedural coding, if that counts - and indeed, *basic* SQL was teachable to draftsmen, and engineers-who-hated-programming courses.
But big, long SQL statements with multiple tables and filters and subordinate SELECTs, nope. Programming.
What DID avoid tons of coding was spreadsheets. Arguably, they ARE "functional programming", where tasks that would absolutely need hundreds of lines of code could be replaced by functions, sorts, "lookup" functions, etc - that did simple database stuff.
It isn't that these things didn't work, they did. They just weren't enough - every programmer knows "Feature creep": the customer always wants more.
They always wanted more than a no-code tool could give.
@gasproni @garybernhardt
When a fellow engineer asks what she should learn to be able to do something useful with programming, I don't recommend JavaScript or Python, which need "programming environments" to work in.
I recommend (gag) Visual Basic for Excel. They already live in Excel, and being able to supercharge its functional programming with even LITTLE procedural macros, a few dozens of lines long, can make a huge difference to its power, avoid having to go to a Real Programmer.
@gasproni @cstross @garybernhardt So I admit to being a cranky old Mac guy, but I genuinely think Hypercard was probably the single most successful product ever at letting ânon-programmers make the software.â
We had this Mac lab in school. And even though they were a few years old at the time, we had a whole room full of Macintosh SEs. Iâd been using the Apple II Cs before that and these just felt like Isaac Asimov himself dropped them off just for me to play with. Only thing: no BASIC interpreter. But in the Apple menu, tucked away in the corner was a little application called HyperCard. HyperCard wasnât left by Asimov, but instead burst from the mind of Bill Atkinson. Atkinson was the 51st employee at Apple and a former student of Jeff Raskin, the initial inventor of the Mac before Steve Jobs took over. Steve Jobs convinced him to join Apple where he started with the Lisa and then joined the Mac team until he left with the team who created General Magic and helped bring shape to the world of mobile devices. But while at Apple he was on the original Mac team developing the menu bar, the double-click, Atkinson dithering, MacPaint, QuickDraw, and HyperCard. Those were all amazing tools and many came out of his work on the original 1984 Mac and the Lisa days before that. But HyperCard was something entirely different. It was a glimpse into the future, even if self-contained on a given computer. See, there had been this idea floating around for awhile. Vannevar Bush initially introduced the world to a device with all the worldâs information available in his article âAs We May Thinkâ in 1946. Doug Engelbart had a team of researchers working on the oN-Line System that saw him give âThe Mother of All Demos in 1968â where he showed how that might look, complete with a graphical interface and hypertext, including linked content. Ted Nelson introduced furthered the ideas in 1969 of having linked content, which evolved into what we now call hyperlinks. Although Nelson thought ahead to include the idea of what he called transclusions, or the snippets of text displayed on the screen from their live, original source. HyperCard built on that wealth of information with a database that had a graphical front-end that allowed inserting media and a programming language they called HyperTalk. Databases were nothing new. But a simple form creator that supported graphics and again stressed simple, was new. Something else that was brewing was this idea of software economics. Brooksâ Law laid it out but Barry Boehmâs book on Software Engineering Economics took the idea of rapid application development another step forward in 1981. People wanted to build smaller programs faster. And so many people wanted to build tools that we needed to make it easier to do so in order for computers to make us more productive. Against that backdrop, Atkinson took some acid and came up with the idea for a tool he initially called WildCard. Dan Winkler signed onto the project to help build the programming language, HyperTalk, and they got to work in 1986. They changed the name of the program to HyperCard and released it in 1987 at MacWorld. Regular old people could create programs without knowing how to write code. There were a number of User Interface (UI) components that could easily be dropped on the screen, and true to his experience there was panel of elements like boxes, erasers, and text, just like weâd seen in MacPaint. Suppose you wanted a button, just pick it up from the menu and drop it where it goes. Then make a little script using the HyperText that read more like the English language than a programming language like LISP. Each stack might be synonymous with a web page today. And a card was a building block of those stacks. Consider the desktop metaphor extended to a rolodex of cards. Those cards can be stacked up. There were template cards and if the background on a template changed, that flowed to each card that used the template, like styles in Keynote might today. The cards could have text fields, video, images, buttons, or anything else an author could think of. And the author word is important. Apple wanted everyone to feel like they could author a hypercard stack or program or application or⌠app. Just as they do with Swift Playgrounds today. That never left the DNA. We can see that ease of use in how scripting is done in HyperTalk. Not only the word scripting rather than programming, but how HyperTalk is weakly typed. This is to say thereâs no memory safety or type safety, so a variable might be used as an integer or boolean. That either involves more work by the interpreter or compiler - or programs tend to crash a lot. Put the work on the programmers who build programming tools rather than the authors of HyperCard stacks. The ease of use and visual design made Hypercard popular instantly. It was the first of its kind. It didnât compile at first, although larger stacks got slow because HyperTalk was interpreted, so the team added a just-in-time compiler in 1989 with HyperCard 2.0. They also added a debugger. There were some funny behaviors. Like some cards could have objects that other cards in a stack didnât have. This led to many a migration woe for larger stacks that moved into modern tools. One that could almost be considered HyperCard 3, was FileMaker. Apple spun their software business out as Claris, who bought Noshuba software, which had this interesting little database program called Nutshell. That became FileMaker in 1985. By the time HyperCard was ready to become 3.0, FileMaker Pro was launched in 1990. Attempts to make Hypercard 3.0 were still made, but Hypercard had its run by the mid-1990s and died a nice quiet death. The web was here and starting to spread. The concept of a bunch of stacks on just one computer had run its course. Now we wanted pages that anyone could access. HyperCard could have become that but that isnât its place in history. It was a stepping stone and yet a milestone and a legacy that lives on. Because it was a small tool in a large company. Atkinson and some of the other team that built the original Mac were off to General Magic. Yet there was still this idea, this legacy. Hypercardâs interface inspired many modern applications we use to create applications. The first was probably Delphi, from Borland. But over time Visual Studio (which we still use today) for Microsoftâs Visual Basic. Even Powerpoint has some similarities with HyperCardâs interface. WinPlus was similar to Hypercard as well. Even today, several applications and tools use HyperCardâs ideas such as HyperNext, HyperStudio, SuperCard, and LiveCode. HyperCard also certainly inspired FileMaker and every Apple development environment since - and through that, most every tool we use to build software, which we call the IDE, or Integrated Development Environment. The most important IDE for any Apple developer is Xcode. Open Xcode to build an app and look at Interface Builder and you can almost feel Bill Atkinsonâs pupils dilated pupils looking back at you, 10 hours into a trip. And within those pupils visions - visions of graphical elements being dropped into a card and people digitized CD collections, built a repository for their book collection, put all the Grateful Dead shows theyâd recorded into a stack, or even built an application to automate their business. Oh and letâs not forget the Zine, or music and scene magazines that were so popular in the era that saw photocopying come down in price. HyperCard made for a pretty sweet Zine. HyperCard sprang from a trip when the graphical interface was still just coming into its own. Digital computing might have been 40 years old but the information theorists and engineers hadnât been as interested in making things easy to use. They wouldnât have been against it, but they werenât trying to appeal to regular humans. Apple was, and still is. The success of HyperCard seems to have taken everyone by surprise. Apple sold the last copy in 2004, but the legacy lives on. Successful products help to mass- Its success made a huge impact at that time as well on the upcoming technology. Its popularity declined in the mid-1990s and it died quietly when Apple sold its last copy in 2004. But it surely left a legacy that has inspired many - especially old-school Apple programmers, in todayâs âthereâs an app for thatâ world.
@wubfur @gasproni @garybernhardt I agree. Unfortunately Hypercard missed the boat when networked hypertext came along (it badly needed a URL schema and handler). LiveCode is still out there and was open source for a while, but has gone subscriptionware as a cross-platform development system. It's a pale shadow of the former ecosystem.
@wubfur @gasproni @cstross @garybernhardt easily one of the least controversial statements I've ever read
Innumerable gamedevs and creative coders got their start on Hyparcard
@shi @gasproni @cstross @garybernhardt > Innumerable gamedevs and creative coders got their start on Hyparcard
At which point they ceased to be non-programmers.