Joe_Blow Joe_Blow Life is tough, but it's tougher if you're stupid!

Niner since 2006

- Software engineer for 30 years, doing just about everything, to some degree, on most hardware/OS platforms, currently developing software for cable TV/Internet clients and servers.

- Former U.S. Navy officer for 18 years

- Volunteer senior docent and restoration engineer at the Computer History Museum in Mountain View, CA

- Current fixed-wing private pilot, working on private pilot rating for helicopters, en route instrument, commercial, flight instructor, and instrument flight instru...


  • Kids Programming Language

    Greetings All (or any Awls or Owls that might be Out There! Wink )

    I like the idea of KPL, and what I've seen of it is nice, but it's not how I would do it (this, of course, from someone who hasn't even tried to do it, much less actually done it - yet!).  I agree with the poster who said that KPL is perpetuating a lot of unnecessary historical software development baggage, and the poster who listed the number of jobs offered today requiring various programming language skills is missing The Bigger Picture, IMHO.  When I first came to Silicon Valley, it seemed like almost every job posting wanted umpteen years of PowerBuilder experience (even though it had only been in existence for a few years), and I had never even heard of it, even though I had an MSCS and been developing software in the scientific and military communities for over 20 years.  When I found out it was mostly just a front-end builder for databases, I knew I already had the skills to do what a PowerBuilder developer could do, but a lot better.  Within a year, virtually none of the job offerings mentioned PowerBuilder at all.  It was replaced in successive years by the next Fill-In-The-Blank Buzzword tools, and I had to laugh outright when I saw requirements for seven years of Java experience only three years after it had been launched (I don't think even James Gosling, the father of Java, had been working on Oak, the original name for what became Java, back that far!).

    Now, I'm not saying that C and C++ are going away tomorrow, or that a professional software engineer (not just a programmer - they're a dime a dozen, and always scrambling to learn The Next Buzzword Tool, with few, if any, first principles under their belt) shouldn't know how to write software using them, but they should be able to intelligently voice an opinion on what the best language/OS/hardware platform would be for a given project, or how to transition to that if someone made a bad decision, or the decision was made long before modern-day tools became available. 
    IHMO, Microsoft (intentionally or unintentionally) has frozen a large portion of the software development world into a morass of badly-written code (from a security perspective, if nothing else, along with bloatware and many other problems), implemented without the benefit of the lessons learned in academic, commercial and government research labs around the world (despite its investment in some academic labs and its own labs, strangely enough).  We should not be perpetuating bad software development practices a moment more than we already have, especially for future generations of software professionals for whom things like KPL will be their first exposure to developing software (which, again, is much more than just spewing code).  A typical high-end developer only spends about 15% of their time writing code - and can be 30 times as productive in generating error-free, fully-functional software as the typical entry-level programmer, who may never get above that level, partially because they were never taught any better, and don't know where to look to learn better techniques and technologies.

    I have a vested interest in changing the status quo (as we all do, I believe) because I spend the vast majority of my time fixing bugs introduced by less-experienced people who aren't around anymore, and I would much rather be developing new features, products, services and technologies (as I think everyone else would who suffers from the same fate as me).

    We also need to lift the veil on software development for people who just aren't very good with character-based concepts, and provide GUIs that allow people who would otherwise not make good software engineers (only because of their weakness in purely syntax-based skills) to develop software that solves their problems.  It has been found that it is universally better (in terms of lifecycle cost and functionality that directly addresses the problems at hand) to provide tools for domain experts to use to develop their own solutions than it is to try to educate programmers in a domain that is completely foreign to them.  In that vein, I would love to see someone (perhaps KPL kid users!) develop GUI-based tools for KPL (or whatever someone else may develop that's even better in avoiding the problems inherent in dinosaur programming languages) that would enable people who are never going to be traditional character-oriented software experts to develop solutions for their own problems.  There have been attempts at this over the years, but they all tended to be terribly under-funded, suffered from poor performance due to poor implementation/platform choices, weren't extensible, allowed creation of entirely new kinds of bugs, and otherwise lacked The Vision Thing.

    I've only just started looking at KPL, so I don't know whether the above idea is feasible in KPL alone (but if video games are feasible, that's a good sign).  However, it seems like it would be a great project for a distributed team of kids to tackle, with help from us ol' fogeys to advise them when they may be heading for pitfalls.  It would also be something that would have an instant international appeal, since GUIs can be effective across cultures (but, only if they're designed that way from the start).  I have always wondered what it's like for people in other cultures to be stuck using English keywords and reserved words that are embedded in programming languages - I know that sort of thing makes their governments and some intellectuals in their countries absolutely apoplectic, but maybe that's a good thing! Wink ).  I've always been curious to see whether a preprocessor that could translate keywords and reserved words between any pair of languages would be useful, or even usable.  It might allow people who are otherwise turned off by learning a lexicon that is foreign to them (or, worse, that they feel hostile about, for whatever reason, be it prejudicial brainwashing/propaganda, limited education, etc.) to become productive contributors to software development, especially for their local markets, expertise domains, etc.

    As others have already noted, a port of KPL to platform-independent environments really needs to be done, and the sooner, the better.  I can't believe that the current Windows KPL installer puts up a modal dialog that requires that Windows XP has to be restarted in order to complete the installation, in this day and age.  This is a glaring example of what everyone is talking about as far as perpetuating unnecessary baggage - what were the KPL developers thinking???

    OK, I'll now step down and turn the soapbox over to the next over-opinionated blowhard who is convinced that only _they_ have the answer to world hunger and peace! Tongue Out

    All the Best,
    Joe Blow