Kids Programming Language
- Posted: Mar 01, 2006 at 12:26 PM
- 123,146 Views
- 36 Comments
Loading User Information from Channel 9
Something went wrong getting user information from Channel 9
Loading User Information from MSDN
Something went wrong getting user information from MSDN
Loading Visual Studio Achievements
Something went wrong getting the Visual Studio Achievements
Right click “Save as…”
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.
Follow the Discussion
Oops, something didn't work.
What does this mean?
Following an item on Channel 9 allows you to watch for new content and comments that you are interested in. You need to be signed in to Channel 9 to use this feature.What does this mean?
Following an item on Channel 9 allows you to watch for new content and comments that you are interested in and view them all on your notifications page.sign up for email notifications?
Also, far superior to QBasic.
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...
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.
This is the vehicle for that task.
Nice choice, thanks for the video.
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.
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!
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.
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.
The Kids are our Future.
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
On their website, you can find a presentation, where they say (on page 23):
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.
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.
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
Most likely, yeah.
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)?!
Am 15 now, and do a lot of VB.NET/C#. Works Great!
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
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
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.
Because LISP sucks?
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?
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.
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.
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
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!
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!
All the Best,
Joe Blow
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