Slashdot Mirror


It's Time To Revive Hypercard

HughPickens.com writes HyperCard, an application program and programming tool released for the Apple Macintosh in 1987, represented the 'computing for the people' philosophy that enabled users to go past the pre-built software that came on their machines, and to program and build software of their own. "Mac users could use Hypercard to build their own mini-programs to balance their taxes, manage sports statistics, make music – all kinds of individualized software that would be useful (or fun) for individual users." Now Jer Thorp writes that the end of HyperCard left a huge gap that desperately needs to be filled – a space for an easy to use, intuitive tool that will once again let average computer users make their own tools. According to Throp, this type of plain-language programming makes sense, particularly in an application that was designed specifically for non-programmers. "I find the largest concern for learners to be not with the conceptual hurdles involved in writing a program, but with obscure and confusing syntax requirements. I would love to be able to teach HyperTalk to my students, as a smooth on-road to more complex languages like JavaScript, Java or C++." By putting the tools of creation into the hands of the broader userbase, we would allow for the creation of ultra-specific personalized apps that, aside from a few exceptions, don't exist today."

HyperTalk wasn't just easy, it was also fairly powerful. Complex object structures could be built to handle complicated tasks, and the base language could be expanded by a variety of available external commands and functions (XCMDs and XFCNs, respectively), which were precursors to the modern plug-in. But ultimately, HyperCard would disappear from Mac computers by the mid-nineties, eclipsed by web browsers and other applications which it had itself inspired. The last copy of HyperCard was sold by Apple in 2004. "One thing that's changed in the intervening decades is that the hobbyist has largely gone by the wayside. Now you're either a user or a full-fledged developer, and the gulf is wider than ever," writes Peter Cohen. "There's really nothing like it today, and I think the Mac is lesser for it."

299 comments

  1. For the rest of us by Gonoff · · Score: 4, Interesting

    The majority of us did not have money to spare for Macs. I have no doubt that they were the best personal computers around. I used them.

    For less expensive computers, there was the BASIC interpreter. Not as WYSIWYG or simple and Beginners need to think when coding, even at that level. It also had the advantage of being close to a standard untill MS teurned it into QBasic then dumped it.

    BASIC is what we need again but standardised and improved a lot.

    --
    I'll see your Constitution and raise you a Queen.
    1. Re:For the rest of us by Anonymous Coward · · Score: 3, Insightful

      Apple did a good job of blasting macintoshes into classrooms. i couldnt afford any computer as a kid. i was poor. but the precious times at school on the computers there shifted my skillset and made it great. i did years late to the party, scrape together money for an apple IIc. basic was my first coding language, hypercard came a bit later but it was a nice easy to use tool. I think we should bring it (or something like it) back, for all platforms. an OSS hypercardish thing for sure.

    2. Re:For the rest of us by ArcadeMan · · Score: 3, Funny

      So, Hypercard is like Festivus?

    3. Re:For the rest of us by mcgrew · · Score: 1

      Even if Macs weren't so expensive, something cross-platform, like BASIC, would be better. I learned BASIC on a TS-1000, and after BASIC, learning assembly wasn't that hard; I was hand-assembling machine code for that TS-1000. I had to since BASIC on a 1 mHz Z-80 that powered the entire machine was just too slow for games.

      Oddly, the company that brought BASIC to most was Microsoft; they didn't write Sinclair BASIC but they wrote the BASIC for most other computers of the time. GW BASIC on the IBM PC was still good. They have a bad habit of taking an okay or even excellent program like BASIC, FoxPro, or Windows 7 and trashing it completely.

      Visual Basic is a convoluted joke.

      And you hit the nail on the head with syntax. Shit like curly braces are IMO incredibly counterproductive and stupid.

    4. Re:For the rest of us by hairyfeet · · Score: 4, Interesting

      I'll get hate by the "programmers" but I'd argue that what we need is more along the lines of another VB 6 which is what TFA seems to be advocating. The "programmers" can scream all they want but VB with Access did one job and did it VERY well which was allowing anybody to build single function programs quickly and easily. VB code was very human readable, with an "if this then that" kind of structure that most can grasp without effort and with an Access DB being so butt simple to hook up it was insanely easy to develop programs that could input, store, and manipulate data which I've found those that actually need to make tools as opposed to COTS is job #1.

      With VB 6 plus Access one can whip off a program in a few hours to do anything from store and retrieve a customer's order history to a CD/DVD catalog program to a program I banged out in a weekend several years ago for a junkyard which allows them to keep up with what cars are on their property and what condition they are in. Last I heard they are still using that and I really can't blame 'em, I still use a VB 6 plus Access program for DVD cataloging as its insanely fast (much faster than a similar program using XML), runs on pretty much anything, and is low on resources, all of which I'd argue you really need in a programming language for laypeople who have no idea about code optimization.

      --
      ACs don't waste your time replying, your posts are never seen by me.
    5. Re:For the rest of us by Flytrap · · Score: 3, Insightful

      Why couldn't a new incarnation of something like Hypercard be cross platform.

      I am not familiar with Hypercard (my entry into programming was via Basic first on the ZX Spectrum and later on the Apple IIe), but I would argue that if is was as great at easing lay peoples entry into programming as some claim, then we should rather exert more effort in making a new incarnation of Hypercard that is cross platform, rather than in trying to convince people that second best is better because it is cross platform.

    6. Re:For the rest of us by Ol+Olsoc · · Score: 1

      Even if Macs weren't so expensive, something cross-platform, like BASIC, would be better.

      I almost agree. But it's an Apple to oranges comparison. Basic is responsible for turning a lot of us into programmers, and I believe that it should be included with all operating systems.

      But Hypercard is in a whole different league with it's capabilities. The closest thing I can come up with is a comparison between say, Filemkaer Pro and Excel. When I try to explain Filemaker pro to people, most tend to get badly stuck in excel-land. I had one guy who worked with excel spreadsheets for many years who never could grasp relational databases like FMP.

      --
      The shepherds did so well protecting the flock that the sheep no longer believed that wolves existed.
    7. Re:For the rest of us by Anonymous Coward · · Score: 0

      So, Python, basically?

    8. Re:For the rest of us by JohnStock · · Score: 2

      I'd say the Commodore Amiga was the best personal computer. Ahead of Macs

    9. Re:For the rest of us by ColdWetDog · · Score: 4, Funny

      Now that you are on your way up the financial ladder, perhaps you could spring for a caps lock key on your current machine.

      --
      Faster! Faster! Faster would be better!
    10. Re:For the rest of us by ColdWetDog · · Score: 2

      If you think VB6 is human readable, then we need to have a little conversation about species differentiation.

      --
      Faster! Faster! Faster would be better!
    11. Re:For the rest of us by Insanity+Defense · · Score: 1

      The majority of us did not have money to spare for Macs. I have no doubt that they were the best personal computers around. I used them.

      For less expensive computers, there was the BASIC interpreter. Not as WYSIWYG or simple and Beginners need to think when coding, even at that level. It also had the advantage of being close to a standard untill MS teurned it into QBasic then dumped it.

      BASIC is what we need again but standardised and improved a lot.

      http://freebasic.net/

      Official Website

      FreeBASIC is a free/open source (GPL), BASIC compiler for Microsoft Windows, DOS and Linux.

      When used in its "QB" language mode, FreeBASIC provides a high level of support for programs written for QuickBASIC. Many programs written for QuickBASIC will compile and run in this mode with no changes needed. However, for compilation in the FreeBASIC default language mode, most substantial programs will require changes.

      FreeBASIC is a self-hosting compiler which makes use of the GNU binutils programming tools as backends and can produce console, graphical/GUI executables, dynamic and static libraries. FreeBASIC fully supports the use of C libraries and has partial C++ library support. This lets programmers use and create libraries for C and many other languages. It supports a C style preprocessor, capable of multiline macros, conditional compiling and file inclusion.

      FreeBASIC has been rated close in speed with mainstream tools, such as GCC.

    12. Re:For the rest of us by Anonymous Coward · · Score: 0

      Yup. Modern programming languages are too complex for ordinary mortals. BASIC could make a comeback if someone would push it a bit.

    13. Re:For the rest of us by lgw · · Score: 2

      The current Visual Basic is no harder to learn than the old VB6. It's different in some ways, which was jarring to anyone who knew VB6 (one of MS's stupider moves), but it's not worse. And VB.Net has the advantage that switching from it to C# is much easier than switching from VB to C++ was.

      But I admit I have no idea what the new DB interface stuff is like (or the old) - the free version of VS comes with a free version of MS SQL, right? Anyone ever tried using that from VB.NET?

      --
      Socialism: a lie told by totalitarians and believed by fools.
    14. Re:For the rest of us by 50000BTU_barbecue · · Score: 2
      --
      Mostly random stuff.
    15. Re:For the rest of us by lgw · · Score: 1

      Python's a bit of a mess if you've never programmed before. Admittedly, I don't know much about 3.x, but Python has a very "evolved" feel, with a lot of inconsistencies and evident history of changes to the language, plus classes are such a hack.

      Maybe that's all smoothed out in 3.x? Does Python look like it was designed on purpose now?

      --
      Socialism: a lie told by totalitarians and believed by fools.
    16. Re:For the rest of us by lgw · · Score: 4, Informative

      I'm amazed everyone has forgotten Myst. Myst was a HyperCard stack with QuickTime movies - and amazing demonstration of with you could do with it.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    17. Re:For the rest of us by Anonymous Coward · · Score: 0

      Yep. Hypercard was pretty awesome, esp. once you figured out that you also had access to hypertalk which took it to a whole new level.

      Hell, there were tons of shareware fairly complex programs that were hypercard based along with some commercial apps and games as well IIRC.

    18. Re:For the rest of us by nabsltd · · Score: 1

      Even if Macs weren't so expensive, something cross-platform, like BASIC, would be better.

      What made Hypercard so great is that it allowed you to build a fairly decent GUI with almost no work.

      Although I agree that cross-platform is the way to go, without the ability to "draw" your windows and dialog boxes, it would be just like the original BASIC, where pretty much only geeks used it.

      Visual Basic is a convoluted joke.

      And yet, it's much closer to what a modern Hypercard should be like than most other dev environments.

    19. Re:For the rest of us by Anonymous Coward · · Score: 0

      perl is MUCH worse, especially when you get people who believe that if you can use the most abbreviated syntactical variants then you should -> pretty damned well unreadable unless you've spent all you're time looking at the abbreviated(obfuscated) version of perl syntax. (These also tend to be written by people who are regexp gurus or wannabes and write pattern parsings/matchings from hell, and who also don't believe that ANY comments are a good idea of any sort*.) perl had TONs of OSS libs, but almost all of them were in that style which made it important to look through the code to see what it was doing, but that was a while ago back in the day when it was less c00l to stuff in backdoors and the like or other booby traps, and perl was the goto scripting language. I'd seen obfuscated C contest winning entries that were simpler to figure out that some of the obfuscated perl...

      That said, I really don't care for Python either, tabbing for blocks is annoying.

      * I don't like wastefully overly verbose commenting myself either but FFS at least toss out a clue at what that mess is even attempting...

    20. Re:For the rest of us by alienmole · · Score: 4, Funny

      THAT SEEMS LIKE A GOOD IDEA. I'M VERY HAPPY WITH MY NEW CAPS LOCK KEY. OH WAIT, DID YOU MEAN A SHIFT KEY?

      the one problem with using my new caps lock key is that the slashdot filter complains that it's like yelling and refuses to post my comment. maybe these sentences will mollify it. haha it worked.

    21. Re:For the rest of us by jbolden · · Score: 4, Informative

      The article is completely wrong. The current version of Hypercard (RunRev's LiveCode) is cross platform: iOS, Android, BlackBerry, Windows Phone, Windows Desktop, Linux Desktop, Mac.

    22. Re:For the rest of us by Anonymous Coward · · Score: 1

      Caps key is a toggle. While it may not be as efficient as the shift key modifier for capping specific characters you may use it like a shift key with two presses for every one cap you would like to write.

    23. Re:For the rest of us by Lije+Baley · · Score: 1

      More like VB 5, but with updated functionality and examples in the integrated help which actually work. From what I remember, VB 6 was a step backwards in ease of use.

      --
      Strange things are afoot at the Circle-K.
    24. Re:For the rest of us by phantomfive · · Score: 1

      I'll get hate by the "programmers" but I'd argue that what we need is more along the lines of another VB 6 which is what TFA seems to be advocating.

      How about instead of reviving old trash, building a language that has the advantages of VB without the disadvantages? It was so hard to write a good, stable application in VB.

      --
      "First they came for the slanderers and i said nothing."
    25. Re:For the rest of us by Sperbels · · Score: 2

      And it caused the internet bubble, 9-11, the housing bubble, the Arab Spring, and molested several children in my neighborhood. Seriously one night I was coding in VB6 and I accidentally created an infinite loop....I shit you not it opened a portal to the ninth plane of hell and demons came pouring out. Satan's own right-hand-man had to come and stuff them all back into hell and close the portal, but not before praising me on the powerful black magic I was wielding with VB6.

    26. Re:For the rest of us by rochrist · · Score: 2

      I'm sure he wasn't aware of that. I'm moding this as useful.!

    27. Re:For the rest of us by iwbcman · · Score: 1

      I could not agree more. I cut my teeth on BASIC, later moving on to assembly, pascal eventually playing around with c++/java and my personal favorite vala. IF I had not had such a gentle hand holding experience like BASIC I never would have started programming. I know that there are lots of languages taught nowadays as beginners languages, but nothing compares to BASIC. Python absolutely sucks donkey balls for beginners-there is no reliable way for a newbie to cut and paste a small program -friggin stupid spacing bullshit. I eagerly awaited BYTE and RAINBOW magazine editions each month as a kid, each issue had small programs which introduced new ideas and techniques. Hell I wrote a WYSIWYG word processor in BASIC using hi-res (256x192!-) draw commands for each ASCII key, and was able to do text justification, scrolling, print, save and load functions for the CoCo, when I was 12(only having gotten my first computer for my birthday that year). I have a friend who has a brilliant 10 year old daughter who is bored out of her mind at school, due to a lack of challenge. I have been toying with the idea of trying to set her up with a raspberry PI, but there is nothing I have been able to find at all, despite quite intensive research, where she can use a book which contains descriptions of all the commands, syntax and coding examples. Javascript/python/ etc. are just way, way to difficult to use for absolute beginners. What potential pc's had for empowering the masses got lost along the way, for 99% of all computer users today have never even seen code, let alone are able to comprehend or write such.

    28. Re:For the rest of us by Jane+Q.+Public · · Score: 1

      It also had the advantage of being close to a standard untill MS teurned it into QBasic then dumped it.

      Yes and no. MS didn't "dump" QBasic.

      QBasic was turned into a full-blown compiled language, QuickBasic, which actually sold for a pretty reasonable price. QBasic still remained for some years after that. QBasic -> QuickBasic was actually pretty nice in that it turned BASIC into an actual procedural language, rather than being restricted to line-numbered spaghetti code.

      QuickBasic evolved into the Microsoft Basic Professional Development System. As of version 7.1, PDS gained an awesome highly optimized compiler, which compiled programs that were often more performant than C (except for graphics). The compiler contained many optimizations that we take for granted today: shortcutting of conditionals, etc.

      PDS 7.1 was interesting, in that it had a huge collection of add-on libraries you could compile into your code. Among those was a text-based, mousable user interface system with buttons, radio buttons, checkboxes, etc. The next stage was that PDS, with that library included by default, was marketed as Visual BASIC for DOS.

      Obviously, Visual BASIC for Windows followed soon after. Other languages followed, like Visual C++. Versions came and went, up to VB 6, at which point it all became Visual Studio, with different languages but a common base. Visual Studio became Visual Studio .NET, etc. etc.

      So Microsoft didn't "dump" QBasic. It gradually morphed into the programming tools they offer today. (Some good, some not so good.)

      Along the way, Microsoft eventually DID dump BASIC. Despite Bill Gates' public promise that Microsoft would "ALWAYS" support the BASIC programming language. But then he hasn't been exactly honest about a lot of other things either.

    29. Re:For the rest of us by Anonymous Coward · · Score: 0

      Nahhhhh

      Javascript is today's BASIC, but the amount of convoluted BS put on top of it, is what makes it harder to use than necessary.

      Get rid of jQuery and similar toolkits and teach people how to do things directly. The thing that confuses the hell out of even regular programmers is the entire obsession with OOP, classes, and prototypes.

      BASIC only had two functions that controlled program flow, GOTO and GOSUB, which most modern applications descend from GOSUB with the "function" eg
      function dosomethingcool(){
      console.log("Hi! Mom!");
      }

      dosomethingcool();

      That's simple and easy for people to understand.

      This isn't
      $(document).ready(function(){
          $("p").click(function(){
              $(this).log("Hi Mom!");
          });
      });

      There's no indication what the the hell $ is supposed to be, where p or click are, and the disconnect between the web browser DOM and the javascript.

      Then there is this completely unreadable crap:
      var myStructure = {
          name: {
              first: "Mel",
              last: "Smith"
          },
          age: 33,
          hobbies: ["chess", "jogging"]
      };
      (source wikipedia: Javascript Syntax) which becomes worse when functions are interspersed as some kind of pseudo c++/java-OOP-classes that don't operate that way.

      When you do something in Javascript that involves the browser DOM , you are operating blind. As you don't know if whatever you're manipulating is legal in all environments. Try do something in Chrome and then try and do it in Mozilla, and nodeJS.

      We don't need these asm.js type of attempts where Javascript is being coerced into doing something it was never supposed to do.

      Perl, PHP, Python and Ruby are likewise unreadable crap when you start looping at the OOP syntax.

      What needs to exist is a "simpler" C, removing the asinine typechecking as that's what is least understandable to new programmers.

      One should be able to do this:
      function mycoolthing(something){
      stdout.print(something);
      exit();
      }
      main(){
      mycoolthing("Look Mom!");
      }

      Notice the lack of:
      var, int, void, using, import

      That stuff is what new programmers don't understand, and don't care. Javascript lets you do almost exactly the above.

    30. Re:For the rest of us by Anonymous Coward · · Score: 0

      When I try to explain Filemaker pro to people, most tend to get badly stuck in excel-land. I had one guy who worked with excel spreadsheets for many years who never could grasp relational databases like FMP.

      So, how does it compare to Access?

    31. Re:For the rest of us by aaaaaaargh! · · Score: 1

      I agree. I used to program in REALbasic, it was extremely easy to get reasonably good results and I generally had a great time with it and sold lots of high quality shareware. (I know, I know, REALbasic was also responsible for a lot of low quality shareware, no doubt about that, but you will always get this with such a tool.) As long as you didn't stumble over one of the many implementation bugs it was a lot of fun and the fastest way to develop. This was long before it became ridiculously expensive, back in the time when Andrew spit out one great and slightly buggy free update after the other, and even longer before the name of the language was changed to some silly meaningless word that I have immediately forgotten after I first heard it.

      I'm still looking for a decent substitute, even after I've switched to more complicated and equally excellent cross-platform languages like Racket. Python and Freepascal/Lazarus come closest to it but aren't nearly as easy to use and beginner friendly in my opinion.

    32. Re:For the rest of us by Anonymous Coward · · Score: 1

      The fact that it's not stand-alone is why most "BASIC" things don't work today.

      In the original Apple II, C64 and IBM PC, you had BASIC which ran *.BAS files. That was it. You could not compile those into .com files. There was no UI other than the F keys being mapped on some versions.

      Later things like QuickBasic/QBasic look a lot like the MSDOS "EDIT" program, which I'm willing to bet one was turned into the other. Complete with GUI Menus.

      But this is all fine and dandy until you want graphics. NOBODY EVER TEACHES GRAPHICS. That was the most frustratingly annoying thing in 1988, I had a 1000 page book on BASIC which said how to do everything, including play music, but not a single mention of how to create or load graphics.

      So here we are today with Javascript... AND STILL NO CODE TEACHES GRAPHICS. It's no longer as stupid as before, as you can pretty much do "view source" on something that does and figure out what they did. But it shouldn't have to be that way.

      For example:
      I want to put a 64x64 image on the screen and make it move between x1,y1 and x2,y2.... how do I do that? Well in Flash versions before AS3, it was EASY as flash focused on graphics first, and AS2 wasn't convoluted, AS3 forget it. But how do you do this in native HTML5? Hell if I know. What about canvas? SVG? The fact that there is 3 different ways to do this in the web browser and none use the same syntax is a problem.

      (And for serious, I know how to do this in all of the above, but my frustrations with this point go all the way back to BASIC which only had vector graphics options, and no documentation of how to do anything else.)

    33. Re: For the rest of us by Karlt1 · · Score: 1

      Even if Macs weren't so expensive, something cross-platform, like BASIC, would be better.

      BASIC was far from cross platform in the 80's. The computer magizines had different code listings for each platform.

    34. Re:For the rest of us by Anonymous Coward · · Score: 0

      In this matter, I will defer to market forces.

      If VB6 was so great, why did Microsoft kill it? Did they just think they were making too much money?

      If the need is so high, why isn't there already a replacement dominating the industry?

    35. Re:For the rest of us by rochrist · · Score: 1

      The Amiga had some serious flaws. I had 3 of them as well, as Macs, Apple IIs and PCs. No memory protection so badly behaved programs could bring down the system and an OS hardwired to custom hardware which made it difficult to impossible to progress going forward. Plus, I personally, found the UI to be wretched. I did have a lot of fun on it though.

    36. Re:For the rest of us by darkain · · Score: 1

      BASIC evolved, too. Tools like Visual Basic (which had a WYSIWYG form editor) emerged. And then even that evolved again too into VBA (the scripting language for Microsoft Office). Yeah, I get the security bullshit with their implementation, but that doesn't deny the fact that it was a quick, simple, and extremely powerful tool for non software engineers to get in there and build some tools needed to get the day's job done. Especially with Excel, the ability to just hit "record macro", and then see the resulting code it generated as you preformed operations manually on a spreadsheet. Then analyse this code, and modify it to meet one's needs. This was an amazing way to get someone introduced to programming, as they can preform functions manually, and then get a listing of commands, they could then visualize the code back into those execution steps.

    37. Re: For the rest of us by Anonymous Coward · · Score: 0

      +5. I stay away from jquery. if I have to reimplement something myself in JavaScript that jquery already does, then so be it. even tho I hate JavaScript and all his hellish minions(asm, node, jquery, etc). it's all we really have in our niche.

      it's like pissing in the wind. u never know when it's going to come back and splat on your leg.

    38. Re:For the rest of us by Anonymous Coward · · Score: 0

      MS Sql Server is designed to meet the needs of enterprise-level developers. Security concerns, concurrent user management, replication/failover, and serious scalability. Addressing these concerns is not simple.

      When people say things like "I just need a quick way to write some simple tools" they often don't realize two things:

      1) some things that seem simple from a business perspective are actually quite complicated (and vice versa, though that rarely comes up as an issue).
      2) if your simple tools help your business succeed, eventually you will need them to scale to something more powerful and feature-rich, and when that happens the foundation that you have laid will serve as a stumbling block for the entire life of your business (until you buck up and scrap it, and pay the cost of writing the whole thing from scratch, which is not cheap).

    39. Re:For the rest of us by Anonymous Coward · · Score: 0

      > The majority of us did not have money to spare for Macs.

      That's because you see your computer as a toy to dick around with, rather than an investment in a tool to earn money.

    40. Re:For the rest of us by unrtst · · Score: 1

      The article is completely wrong. The current version of Hypercard (RunRev's LiveCode) is cross platform: iOS, Android, BlackBerry, Windows Phone, Windows Desktop, Linux Desktop, Mac.

      And there are plenty of clones, many even supporting the original stacks. Google came back with this pretty quickly: http://hypercard.org/
      livecode looks fairly well polished though, and it's free-as-in-beer at least, so the only "revival" that's needed is marketing - assuming there's a market.

    41. Re:For the rest of us by Tom · · Score: 1

      VB with Access did one job and did it VERY well which was allowing anybody to build single function programs quickly and easily.

      As they say: To every problem, there's a solution that is obvious, simple, easy and wrong.

      I wrote in another post what a disaster Excel is, exactly because it allows every manager to create a business-logic spreadsheet - most of which are never checked for errors or boundary conditions and may fail you without even telling you that something is wrong.

      I've argued here many times against this meme of "teach everyone to code a little" for the same reason that we don't teach everyone to build houses a little - because there are things in this world that need to be done either right or not at all.

      With VB 6 plus Access one can whip off a program in a few hours to do anything from store and retrieve a customer's order history

      With no transactional security, no protection against unintentionally changing or overwriting data, no checking for referential integrity or validity. Yes. You can absolutely create a ticking timebomb for your business to crash and burn one day.

      If you're doing your home DVD collection on it - be my guest. The worst that can happen is that you'll have to actually search for a movie by hand.

      But please don't advise people to run business logic on VB and Access and write the code themselves.

      --
      Assorted stuff I do sometimes: Lemuria.org
    42. Re:For the rest of us by Lodragandraoidh · · Score: 2

      I had the pleasure of access to and use of an Amiga 1000 in '86. It hosted many of my firsts in computing:

      First use of a graphical interface

      First use of virtualization (hosted an IBM DOS virtual environment in a window - used for running and building DOS applications for IBM PC - the Amiga OS was perfect for this - since it virtualized it's own components as well)

      First filled polygon video game (3D up to that point was wireframe)

      First real multimedia PC used

      First use of a PC with a multitasking operating system

      First use of full featured embedded scripting capabilities in an operating system (MS DOS batch processing doesn't count)

      After using the Amiga, nothing that followed really surprised me - but most commercial solutions I found limiting in one way or another (e.g. Windows 3.1 lack of preemptive multitasking).

      In '95 was looking at OS2 Warp as a better alternative to Windows '95 [I wanted something that had tools I could quickly be productive with; I spent many hours with the Win32 API bible with little to show for it - and J++ just was a fail from an interoperability standpoint] - when I was introduced to Linux - which had what was missing, and dovetailed nicely with my studies at the university - (the computer science lab was well equipped with Sun Solaris machines - and we did all of our development coursework on Unix as a result - and when I got Slackware 2.3 up and running - I started dialing in my projects from home - my first exposure to telecommuting).

      The biggest lesson I took from my experience with the Amiga is that being productive with a computer should be easy - and if it isn't then you should look somewhere else until you find it. It may seem counterintuitive given that I ended up with one of the most difficult distros to install at the time. Having a built-in tool set in the form of command line scripting, and other extension languages, in addition to the core system programming languages was key to my own efficiency in getting things done. That being said - today, even for someone who knows how to program, finding easier/quicker ways to get work done is valuable. Everyone is not a computer scientist - and shouldn't have to be to make working tools for themselves easily. While projects have addressed subsets in this arena (spreadsheets, wordprocessing etc), no one has address the fundamental problem of creating a malleable tool for general purpose use - that I am aware of.

      IT departments in large companies, and the shrink-wrapped software companies do a good job of accomplishing large projects and particular popular niches (standard office suites) - but they are horrible when addressing the unique needs of the individual. That's where something like hypercard would find a home.

      --

      Lodragan Draoidh
      The more you explain it, the more I don't understand it. - Mark Twain
    43. Re:For the rest of us by Dutch+Gun · · Score: 1

      I think the fact that the author neglected to research modern Hypercard alternatives / derivatives and instead wants to see Hypercard(tm) again demonstrates this is largely a nostalgia/pining piece, nothing more.

      I'll always have a soft spot for AppleBASIC in my heart, since it was the first computer language I learned (on an Apple II+) when I was a youngster. It work great for me as an introduction to programming languages, especially since there was a fantastic, kid-friendly book* for me to learn from. But all that aside, I have no wish to bring back AppleBASIC. Technology has marched on. Nostalgia is best when it's remembered and not relived, because then you tend to see all its warts and flaws you didn't remember from twenty years ago.

      * I don't suppose anyone remembers the name of that book? It's an AppleBASIC tutorial for the Apple II+. I believe it had a red soft cover, and it had amusing illustrations of a cartoonish robot character throughout the book.

      --
      Irony: Agile development has too much intertia to be abandoned now.
    44. Re:For the rest of us by jbolden · · Score: 1

      Excellent link with that hypercard.org

      LiveCode has pretty good marketing. Their 2013 Kickstarter raised: £493,795. They run smaller ones regularly for one off projects. It wouldn't shock me if LiveCode is in the top 100 most popular languages.

    45. Re:For the rest of us by Anonymous Coward · · Score: 0

      Then there is this completely unreadable crap:

      var myStructure = {
              name: {
                      first: "Mel",
                      last: "Smith"
              },
              age: 33,
              hobbies: ["chess", "jogging"]
      };

      I hope you're being ironic, because that looks completely readable to me. Once you know what 'var' means, there is nothing ambiguous or cryptic about this code.

    46. Re:For the rest of us by Guspaz · · Score: 1

      RunRev might be inspired by HyperCard, but it has no connection to it. It's not the "current version" of HyperCard.

    47. Re:For the rest of us by Ol+Olsoc · · Score: 2

      When I try to explain Filemaker pro to people, most tend to get badly stuck in excel-land. I had one guy who worked with excel spreadsheets for many years who never could grasp relational databases like FMP.

      So, how does it compare to Access?

      The most important part for me is that Filemaker supports both Windows and OSX, while Access is Microsoft OS only.

      Database size limits are much bigger with FMP. 8 Terabyte vs 2 gigabytes. Scripting is simpler than Access, which requires Visual Basic programming for many of the functions. You can publish to the web from FMP and control the security functions. With Access, you need Sharepoint Server. Note you can publish with an Office 365 account, but not the permissions, which require Sharepoint.

      There are some other advantages, like custom reports are pretty easy, and non-programmers can make some pretty sophisticated database systems. Overall, Access is not in the same league as FMP.

      Some times, it's hard to get all that through to a person that thinks Excel is a database though. I've had people tell me that it was impossible to do something in my database that I had been doing for ten years now.

      --
      The shepherds did so well protecting the flock that the sheep no longer believed that wolves existed.
    48. Re:For the rest of us by Guspaz · · Score: 1

      Microsoft's latest release of Visual Basic was roughly a year ago, and there's no indication that the next release of Visual Studio will discontinue Visual Basic...

    49. Re:For the rest of us by fafalone · · Score: 1

      VB6 is a very useful and underrated tool. Not only is it good for programs like that, there's countless other things it's useful for. But the big draw is despite its age, it can take advantage of modern graphical styles, and many other goodies introduced in Vista and 7. Think you need a modern language to put forward and back buttons on the taskbar preview picture? Can be done on VB6. Think you can't use the latest file operation dialogs since SHFileOperation isn't able to? That was true until last week when I brought IFileOperation support to VB6. Using COM like that, class modules, subclassing/hooking/callback support, inline assembly support... it's still extraordinarily useful, and a modernized VB6 app looks identical to any other modern app. It's a shame MS replaced it with a "VB.NET" that has almost no relation and is just like C#.

    50. Re:For the rest of us by Daniel_Staal · · Score: 2

      I used both BASIC and HyperCard - they were dramatically different approaches. If you want a modern BASIC, try Perl or Python or Ruby or - you get the picture. There are dozens of suitable replacements; simple direct languages that can write a short command-line program easily.

      And you show the result to the average user out there and they won't even think it's a program. If you want a GUI - like everything out there today - you'll have to work on a major lift, some complex API that takes months to master, and days even for an experienced programmer to learn.

      HyperCard could get you a simple GUI-based program in minutes, that even a beginner could do. You could actually get quite a ways without writing a single line of 'code' - though you still needed to think about the structure of how you moved through the application. It could even be argued that you can teach that structural thought easier to certain types of learners, as you get a more dramatic and visual result.

      But the largest thing for a beginner that HyperCard could offer was a feeling of accomplishment: In a few minutes you had what 'felt' like a real application, with a GUI and everything. It doesn't look like a cliff to get to the point of writing a program that they can show off to their friends - even if it's a simple program.

      There are roles for both, but to get someone interested in programming, I think HyperCard is probably better. Once you have that pull out the major arcania of complex API's and huge libraries.

      --
      'Sensible' is a curse word.
    51. Re:For the rest of us by belmolis · · Score: 1

      A scripting language that I find much cleaner than Perl and without the unpleasant tabbing of Python is Tcl. A more recent language with more familiar syntax than Tcl is lua.

    52. Re: For the rest of us by Anonymous Coward · · Score: 0

      I kind of think we should teach everybody to build houses a little.

    53. Re:For the rest of us by Anonymous Coward · · Score: 0

      Now that you are on your way up the financial ladder, perhaps you could spring for a caps lock key on your current machine.

      Wait, are you saying my Chromebook isn't good enough? :-p

    54. Re:For the rest of us by Darinbob · · Score: 1

      There was a HyperCard like program for the Amiga, and I thought it was pretty slick. PCs at the time were just a bit clunky, still on DOS mostly, using graphical line drawing characters for lots of things.

    55. Re:For the rest of us by Darinbob · · Score: 1

      VB created a generation of idiots. As in idiot managers who seem to think programming is easy because they could create a buggy VB app in a day. Or those idiots thinking VB was brilliant while ignoring the competition that was vastly better (Delphi for example). Even the older dBase was better than VB+Access.

      VB did a lot of things, but it did them in very mediocre ways.

    56. Re: For the rest of us by Anonymous Coward · · Score: 0

      My wife does this. Drives me insane.

    57. Re:For the rest of us by ColdWetDog · · Score: 1

      You sure you're not confusing VB6 with Lotus Notes?

      --
      Faster! Faster! Faster would be better!
    58. Re:For the rest of us by Anonymous Coward · · Score: 0

      The majority of us did not have money to spare for Macs. I have no doubt that they were the best personal computers around. I used them.

      For less expensive computers, there was the BASIC interpreter. Not as WYSIWYG or simple and Beginners need to think when coding, even at that level. It also had the advantage of being close to a standard untill MS teurned it into QBasic then dumped it.

      BASIC is what we need again but standardised and improved a lot.

      That would be Python.

    59. Re:For the rest of us by Tablizer · · Score: 1

      I wrote in another post what a disaster Excel is, exactly because it allows every manager to create a business-logic spreadsheet - most of which are never checked for errors or boundary conditions and may fail you without even telling you that something is wrong.

      Often such is a good way to prototype ideas. It's when you keep using it long-term that the problems pile up.

    60. Re:For the rest of us by Anonymous Coward · · Score: 0

      Python and VB.Net are very similar.

    61. Re:For the rest of us by tlhIngan · · Score: 1

      There is a version of "HyperCard" for modern Macs, and it's been around a LONG time now (at least before the 90s).

      It's called SuperCard. (Official Site (it's hard to Google)).

      It can convert existing HyperCard stacks to SuperCard ones in a few minutes and has extensive support. Yes, it runs on OS X and Intel Macs, too.

      It's actually a bit better than HyperCard was back in the days - it supported color without extensions and other things, too. Of course, it costs money, but it's been available a long time.

    62. Re:For the rest of us by jbolden · · Score: 1

      It is inspired by HyperCard, based on the same ideas a successor to it and most importantly the far and away the most successful successor. I don't see anything wrong with considering it the next version of Hypercard. And I'm not alone in that: http://opensource.com/educatio...

    63. Re:For the rest of us by wierd_w · · Score: 1

      in quickbasic (and msbasic before that), you use the built-in graphics routines GET, and PUT, and make use of a graphics mode. GET and PUT use a user-defined variable to store graphics data, and require at least 1 set of screen coordinates. (GET requires 2 sets-- the top left, and the bottom right corners of the area to GET-- Put only requires 1 set of coordinates; the top left position of the data to be PUT on the screen.) The usual choice for easy graphics routines is mode 13, however, if you first do a poke, you can get into the infamous "Mode X" instead, if you have a VGA card. Ideally, and to avoid flicker, you want a graphics mode with 2 display "pages"-- (actually, 2 display buffers), You perform the PUT command on the INACTIVE page, then switch the page with a PUT command to the VGA controller. This way the human does not see the page being drawn on. You can use this to do simply iterative composting of images to get new ones, etc. (EG, writing several characters on top of each other to get custom shapes quickly, etc.) Once you have written data to the page and then switched the active/inactive pages, you need to re-draw the new inactive page each time if you are doing animation. Getting data written to the inactive page quickly is a significant hurdle with QBASIC, as the builtin functions are painfully slow.

      With visual basic, you need to create a new form object, define its size, add an image object to the form, load data into the image object, then activate the form. This will display a window with a picture in it. You can move the picture around inside the form by modifying the properties of the image object, one of which is the position property. You can also move the form's window position around this way as well.

      (If you wrapped a few win32api COM libraries with local subs and structures, you can directly call the win32api to produce an opengl window, and draw all over that with opengl calls... but that isn't pure VB)

      with javascript and a browser's javascript interpreter, you simply define an image element, populate it with image data of some sort, then define the absolute position of the image (and its z-level) using variables controlled by the vbscript.

      It isn't that nobody "teaches graphics"-- it's that graphics suffers from the "Yet ANOTHER Library!" problem. Do you want to draw using directx? OpenGL? Vesa? SDL, nCurses, etc.

      Graphics are not a fixed, easily agreed upon set of things that a computer should do-- like say, arithmetic or logic is. As such, it does not get an obviously "best practice" implementation that can be taught. Doing graphics is not something that an instructor can tell a student how to do, and have it "Stick" everywhere, like a FOR-NEXT loop, an IF-THEN-ELSE logic block, a CASE statement, or a basic raw datatype (String, Integer, Float, etc) that is basically the same no matter where you go in programming. (An unsigned short integer is an unsigned short integer everywhere you go.) How you scribble graphics onto the screen simply lacks the same riggor; The ways OpenGL, DirectX, and raw frame buffer manipulation with ASM work to get data onto the screen that is fully artistic in nature cannot be effectively taught one, and implemented the same way everywhere else.

      If you want to learn graphics, you are going to have to trust to help you lean an master that part .

    64. Re:For the rest of us by Anonymous Coward · · Score: 0

      Macs were awful crap especially back in the nineties. Their OS could not even multitask and it had those fabulous system wide modal dialogs. Whenever some bastard left a file open from a floppy and took the floppy away, the next user would have a nice dialog telling that in order to use computer, insert exactly the same disk back. And if one did not have the disk, the system needed to be shut down by pulling power cord out of socket, as it did not even have power/reset button. Even my Amiga 500 had better OS and was more useful than those macs.

    65. Re:For the rest of us by Tom · · Score: 1

      The problem is that the exact kind of people who make these DIY spreadsheets and then use them for their business decisions are also the kind that don't understand the concept of a software prototype.

      --
      Assorted stuff I do sometimes: Lemuria.org
    66. Re:For the rest of us by RabidReindeer · · Score: 2

      The Amiga had some serious flaws. I had 3 of them as well, as Macs, Apple IIs and PCs. No memory protection so badly behaved programs could bring down the system and an OS hardwired to custom hardware which made it difficult to impossible to progress going forward. Plus, I personally, found the UI to be wretched. I did have a lot of fun on it though.

      Actually, none of the popular OS's of the day had memory protection. But they were all either mono-tasking or had some sort of arcane co-operative multi-tasking that required careful programming. The Amiga was designed so that even the simplest sloppiest "hello world" program was running under multi-tasking, but the base-level hardware (Motorola MC68000) had no integral memory management unit. The later models, based on the 68020 and 68030 could have had memory management, but Commodore wasn't capable of the necessary forking of the OS.

      The custom hardware was fronted by APIs expressly designed so that people who followed the Amiga developer's guidelines would be isolated from hardware dependencies and hardware improvement. Which isn't to say that a lot of people didn't out-clever it, but no OS is immune from clever-itis.

      A friend of mine said the Amiga UI looked like it was done with crayon, and he's probably right. On the other hand, the thing I miss most about the Amiga is that it was smart enough to hide the mouse pointer when you started typing near it (so the pointer wouldn't hide text being typed), and the alert dialog boxes didn't steal the input focus. I cannot begin to count how many times something horrible has happened on other systems when I was typing in a text window, a dialog popped up and considered my "end-of-line" to think I had just hit "Yes" on an "OK to reformat disk?"-type dialog.

    67. Re:For the rest of us by Half-pint+HAL · · Score: 1

      The only change needed is the addition of labels instead of line numbers as references, and then we could type GOTO HELL, which would make BASIC look self-aware....

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
    68. Re:For the rest of us by RabidReindeer · · Score: 1

      BASIC had its day. The original BASIC was designed for an extremely limited environment (for example, single-character variable names). What most people think of as BASIC was the Microsoft Visual Basic [TM], which is considerably different.

      Note the word "Microsoft". That was its boon and its bane. Microsoft owned it - and its successort, VB.Net, and only systems with Microsoft's blessing ever got it. The Amiga got a variant of it, I think some Mac systems got one, but Linux never did as far as I know. Linux had to make do with Python.

      Python has become to Linux - and by extension, the current MacOS and BSD platforms - what VB was to Windows. It would certainly make a good hyperscripting language, and it's not at the mercy of a single vendor.

    69. Re: For the rest of us by mcgrew · · Score: 1

      True, but it was trivial to take, say, Sinclair BASIC and convert it to Apple II's BASIC. If you knew one dialect, all the rest were easy to write in.

    70. Re:For the rest of us by Half-pint+HAL · · Score: 1

      The problem with Python is that it's designed to look like other languages.

      The problem with BASIC is that it's crap.

      Everybody who tries to make a new language these days makes a very similar series of mistakes, under an understandable rationale of either "well, this is the gateway, so it's got to prepare them for 'real' languages" or "the language will never take off if existing programmers find it too alien". When we get to things like GameMaker, you end up with a claim of "programming without programming", but what we find under the hood is a basic C++/Java-lite OO language with crucial programming ideas rechristened with "friendly" names that only serve to further obscure the logic from the programmer.

      --
      Got them moderator blues I blieve I walk out the do', With these mod-points I been gettin', I 'most never post no mo'
    71. Re:For the rest of us by Warbothong · · Score: 1

      Seriously one night I was coding in VB6 and I accidentally created an infinite loop....I shit you not it opened a portal to the ninth plane of hell and demons came pouring out.

      This is common in C too http://www.catb.org/jargon/htm...

    72. Re:For the rest of us by rochrist · · Score: 1

      Yeah, I'm aware that none of them had memory protection, but then again, none of them were trying to run a pre-emptive multitasking OS. Plus, I forget the specifics, but I'm pretty sure memory protection was possible with the 68000. SunOS managed IIRC. I think the problem was that the Amiga kernel wasn't running in privileged but rather unprivileged user mode.

    73. Re:For the rest of us by Jane+Q.+Public · · Score: 1

      Pardon me. That is correct. Some years ago they announced that they were going to discontinue VB but they never did.

      As far as I was concerned, .NET pretty much ruined VB. I used C# .NET for a while and didn't much like that, either. I mean, come on! Having to manually attach click and keypress events to a button? WTF? Any self-respecting button object should have those properties already defined. (Else what is the button good for?)

      I am given to understand (from a former co-worker) that MS has now fixed many of the things that used to make .NET so awful.

      So the last VB version I thought was really worth using was VB 6. But the newer stuff may be worth another look.

    74. Re:For the rest of us by Guspaz · · Score: 1

      As a C# .NET developer, I obviously disagree with your assessment. I've not used Visual Basic .NET, but the Windows.Forms UI designer (which would have been available in VB.NET) never made you manually attach events. Click events were defined in the events list, and you could just click on them to attach the event and create a stub of the event handler, or you could just double click on the button in the designer to do the same thing.

    75. Re:For the rest of us by Anonymous Coward · · Score: 0

      I WAS GOING TO POST ABOUT HOW CRAPPY MY KEYBOARD IS WITH ONLY ONE CapsLk KEY FOR THE LEFT Shift AND NO CapsLk FOR THE RIGHT Shift. HOW WOULD I BE ABLE TO NOT HOLD DOWN THE RIGHT Shift WHEN I NEED TO? THEN I WAS GOING TO BITCH ABOUT IT STILL BEING BROKEN when i hold the shift key down, but it works. fu lINUX. wHO PUT IN THAT USEFUL FEATURE?

      wAIT, pressing boh shif kes doesn" reap he leers a i"s sill broken! also soe leers no longer show up wih boh shifs down)
      (wait, pressing both shift keys doesn't recap the letter. Yay, it's still broken! Also some letters no longer show up with both shifts down...)

    76. Re:For the rest of us by Anonymous Coward · · Score: 0

      > Plus, I forget the specifics, but I'm pretty sure memory protection was possible with the 68000. SunOS managed IIRC.

      My memory of that period is also hazy, but the 68000 has no MMU (built-in or otherwise), and didn't do instruction backout properly, so Sun used a second(!) 68000 to watch what the first was doing, and intervene on bad memory accesses to recover.

    77. Re:For the rest of us by davydagger · · Score: 1

      > I have no doubt that they were the best personal computers around. I used them.

      apple was a cult even back then. macfags were always macfags.

      Apples pre-osx were fairly garbage. they had a reputation for being "better with graphics", that was long obsolete by the time the first AGP video cards came around, and they were behind in many issues such as not having shared libraries, and frequent crashes between conflicting programs and extensions.

      By the time 3d accelerators and sound blasters came standard on PCs(sound blaster always had better sound than whatever mac stapled on), and the beginning of the nVidia/ATI wars, macs were left in the dust capability wise.

      But you had a small loyal, fanatical group, mostly tech illiterate that bought into the marketing hype.

    78. Re:For the rest of us by Anonymous Coward · · Score: 0

      > they were behind in many issues such as not having shared libraries

      On the contrary, Apple did support shared libraries as far back as System 7, and they did it right (with versioning), avoiding the "DLL hell" that Windows subjected its users to.

      > and frequent crashes between conflicting programs and extensions

      Yes, this is true... Apple unwisely chose to let all applications run in Supervisor mode. If they had enforced User mode for apps, it would have been much safer and forward-compatible.

      That said, the system itself was mostly very stable, with the exception of some v1 bugs. It was the third-party extensions that caused most problems.

      Also, Classic Mac OS was hands-down the LEAST hackable system, as it didn't have any shell access or leave any ports open by default.

    79. Re:For the rest of us by Anonymous Coward · · Score: 0

      You monster. I've seen people typing like that. It's truly painful to watch.

    80. Re:For the rest of us by RabidReindeer · · Score: 1

      No, the 68000 had no MMU. All the Sun/Apollo machines I knew of had 68020's in them, which do have MMUs.

      Motoroloa made the MC68851 as an external MMU device, which could be paired with the 68000, but the Amiga didn't incorporate it.

    81. Re:For the rest of us by Anonymous Coward · · Score: 0

      I was an avid Hypercard user, and even prior to Apple ceasing support for Hypercard, I had already seen the handwriting on the wall and had switched to Supercard. But I always wanted to do something more, to produce professional apps with backend databases, and Hypercard/Supercard XCMD's were just too unreliable for any kind of polished product. Now I use Livecode which has ODBC and SQL support, along with a myriad of other incredible improvements which make developing apps for any platform a great deal easier and faster. (It's also a lot of fun!) I have created several apps, mostly utility apps, but two of note are a Conference Scheduling app for small to mid sized hotel chains, and a Forms Generator which auto-fills my PDF forms for the work I do now.

      ALL Hypercard/Supercard/Metacard developers of the past (and anyone else who get sick every time they realize how long it's going to take to create even a simple app in Java or C) REALLY NEED to check out Livecode! It's free for education and internal use, and has no distribution fees for commercial development, although you must purchase a commercial license if you sell your product.

    82. Re:For the rest of us by Saint+Fnordius · · Score: 1

      I think that's the biggest issue - not that SuperCard isn't a worthy successor, but that it is hard to find and it costs money. HyperCard used to be free and available for every Mac user, so it was a natural gateway drug for programming. What also made it accessible was that it was meant to handle data - the "card" in the name comes from its roots as a database program. It was easy to whip up a recipe database, or an address book, and so teach hobbyists about how data is stored.

      I do not expect HyperCard to come back, as that vital element of giving it away for free and still have a powerful tool has been tried. In fact, I suspect that love for HyperCard is fuelled more by nostalgia than anything else. Eventually we may be mourning the loss of WYSIWYG HTML editors for the same reason.

    83. Re:For the rest of us by Anonymous Coward · · Score: 0

      Once, I executed an infinite loop backwards...

    84. Re:For the rest of us by ncc74656 · · Score: 1

      The "programmers" can scream all they want but VB with Access did one job and did it VERY well which was allowing anybody to build single function programs quickly and easily. VB code was very human readable

      I'm stuck maintaining some Access projects. "Readable" isn't an attribute I'd apply to most of the VBA "code" I've run across.

      --
      20 January 2017: the End of an Error.
    85. Re:For the rest of us by hairyfeet · · Score: 1

      Bullshit .NET is a LOT more obtuse than VB6, just go to Wikipedia and compare the Hello World programs of the two languages. VB.NET is just another clusterfuck from Balmer, another hamfisted way of trying to force a language nobody wanted onto the world by grafting it onto something people DID want and just like Metro its bloated, badly laid out, and is worse in every way than what came before it.

      Sorry but there is a reason why years after VB.NET that VB6 was still the #3 business language and VB.NET wasn't even in the top 5, its because .NET sucks.

      --
      ACs don't waste your time replying, your posts are never seen by me.
    86. Re:For the rest of us by Anonymous Coward · · Score: 0

      I had the pleasure of access to and use of an Amiga 1000 in '86. It hosted many of my firsts in computing:

      First use of a graphical interface

      Er, Mac was 1984. Xerox Alto was before that.

    87. Re:For the rest of us by Anonymous Coward · · Score: 0

      Scratch that, I just re-read it and noticed you said "my firsts". My apologies.

    88. Re:For the rest of us by hawk · · Score: 1

      Uhm, how is this different since any other microsoft product since MBASIC 5???

      hawk

    89. Re:For the rest of us by awshidahak · · Score: 1

      You're not modding anything with comments like that!

  2. Uh... have you even heard of LiveCode? by Anonymous Coward · · Score: 5, Informative

    LiveCode is free, supports Mac, Windows, Linux, iOS, and Android. Best of all, it speaks HyperTalk, plus has more flexibility HyperTalk didn't.

    I've moved on from wanting HyperCard, to using LiveCode.

  3. VPRI by K.+S.+Kyosuke · · Score: 1

    Obligatory - smart people have been working on it for quite some time. (Although admittedly, their main goal is to prove that common personal computing is ultimately squashable into 20 kLOCs.)

    --
    Ezekiel 23:20
  4. No. by Anonymous Coward · · Score: 0

    No it's not.

  5. Uh... haven't you heard of LiveCode? by Anonymous Coward · · Score: 2, Informative

    I learned on HyperCard, so I know your pain. I still use HyperCard daily at work.

    However, many years ago I discovered Runtime Revolution, a commercial product that is effectively what HyperCard should have been. Recently it's been released freely as LiveCode. Check it out. Runs on anything you'd want it to (Mac, Linux, Windows, etc.).

  6. Great idea by cdwiegand · · Score: 3, Interesting

    I learned to program with both BASIC and HyperCard, depending on which machine I was on at the time, back when I was younger. I think it's a great idea. I built simple "database" simulations, using nothing more than the free stuff that came with it, and it helped to mold my initial approach to programming. I even created a testing program we used at my high school for a couple of my teachers that was ran over a network. It was fun AND useful.

    --
    . Define sqrt(x) as something really evil like (x / rand()), and bury it deep. Watch your coworkers go nuts.
  7. ETLA AFU by smittyoneeach · · Score: 1

    APL, FYI. HAND.

    --
    Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
    1. Re:ETLA AFU by K.+S.+Kyosuke · · Score: 2

      APL is quite domain-specific. The guys I mentioned are basically working on metalanguages, in order to allow them to describe application domains as succinctly as possible. By way of example, APL could be one specific instance of a result of applying their methods to one specific domain, whereas they're focused on providing the tools for you to do that for an arbitrary domain you're confronted with. In fact, this is their second most recent published paper.

      --
      Ezekiel 23:20
  8. What about Livecode? by Anonymous Coward · · Score: 0

    There is a more or less successor of Hypercard called Livecode. Its open source and work on many devices.

  9. Recreating Hypercard? by Midnight+Thunder · · Score: 1

    I have seen some attempts to r creating HyperCard, but nothing really seems to have come of them. If there are any successful or fully functioning open source equivalents I would be interested in knowing about them.

    I used HyperCard a bit and in certain ways the closest equivalent is something like PowerPoint or Keynote, though even with them there I a huge gap with HyperCard did. I wonder whether Apple could recreate a 21st century HyperCard, but using Keynote as a basis?

    --
    Jumpstart the tartan drive.
    1. Re:Recreating Hypercard? by jbolden · · Score: 2
  10. I agree. by Anonymous Coward · · Score: 0

    Years after using hypercard i developed software for a few years, but without something as easy and quick-to-product as hypercard, i am not sure i would have learned real languages

  11. Not exactly the same, but... by Anonymous Coward · · Score: 0

    I wish there was an open source project similar to Quickbase (http://quickbase.intuit.com/).

    I worked at a large company that used this extensively, and it fit that "computing for the people" niche. When non-technical departments in the company needed a simple application, they were able to do it on their own.

    There was a free, but not open source tool for a while that was close to Quickbase, called DabbleDB. Unfortunately, it was bought by Twitter, then shuttered.

    I have since seen some attempts to make something similar, but they always missed the mark by either being too hard to understand, or not flexible enough to be more than a spreadsheet.

  12. ifttt by cosm · · Score: 1

    https://ifttt.com/ Check it out.

    --
    'We are trying to prove ourselves wrong as quickly as possible, because only in that way can we find progress.' RPF
  13. Google Wave by gjh · · Score: 1

    I've felt the same way for years. I had high hopes for Google Wave to fill the gap.

    It's not the same thing, and scripting for end users would not have been the same, but we don't need a direct replacement. We need:

    - Web based, cloud based.
    - Multi screen sized, flowable
    - The card stack model from HyperCard was GOOD for naive use - and perfectly carried into Google Wave
    - Simple scripting, but probably JavaScript not HyperTalk

    In fact, my ideal system is somewhere in the middle of Wave, HyperCard, Lotus Notes, XSLT or similar and the web.

    - Document templates that can be filled in. Let's get rid of MS Word and have more structured docs, but in a way that hobby developers can cope with.
    - Effective visual editing of templates; HTML template editing but much more like a good UI editor,
    - Somehow remove all the complexity from the scripting of events... HyperCard WAS good at this!!

    I'm not going to mention SharePoint. MicroSoft NEVER understood groupware!

    1. Re:Google Wave by mcgrew · · Score: 1

      Effective visual editing of templates; HTML template editing but much more like a good UI editor

      I've always used a text editor for HTML since automation always seemed to produce bloated, unreadable (if not edited by hand) garbage, whether AOL's, Netscape's, Front Page, Word Perfect, or Word.

      However, I discovered recently that you can get very good HTML from Open Office, but the way to go about it is really convoluted thanks to Oo's retarded menu structure. Under "file" towards the bottom of the list, nowhere near "export" where it should be, is "view in browser". Saving the web page from FoxPro produces excellent, readable HTML. However, I didn't run it through the WC3's HTML validator.

    2. Re:Google Wave by thogard · · Score: 1

      Google Wave was some very interesting technology but I think it was pointed in the wrong direction. It wasn't ever considered as a way for the Internet of Things to talk to each other in a reasonable way and everything Google did with it was around pushing it in front of people, not devices. There might have been a time where the terms of service didn't allow devices to communicate using it for message passing.

      Language development these days seems to have stalled around a few specific areas which are separated by the family trees of the languages. There were plenty of languages from the past that excelled in one area or another that is often difficult or every inefficient with more modern architectures. Many of the 4th generation languages had some very cleaver ideas. Even new languages like go don't help with a major problem because there is no base type for money so programmers are left to their own devices and end up with floating point issues or just using cents or even worse problems because of the underlying hacks.

  14. No, it's not time to do that. by Anonymous Coward · · Score: 5, Insightful

    So we shouldn't have easy-to-use tools for people to LEARN how to program? Or for people (including kids) who never thought about programming, but took interest in it only after writing some software using an easy-to-use tool?

    I started using HyperCard in 1990, in grade 9 after-school computer class. I loved it. I've been writing code ever since.

    Get off your high-and-mighty "professionals are the only ones who can do things" box. Just because you might have a degree, doesn't mean you know your face from your ass when it comes to code compared to some there people who don't. Just sayin'.

  15. Nothing like it? by Anonymous Coward · · Score: 0

    False. There is something exactly like it and which has exceeded it. It's called Livecode. It offers the same stack/card philosophy as Hypercard, the same basic interpreted language as Hypercard, and things written in it can be deployed on Mac, PC, Linux, iOS, Android, and soon HTML5. Did I mention there was a Community version that was 100% free? (Created via kickstarter) It offers plug-ins for greater functionality, like animation and spell checking... I could go on.

    Livecode.com

    Current version 7, check it out.

  16. Software industry has completely failed... by Anonymous Coward · · Score: 0

    Great insightful article.

    I'm a SE and recently I bought a laptop to gift with Windows 8.1 - but it could be anything; iMac, Linux, etc.

    I wanted to simple do something cute like "Happy Birthday" etc. in line with the technology available, but no
    offering available provides the tools to eloquently do this. It can be done, but it's not trivial and requires a level
    of expertise not available to the average consumer. IApple purposely blocks apps that implement a language
    due to self-competition, but there's no excuse for MS and Linux to do so

    35+ years of software and it's still largely in the realm of geeks... Sad.

    1. Re:Software industry has completely failed... by PPH · · Score: 1

      I wanted to simple do something cute like "Happy Birthday"

      #!/bin/bash
      echo "Happy Birthday"

      You can thank me later.

      --
      Have gnu, will travel.
    2. Re: Software industry has completely failed... by Anonymous Coward · · Score: 0

      What are these myriad languages that Apple blocks from using on your machine to write your own programs ?

    3. Re:Software industry has completely failed... by rochrist · · Score: 1

      Fails the Cute Test.

    4. Re:Software industry has completely failed... by Anonymous Coward · · Score: 0

      He said he's on Windows 8.1 thus your solution doesn't work. Another COMPLETE SE failure. You failed to understand his stated requirements, delivered an unworkable solution with no documentation on how to get it working (put into a text file, make executable, etc...), and acted like a holier-than-thou prick. You're exactly what's wrong with this industry and more specifically, the FOSS community.

      A much better solution would have been a HTML Happy Birthday paragraph. That would have met all of the grandparent's stated requirements as it requires no additional dependices than what's built into 8.1 and web dev is modern. The grandparent (GP) is also a bad SE if he/she can't figure out how to create a simple program in any language. Have they learned anything to justify the SE title? A complete computer novice would open up Word and type "Happy Birthday" in larger letters. I'm saddened that a computer noob would perform better than someone claiming to be a Software Engineer. An Office user would do it in PowerPoint with fancy animations. Another solution would be to do it in Paint and set the image as the desktop background. I know a 4 year old who draws pictures like that. Hell, does Windows still support active desktop? Do an animated HTML page and set it as the background (or even the browser's home page).

      Millions of years of evolution and idiots still don't know they're idiots. SE person, get your head out of your books and learn to use the tools around you. You're going to spend most of your working life doing just that. A 4 year old can leave a better Happy Birthday message than you can and he doesn't even know he's using Windows.

      WTF?

  17. Hypercard continues by Anonymous Coward · · Score: 0

    Google Livecode. Livecode is a multi platform programming tool developed in Edinburgh Scotland.

  18. Not exactly the same, but... by Anonymous Coward · · Score: 0

    Occurs to me it's hard to explain what Quickbase is without an example. Because of that, many people assume it's a project management app, or a crm tool, etc. It's not. You can make either of those with it, or other things...

    Browsing their catalog of prebuilt apps is probably the best way to get the gist of it...

    http://quickbase.intuit.com/exchange/client-services-call-log/289 - a customer call log
    http://quickbase.intuit.com/exchange/abc-legal-case-manager/474 - case management for a law firm

    I guess this probably sounds like an ad, but it's not. Where Quickbase falls apart is their licensing. The cost is per user, which is fine, but then they also cap the number of applications you can have...which totally defeats the purpose of allowing end users to create their own applications. You can, of course, raise the cap, but the pricing gets out of control.

  19. ifttt by Anonymous Coward · · Score: 0

    Very cool, but limited to event oriented problems that don't need an app-specific UI.

  20. Its built in language is called "Grundle"? by Anonymous Coward · · Score: 3, Interesting

    I'm intrigued by the idea of LiveCode, but are you serious about its built-in language being called "Grundle"?

    I can't go to my boss and suggest the use of LiveCode if it has a name like that. For anyone who doesn't know, grundle refers to the area between a man's anus and scrotum.

    The Coq Proof Assistant project has a similar problem. This software would be seriously useful at work, but we can't be sitting in meetings with passersby hearing us saying what they hear as cock (as in a long, thick, throbbing penis) for hours on end. We also can't go to customers and say stuff that they'd hear like, "Don't worry, our cock has verified it."

    1. Re:Its built in language is called "Grundle"? by Anonymous Coward · · Score: 0

      You're American and Americans love TLA's right?

      Just call it the CPA and move on to use it?

    2. Re:Its built in language is called "Grundle"? by Anonymous Coward · · Score: 0

      Yeah...if your "boss" that you don't actually have is obsessed with the sexual slang of a bunch of kids on their recess break...you deserve every second of that shitty job. As for your other stupid, juvenile concerns...were you aware that Coq is actually pronounced the same was as "Coke" is? Furthermore, if you were stupid enough of a fuck to say "don't worry, our cock has verified it" to a customer rather than "our proof assistant has verified it," aren't you the one with the real problem?

      Maybe you and your fantasy "boss" just need to grow the fuck up. Terms on UrbanDictionary are about as accurate as throwing darts at a dictionary and coming up with some sexual slang for whatever you hit, half the shit there is made up and you're apparently using it as a sleight against a programming language you've probably never used.

      TL;DR: you're an immature little shitwipe.

    3. Re:Its built in language is called "Grundle"? by zippthorne · · Score: 1

      Then pronounce it Coke instead. English is pretty malleable, so if the pronunciation catches on, it'll be the right one. There is a lot of history of the sounds of words diverging from their spelling. I mean, seriously, draught is pronounced draft? WTH? How am I supposed to remember that after drinking a few of them.

      Also, please see the pronunciation of Coq au vin

      In fact, given that they're both french, are you sure that you've been pronouncing it right all this time?

      --
      Can you be Even More Awesome?!
    4. Re:Its built in language is called "Grundle"? by Anonymous Coward · · Score: 0

      Livecode's language is in the Hypertalk family. Whoever told you or wherever you read that the language is called Grundle is yanking your chain. It never has been or ever will be called Grundle.

      If you plan to sell Livecode to your company as a viable development environment, you will get nowhere by tellign them which language it uses. People who ask that question are basically asking, "Is it C or Java?" When they hear, "Neither" the response will be, "Oh crap I don't want to have to learn another language!" and will pooh pooh the whole thing.

      The better approach is to download the *FREE* public version, then play around with it and produce some utility application that solves some standing problem your company is using. Then demonstrate it to the CIO or someone similar. Then tell them how long it took to produce your application and watch the head of development scoff and squirm and cringe because to do the same thing in Java would have taken how 5 times as long.

    5. Re:Its built in language is called "Grundle"? by Anonymous Coward · · Score: 0

      I'm intrigued by the idea of LiveCode, but are you serious about its built-in language being called "Grundle"?

      I can't go to my boss and suggest the use of LiveCode if it has a name like that.

      No one calls the language Grundle. Is this some sort of internet meme joke?

  21. Re:No, it's not time to do that. by nukenerd · · Score: 1

    We don't need more average or low-end hobbyists writing software. ... When these amateurs try to write code in any sort of a business or professional setting, it usually ends up being the IT department or professional software developers who get to maintain the crap code in the end

    I did not think this is about writing enterprise software. Where I work the system is so locked down that you could not write anything yourself anyway. Even before it was locked down, there was no way that IT would have taken over code not written outside their Dept.

    When personal computers first came out they were all about the user programming it themselves. I still have some old handbooks that came with computers then (they were well written) and they were straight on to programming (in BASIC, or OPL in the case of the Psion hand-held I once had). These were easy and satisfying languages to use for what they were intended. For eg the Psion I wrote programs to keep score in Scrabble, "throw" dice, keep track of my bank balance, and such like. That is what this is about.

  22. dupe.. no, trip..., no... by cellocgw · · Score: 1, Funny

    This opinion gets written up at least once a year. Nothing's new this time around.

    Except..

    Now we have a viable alternative to Hypercard: the Brainfuck programming language.

    You can thank me later.

    --
    https://app.box.com/WitthoftResume Code: https://github.com/cellocgw
    1. Re:dupe.. no, trip..., no... by Anonymous Coward · · Score: 0

      Brainfuck programming language.

      Yeah, just imagine this conversation:

      Parent: "What did you do in school today?"
      Kid: "Oh we learned how to brainfuck!"

  23. doesnt work by Charliemopps · · Score: 3, Informative

    I've used these sorts of things extensively before. They all fail for the same reason.

    Programmers often assume that the hard part of programing is the obscure syntax of languages, because to them when learning a new language, that's what's hard. And while yes, the syntax is difficult at first, the novice does get it eventually. The real problem with the novice is often the counter-intuitive logic often presented in programming.

    For example, take the typical problem of "If they chose Yes, I don't want the program to do X. But if they don't, I do what them to do X"
    The novice often has a hard time even articulating that condition in the English language, much less a programming one. How would simplifying the syntax make it any easier?
    The solution to a programmer is simple: If "yes" then X
    and the novice asks in alarm "Greater than or less than?!!? WHAT?"

    So then you have your "easy" programming language that's similar to English. That's great, how do you articulate that previous statement in that language now? It's not any easier. On top of that, because you've dumbed down the language to make it more user friendly, you've likely also taken away a lot of its power. The archaic syntax of languages is often for a very good reason. And when that user does start to get somewhere, they'll end up in a forum asking how to do it, and the programmers will flat out tell them the logic at which point they'll find out that they can't apply that logic because of the simplified syntax.

    If you're just starting out, I'd recommend this: http://www.autohotkey.com/
    The syntax is about as user friendly as you'll ever get.
    You can write the applications in notepad
    You don't even have to compile them if you don't want to.
    It can do just about anything any major language can.

    1. Re:doesnt work by tomhath · · Score: 2

      .For example, take the typical problem of "If they chose Yes, I don't want the program to do X. But if they don't, I do what them to do X"

      ...

      The solution to a programmer is simple: If "yes" then X

      Shouldn't it be: If "Yes" then pass else do X"? Buggy code indeed.

    2. Re:doesnt work by Anonymous Coward · · Score: 0

      Yeah, I was distracted by the fact that we wanted IF NOT "yes" THEN X.

      That said, isn't Python pretty simple to read and not bad to write in?

    3. Re:doesnt work by west · · Score: 1

      Exactly this. Writing non-ambiguous instructions in English (or any human language) is ridiculously difficult, and attempts to do so end up (not surprisingly) in legalese, which is often harder to understand than a programming language with a decent syntax.

      Natural language programming is pretty much an oxymoron, because there's almost nothing natural about programming (with respect to human beings).

      Over the years I've come to hate tools that pretend to management that you can essentially program without actually having to pay an expensive programmer. Inevitably, it ends up with a programmer having to work with a set of tools that are inferior in every way doing programming.

      Okay, *almost* inevitably.

      The *only* thing that natural language programming languages are good for (and I suppose this isn't entirely negligible) is discovering people who are natural programmers, but were scared away because of syntax and a "programming is magic/difficult" mindset. I've pushed a few people to learn programming when their natural talent became obvious despite a "I could never program" mindset sitting in front of thousands of lines of "not a program". It was almost painful to see how hard they had to work to push these tools to the sort of beautiful results that they did.

    4. Re:doesnt work by TeknoHog · · Score: 1

      because you've dumbed down the language to make it more user friendly, you've likely also taken away a lot of its power. The archaic syntax of languages is often for a very good reason.

      IMHO, good languages are fairly terse, because they allow you to see a bigger picture at a glance. Mathematics has plenty of examples of this -- you often devise some ad hoc notations to make a complicated problem easier to visualize. In programming, the obvious equivalent would probably be functions and classes etc. but it helps if the language is not too verbose to begin with.

      --
      Escher was the first MC and Giger invented the HR department.
    5. Re:doesnt work by Charliemopps · · Score: 1

      .For example, take the typical problem of "If they chose Yes, I don't want the program to do X. But if they don't, I do what them to do X"

      ...

      The solution to a programmer is simple: If "yes" then X

      Shouldn't it be: If "Yes" then pass else do X"? Buggy code indeed.

      Slashdot filtered out my code... sorry.
      there are supposed to be "greater than / Less than" symbols in there.

    6. Re:doesnt work by jbolden · · Score: 1

      Reading below you wanted greater than / less than. That's obscure syntax. How about
      If answer is not "yes" then do X

      which is COBOL.

    7. Re:doesnt work by jbolden · · Score: 1

      I have to say the getting people in the door thing is pretty cool. I always like to give this example. My doesn't-know-how-to-program wife wrote herself a custom device driver in AppleTalk without even knowing what a device driver is or what one does. That's success.

    8. Re:doesnt work by Oligonicella · · Score: 1

      "If they chose Yes, I don't want the program to do X. But if they don't, I do what them to do X"

      Wow. That may be a typical problem but it's sure's hell not the typical way of stating it. I would have stated it as "If they don't chose Yes, I want them to do X." You sir, cluttered the problem statement with unnecessary verbiage.

      So then you have your "easy" programming language that's similar to English. That's great, how do you articulate that previous statement in that language now? It's not any easier.

      Answered above and, yes it is.

    9. Re:doesnt work by Oligonicella · · Score: 2

      Use the preview: < > or !=. (Just in case, that does display in preview.)

    10. Re:doesnt work by Oligonicella · · Score: 1

      I should have used the preview on the blockquote.

    11. Re:doesnt work by west · · Score: 1

      A device driver??!?

      That *is* success :-).

    12. Re:doesnt work by Spy+Handler · · Score: 1

      If you're just starting out, I'd recommend this: http://www.autohotkey.com/
      The syntax is about as user friendly as you'll ever get.
      You can write the applications in notepad
      You don't even have to compile them if you don't want to.
      It can do just about anything any major language can.

      What?? Really?

      I used autohotkey before to make automate some keystrokes for leveling up in an online game (power leveling bot). But I had no idea it was a full featured programming language.

      You mean to say AHK can access databases and serve up web pages and stuff??

    13. Re:doesnt work by jbolden · · Score: 1

      Yes a device driver. She wanted a transcription foot pedal so she tied various foot pedal actions (think something like a mouse you use with your feet) directly to QuickTime regardless of the currently active application. Totally breaks the paradigm of active application gets input (keyboard, mouse...) that's a custom device driver.

    14. Re:doesnt work by Anonymous Coward · · Score: 0

      The notion that an easier language makes it difficult or impossible to say certain things is patently absurd. That would have to mean that the Spanish cannot say things that the Chineese can (or vis versa if you please). I call bull puckey.

      How about:
      if myVar is "test" then
      if myVar = "test" then -- same thing
      if myvar contains "test" then
      if "test is among the lines of myvar then

      or any number of other ways of saying it that another programmer can come along without having memorized scads of special characters that mean what they are trying to say.

      Then you can have esle followed by the conditions you please. Wanna reverse the condition?
      if not (myVar is "test") then -- the parens are optional
      of myVar is not "test" -- same thing, your choice

      and if you want multiple if statements grouped together
      else if char -3 to -1 of myVar = "est" then -- string as many of these together as you like.

      Or how about a switch statement:
      switch myVar
      case "test"
      break
      dosomething
      case "test2"
      dosomethingelse
      case "testall"
      doeverythingelse
      end case

      Anyone here not understand that without ever having had to study the Hypertalk syntax? Then you shouldn't be a developer. Plain and simple.

      The real point here is that in order to communicate with a complex language you first need to study that language and master it before you can try to communicate using it. This is what stops most casual developers (and experienced ones too when a new language comes out). With Hypertalk using Livecode a casual (and experienced) developer can read someone elses example code and get it right away.

      Also, in Livecode you do not have to build the UI from the ground up. A myriad of field and table objects, as well as buttons and menus of all types are a simple drag and drop away from your form.

      Finally, there is no variable typing and very limited scoping. Some will call this a shortcoming, but my old experience in dBase development taught me to maintain unique variable names and to keep track of them, so I do not have problems along this line. Also, variables belong to the command or function that creates them, unless explicitly stated otherwise. It's very difficult to step on your own variable weenie.

      These any many other features cut development time in half or better. (Some who also develop in "complex" languages like C and Java have claimed up to 5 times faster but let's not get too excited.)

    15. Re:doesnt work by Anonymous Coward · · Score: 0

      whoops should be:

      Or how about a switch statement:
      switch myVar
          case "test"
              dosomething
              break
          case "test2"
              dosomethingelse
              -- no break means the execution falls through to the next case
          case "testall"
              doeverythingelse
      end case

  24. Project Siena by timmyd · · Score: 3, Informative

    Well this might not be for Mac users, Microsoft Project Siena might be a useful option for people on the Windows platform. http://www.microsoft.com/en-us...

  25. Re:Uh... have you even heard of LiveCode? by BitZtream · · Score: 1

    This 'story' is just a copy/paste from Ars Technica used to get the submitters URL/username on the front page of slashdot.

    --
    Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
  26. Not exactly the same, but... by risht · · Score: 1

    Thingamy seems to have a similar goal, but appears to be targeted only for large user base purchases. Sad, as the background material seems well thought out. http://www.thingamy.com/

  27. Re:No, it's not time to do that. by gestalt_n_pepper · · Score: 5, Informative

    Obviously, you've never had to hire CS graduates.

    I can't tell you how many of these bozos who've learned in a "formal" setting can barely manage a coherent if/then statement, much less successfully complete even a small in-house application.

    Granted, most of the self-taught crowd is weak on specialized algorithms and data structures. On the good side, self motivated autodidacts rarely have trouble picking this up, when necessary. CS grads seem to need a professor, hand-holding and a cookie in order to learn anything new.

    --
    Please do not read this sig. Thank you.
  28. Yes by Anonymous Coward · · Score: 0

    The 2004 time frame coincides with the switch to Intel. If Hypercard were recompiled for Intel and AMD it could be provided as a free tool similar to Xcode. It seems a shame to dispose of such a well developed code base.

  29. SuperCard by shubus · · Score: 4, Informative

    We already have a pretty nice 3rd party product called SuperCard which is very compatible with Hypercard. At $279 its not getting much traction. Apple should buy this product and ship it free with every Mac.

    1. Re:SuperCard by Anonymous Coward · · Score: 0

      I was going to say the same thing. I worked with an earlier version of SuperCard and found it very capable. Granted, $280 is a bit much to pay for it.

    2. Re:SuperCard by tepples · · Score: 1

      Sure, you can use a SuperCard to get your programs onto a Game Boy Advance or Nintendo DS, but how do you make the programs in the first place without deep knowledge of C and tiled graphics?

    3. Re:SuperCard by shubus · · Score: 1

      Good point: I used HyperCard to manipulate information not to create games. Objectives vary.

    4. Re:SuperCard by Anonymous Coward · · Score: 0

      As someone that has used SuperCard, fuck SuperCard. You can't even undo mistakes you make: you can only revert all changes to the card, or completely delete an object you mess up.

    5. Re:SuperCard by Anonymous Coward · · Score: 0

      Apple will be satisfied pumping Swift, right now.

  30. Writing code is not the challenge by Opportunist · · Score: 3, Insightful

    It's fairly trivial to learn a language at a decent level. We have a lot of languages that abstract away all the "hard" stuff like OS interaction and memory management. Take Java. Take C#. There is literally an object for EVERYTHING you could possibly ponder doing. You dump some values into that blackbox, it does its magic and presto, result.

    The hard part of creating software is designing it. And no environment can take that part out of your hands. There is simply no way some piece of software could magically read your mind and produce it.

    --
    We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    1. Re:Writing code is not the challenge by Tom · · Score: 1

      It's fairly trivial to learn a language at a decent level.

      I assume you're already fluent in several. That's the trick why it appears easy. I know about a dozen programming languages, and for some bullshit reason needed to learn some Racket recently. Even though I never heard about it before, and have never written code in Scheme or LISP before, it took me one hour to have the first non-trivial program running and a day to do useful stuff.

      But, I've also seen how people struggle with simple, friendly, idiot-proof things like Java when it's their first or second programming language. It really isn't that easy if you don't have all the experience from other languages that you can transfer. People who are learning Java, even after one or two weeks they need an hour or so to write code that will probably take you and me roughly the time it takes to type it in.

      Programming is difficult, if you're not a programmer already.

      --
      Assorted stuff I do sometimes: Lemuria.org
    2. Re:Writing code is not the challenge by K.+S.+Kyosuke · · Score: 1

      Coincidentally, the Racket people are writing HtDP, 2nd edition right now. That at least partly addresses the problems many people, especially beginners, have with the basics of design.

      --
      Ezekiel 23:20
    3. Re:Writing code is not the challenge by Tom · · Score: 1

      Frankly speaking, Racket is a steaming pile of horse manure, and the sooner I don't have to ever touch it again, the better.

      And I say that as someone who likes the concept of LISP.

      --
      Assorted stuff I do sometimes: Lemuria.org
    4. Re:Writing code is not the challenge by K.+S.+Kyosuke · · Score: 1

      Any particular technical argument? :-) Not that I would vigorously defend Racket, mind you; for a language derived from one that is hell-bent on unifying concepts (namely Scheme), the way in it duplicates concepts again (for example, by including a manifestly typed sublanguage despite already-present contracts, and a message passing object system despite the perfectly obvious option of adding generic functions) makes me very puzzled. BTW, what exactly did you need it for?

      --
      Ezekiel 23:20
    5. Re:Writing code is not the challenge by Tom · · Score: 1

      I don't actually need it for anything, that's probably one reason for my dislike. I just had to learn it for a project I'm involved in.

      There are no actual technical arguments, because I haven't dug in that deep. But from the very beginning the fact that you can do the same simple thing in three different ways, one of them for historical reasons and one simple because shows weak language design. The fact that you need to simply know so many idiosyncrasies (like if requiring an else but failing silently if you leave it out, or that any term that's not #f always evaluates to true, unlike in basically every other programming language ever) drives me crazy and also hints and unfinished design. And finally the strange mixture of being strict but not really, like runtime type-checking on strictly typed variables, or the fact that they have defined inexact-integer as a datatype, which is just completely bollocks, just drives me crazy. Especially because while their language is anal retentive about exact and inexact, their documentation doesn't give a fuck and will tell you that, for example, you get an integer back from round, but only by knowing or experimenting you can figure out that it's an inexact integer, which you can't use to get an entry from a list because you need an exact integer for that. All put together, these and a hundred other details tell me that the people who designed this language didn't mean for it to be actually useful, they were scratching some theoretical academic itch. To me, the fact that you can nicely calculate even abstruse series in three lines of code, but fetching a specific item from a list based on a calculation you've done requires two type changes is a good hint at where their minds were.

      I think I started to rant somewhere in there, sorry.

      --
      Assorted stuff I do sometimes: Lemuria.org
    6. Re:Writing code is not the challenge by K.+S.+Kyosuke · · Score: 1

      There are no actual technical arguments, because I haven't dug in that deep. But from the very beginning the fact that you can do the same simple thing in three different ways, one of them for historical reasons and one simple because shows weak language design.

      You'd have to elaborate on that, because this is pretty vague. Modern Scheme indeed still does a few things for historical reasons, but I haven't noticed anything that I'd considered a major issue. In fact, Scheme as such arose precisely to throw away the major weakly-designed historical features in early Lisps (such as implicit dynamic scope), and, in the eyes of many people, it fared splendidly in doing so.

      The fact that you need to simply know so many idiosyncrasies (like if requiring an else but failing silently if you leave it out, or that any term that's not #f always evaluates to true, unlike in basically every other programming language ever) drives me crazy and also hints and unfinished design.

      Yep, the IF syntax without an alternate could perhaps confuse people. Most likely the reason for that was that after Lisp ceased to be a purely functional language fairly early on, IF came to be used for side-effecting. That meant that you didn't need to use the alternate clause.

      Now in Common Lisp, this eventually came to be a matter of style: you use IF for conditional expressions, for which it is eminently suitable because it always returns a value (and you never omit the alternate clause); and you use the WHEN macro for the occasional side-effecting, for which it is equally eminently suitable because of its implicit PROGN.

      In Scheme, if you absolutely have to do this (side-effecting is generally not encouraged in Scheme anyway, as far as I'm concerned), you'd use (IF <condition> (BEGIN <statement&gt ...)) for such situations. I presume one could use some form of static analysis to hint at problematic spots where the alternate is missing but the consequent doesn't contain a BEGIN, but since you're supposed to indent your code in a uniform way anyway - if the subclauses are forms, both will be on separate lines - such spots should be immediately obvious to any Scheme programmer. I find it peculiar that one should run into problems with that.

      The fact that #f is the only thing that evaluates as false is often useful. Unless you want to go through algebraic datatypes, it's a simple way of having a union of any multi-valued data type and a unitary value for failure. I'm pretty sure Scheme is hardly the only language that has something similar - SQL does this with NIL (although there's a strong argument that a relational language is exactly one that shouldn't have this feature, but they included it anyway - go figure!), Lua returns nil for values not defined in tables, etc. Common Lisp - and other lisps - use NIL for the same purpose, but then again, COMMON LISP does not have a dedicated boolean type, even if it has a dedicated constant T that serves as the canonical true value (in the type system, T also serves as the top type, whereas NIL serves as the bottom type, forming a nice lattice of sorts).

      In fact, the #f situation is a rectification of the problem of NIL in Common Lisp: Not only is NIL the false value, but it's also the same thing as the empty list (it's basically a unitary value, all three of NIL, () and '() evaluate to the same value), which turned out to be problematic because if you want a function that returns either a list or a failure (which seems quite common), save for conditions (which may not be worth the cruft and often isn't desirable anyway, since the failure may be a perfectly common situation) or multiple return values, you can't distinguish between the empty list and a false value and have to use a unitary value of your own. Scheme rectifies this, and I'm not aware of Schemers having actual problems with that arrangement.

      There are multiple languages that I'm aware of

      --
      Ezekiel 23:20
  31. Sounds Kind Of Like Jmeter by Greyfox · · Score: 1
    I worked on testing with Jmeter a while back and Hypercard sounds pretty similar to it. It basically just holds a tree of mementos, which it serializes to XML for storage. They've more or less implemented an entire visual programming language with branching and looping, database and web page access. It's also easy enough to add new functionality to it by implementing a new java class.

    The problems are that all variables are global and there's not a good way to create a function for it. It's not designed as a visual programming language but as a simple way to put together a bunch of simple tests that don't need to reuse a lot between them. If you want to share the code that logs into your web page every time, the easiest way to do that is cut and paste. Then you have to change 80 copies of it if you ever update that code. They were working on improving that situation last time I looked at it. You wouldn't ever want to use it to accomplish work in a production environment, but you probably would never want to use Hypercard to accomplish work in a production environment. Some people probably DID do that, but you wouldn't want to.

    The problem with creating something like Hypercard is that it's very hard to hit that sweet spot where it's easy enough for non-programmers to use while being powerful (and secure) enough to be useful. Whenever people get their hands on something like that, they tend to start working around its deficiencies to accomplish their goals. You end up spending more time working around the deficiencies in the environment than you would have if you'd just written the application in a real programming language to begin with. There was quite a lot of THAT going on in the late 80s early 90s, too.

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

  32. No, it's not time to do that. by Anonymous Coward · · Score: 0

    I think you're trolling, but free expression is great. That said, you're out of touch with the last decade.

    Please troll better.

  33. Was there a gap? by nashv · · Score: 1

    Wasn't that the idea behind Visual Basic, the users could write their own little functional pieces of code. This is why VBS macros exist in Microsoft Office and Windows.

    --
    Entia non sunt multiplicanda praeter necessitatem.
  34. I got an A+ with Hypercard by ichabod801 · · Score: 2

    I programmed Hypercard a lot in middle/high school in the mid 80s. I got to college and was taking an AI course using Lisp, and was working on a reinforcement learning assignment. I had a bug in my program I couldn't track down. The smartest guy in the class sat next to me and he couldn't figure out the bug. Neither of the two TAs for the class could figure out the bug. I rewrote it from scratch and still had the bug. At one point I said "If I was working in Hypercard, I know how I could solve this." The smartest guy in the class said "That's crazy." The TA who was helping me out said "When you're ready to talk seriously about this I'll come back and help you." I went home that night a wrote it in Hypercard and it worked. Slow as all hell (it took 24 hours for one test run), but it worked. It was easy to make nice graphics of the mouse and the maze the assignment was about, which went into the final report. I got 110/A+ on the assignment.

  35. Balance taxes? by pz · · Score: 2

    I've never balanced taxes. Is this a new thing?

    Oh, you mean balance checkbooks and pay taxes. There's much better software to do that these days.

    And there are much better ways to teach programming. For a very long time there has been a movement to bring programming to the masses, as if, somehow, everyone would be able to write beautiful, intricate code to solve their most complex problems. Most people can barely match their clothing (note to the reading-impaired: that was hyperbole); why should we expect them to be able to write code?

    Writing programs requires clear, linear thought. It requires thinking in terms of structures and systems. The push in the greater population has been toward valuing non-linear thought (although that baffles me), so there's a big mismatch to overcome. Yes, there are plenty of graphical programming languages that reduce the need for precise syntax, but they only REDUCE it, not eliminate it, and they still require procedural thinking which, ultimately, presents an insurmountable difficulty for many people.

    Not everyone can or should be a programmer: Not everyone is a writer, Not everyone is a photographer, Not everyone is a painter. Sure, everyone should be given basic skills in writing, and perhaps in drawing or painting as a child, and so perhaps everyone should be given basic skills in programming, but beyond that, why? Not everyone is able to understand calculus; why should we automatically expect that everyone should be able to write Java, Python, or whathaveyou?

    --

    Put my fist through my alarm clock with its ding-dong death inside my ear. - The Blackjacks.
    1. Re:Balance taxes? by K.+S.+Kyosuke · · Score: 1

      Not everyone can or should be a programmer: Not everyone is a writer, Not everyone is a photographer, Not everyone is a painter. Sure, everyone should be given basic skills in writing, and perhaps in drawing or painting as a child, and so perhaps everyone should be given basic skills in programming, but beyond that, why? Not everyone is able to understand calculus; why should we automatically expect that everyone should be able to write Java, Python, or whathaveyou?

      Perhaps people should at least try it seriously on some level so that we could catch some precious talent that would otherwise go to waste.

      --
      Ezekiel 23:20
    2. Re:Balance taxes? by TuringTest · · Score: 1

      And there are much better ways to teach programming. For a very long time there has been a movement to bring programming to the masses, as if, somehow, everyone would be able to write beautiful, intricate code to solve their most complex problems.

      You probably already know how to program, and I think that's why you seem to miss the point entirely. ;-) "Programming for the masses" is like basic literacy/alphabetization, not like formal training in High Literature: its goal is not to solve complex problems with programming tools, just like the point of literacy is not that all people will be able to write poetry. It's that they can manage the very basic, trivial tasks on their own, without having to hire a scribe (for reading and writing) or developer (for programming) to do simple tasks like basic accounting, sending letters, or in the case of programming, building simple automation tasks - like setting an alarm or opening your garage's door when the right circumstances happen. Note how there is no universal system nowadays that the general public could use to create those two trivial examples.

      That niche is mostly served nowadays with apps for phones and tablets, which the end user can discover and use on their own from the app store to solve most common needs; but the developer is not totally removed from the equation yet, as even for really simple needs, the user is restricted to the subset of interactions that developers have created in advance, and the user can't build their own on top of them.

      Writing programs requires clear, linear thought. It requires thinking in terms of structures and systems.

      That's true of most current programming environments, but it's not an inherent property of what we call "programming" if understood in a general sense (that of creating new automated behaviours), specially when we restrict it to the basic tasks I'm talking about. Programming by example, case-based reasoning, procedural inference, constraint-based layouts... or even dexlarative markup languages are tools that allow creating some kinds of automations without using a procedural language nor learning an exact syntax.

      The field of End-user Development studies those tools in a scientific context, and has some achievements in their history. Many of these tools are limited in scope (they apply to special situations) and are not general-purpose tools; but some of these, like the spreadsheet and Hypercard, are Turing machines at their core and can ultimately be used for any programming task.

      The essence of EUD tools is not defined in terms of linear thought but in terms of semantics and inference of meaning - i.e. being able to make sense of the system as presented and use it to solve your current problems. All humans are good at sense-making, provided the tools are tailored to cover their needs and knowledge background. I've learned some research on semiotics applied to Human-computer interaction, and it shows how to study and build such tools. That is not the approach that is taught in common comp-sci curricula, though.

      There are plenty of graphical programming languages that reduce the need for precise syntax, but they only REDUCE it, not eliminate it, and they still require procedural thinking which, ultimately, presents an insurmountable difficulty for many people.

      True again, but again not an insurmountable problem. Information workers have managed to use Excel as a shared database with abstract datatypes and Outlook as a workflow management and collaborative creation tool, and as structured personal storage, all without learning how to create a single function definition. That's a Good Thing, though it would be better if they could use similar tools created specifically for those purposes.

      Sure, everyone should be given basic skills in writing, and perhaps in drawing or painting as a child, and so perhap

      --
      Singularity: a belief in the "God" idea with the "demiurge" relation inverted.
    3. Re:Balance taxes? by narcc · · Score: 1

      Ah, more "programming requires a special mind" bullshit. Back in the 80's, you couldn't throw a rock without hitting a kid under 12 who wrote computer programs as a hobby on their home micro. There were countless children's books on computer programming -- even one mentioned in this thread that changed the life of a young future Slashdotter. That's how difficult it is to learn to program.

      Look, I get it. You only have one skill, and you know how easy it is for others to pick-up. That's scary. The only reason people think you're smart or interesting is that you know how to write computer programs. Why, if we brought programming to the masses, you wouldn't be special.

      When you give non-programmers good tools, they do amazing things. (User jbolden has a cool story about that, which I'd love to hear more about.) You want to stifle that just to protect your ego?

    4. Re:Balance taxes? by weilawei · · Score: 1

      A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects.

      - RAH

  36. Re:That's what college is for! by wonkavader · · Score: 1

    No, that's what trade school is for.

  37. We could probably write this in HTML5 today by Applehu+Akbar · · Score: 1

    But a more relevant question would be: can we devise a building-block language that solves today's real-world problems? Such a language should be (1) capable of solving simple problems easily for general users and (2) allow including complex 'blocks' for those willing to climb the learning curve it would take to include some highly specialized function in one's program.

    1. Re:We could probably write this in HTML5 today by zippthorne · · Score: 1

      So.. you want someone to invent LabVIEW?

      --
      Can you be Even More Awesome?!
    2. Re:We could probably write this in HTML5 today by Applehu+Akbar · · Score: 1

      I've been a geek for so long that I was once an actual LabView user. That was something like what I have in mind, but was too specialized for the lab environment.

    3. Re:We could probably write this in HTML5 today by Ford+Prefect · · Score: 1

      I experienced LabVIEW as part of standard software for a Lego Mindstorms kit. THE HORROR.

      --
      Tedious Bloggy Stuff - hooray?
  38. Re:No, it's not time to do that. by Anonymous Coward · · Score: 0

    The last decade?

    The one where self-taught Ruby on Railers have created slow, bloated monstrosities that make huge Java enterprise apps feel sleek and fast?

    The one where self-taught JavaScriptists have written slow, bloated monstrosities ("responsive web apps", as they like to misleadingly call them) that make Java applets feel sleek and fast?

    Give me the decade before that, when people went to college to learn to program. The software they created was faster, had better UIs, and made us more efficient. It didn't leave us wondering where the fuck our menu bar went, or wondering what the hell some obscure icon is supposed to mean, assuming we don't die of old age before our app finally loads and is usable.

  39. Re:That's what college is for! by methano · · Score: 3, Insightful

    This is nonsense. I learned a little programming back in chemistry undergrad when they decided to use x-ray diffraction calculations to teach us some FORTRAN. I've been programming here and there since. Some of it has even been useful. I wrote a number of HyperCards back in the day and really liked the environment. It was quick and easy to put together a nice little program for specific tasks. There was a low barrier to entry and it was easy to make useful things that you could never find an IT whiz to do for you.

    Here's the problem. It's a lot easier and more likely to happen that a chemist learns a little programming to get a job done than to try to teach chemistry to a programmer and get his management to approve him spending the time. If a project ever gets escalated to where "real' programmers are needed, the scientists can, at least, have realistic expectations and do a better job explaining the problem. I've helped with the design of data models, which greatly lowered a project's complexity, because I knew a lot more about how the data was used.

    I have a good knowledge of my limitations. I now have a pretty good knowledge of yours except that I don't know who you are.

  40. No, it's not time to do that. by Anonymous Coward · · Score: 1

    It wasn't just for beginners. HyperCard was used in the development of Myst.

  41. Re:No, it's not time to do that. by Anonymous Coward · · Score: 0

    Where is the demand? If the demand for this sort of thing was high, there would be several competing products on the market.

    If the people don't want it, you can't make them want it.

  42. Re:No, it's not time to do that. by Anonymous Coward · · Score: 0

    Obviously, you've never had to hire CS graduates.

    I can't tell you how many of these bozos who've learned in a "formal" setting can barely manage a coherent if/then statement, much less successfully complete even a small in-house application.

    They learnt to derive the maths and complexities for various data structures but invariably use linked lists. And when that gets too slow, they start "optimizing", also known as obfuscation, in order to squeeze out 15% from an O(n^2) or worse algorithm, making it much harder to replace it.

    It's about as painful as seeing some material science major twist off screwheads. It's nice knowing the theory, but you need to feel the pain of the laboring iron in your bones if you are actually working in the field.

  43. Re:No, it's not time to do that. by mcgrew · · Score: 3, Insightful

    Professionals with years or even decades of experience have enough trouble writing secure software.

    And just where do these "professionals" who can't write secure software get these years or decades of experience??

    It's even worse when they use "beginner-friendly" languages like PHP, Ruby (with Ruby on Rails), and JavaScript. These languages are totally shit, and end up promoting buggy, insecure code.

    I don't know PHP or Ruby, but javascript is in no way "beginner-friendly". I'd been coding in BASIC, assembly, xBase (various dialects), NOMAD, and a couple I can't remember (I'm getting old) for well over a decade when I needed javascript.

    Javascript is crap. Often useful and necessary crap, but still crap.

    When these amateurs try to write code in any sort of a business or professional setting, it usually ends up being the IT department or professional software developers who get to maintain the crap code in the end.

    It's true that someone who thinks he knows what he's doing but doesn't can really screw a project up, an idiot I worked with who thought he knew dBase almost cost us a ten million dollar Federal grant by removing some columns in some tables in an application I wrote. I was able to make it work anyway.

    Asimov got it right in Foundation; those who know little and are aware of their ignorance aren't dangerous, it's those who think they know but don't that are.

    But I was mostly self-taught, only taking classes after I'd been programming for years, and few of the classes taught me anything I hadn't already learned from reading hundreds of books on the subject and practicing.

    And we can't forget how these half-assed amateurs often start "contributing to" (a.k.a. destroying) open source projects. Thanks to them, we have disasters like GNOME 3, where instead of trying to make efficient, effective software, they just ended up trying to make a shitty, half-assed copy of their warped understanding of OS X.

    It's not that they're shitty programmers, it's that they're shitty designers, and the professionals at Microsoft are no better; Windows 8, anyone? And whose code is the least secure? Yep, your fellow professionals at Microsoft with their warped "understanding" of UI, just like the GNOME devs.

    We shouldn't promote the idea of them getting involved with software development. We should discourage it!

    No, we should develop easier to use tools. The languages and compilers you professionals are writing suck donkey ass.

  44. It is time to revive punch cards by youn · · Score: 1

    _ I had a joke about it but the punch line kind of writes itself
    _ no magnetic stripes so storage should last longer
    _ paper is bio degradable so it is more eco-friendly
    _ we have been too spoiled with code editors

    --
    Never antropomorphize computers, they do not like that :p
  45. 2d game makers seem to be descendants by Anonymous Coward · · Score: 0

    Clickteam fusion and gamr maker seem to have taken much of the general structure of hypercard.

  46. SuperCard by Anonymous Coward · · Score: 0

    I'm impressed they have held on all these years.

  47. Re:No, it's not time to do that. by Anonymous Coward · · Score: 0

    Obviously, you've never had to hire CS graduates.

    Leave the CS graduates alone. You're hiring them, for what? To lower their self-esteem? CLUE: COMPUTER SCIENCE IS NOT COMPUTER PROGRAMMING. You don't hire a mechanical engineer to fix your car, you hire a mechanic. You don't hire computer scientists to code, you hire (I don't know if you've heard of these guys) PROGRAMMERS.

    But I guess sometimes there is good reason to hire a brain surgeon to apply a bandaid.

  48. Being a programmer does not imply.. by Anonymous Coward · · Score: 0

    ..you're any good at logical thinking, and that's the biggest part of the problem.
    Add to that, most languages mix multiple concerns within one context.

    When people ask for "building blocks" they are asking for a system of rigid, predefined, tested methods for the particular domains.

    It's all still a work in progress.
    Anyone who says differently is selling something.

  49. No, context matters. by Rhys · · Score: 1

    I don't want a self-taught developer writing flight control, banking systems, or medical embedded systems code. I'd rather have someone formally trained doing that work. On the other hand, there's plenty of places where if the code doesn't quite work right I don't really care that much. From everything of the once-thriving online text based gaming community (the MUSH, MUCK, MOO, MUX, MUD, etcs) to simple web pages or even stupid phone apps, there's a place for "non-professional" programmers.

    Similarly, there is a place for non-professional carpenters -- my trained-programmer father has made every bookshelf in my folks house, a couple tables, has redone the 2nd story deck multiple times, and redone the roof (structural and laying shingles) on the horse barn on the back of the garage, and a bunch of brio-compatible track for me when I was ~4. He doesn't redo the main house roof (45 deg slope or more -- too steep), nor does he repoint the structural brick exterior (1920s house) or do plumbing when it involves sweating copper.

    He also taught me enough of it (I helped him on most of what I listed above as a teen) that I've done plenty myself; four bookshelves, two desks (one used bookshelves for legs, the other is just an oak plywood surface for a geekdesk base, but stained and varnished a nice deep brown), and one storage cabinet with removable shelves that just happen to be 60x90 LEGO studs in size. Oh and an exterior door on my own 1960s-era house -- that was worlds of fun since while you can order a door and frame to the right opening size, the way houses set doors into the house's wooden structure has changed since my place was built. That was a learning experience (doors are a pain in the ass) and I let professionals have the fun of the next exterior door that needed to be replaced -- who, by the way, cracked the trim worse than I did when they replaced it.

    Its about knowing what you know, what you don't, and what you should (or want to) call in a professional for.

    --
    Slashdot Patriotism: We Support our Dupes!
    1. Re:No, context matters. by Oligonicella · · Score: 1

      The opposite is true as well. I spent two decades in banking and ran across many programmers who couldn't for the life of themselves understand the needs and requirements involved. A programmer without the contextual information is just as dangerous.

    2. Re:No, context matters. by binarylarry · · Score: 1

      Riight because someone who went into massive debt to get a piece of paper is automatically better than someone with hours and hours of practical experience?

      --
      Mod me down, my New Earth Global Warmingist friends!
    3. Re:No, context matters. by gestalt_n_pepper · · Score: 1

      I don't want a self-taught developer writing flight control, banking systems, or medical embedded systems code. I'd rather have someone formally trained doing that work.

      I designed and wrote an automated testing system API for a seismic analysis and visualization software package. 4 people script using my API every day, and another administers the 60 virtual machines that run on the VMWare server environment I designed. She controls and monitors it remotely, using custom remoting software that I wrote.

      I have a degree in psychology.

      --
      Please do not read this sig. Thank you.
    4. Re:No, context matters. by tepples · · Score: 1

      But even more dangerous is a programmer's boss who refuses to explain enough contextual information about requirements when asked. "Just do it how you think it should be done" is fine after the requirements are set, but not before.

    5. Re:No, context matters. by St.Creed · · Score: 1

      It all depends on what they learnt and how they apply it. But I will take any of my former co-students as a programmer, over any self-taught programmer, when I can't judge their work in advance.

      The difference between someone who understands invariants and pre/post conditions for formal correctness verification, even without using it, and someone who has never even heard of the concepts involved, is huge. There are order of magnitude differences in algorithms for certain tasks, and if you don't even know that you can determine that sort of thing (and how) you're a lost case. Datamodelling is another area. Everytime I see programmers abusing the logical model, I cringe. Code first is a bad idea and with formal training you can avoid things like that.

      And I mean, the halting problem. Turing machines. If you don't know Turing machines, you won't understand the implication that at a fundamental level, all computer languages are the same. If you don't know lambda calculus, understanding what Linq does, is much harder.

      Etc. etc.

      Ofcourse, you can have brilliant self-taught people in the field, as in any field. It's just so very rare to encounter competent ones.

      --
      Therefore, by the (faulty) logic you're using, you're just a cow with a keyboard - osu-neko (2604)
  50. Re:No, it's not time to do that. by Anonymous Coward · · Score: 0

    You've been hiring CS grads from the wrong Uni.

  51. Wolfram Language? by Anonymous Coward · · Score: 0

    I have a feeling a new revival of Hypercard would do well having Wolfram Language as its back end.
    It's basically the most powerful thing ever created, and I can't believe it hasn't gotten more attention

  52. Hypercard could have been the internet by Camembert · · Score: 1

    Hypercard was incredible back then. If Apple had thought about integrating it with network features from the beginning, the internet might have looked a lot different.

  53. Re:No, it's not time to do that. by pubwvj · · Score: 1

    Snob.

    Are you really serious.

    Perhaps you're writing satire. Poor quality. Poor taste.

  54. Google Wave by Anonymous Coward · · Score: 0

    It's not the same thing, and scripting for end users would not have been the same, but we don't need a direct replacement. We need:

    - Web based, cloud based.
    - Multi screen sized, flowable
    - The card stack model from HyperCard was GOOD for naive use - and perfectly carried into Google Wave
    - Simple scripting, but probably JavaScript not HyperTalk

    Wrong on all accounts except number 2 and partially number 3.

    Cloud and Web based is ridiculous, the whole point is that the user is not constrained by browser based idiocies, otherwise he could pickup html and javascript. Besides wanting a non pro user to understand javascript is stupid, javascript is probably one of the worst languages to debug.
    The card stack model is good, but hardly anything any basic user wanted locked into google wave.

    So please stop throwing fad words at stuff: the whole web and cloud based fad turned many perfectly good desktop applications into slow and worthless apps.

  55. Hobbyist programmers by CODiNE · · Score: 1

    From my own personal experience I just want to say if you enjoy programming and think maybe you'd like to do it as a career... Go for it.

    Every job type has a certain percentage of workers who are barely skirting by and somehow get paid for it. There's doctors who shouldn't be, lawyers, etc... There's also the elite that truly know what they're doing and are at a much higher level of skill.

    Believe me when I say most programmers are the former.

    The #1 most important thing IMNSHO is a continual desire to learn and improve. If you have that, you may start at the bottom but you will eventually become good or great at it.

    As a hobbyist you already seem to have that, just keep it up.

    Many "professional" developers do copy and paste coding, grabbing chunks of code off stackoverflow and not taking the time to understand them. They don't write test cases for their code, instead they patch it over and over whenever they run into an unexpected condition. Instead of reading through their code to spot the bug, they'll change random parts and attempt to run it over and over until they get lucky... Often leaving some of the unneeded changes in place causing more bugs.

    If you can avoid doing those things, you're probably better than half the guys out there. :-)

    So if you enjoy it, you can do it for a living, and maybe do it well.

    --
    Cwm, fjord-bank glyphs vext quiz
    1. Re:Hobbyist programmers by jemmyw · · Score: 1

      Yes indeed. I've interviewed many programmers, and I would say the majority I've interviewed can't actually write a small program effectively. Many of these are senior and have claimed to have held a team lead position. I can only assume they get by by programming only within a framework filling in the blanks, and with much copy and paste as you say.

      I interviewed someone just last week for a junior position who had some experience. I gave the task of turning a recursive algorithm that parses a tree, into a non-recursive form. This chap could write executing code just fine, without reference, but he just could not figure out the problem. When I gave a prod I thought he might get it, but then, when stuck again, he proceeded to try solving it by moving lines from one place to another. I let him try for 45 minutes!

      So yeah, if you can actually take a problem and write an algorithm to solve it in code then you're one step of ahead of many professional coders. Of course it's not the only important skill, and I've known at least one clever person hired because he was able to solve the tests very quickly, turn out to be not so great at actually producing code. Probably because a lot of programming in a job isn't interesting if it's that type of problem solving that really turns you on.

  56. Re:That's what college is for! by Anonymous Coward · · Score: 0

    False dichotomy. High-quality open literature sufficient to learn the skill well is available for programming. This is not the case for the other skills you mentioned.
    Also, in the strictest sense of the word, "professional" programmers are not professionals, as opposed to doctors, lawyers, accountants, bonded tradesmen, etc.
    If the only requirement to hire someone in your profession is that they are skilled and/or have a degree, it's not a profession, it's a job.

  57. Re:No, it's not time to do that. by Anonymous Coward · · Score: 0

    >Get off your high-and-mighty "professionals are the only ones who can do things" box. Just because you might have a degree, doesn't mean you know your face from your ass when it comes to code compared to some there people who don't. Just sayin'.

    I've seen way more garbage code from those that don't than those that do. Self-taught "programmers" are guilty until proven innocent, if you ask me.

  58. Applescript & Automator? by Anonymous Coward · · Score: 0

    These don't qualify as simple tools to build mini programs?

    1. Re:Applescript & Automator? by Anonymous Coward · · Score: 0

      Automator is a neat piece of technology, and Apple's heart was in the right place, but the first time I saw it demo'd, I said to myself, "Ah, they're trying to enable scripting for people who can't stand code."

      Not that I can blame them-- AppleScript is the worst convoluted flaky abomination of a language I've ever had the displeasure of using. It's like trying to run an obstacle course built out of eggs... one misstep and *crunch*, you're hosed.

      Apple never made good on their promise of a "Programmer's Dialect" for AppleScript, which is a shame, since I think a lot of otherwise competent programmers would have jumped on board if they'd had something sane and familiar to work with.

  59. The bigger problem... by pubwvj · · Score: 1

    The bigger problem is that Apple (and others) abandon software and make their OS incompatible with legacy software so that we can't continue using our old tools. If the software followed the API rules in the past it should continue working with the new operating system and the OS vendor should not abandon it. If they want to get rid of old APIs they should provide cross-recompilers for older software or emulation. There is a tremendous legacy of software that is lost because Apple and other companies change their OSs on a whim.

    1. Re:The bigger problem... by jbolden · · Score: 1

      Apple believes that long term legacy is a problem. They want users to migrate paradigms. They don't mind breaking software, to keep the ecosystem clean. Microsoft is far better about continuity. IBM even better than Microsoft.

      You want continuity you picked the wrong product.

    2. Re:The bigger problem... by ruir · · Score: 1

      Someone who affirms Microsoft supports continuity of business, clearly has not both understand the industry and Microsoft business model. Microsoft is all about disrupting your experience every odd year, to sell you new versions of software and more training. I also agree Apple is not in the continuity business, at least on the binary continuity business, however the paradigm is quite far different.

  60. Applescript & Automator by BartlebyScrivener · · Score: 2

    These don't count as simple tools for users to build mini programs? RD

  61. Re: No, it's not time to do that. by Anonymous Coward · · Score: 0

    Oh, my heart bleeds at your shell shocked ass when you discover the Wizards aren't like Elminster, but like OZ.

  62. So, you're saying "Python"? by hot+soldering+iron · · Score: 1

    I ran into a "hypercard"-like app for the C-64 back in 1986, that involved you building a flowchart of your app, answer some basic questions, and it would generate the Basic code for it. It was pretty spectacular for the day. There are quite a few code generator programs available today, just get one that runs on Python and give it a snazzy GUI. There you go. A nice easy to understand app generator that's cross platform, multiple output languages, open-source, self-extending, etc. etc...

    You would spend more time on the design of the GUI, writing the help files, and creating tutorials, than anything else. The user wouldn't even have to know ANY particular language, just the logic they needed.

    But that's just my opinion. I just build stuff.

    --
    When you want something built, come see me. If you want correct grammar and spelling, get a F*ing liberal arts student.
  63. to hell with CS grads by Anonymous Coward · · Score: 0

    Oh, I most certainly leave them alone. I've learned to just toss all of the CS resumes in the bin. The few who have any intellectual curiosity are already working for Google, and the 99% are fairly useless.

    1. Re:to hell with CS grads by Anonymous Coward · · Score: 0

      The few who have any intellectual curiosity are already working for Google, and the 99% are fairly useless.

      UNTRUE. The computer scientists that Google hired are no longer computer scientists, but have completed their transformation to computer practicioners. IF its computer science you need doing, computer scientists are the people you talk to about getting it done. If you are doing anything other than computer science, i.e. if what you are doing IS NOT SCIENCE, then wtf would you be looking at CS resumes for?

  64. Re:That's what college is for! by Anonymous Coward · · Score: 0

    It's a lot easier and more likely to happen that a chemist learns a little programming to get a job done than to try to teach chemistry to a programmer ....
      I've helped with the design of data models, which greatly lowered a project's complexity, because I knew a lot more about how the data was used.

    This and absolutely this. An immense amount of useful things in the real world only require very basic programming but require an understanding of other things that programmers don't know.

  65. Let's go back to 'requirements' by david.emery · · Score: 1

    HyperCard combined three aspects: (1) A easy-to-assemble set of graphical/user interface components; (2) a simple (simplistic) database; (3) a quirky programming language.

    Possibly VB with Access provides a similar set of functions.

    We should be able to produce something that allows end users to do some development for themselves, while acknowledging this is not a production-quality tool, but no matter what, people will take prototyping systems and try to deploy them to production usage.

    I've used it for several different things, including catalog/library "decks", user interface mock-up with a bit of back-end semantics (for a system configuration function, to understand user requirements and usage models), and a potential front-end controller to a very simple 'robot'.

  66. Re: No, it's not time to do that. by VXneko · · Score: 0

    Yes, I'm sure you've emerged from your mother's womb as a full-fledged software developer. Fucking elitist dipshit. I have some CS experience from school so I took upon myself, on my own time and dime, to learn VBA for Excel. I am one of those "dumb-ass" managers who made a few time-saving tools with VBA for the hotel I work in. I know that my code is amateur at best. I also prefer that my corporate IT won't ever know my code exists, especially since "professionals" like you are so helpful to noobs like me. Through word of mouth, however, my tools are now used in several hotels. Hypercard, BASIC, VBA, whatever: what took a real person 4+ hours to do now takes the same person 10 minutes SOLELY due to the fact that an easy-to-learn-and-program platform was available to me. If all I had was "heavy" language, that same person would still be wasting 4 hours every week. I even have a counter to a popular rebuttal: "so, what happens if something goes wrong with the code and you're no longer working for the hotel? Who's going to fix it then?" That's right, I didn't think of that! I'm going to continue to waste time and labor just so that I can spare the uber-professional IT guy five years from now the pain of going through my amateur code. If it's your job to maintain and expand someone else's code, oh well. Please, don't propagate your elite-speak and go back to whatever elite thing you were doing. I now have six VBA projects involving anything from supply inventory to billing clients in the neighborhood of $30k every week. Good for me: bring on the Hypercard. And just in case you work for my corporate IT, I'm going to go through all of my VBA projects and delete all of my super-friendly comments of what I'm trying to accomplish. Since you are so elite, I'm sure you can figure it out without issues... heck, my comments will probably just get in your way.

  67. Re:No, it's not time to do that. by godrik · · Score: 1

    CS grads seem to need a professor, hand-holding and a cookie in order to learn anything new.

    AH! Maybe that's what I need! Bringing cookies to my class. That's smart!

  68. Re: No, it's not time to do that. by Anonymous Coward · · Score: 0

    Yes, I'm sure you've emerged from your mother's womb as a full-fledged software developer.

    Why would you write something that is so obviously stupid? Why would you write something as stupid as that as the first sentence of your comment, where it immediately discredits everything else you wrote (which I didn't actually bother to read, to be honest)?

    No, the GP probably wasn't born a professional software developer. That's probably why he or she went to college, you dumbfuck! He or she had to learn how to become a professional programmer, and college is the only way of doing that properly.

    You need to work on your English comprehension and writing skills before you do any more "programming".

  69. Re:Uh... haven't you heard of LiveCode? by gslj · · Score: 3, Interesting

    LiveCode is great in many ways, and I really appreciate that it is now a free download, but it lacks one feature that really made a difference to people who were learning HyperCard. In Livecode, every object is its own layer. In HyperCard, there was a simple, useful distinction between the background layer and the card (foreground) layer. People quickly grasped how to make a picture or button show up on every card or just one. Now, if you google "livecode background layers," you're likely to get instructions to add a background to a single card. I hate to say it, but I don't think that LiveCode, even free, can build the same kind of community that HyperCard has...simply because of this choice. It's not a trivial difference.

    -Gareth

  70. Hypercard could have been the internet by alangmead · · Score: 1

    It did have network features, if by network you consider Appletalk. The code 'go to stack addressbok on machine "Andrew's Powerbook"' was valid Hypertalk.

  71. We need HyperCard Apple! by Anonymous Coward · · Score: 0

    Agree, I used HyperCard for many educational projects and a revamp for iOS & MacOS would be a great new tool for everyone...it would be great to give novice programming back to the computer users for home, buisness, and education!

  72. Um it has been revived by jbolden · · Score: 2

    It has been revived and it has a free / open source version: http://livecode.com/

    Far better than the original.

    1. Re:Um it has been revived by Anonymous Coward · · Score: 0

      It has been revived and it has a free / open source version: http://livecode.com/

      Far better than the original.

      The requirements for Linux are "32-bit installation, or a 64-bit linux distribution that has a 32-bit compatibility layer".

      Sounds like it's not compatible with any recent 64-bit Linux in that case, as the ia32-libs package is long gone. On Linux distributions released in the past few years, one must install 32-bit applications explicitly as 32-bit using a package manager which resolves the 32-bit dependencies on the fly. The LiveCodeCommunityInstaller-7_0_0-Linux.x86 file does not look like a deb or rpm package to me... In fact, it looks more like an ELF executable (danger!, warning!, warning!, danger!).

    2. Re:Um it has been revived by jbolden · · Score: 1

      It has an executable installer. I'm assuming that's mainly self contained.

  73. Desperately needed? Really? by Jeremi · · Score: 1

    I'd say the reason we don't see a lot of demand for Hypercard-like environments these days is, they aren't necessary anymore.

    Back in the Olden Days, if you wanted to accomplish something on your computer, and there wasn't an application available that met your needs, you might respond to that problem by writing one yourself. Hypercard could make that easier for you to do, if you weren't already an experienced programmer.

    These days the software market is much larger and more mature, so if you want to accomplish something on your computer, chances are very good that there is already an application that does what you want better than anything you could make yourself. So instead of spending a few days learning Hypercard and then designing and implementing a HyperCard stack, you just Google what you want to do, find five different applications that are ready to use (and probably free, or cheap), and pick one.

    So I don't think there is a lot of pent-up demand for a Hypercard-like language these days. People who want to learn how to program will continue to do so, and people who merely want to get a task done ASAP have plenty of premade higher-quality software to choose from. The "middle ground" of people who want to make an app without officially learning how to program has gone away.

    --


    I don't care if it's 90,000 hectares. That lake was not my doing.
  74. ToolBook from Asymetrix by Anonymous Coward · · Score: 0

    I was the sample applications programmer for ToolBook, a Hypercard knock-off from Paul Allen's Asymetrix company in the 1990s. It ran on Windows and was used a lot for making educational software. Similar metaphor, a book with pages vs. a stack of cards. Had a similar scripting language that allowed somewhat robust applications if you went that far. Eventually they marketed it specifically to educators and renamed it "Click to Learn".

    Macromedia Director with its Lingo scripting language was another contender for laymen's programming tools back then, though it had a score and sprite metaphor.

  75. Re:Uh... have you even heard of LiveCode? by jbolden · · Score: 1

    I'm glad someone posted that. LiveCard is basically HyperCard.

  76. Applescript & Automator? by alangmead · · Score: 1

    I don't think Applescript and Automator bridge the gap between non-programmer and programmer as slowly and as fluidly as Hypercard did. A non-programmer could start using Hypercard as a simple flat file database without programming. The sample Addressbook etc. Hypercard stacks were perfectly usable and there was a large quantity of freeware and shareware stacks that (inherently) came with complete source code. If someone had just a small wish for how it behaved differently ("I wish the addressbook had a nickname field:) many could be added through the GUI tools without programming. At some point, they may wish for behavior that involved changes in code, if they reached that point, the code had a fairly strong mapping to the concepts they had learned so far (stacks, cards, backgrounds, fields, etc) that they may be able to suss out what the code was doing and figure out simple changes. Once doing a fair amount of modification of the existing code, some may choose to strike out on their own and create something new.

    Applescript and Automator seem to be more about simple automation of tasks. Which is a great power to give someone. ("Ugh, I hate doing this same drudgework every day|week|whenever_the_situation_bothers_me") but seems to me still a larger jump from non-programmer to programmer.

  77. Never heard of Scratch? by Anonymous Coward · · Score: 0

    Hypercard is gone and way better tools exist for all the things that hypercard did. I learned hypercard as a kid in school and it introduced me to programming. If you want to help your students do the same things I'd suggest you either teach them how to make web-pages with html and css or get them doing Scratch. Scratch is designed as an education environment so I'd say it likely fits the bill. Everyone is capable of understanding Scratch and if they want to go on and learn python or javascript it will be a whole lot easier to get them started.

  78. LiveCode and Swift by jpellino · · Score: 1

    are the best current follow-ons to the HyperCard simplicity and utility.

    --
    "Win treats sysadmins better than users. Mac treats users better than sysadmins. Linux treats everyone like sysadmins."
  79. C is called C because it came after B by jpellino · · Score: 1

    and that's somehow OK? (puerile snickers at words aside...) Language naming isn't exactly highbrow technical stuff to begin with.

    --
    "Win treats sysadmins better than users. Mac treats users better than sysadmins. Linux treats everyone like sysadmins."
  80. You can pronounce it Coke by Overzeetop · · Score: 1

    But if it's spelled Koch it's going to offend a lot of people. ;-)

    --
    Is it just my observation, or are there way too many stupid people in the world?
  81. FileMaker Pro and Force.com by Anonymous Coward · · Score: 0

    I remember my non-programmer uncle using a program on the mac called File Maker Pro to make a real estate program. You could send the program to the makers of File Maker and they could turn it into a stand alone executable for Mac and Windows computers. File Maker may have been the first programming I ever learned. It was all WYSIWIG and very little code beyond basic things like string concatenation.

    These days I think the modern web based equivalent might be the "force.com cloud", the platform behind the salesforce.com website.

  82. Re:That's what college is for! by Oligonicella · · Score: 1

    Other professionals aren't allowed to be self-taught, at least in the civilized world.

    You sir or madam, do not know what you are talking about as well as being pompous. As long as you can pass the required certification tests, many professions will grant you a license.

  83. Re:No, it's not time to do that. by Anonymous Coward · · Score: 0

    That is very true. I've noticed it, as well.

    Even a shitty CS student will know about algorithmic complexity, data structures, and basic stuff like that which the so-called "self-taught programmers" just aren't even aware of.

    Self-taught practitioners don't even know what they don't know, while at least Comp Sci graduates tend to. A CS grad will know when they need to do some research or ask somebody else about something that might cause problems later on. A self-taught practitioner won't do any of this, because he or she just won't know any better, and will write and ship the unknowingly broken code. This will usually cause problems for the actual professional to gets pulled in after the fact to deal with the awful disaster that the self-taught programmer has caused.

  84. scratch an itch by sdinfoserv · · Score: 1

    i disagree with premise that everyone can or even should code. Secondly, I also can't believe a software opportunity exists for an 'unfilled need' for some void existing almost 3 decades. Any place a need exists - and in many cases where no need exists - software erupts. In my job I so hated our project management software, I wrote one on my own time at home. The company had some very unique processes that traditional PM didn't flow correctly. My version was adopted immediately. The point being programmers write to scratch an itch. If an itch exists, someone will offer an option. That's how we're wired.

  85. Maybe that's the point. by koan · · Score: 1

    "Now you're either a user or a full-fledged developer, and the gulf is wider than ever,"

    --
    "If any question why we died, Tell them because our fathers lied."
  86. Re:No, it's not time to do that. by gestalt_n_pepper · · Score: 1

    The cookie was metaphorical, but criminy, whatever works. Just get me someone I can hand a task to and walk away.

    --
    Please do not read this sig. Thank you.
  87. if RunRev's website is by Anonymous Coward · · Score: 0

    an indication of their IQ, then live code ain't worth a bottle of warm piss
    I mean, is their website poorly laid out in a even a 5 yro can grasp this style ?

  88. Re:No, it's not time to do that. by aaaaaaargh! · · Score: 1

    Nice troll post. Just about only real distinction between a professional and a hobby programmer is that the former gets paid whereas the latter doesn't. I've seen just as much complete crap written by professionals than has been written by so-called amateurs.

    Besides, you're missing the point. Everybody should be able to program his computer in the way he or she likes and the tools should be easy to use and completely unrestricted. Nobody forces you to use someone else's program if you have no confidence in his or her abilities.

  89. logic fail by Anonymous Coward · · Score: 0

    many commenters, I learned how/got hooked on programming via hypercard/basic

    But
    are these people representative ? that is, if you gave everyone livecard or hyper card or basic for free, or even you gave them 20 bucks to try it, very very few would ever become programmers in any sense of the word

    In the old days,,,,there were way fewer programs, and they were often crap
    no one here on slashdot might like to admit it, but the number of programs available for free or minimal cost, and their quality, has gone way way way up
    so, do we really need programming for the masses ?

    I don't think so

  90. Re:That's what college is for! by Anonymous Coward · · Score: 0

    No, no, no.

    You're equating self-taught with "monkey+typewriter"

    You can learn anything without a formal setting. It's the lack of experience that will burn you if you try to take your self-taught into a career. I don't want a college to lay claim to what I knew already.

    Of all your examples, only the self-taught doctor and dentist I'd have an issue with. The liability would be astronomical, and "illegal dentists" do exist, two were arrested and charged this year here. Sanitary reasons mainly.

    A self taught lawyer, accountant, plumber, electrician, and programmer are all "comes with experience" types of jobs and trades. It's entirely possible to learn it on your own, but without a certification, the liability question opens up again. In the case of plumbing and electrical work, the handymen who do fix stuff that people break in an Apartment building aren't going to be certified anything. They just learn from experience. When something seriously wrong happens with the building, that's when a licensed one comes in to fix the problem.

    And such is the case with programming. Your average self-learner can do a lot of cheap, otherwise crappy code-monkey work, but you likely don't want such a person working on your PCI compliance infrastructure, or anything involving HIPPA. But these crappy code-monkeys are the very people who work in game development, because you might only want one certified developer to push a game, particularly if you're using off-the-shelf game engine components.

    Like go back in time, the people who were involved with Sierra and Origin weren't software engineers for the most part. They all started at the same "hey, do you think a game can be made on this?" point in time. Creating games that ran on a box that was meant to be a calculator.

    It's not the same as plumbing or electrical work in that aspect, because nobody is going to die if you screwup. And it's not the same as being a doctor or dentist in that you can kill the patient by poking the wrong thing.

    Back in the days when doctors had to visit your home (they still do in some parts of Europe) doctors took tremendous risks that would get themselves killed just to come help you. Today that's no longer the case except in some infectious disease cases (ebola.)

  91. Re:No, it's not time to do that. by rochrist · · Score: 1

    Aren't we elite. You realize that a lot of what was down on hypercode was done by domain experts to meet their very specific needs, stuff that would never, ever have been done otherwise. Right?

  92. Re:That's what college is for! by rochrist · · Score: 1

    Yep.

  93. Re:No, it's not time to do that. by rochrist · · Score: 1

    This is ludicrous. You've personally interviewed all self-taught programmers and can confidently assure us that none of them are aware of data structures or algorithmic complexity. I don't think so. I think you're blowing it out your ass.

  94. Re:No, it's not time to do that. by rochrist · · Score: 2

    LOL. It's hilarious how college educated "programmers" always get so defensive when this topic comes up. See how that works?

  95. empower users without killing them by Tom · · Score: 1

    The real gap is something that will empower users without putting them into danger.

    Excel is an example of this approach gone wrong. If you've never been in a company that runs important business processes on spreadsheets, raise your hand. Kids and students, drop your hands. Not many left, are there?

    And yet, studies have shown that a large percentage of non-trivial spreadsheets contain errors.

    The difficult part in making tools is to make them so that users realize at which point they should call a professional. It's good if you can put a screw into the wall yourself or hang a picture on your own. But it's likewise clear to you that building a house is something you leave to experts, or at least get their advise on wall and floor strengths.
    Computers, sadly, are not so transparent. Unless the task involves higher math, too many people think they can program a quick sales database themselves in Access or something. Only when the ceiling does fall down do they realize there's an IT equivalent of structural analysis.

    --
    Assorted stuff I do sometimes: Lemuria.org
  96. Re: No, it's not time to do that. by Anonymous Coward · · Score: 0

    uh duh. no wonder people get offensive. your saying that they are worthless compared to the all mighty cs majors. everything you noted falls flat on it's face. a self taught programmer can teach himself all those fancy book learning things your professor taught you.
    I think your mad because your $200,000 in debt and think to yourself "damn I coulda taught myself all this shit"

    basically everything a professor teaches you, can be learned yourself just by using a lil Google fu. get off your elitist high horse. you obviously have bigger issues then blaming others.

  97. Filemaker replaced Hypercard by drinkypoo · · Score: 1

    The idea of Hypercard begat Filemaker. A little more like a real database, a little less in the way of training wheels. Still really simple to bang out an app in. Still extensible. The way we did it was to make use of its serial or telnet capabilities (way back when) in order to talk to devices or machines.

    I realize there's snazzier stuff today but Hypercard didn't just vanish in a puff of logic without anything in between, before this Livecode thing I know nothing about, there was Filemaker. Love it, hate it (more likely) or feel indifferent, but it did more or less the same job as Hypercard. Sure, it was harder to do simple things, but it was easier to do the slightly more complicated things that people commonly needed to do.

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  98. Re: No, it's not time to do that. by Anonymous Coward · · Score: 0

    LOL you are brainwashed if you think college is the only place
    to become a good programmer.

    you herd a college professor tell you that to make you feel good about spending all that money on college. and now you pass around that FUD because it makes you feel like a bigger man that you have a degree. pompous faggot.
    I hate people like you.

  99. Re:No, it's not time to do that. by Tom · · Score: 1

    So we shouldn't have easy-to-use tools for people to LEARN how to program?

    We have that, it's called Pascal.

    But no, we shouldn't give pseudo-programming tools into the hands of non-programmers for the same reason we don't put handgrenades with half the amount of explosives into the hands of non-soldiers so they can play around and learn a bit - it's dangerous.

    Get off your high-and-mighty "professionals are the only ones who can do things" box.

    Sorry, when it comes to software with real-world impact, professionals are the only ones who should be doing it. You wouldn't fly by plane if the aviation industries approach to piloting were like what you demand for software, would you?

    --
    Assorted stuff I do sometimes: Lemuria.org
  100. they were called Business Programmers by Anonymous Coward · · Score: 0

    They were called Business Programmers and the tools they used were dBase III and Paradox for DOS and PowerBuilder, structured languages that had useful database functionality. Paradox was SQL, oh where art thou Dr. Pauker? Boy did we write great programs, I made a great living off of business logic.

    Then came versions of these languages for Windows, redone as object oriented programming and were rendered useless for business. But you could build a mouseable program, which screwed up data entry applications. Data entry programs like donor management apps, but you don't know what I'm talking about do you, because you've never actually used a program.

    This change to OO Programming has given us such "professional" monstrosities as QuickBooks, GiftWorks the curse of nonprofits everywhere, and Raisers Edge.

    Yeah, Hypercard wasn't the only casualty. So was American business productivity.

    1. Re:they were called Business Programmers by Anonymous Coward · · Score: 0

      This is the bridge between the hobbyist and full time professional.

      Most work environments have only 3 programs - the MS Office package, QuickBooks, and a special purpose vertical market app. And these are really difficult to learn.

      I go back to JORF Josephine's Original Recipe Filer. What a useful thing. It was Hypercard for Win. Those days are gone.

  101. Re:No, it's not time to do that. by Tom · · Score: 1

    Hire from a better university. Good universities teach not just formal algorithms and language structures, but also programming methods and require practical applications to be submitted to pass the subject.

    The real problem with university and other formal education is that the setting is artificial and the task always has a solution. When I was teaching assistant back in university days, I took some perverse pleasure from breaking students applications, typically because they didn't do proper input validation or didn't check boundary conditions. I don't think they liked me very much, but if you look at some of the exploits out there you see this exact kinds of mistakes being made in the real world by people who never had to deal with someone intentionally trying to break their precious baby.

    --
    Assorted stuff I do sometimes: Lemuria.org
  102. Re:That's what college is for! by tepples · · Score: 1

    So in a regulated trade such as health care, how should one practice the trade before taking the certification test? For another, regulators often require a specific number of verifiable supervised practice hours, such as 50 hours of supervised driving on a learner's permit in Indiana. Good luck with that if you happen not to have a roommate who drives.

  103. Re:No, it's not time to do that. by LordLimecat · · Score: 1

    The fact that some professors dont give a crap and hand out "A"s like candy doesnt mean that theres not value in a formal education.

    How many of those self-taught people are familiar with the control structure theory that any program can be written using only selection, repetition, and concatenation? How many think that its not relevant, despite the fact that it actually gives rise to readable programs (as opposed to ones that are a mess of GOTOs and multiple entry / exit points)?

    You think it doesnt matter as long as the code does the job, and then you need version 1.1 All of a sudden you realize that the self-taught programmer doesnt really understand documentation, or how to craft readable code.

    Granted there are a lot of generalizations here-- but I've done the self-taught thing, and I've done the formal education thing, and I find myself wishing I had done far more formal education prior to writing large scripts; as I continue with an education, I realize how much code that I've written over my career was just bad because I did not follow some of the practices I would have learned in a CS class-- and how much better it was because of the little education I did have.

  104. Re:That's what college is for! by Anonymous Coward · · Score: 0

    > Other professionals aren't allowed to be self-taught, at least in the civilized world.

    You might have a point if CS/IT programs were more like engineering programs, but as it stands today, they're a fucking joke. You get "programmers" fresh out of school who know how to create a web form in Dreamweaver but can't write a working FizzBuzz to save their lives.

  105. UGH by Anonymous Coward · · Score: 0

    Hypercard was retarded quasi-programming for Appletards.

  106. Re: No, it's not time to do that. by VXneko · · Score: 0

    It's a "dramatic opener" to my post, coward. Certainly caused drama for you.

  107. HTML5? by Anonymous Coward · · Score: 0

    We already have this, HTML5 with a WYSIWYG CSS layout editor and JS for the "logic".

    Then again, the whole computing world seems to have gone to crap since WWW was the big buzz.

    Just look at the "developers" that crap some half baked "web service" into a cloud computing environment, relying on said environment to spin up more VMs than their code can manage to crash to maintain uptime and load balance. Then it is on to wine and dine the VCs so that they can pump and dump the IPO, and get out of there as fast as their skin tight jeans allows them to move.

  108. HyperCard Alive and Well at Double Exposure by Anonymous Coward · · Score: 0

    DEXCON, DREAMATION, METATOPIA, MAELSTROM, First Exposure and now Envoy are all run on complex HyperCard programs and always will be, thanks to SheepShaver. No other program can come close to handling the complexities of running gaming conventions and projects with the finesse, power and speed of HyperCard.

    Vincent Salzillo, President
    Double Exposure, Inc.
    http://www.dexposure.com

  109. CS and self-taught not mutually exclusive ... by perpenso · · Score: 1

    Obviously, you've never had to hire CS graduates. I can't tell you how many of these bozos who've learned in a "formal" setting can barely manage a coherent if/then statement, much less successfully complete even a small in-house application.

    There are people who go into a formal CS/CE program because they have a genuine interest in programming. There are also those who go into a formal CS/CE program because someone told them it is a good career path. While the later (career path) can be decent programmers the former (genuine interest) are the ones who tend to truly excel. The later tend to be both formally trained **and** self taught.

    Those with a genuine interest in CS/CE tend to learn a lot on their own. And a university setting **greatly** facilitates this. At the university there is an incredible density of like minded folks to learn from or in partnership with. Online and remote can be useful, but two or three in the same room is often better. Plus professors are actually useful, they are often sick of the "career path" type students as well and often are very supportive and encouraging of those with a genuine interest. Besides the like minded folks the university environment offers access to incredible hardware and software that might otherwise be unaccessible. Whenever I asked for access to some specialized equipment (ex workstations with licensed software normally not available unless you are enrolled in a particular class) the professor in charge would ask why and I was never turned away because my project was a personal one, just curiosity. Even professors in other departments were supportive. In grad school I was considering a CS research project that involved a submersible robotic vehicle. I talked to a mechanical engineering professor about the potential project and he was very generous with his time and supportive.

    One nice thing about supplementing genuine interest and curiosity with formal university training is that the formal training tends to be a well thought out somewhat comprehensive tour of important topics. Left to oneself the self-taught tend to focus on the more interesting or the more obviously relevant. However some boring and seeming no-so-relevant topics turn out to sometimes be surprisingly relevant and useful. At least that has been my experience, some classes I would never have selected on my own surprised me with their eventual value. While it is certainly possible that the self-taught can read and learn such a comprehensive set of topics at a university level this is exceptionally rare, incredibly rare. In 30 years I've worked with a lot of talented self-taught individuals but I've only met a handful who have the motivation to read and learn things at this level and over a broad range of topics purely on their own initiative.

  110. School of Business not Science or Engineering by perpenso · · Score: 1

    Obviously, you've never had to hire CS graduates. I can't tell you how many of these bozos who've learned in a "formal" setting can barely manage a coherent if/then statement, much less successfully complete even a small in-house application.

    If you are talking about some web based business app done in javascript then going to CS/CE grads may be gross overkill. Its probably better to go to a trade school with classes on web programming for that sort of stuff.

    Or if its a more involved business app look for a "programming" degree program in a University's school of business, not its school or science or school of engineering. At my university it was called "Computer Information Systems", it focused on software development for corporate and business needs rather than scientific and engineering needs as "Computer Science" and "Computer Engineering tend to do". Note that things will vary wildly from one university to another so you really need to look at the school and or classes, you can't make assumptions based on "Science", "Engineering", "Information Systems", "Information Technology" appearing in the program name. These are sometimes a bit arbitrary.

  111. Re:No, it's not time to do that. by ShakaUVM · · Score: 1

    >I can't tell you how many of these bozos who've learned in a "formal" setting can barely manage a coherent if/then statement, much less successfully complete even a small in-house application.

    I'm going to start teaching CS in January. My approach will be to have the students writing code every class, which will be automatically tested by code that I write for correctness. If they can't get it done in class, they have until the next class (48 hours later) to finish it.

    It is somewhat inspired by the code competitions I used to do. If a CS student can't write code to save his life, why is he taking a programming class?

    >Granted, most of the self-taught crowd is weak on specialized algorithms and data structures

    This is a bigger weakness than you think. Sure, some concepts like hashing and linked lists can be learned pretty quickly by an auto-didact, but the lack of formal training in discrete math means that their code all too often isn't correct. I can look at a recursive algorithm and immediately see when it was written by someone who never learned to do a proof by induction.

    Also, their understanding of big-O notation is often (but not always) weak, and they'll tend to just try to use the one or two structures they understand for everything, which leads to inefficient implementations.

  112. Re:No, it's not time to do that. by Lodragandraoidh · · Score: 1

    While, in principle I agree with you (I learned at a university that had several MIT PHDs in the computer science department - one of which was the head of the department - and later in my career when interviewing new candidates, and working with people from what I will call 'sub standard' programs - I saw first hand that all CS degrees were not equal) - I also realize that the people coming from the top university are going to gravitate to where the money is - meaning if you are a small company, or in a company that can't attract the top talent you will be stuck with what you can get.

    This situation isn't bound to change, so how do we deal with this? I think the solution should be multifold and systematic to have possibility of success:

    1. Every programmer shouldn't have to be a system developer; partition your developers into two camps: a very small group of system developers (for OS, building development tools, and embedded work as needed), and a very large group of what I will call 'application' developers (for applications end users will touch).

    2. Limit the tools your Application Developers have available to them. They shouldn't be able to shoot themselves, or their users, in the foot.

    3. Focus your System Developers on building tools and libraries for selected application class languages that do not allow Application Developers to reinvent the wheel for things that they shouldn't be - such as memory management and security (the aforementioned 'loaded guns'). Enforce standards for access to and use of the tools by the Application Developer group.

    4. To avoid having developers working on software that will only benefit one user - provide safe tools to allow end users to build their own simple applications (e.g. Hypercard - or other paradigms that are appropriate, above and beyond spreadsheets and word processing software). Once an application created in this way becomes popular enough - you have to option of translating it through your application developer team...or leave it as is. If you were smart when you built your (hypercard-like) tool - you allowed it be integrated with, or translated to other systems in safe ways - so that it can be shared with minimal impact/workload.

    If we don't find a way to something like what I describe, we will continue to suffer as we keep expecting all CS graduates/programmers to be equal. HR and Execs don't like this because they want all developers to be interchangeable widgets...but reality does not bend to policy.

    --

    Lodragan Draoidh
    The more you explain it, the more I don't understand it. - Mark Twain
  113. Re:No, it's not time to do that. by Tom · · Score: 1

    Firstly, small companies can easily lure talent if what they offer is interesting and their culture is appealing. I would much rather work a 100k job that is interesting in a good company than a 120k job that's boring in a faceless corporation with MBA culture. They'd have to offer maybe 150k and even then I won't be as motivated. Lots of geeks are motivated by interest more than by money.

    Secondly, yes we need to make a difference between software architects and programmers.

    --
    Assorted stuff I do sometimes: Lemuria.org
  114. DWIM(x) by msobkow · · Score: 0

    And the lusers of the world pissed and moaned because the programmers still hadn't implemented a useful DoWhatIMean(x) function... *LOL*

    --
    I do not fail; I succeed at finding out what does not work.
  115. Re:That's what college is for! by CauseBy · · Score: 1

    I studied computer science in college but I didn't learn to code until I worked in private practice. This is similar to learning legal theory in law school but learning how to practice law in private practice.

  116. HyperCard? Try Zoomracks, the real Slim Shady by JeremyHolloway · · Score: 2

    As always, the tech community collectively forgets about a software product type that existed on the Atari ST before it did on the Mac platform. Zoomracks predates Hypercard and it was patented. The author settled later with Apple over it and then the tech community obviously forgot about it.

  117. Reference to use of HyperCard in movies by Anonymous Coward · · Score: 0

    Star Trek 4 "The Voyage Home" had Scot using a Mac and HyperCard for developing "transparent aluminium". Never saw it used in any other movie.
    Favorite scene. Scot "talks" to the Mac "Computer". Is instructed to use the mouse.

    1. Re:Reference to use of HyperCard in movies by Anonymous Coward · · Score: 0

      Uh, no... Scotty did not use HyperCard, because ST4 came out in 1986 and HyperCard was released in 1987.

  118. School Macs by Anonymous Coward · · Score: 0

    My junior high and high school had computer labs full of iMacs. I used to make stop-motion movies and point-and-click adventure games in Hypercard.

  119. in high school... by Anonymous Coward · · Score: 0

    We were really really lucky to have 2 Mac labs. HyperCard was absolutely revolutionary. I saw kids make the most hilarious line art animations I will ever see. Ever.

  120. DIVA Videoshop by Anonymous Coward · · Score: 1

    The AVID video editing empire still dominating the video world was born as a HyperCard stack and was one of the best editing programs anywhere! When the guy went into the big time he reversed the name DIVA and it became AVID (and no longer HyperCard but it still revolved completely around Quicktime which was not just a file format, it was a massive video library with a larger codebase than windows 98.)

    I never created with HyperCard; however, I knew it was crazy powerful.

  121. METAPHORS. It's all about mental models. by Anonymous Coward · · Score: 0

    If one makes a connection to something you already know, then you grasp it quickly. If the concept is completely new, then you have a hell of a time working 100% of your brain to comprehend the new concept... Later, you can apply that pattern to similar things. Electronics, Programming, Math, Language, Physics, Spacial Relations, etc.

    For common situations, the metaphor of CARDS in a stack along with layers helps people grasp things clearly (unless they've never worked with paper etc.) People grasp more when it relates to what they already know and that is why the HyperCard stack and the hypertext stack... and the parens like markup format works so well for billions of people. When needs get complex, the metaphors fail and one must deal with abstract logical constructs... So HyperCard and the others fail.... Yet, similar things continue in the complex worlds of C, where Object Programming really never gave us that much it mostly lets us draw analogies and model huge programs around the metaphorical thinking model of the human brain - so it caught on. (I could do anything OOP thing in C, even create tools to enforce common programming conventions... but we choose OOP because it's easier... but not all the time.)

    How about spaghetti code?? That is easy and simple but only for simple programs. So we group code into functions and kill the gosub and register work. All are largely abstractions to help humans program. Now we have extreme OOP in Java which has created complex messes to work around the lack of expressiveness and the complexity of certain problems, such as EVENTS. Event systems are spaghetti again, to some extent are exceptions are too. It's back again... With people looking for the next great solution to abstract these rat nests into something easier to grasp. (One is Regular Expressions which abstract the huge mess of nested conditional logic in pattern searches... perhaps somebody will apply them? Perhaps some abstractions are best done in 2D or 3D instead of 1D text? UML diagrams exist because of the truth in that... but the bridging of the two is still not here yet.)

  122. re: Myst by King_TJ · · Score: 1

    I actually never knew that about Myst before.

    I knew it was a Mac title originally, but I only owned the Windows version on CD. Pretty sure that one was no longer using HyperCard technology (though I remember it did use the Quicktime for Windows player and the QT videos).

  123. WWW by AndyCanfield · · Score: 1

    In 1989 my colleague, Loranne Dayton, showed me Hypercard. On this Apple computer you had 'cards' (pages), and they could contain links to other pages on that same machine.

    I was too stupd to realize the imprtance of what she was showing me. Extent the link with a computer name (from the Internet), and we would have had the World Wide Web, several years before it was invented by CERN. She was years ahead of me.

    Did Hypercard die? You're using it's grandchildren, IIS and Apache and Firefox and Internet Explorer, to read this web page today. Hypercard on a global scale.

  124. For the rest of us by Anonymous Coward · · Score: 0

    While this was probably nothing more then an early attempt to get people to code, I remind you the Amiga had the same.

    And there is free-software/open source programs while they may not do what closed source does they get the job done, and could do far more if people donated their time and or little money to make them as good as closed source.

    I understand people like to do dabble in this and learn for themselves, I 'm not against it but the idiot that wrote the article is either self absorbed, or clueless as to other computers that could allow you to do the same. You look at how complicated todays software is, compared to HyperCard and its like staring a 4 bit porn, when you could be watching the real thing.

  125. Re:No, it's not time to do that. by Anonymous Coward · · Score: 0

    >Get off your high-and-mighty "professionals are the only ones who can do things" box. Just because you might have a degree, doesn't mean you know your face from your ass when it comes to code compared to some there people who don't. Just sayin'.

    I've seen way more garbage code from those that don't than those that do. Self-taught "programmers" are guilty until proven innocent, if you ask me.

    Really?

    I wrote an auction website similar to eBay using LiveCode server on Linux. Developed a customer purchase order and invoicing system using LiveCode for Linux.

    I am the only person in all of Canada to have a certified Canada Post mailing system (which generates barcode labels, etc.) running HyperCard on Mac OS 9, and still being updated with the latest standards.

    My code might LOOK like garbage to you, but it works, and it works well.

    I'm self-taught, and I can whip up a LiveCode app in minutes to hours to days what a professional would take weeks/months to do. One app I have that is only a few lines long analyzes our bank statement of 2000 transactions and confirms what cleared the bank and what didn't. All that's needed is download the bank statement from the bank in tab-delimited, and run the code, and in 1 second there's your answer. What does the code look like? Who cares, it works, works well, and works flawlessly (for over 4 years straight I might add).

    Just because you have a degree doesn't mean your better at getting a result than those who don't have a degree. I'm tired of this "you need a degree" BS everyone touts.

    A friend of mine got a 5-year degree which cost him over $50,000. He worked at low end jobs to pay for university. At the same time, I started my job at a mom-and-pop where I still am today, earning $45K/year at the time. I've developed an entire platform for the company I work for, which never would have been possible by hiring professionals in my opinion. That mom-and-pop company is now a multi-million dollar corporation, with 3 offices in 2 cities. I now earn what my friend does.

    So really what you're saying is that you're jealous of people earning nearly what you do, who haven't had any formal training, and can do a good job at it, too.

  126. tooring complete ? by Anonymous Coward · · Score: 0

    foot in yourself shoot.

    answer the result

  127. Re:That's what college is for! by Anonymous Coward · · Score: 0

    I am currently employed as a software developer. Most of my colleagues have degrees; I don't. Yet only one or two of my colleagues can measure up to my skills; the rest produce a bug-ridden, expensive-to-maintain, clumsy-to-use mess. I won't ever say I'm the ideal employee, I know my failings, but when it comes to code, I'm pretty good.

    So how did I get there? I'm completely self-taught and it all started with GW-BASIC of all things. Somewhere out there, some young lad or lass is toying with his first computer. Do you want to deny him or her the chance of a solid career on the one hand, or on the other hand the chance of helping out in society by becoming a better programmer than our universities could churn out? Why?

    In my opinion, it should be law that every new computer sold must have a beginner-friendly IDE pre-installed and as visible (in the Start menu for example) as the office productivity software that computers ship with today. It should be advertised to children that, yes, with a bit of effort you can write your own software. Little programs at first, maybe, but that's where it all starts and children tend to have more mundane goals than writing the next Word to begin with.

  128. Re:No, it's not time to do that. by perpenso · · Score: 1

    >Granted, most of the self-taught crowd is weak on specialized algorithms and data structures

    This is a bigger weakness than you think.

    As someone with 30 years of software development experience I can't emphasize strongly enough that some of the biggest mistakes are made in algorithm and data structure selection and design.

    To motivate your students share this from a 10+ year video game developer. When they apply for a job at that Triple-AAA video game development studio they will be tested. The test will not center on the intricacies of OpenGL and other topics / technologies that they expect. They will find the greatest amount of that testing will have to do with algorithms and data structures. It is in algorithms and data structures where the performance killing and RAM consuming mistakes occur. Video games have little tolerance for such errors. If you don't display sufficient knowledge of algorithms and data structures you will not be considered regardless of how pretty an OpenGL demo you put together.

  129. Hypercard was a great tool. by ananda59 · · Score: 0

    I used Hypercard to build educational tools when I worked in the Calgary school system. What a great tool. The only drawback was the no-colour limitation, which I found a work around for anyway. They really should ship apple products with it again.

  130. Re:Uh... haven't you heard of LiveCode? by Anonymous Coward · · Score: 1

    LiveCode doesn't have background layer, but you can select any set of objects and make them be a group that acts like a background. That makes it possible to reproduce HyperCard's backgrounds, but is more flexible.

  131. Re:Uh... have you even heard of LiveCode? by Anonymous Coward · · Score: 0

    Yes, I've heard of LiveCode and have used it. It is fairly easy to learn the basics, but when it comes right down to actually doing anything with it - it is SH*T. It touts itself as a "rapid application development" tool. Well the only thing that is truly rapid about it is how quickly you start tearing your hair out over all its inconsistencies, VERY poorly written documentation and more bugs in it than an old warehouse.

  132. Re:That's what college is for! by Anonymous Coward · · Score: 0

    The problem is there are no good certification tests for software developers, engineers, architects, testers, etc... so people use degrees as the replacement.

  133. HyperCard was a fantastic prototyping tool. by wezelboy · · Score: 1

    HyperCard was awesome. It was fairly easy to create a fully functional gui application that someone might pay money for- possibly without writing a line of code. My first serious application was in HyperCard. HyperCard was dog-ass slow though.

    I think Apple killed HyperCard because of the performance issues, and because it didn't fit into Jobs' vision. Once they settled on NeXT for OSX, the NeXTStep environment had a lot of cutting edge rapid development features but with the speed of compiled code. They didn't want to develop two separate environments, so HyperCard got the axe.

    It is too bad. I would love to see HyperCard alive again.

  134. Hypercard Could Replace the GUI by shreader · · Score: 1

    In computer timelines, I know that Hypercard is ancient. The software wasn't much bigger that 800K bytes and ran from a floppy disk on Mac OS System 6. Hypercard was essentially cancelled by Apple Computer because, when Mac OS System 7 came out, Apple wanted extreme tight control over the graphical user interface of the computer. Apple wrote the "Human Interface Guidelines" and Hypercard broke all the rules. A neat trick with Hypercard of 1987 was, if it was auto booted, it could replace your graphical user interface (GUI) on your computer, and because it was full screen, the menu bars and icons would disappear. Image being able to draw the GUI of the computer with a paint program, which was included in Hypercard, and create hyperlinks to files, applications, and basic interface functions. If one created text fields, a basic database form is created. This is why Hypercard was so cool and ahead of its time, way before the invention of the commercial Internet. As a computer person, listening to computer users, the big complaint over and over again is the GUI forced on them. If the original Hypercard were available today, and you didn't like the "Start Menu" missing or the font change from iOS7 to iOS8, imagine being empowered to change those features, on your own. I have no disrespect for current versions of Supercard and Livecode. I am not familiar with the 2014 versions of those products.

  135. Re:Uh... haven't you heard of LiveCode? by Anonymous Coward · · Score: 0

    LiveCode's 'background' layer is far more flexible than HyperCard. When applied to a single card it is called a group; share that group on different cards and it's called a background. Maybe you haven't come to terms with this yet, but it is simply 'the next step' for powerful flexibility.

  136. Read Jobs' biography by Anonymous Coward · · Score: 0

    Steve Jobs never wanted people to tinker with his computers. That's why he stripped them down to just a printer and modem port on the CrApple II. Woz wanted to allow the hobbiest to tinker, Steve wanted to sell people boxes that just worked. Hence why he also forced IOS users to use an App downloaded from CrapTunes.

    Buy a Rasp Pi if you want to be able to tinker.

  137. AmigaVision for the rest of us by kriston · · Score: 1

    I think that AmigaVision is HyperCard for the rest of us.

    If anything could or should be re-released, it's AmigaVision.
    http://en.wikipedia.org/wiki/A...

    --

    Kriston

  138. Re:No, it's not time to do that. by Anonymous Coward · · Score: 0

    Right there with you mcgrew. I managed a highly customized dBase accounting app for 10 years. I could make it cook breakfast. I automated tasks that were manual by default, and wrote entire new modules that interfaced with the rest of the accounting data.

    After ten years other devs cam in and convinced management to buy a new accounting application from Microsoft for 60,000 (that's cash dollars) plus another 30,000 to customize it... to do... are you ready...? EXACTLY WHAT MY APP HAD BEEN DOING FOR YEARS! And then only SOME of what my app could do. Their argument? It wasn't written in a "professional" language, so it couldn't be very robust. Management bought the argument and went with the Microsoft product.

    Oh one last thing: After spending a grand total of $150,000 (that's cash dollars) the company never actually implemented it, because the shithead that started the whole mess turned out to be a HORRIBLE project manager and kept changing things and leaving things undone. THAT GUY was a "professional". Please with the "professional" argument. Makes my stomach turn every time one of them says an app like Livecode or people who use it cannot produce professional apps.

    I don't want to give the idea that Livecode can do anything you could do in C or Java. For instance, it could not create a 3D multi role playing game. It doesn't have the tools for that. But for building database apps or great user interface apps, or utility apps that can communicate with other system components or apps relatively easily and fast, it's unparalleled.

  139. LiveCode is HyperCard for 21st Century by AlejandroTejadaC · · Score: 1

    Please, visit http://livecode.com/download/ and download the most recent version of LiveCode Community Edition (Open Source) for your OS: (Linux, MacOS X, Windows) If you visit this webpage: http://downloads.livecode.com/... you will find all downloads available, including stable public releases, release candidates and developer previews. Choose one of the stable releases and install it in your computer. Then, you will understand why many developers still cherish and remember fondly, it's first encounter with HyperCard. You could download Livecode's source code from Git: https://github.com/runrev/live... Learn about Livecode's quality controls at: http://quality.runrev.com/ By the way, HyperCard found it's way to many platforms in the form of clones: For Commodore Amiga, there was UltraCard (later renamed Foundation): http://www.dreamtimestudioz.co... For Linux, there was MetaCard (today Open Source LiveCode): http://www.metacard.com/ For Windows, Oracle Media Objects: http://en.wikipedia.org/wiki/O...

  140. Re:Uh... haven't you heard of LiveCode? by hawk · · Score: 1

    >People quickly grasped how to make a picture or
    >button show up on every card or just one. Now, if
    >you google "livecode background layers," you're
    >likely to get instructions to add a background to a
    >single card.

    You open the group inspector, and click the "backgroundBehavior" box.

    That's it. Done.

    hawk

  141. Re:No, it's not time to do that. by ShakaUVM · · Score: 1

    Will do. Thanks for the input!

    I plan on using some common computer science job application questions as homework assignments, like Fizzbuzz. A friend of mine applied to Facebook and was asked to test a string for being a palindrome, create a linked list class, and write a method to reverse it.

    You do have any suggestions for such homework assignments?

  142. Re:No, it's not time to do that. by perpenso · · Score: 1

    Evaluation is done on coding style and the thoughts of the implementor as much as getting a correct solution.

    Consider a simple problem. Detecting if a point is in a rectangle. The textbook answer is quite simple. The game implementation is not necessarily simple. Keep in mind that textbook answers have lots of preconditions, random data, neutral circumstances, etc. Actual implementation may not, leverage any knowledge of the data or circumstances. For example what is the likely case, point inside or outside; is the rectangle relatively small compared to the screen. Like the SAT pay attention to the details of the question. If the question states that the point is a missile and the rectangle is an enemy unit then the missile probably spends more time outside the rectangle than within, so optimize detection for the miss case. Also since the rectangle represents a unit it will be relatively small compared to the screen. Now think about the screen, is it wider than taller. Probably, if so further optimize your test for misses by comparing against the vertical edges first. Assuming firing takes place from any angle. The really important thing here is to show that you were thinking beyond the textbook and leveraging information about data and circumstances. Such thinking should be explained in comments.

    So you've implemented some special purpose variant of an algorithm. You might want to implement the general case too. You might want to add a unit test that verifies that the special purpose case yields correct results for specific known inputs, edge cases etc, and that it matches the results of the generic implementation for some appropriate number of randomly generated cases. Of course doing so would be more appropriate it the evaluation is not timed. But if you finished early and have checked your work ...

    When implementing code consider performance. For example if you need to test the distance between two points a classic implementation might use the distance formula, desired_dist >= sqrt((x2 - x1)^2 + (y2 - y1)^2). Note we don't need the actual distance and we can square both sides, desired_dist^2 >= (x2 - x1)^2 + (y2 - y1)^2, replacing a square root operation with a multiply operation. Be sure to comment the code when doing something like this.

    Did I mention that comments should be explaining your motivations, what you are thinking, what you are trying to accomplish? Not simply restating in english what code does.

    Knowing how to implement data structures like a doubly linked list would be a good idea, however knowing how to do so in a multithreaded environment is even better. It might be a bit beyond what is expected for students in a lower division class but it would definitely be important at the time of a job application. Perhaps a brief mention in class might be useful, a little hand waiving and telling them to call placeholders lock() / unlock() would be fine. No need to have them actually implement calls to pthreads if their prerequisites don't warrant it.

    So, an overall theme. Questions may be less about "regurgitating" the correct answer and more about showing how you think about problems and how you implement solutions, and how well you leverage any additional information available.

    It wasn't at a game company but I once had a question during an interview that was very illustrative of what I'm trying to get across. The question listed 6 sorting algorithms and asked for the run time complexity. I answered bubble sort and qsort and then wrote "I own Knuth vol 3 Sorting and Searching so I don't have to memorize this sort of trivia". After this written test the project lead asked why I thought this question a "trivia question". I explained that the textbook run time complexity answers assume random data, and that if your data is not random the run time for these algorithms can change wildly. One algorithm may be the best choice for random data, another for mostly sorted data and still another for mostly unsorted data. I go

  143. Re:No, it's not time to do that. by perpenso · · Score: 1

    Moments after my first post I had an idea. Some of my favorite homework assignments or lab projects were those that were steps towards a larger whole.

    Maybe an A* based pathing implementation for a game should be the final result. Individual assignments steps along the path to this end result.

    Arrays could implement static objects (obstacles) on a map.
    Link lists could implement temporary objects (units, subject to destruction when they fire upon each other).
    Maybe sort units in a linked list based on their position with respect to a line of movement, ex moving up sort by y position. As they move into range of enemy units those units at the front of the linked list are the first to come under fire, usually. When hit, destroyed, removed from list. List shorter for next round of fire.

    Since its a class project keep things simple. Perhaps something similar to 1970s/80s tank arcade games. The map is a grid. Motion is only up, down, left, right. Obstacles are like walls, filling in an entire grid element or leaving it open. Units take up one grid element each.

    Profile performance, before and after some improvement. Textbook A* vs modified A* using special info. Linked list search with and without sorting in direction of movement.

    Speaking of profiling, that is something very important to mention in an interview. Attempts to optimize must be based on profiling. Both to make sure one is optimize the code path where cpu cycles are being spent and to confirm that a modification to the algorithm if in fact helping.

    I'm not sure if a good fit can be found between the class topics and the components of such a minigame but it might be something worth taking a quick look at.

  144. Re:No, it's not time to do that. by ShakaUVM · · Score: 1

    I can use some of that. I'm teaching 1st and 2nd semester CS in January, and I don't want to overload them too much with philosophy of programming, but I plan on having code reviews be 20% of their grade. They'll have to come up in front of the class and talk about why they made the design decisions they did, and other students can earn extra credit by finding bugs and pointing out questionable decisions.

    But yeah, I was planning on doing a maze solver, so maybe a A* solver might be a little more useful. Thanks for the ideas!