Entries:
Comments:
Posts:

Loading User Information from Channel 9

Something went wrong getting user information from Channel 9

Latest Achievement:

Loading User Information from MSDN

Something went wrong getting user information from MSDN

Visual Studio Achievements

Latest Achievement:

Loading Visual Studio Achievements

Something went wrong getting the Visual Studio Achievements

Kids Programming Language

Download

Right click “Save as…”

Jon Schwartz et al have created a really cool programming language for beginners, called Kids Programming Language. Here we dig into what they've come up and why. There are some really fun demos.

Check out the KPL site!

Follow the Discussion

  • tsilbSlackmasterK This Space ​Intentional​ly Left Blank
    This wouldn't be a problem if they still bundled QBasic with Windows.  That's what I grew up on; except I started on GWBasic (on a TRS-80) from age 5 to about 10.
  • gabe19gabe19 bang bang shoot shoot
    My 8 year old son and I have been using this for the past few months, and it really is helpful for explaining programming concepts to him. They have succeeded at stripping away the complexities, and making it easy to do the cool visual programming that kids love.

    Also, far superior to QBasic. Wink
  • ZeoZeo Channel 9 :)
    I'm all for younger and younger kids and students having access to programming tools/languages that allow them to cultivate an interest in Computer Science and Technology. Interesting video!

    I noticed that the volume on this video is really low at the beginning...so it makes it hard to hear.

    Charles moving the camera really helped make the sound issue go away.

    Is this based on .net 2.0 or .net1.1?

    I'm guessing that it's .net 1.0 but they talk about the express line of products...
  • William Staceystaceyw Before C# there was darkness...
    Isn't that what VB is for?  <G>  Just kidding. Smiley
  • Deactivated UserDeactivated User

    Comment removed at user's request.

  • LarsenalLarsenal ready to give an answer
    SlackmasterK wrote:
    This wouldn't be a problem if they still bundled QBasic with Windows.  That's what I grew up on; except I started on GWBasic (on a TRS-80) from age 5 to about 10.


    Yes, QBasic is how I got my start as well.  One of the neat things was that because it had relatively limited features, it forced you to be creative in order achieve something cool.

    I say, "Don't baby them too much!" ... but then again, I LOVE Intellisense.
  • JohnAskewJohnAskew 9 girl in pink sweater
    My wife has been requesting that I offer a class to our homeschooling group for programming.

    This is the vehicle for that task.

    Nice choice, thanks for the video.
  • Sven GrootSven Groot Don't worry... I'm a doctor.
    SlackmasterK wrote:
    This wouldn't be a problem if they still bundled QBasic with Windows.  That's what I grew up on; except I started on GWBasic (on a TRS-80) from age 5 to about 10.

    I got started on GW-BASIC as well, which came with MS-DOS 4.01. I didn't actually use the GW-specific features at first since the book I was using was actually for MBASIC. This was when I was 10 iirc.
  • Stevan VeselinovicSteve411 Me, all suited up!
    Perfect for my cousin, thanks alot guys!!
  • Hey Zeo,

    On your .NET question: KPL v 1.1 is based on, requires and will automagically download and install the .NET Framework 1.1 it it's not already installed.  That's the version of KPL which is freely downloadable of the KPL site now.

    KPL v 2, which is in a semi-open beta now, is based on the .NET Framework 2.0.

    The two versions of KPL, like the two versions of .NET Framework itself, will happily live side by side - that's how we and all our KPL v 2 beta testers are using both.

    Most of the demos in the video show KPL v 1.1, and programs that come with it when you download it.  Later demos in the video, including the 3D demo, show a very early build of KPL v 2. 
  • This is the Walt guy from the video.  Just wanted to say that Jonah Stagner didn't make it for the video recording - but he's the other guy on the KPL team, and came up with the original idea for KPL, so he could teach his own kids to program.  Without that idea KPL wouldn't exist today!

    Thanks, Charles, and thanks to Channel9 for helping spread the word!

  • I have taught two ten session "intro to programming" classes to middle schoolers using the KPL. The third starts in a few weeks.
    Kids do really love it. The class picks up on concepts and constructs quickly. They get rapid gratification from their work. The sample apps are actually useful.
    I highly recommend looking closer at the KPL if you have children who have an interest in coding, at home or at a school.
  • baluptonbalupton I'm a actually a bot.
    Why make another language, stick with C, it's syntax is the core for most programming languages.

    I was doing WebSites when i was 10-12, Then Macromedia Flash 12-14, then C, C++, C# and some VB and ASP.NET.
    Now just C#, C, and PHP, though uni is implying Java.

    Out of all of them C# and PHP are my favourites.
  • This is amazing. I love it. I have a 9 year old 11 year old and a 13 year old. They all have there own computer.

    The Kids are our Future.

  • W3bboW3bbo Work hard; increase production; prevent accidents, and be happy.
    I think calling it "Kid's Programming Language" patronises the users a little bit, even the most 'impractical' of languages find themselves being used for 'real world' programming tasks (see TDW for more examples).

    Besides, who'se to say that a beginner adult wouldn't be using this?

    I think a better moniker would be "Beginner's All-Purpose Symbolic Instruction Code" (oh wait...), how about "Microsoft Programming Starter Edition", the users are able to move-up to "Home" and "Ultimate Editions" depending on the features they want Wink
  • Tommy CarlierTommyCarlier Widen your gaze
    W3bbo wrote:
    I think calling it "Kid's Programming Language" patronises the users a little bit, even the most 'impractical' of languages find themselves being used for 'real world' programming tasks (see TDW for more examples).

    Besides, who'se to say that a beginner adult wouldn't be using this?

    I think a better moniker would be "Beginner's All-Purpose Symbolic Instruction Code" (oh wait...), how about "Microsoft Programming Starter Edition", the users are able to move-up to "Home" and "Ultimate Editions" depending on the features they want
    W3bbo, you're right. But the original plan was to create a "Kid's Programming Language", that's why they called it that. They didn't expect it to be used by older children. But now beginners of all ages start using it.
    On their website, you can find a presentation, where they say (on page 23):
    • Most usage to date ages 10 to 16
    • KPL intends to be the best choice for beginning programmers of any age
    • Current plan is to simply call it KPL
    • KPL has only been available for 6 months, but things are happening very quickly
    • University usage so far is non-US only
    • Prominent US CS programs are examining KPL for curriculum use
  • travistravis eo
    You know, I love these movies, but is there any way that you could normalize the audio a bit? I always have to crank my sound to hear the movies.

    I've tried tweaking the audio settings in Windows Media Player, and I've tried using Media Player Classic.

    As long as no one messages me while I'm watching I'll be fine. Wink
  • I signed up for an account here, just so I could reply to this thread.

    The language Logo (sometimes known as Turtle Geometry) has been around for 40 years, and has been used a lot for teaching kids programming (and math).

    While I, too, first learned to program using a general purpose programming language (Commodore 64 BASIC), and while I find nested loops and pointers and narrowing/widening type conversions to be inherently appealing, the appeal of such languages is not universal.

    If you want to get a broader base of people interested in computer programming, it seems that a language that gives some kind of visual feedback is more appropriate than the more general-purpose BASIC, C, etc.  I'll bet there are a lot of kids out there who have great potential to be programmers and computer scientists and systems analysts, but they will never discover it for themselves because writing a program that generates prime numbers, for example, just doesn't "hook" very many students.

    There are many high schools that teach Java programming with the AP computer science exam in mind.  This is fine for a few students, who can then skip a semester of two of Java programming when they get to college.  But more high schools (IMHO) ought to be teaching more fun languages (such as this kids programming language, Logo, Alice, POV-Ray).

    Thanks for reading.
  • Damn...the video is going really fast. You all sound like chipmunks.

    I always have problems with your videos...first it was when the video would turn green and invert upside down, now this.

    I'm on XP. Is it just me?
  • xeubie wrote:
    Damn...the video is going really fast. You all sound like chipmunks.

    I always have problems with your videos...first it was when the video would turn green and invert upside down, now this.

    I'm on XP. Is it just me?


    Wow, sounds like you have some seriously messed up codecs.

    This thread will give you some ideas on repair; http://forums.afterdawn.com/thread_view.cfm/48608
  • macbirdiemacbirdie new Niner()
    xeubie wrote:
    Is it just me?

    Most likely, yeah. Cool
  •  

  • Luca Serano wrote:

    Now I'm 18, and I've been using C# for three months.

    You should have started with C# about 5 years ago...

    Do you realize that .NET is almost 10 years old (9 years by the end of 2006)?!
  • YuviPandaYuviPanda The Stats Guy
    Well, started with C/C++ when I was 9, but all I understood was upto Structured Programming in C. I couldn't make anything of Pointers and C++[apart from cout, cin;)]. KPL at that time would've been a huuuge Bonus to me, and I might've understood OOP concepts at 9, rather than 3 years later...

    Am 15 now, and do a lot of VB.NET/C#. Works Great!
  • TommyCarlier wrote:
    Current plan is to simply call it KPL


    Which could stand for KISS Programming Language...

    We all know what KISS stands for...

    Keep it silly simple
    Keep it simple and straightforward
    etc...

    BOb
  • dotnetjunkie wrote:


    You should have started with C# about 5 years ago...

    Do you realize that .NET is almost 10 years old (9 years by the end of 2006)?!


    What? I think your math is off. Wasn't the first release of .Net 1.0 and Visual Studio 2002 in 2002 (or was it the end of 2001?).

    Either way, I don't get nine years. Perhaps you are counting the 4 years it was in development?

    BOb
  • Why is it that in the year 2006 people not only still happily use programming languages that are totally anachronistic, but create NEW and educational ones that are anachronistic and prolonging the practice of using badly designed languages with all the undesirable results?

    Is it because people at MS are totally untouched by any results of programming language research in the last 20 years? Even the dinosaurs Scheme or LISP are more modern than C++ or Java.

    It is essential to teach students -- and also young children -- ways of how thing *should* be done. How they *could* be done better, instead of endlessly prolonging the old, messy ways. It would have been innovative to base this on F#/Ocaml or at least something like Ruby or Scheme.

    The tutorial is not really well done either. Not sure if this is a limitation of the language or just bad pedagogic choice, but the graphics example should use *relative* coordinates, not absolute ones. This would render itself nicely to the use of functions within functions or even recursion.

    Any old LOGO-tutorial did it better, really.


    That portability is not at all an issue here is probably to be expected when it comes from MS.
  • geeklinggeekling I am an artist
    "Why is it that in the year 2006 people not only still happily use programming languages that are totally anachronistic, but create NEW and educational ones that are anachronistic and prolonging the practice of using badly designed languages with all the undesirable results?"

    Because LISP sucks? Wink
  • There are 28 jobs listed at DICE for LISP programmers. 

    There are 3821 for VB programmers.

    There are 4581 for C# programmers.

    Here's an analogy: is it more useful for your kids to study Spanish or Chinese or Japanese as a second language?  Or Latin or Greek?
  • Because LISP sucks?

    LISP is older than C++, Java, or C# yet actually contains several concepts that are actually more "modern". C++ does not go far beyond the macro-assembler that C really is and its object system is a pathetic mess.  ANSI Common LISP with CLOS goes way beyond what any of these languages can do (I have programmed significant projects in C++, Java, and LISP and I know how easy, fast, robust, and readably things can be solved in either of them).

    Still I am not advocating LISP here, because it is an anachronism too, in the meantime. However, many of the *concepts* present in LISP and not present in C++/Java are important.

    I mentioned OCaml/F# because I think that it would deserve much broader use and because I *know* (from experience) how it can both increase productivity and dicrease error -- especially certain runtime errors that sometimes can even lead to security problems.

    95% of the people are not using decent languages because they do not know there is anything beyond C++/C#/Java. The rest usually doesnt use decent languages because every one else doesn't, and hence the library they need isn't available.

    Teaching childing decent programming language *concepts* would be the only way how this can change. KPL fails both in the pedagogic aproach and the design of what concepts are included in what way.
  • TheSchwartz wrote:
    There are 28 jobs listed at DICE for LISP programmers. 

    There are 3821 for VB programmers.

    There are 4581 for C# programmers.

    Here's an analogy: is it more useful for your kids to study Spanish or Chinese or Japanese as a second language?  Or Latin or Greek?


    Better analogy:

    This is like people in the times when children where still working in coal mines, would have been saying children shouldn't get better education because everyone is working in coal mines.

    Unfortunately, when it comes to programming languages, the vast majority of people actually *is* still working in coal mines.
    You seem to imply that we should continue to teach children how to most efficiently work in coal mines instead of teaching them how to avoid this and be more productive by using more advanced tools.
  • AlfredThAlfredTh Look for the hat. Without it I look pretty nondescript.
    One could start with any programming language. Bill Gates started with Assembly language and pretty much stayed with it. But Assembly language is not for everyone. So while C or C++ or VB or C# or even Java will work for some kids most kids really need something a little more designed for them. KPL is one such language.
  • This is not the first programming language that Microsoft have created that's made for kids. Visual Basic was the first.
  • The video makes the KPL more look like a "serious" programmer's language. I'd like to point out a more fun way to apply programming to solve problems, such as driving robots in space missions. It's CeeBot http://www.ceebot.com/ceebot/index-e.php and its game sibling, CoLoBoT http://www.ceebot.com/colobot/game-e.php

    It would be nice to have a KPL like development environment with the CoLoBoT back-end Cool

  • Joe_BlowJoe_Blow Life is tough, but it's tougher if you're stupid!
    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
     
  • Guess what we did last week?  We released KPL version 2, renamed as Phrogram. It's the second part of what we demoed in this video, with the 3D support. It's also much more powerful than was shown in the video - that WAS 11 months ago!

    Lots of good stuff happening with it, but I won't spam that here - if you're interested, the new community site is up and hopping at www.phrogram.com

    The new site is also based on Community Server technology, btw, the same that Channel9 uses - thanks to them for the excellent recommendation!

Remove this comment

Remove this thread

close

Comments Closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums,
or Contact Us and let us know.