User avatar
abishur
Posts: 4477
Joined: Thu Jul 28, 2011 4:10 am
Location: USA
Contact: Website

Re: Isn't this all too complicated?

Fri Feb 10, 2012 4:43 pm

TheManWhoWas said:


And I was wondering if there was anything in the pipeline for the Pi like this, because otherwise it is just a super cheap Linux box for existing tech heads to play with.



Okay getting back on topic (and let's respect the OP here, if you want to keep discussing the Linux issue please make a new thread to do so ).

Yes there is actually!   For younger programmers (and older ones too I suppose) Kids Ruby have been working on getting their programming environment on to the pi.  It features a programming environment which can immediately display the results of the code you just typed up and even has a turtle that you can program to do different things.
Dear forum: Play nice ;-)

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 28358
Joined: Sat Jul 30, 2011 7:41 pm

Re: Isn't this all too complicated?

Fri Feb 10, 2012 4:45 pm

TheManWhoWas said:


This thread has gone wildly off topic. In my OP I wasn't complaining about Linux being too difficult per se, I was pointing out that all modern OS's are rather complex for beginners TO LEARN TO PROGRAM ON.

Being dropped into Linux doesn't get kids programming anymore than being dropped into Windows does. They'll just surf the net and email their friends the same as on any other computer.

The issue is that new programmers need a fun and exciting programming environment that is really easy to get into like the machines of the 80's. That doesn't mean writing Python scripts in nano to solve anagrams, it means something more like RobotC Virtual Worlds http://www.robotc.net/download/rvw/ where you get funky 3D graphics and your programs make robots move about.

And I was wondering if there was anything in the pipeline for the Pi like this, because otherwise it is just a super cheap Linux box for existing tech heads to play with.


Aside from that Robot software, although cheap, being twice the price on the Pi itself, yes, the Foundation intends a decent software stack to be made available with the educational edition that should provide an easy to use, not too scary environment.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed.
I've been saying "Mucho" to my Spanish friend a lot more lately. It means a lot to him.

User avatar
rurwin
Forum Moderator
Forum Moderator
Posts: 4257
Joined: Mon Jan 09, 2012 3:16 pm
Contact: Website

Re: Isn't this all too complicated?

Fri Feb 10, 2012 5:06 pm

I don't know whether Alice will run at a decent speed on the RPi, but that would tick a lot of your boxes, and show off the GPU. As a programming language it may not be very Turing complete (well OK, maybe just), but it moves "robots" around. It's a sort of next level after Scratch.

TheManWhoWas
Posts: 50
Joined: Thu Feb 09, 2012 9:11 pm

Re: Isn't this all too complicated?

Fri Feb 10, 2012 5:12 pm

Cool, KidsRuby and Alice do look the kind of thing I'm thinking of. It is these kinds of pieces of software that are needed to help ease people into programming, and if they come as part of the Raspberry Pi package, then that is good. But if people have to search them out, that is less good.

User avatar
liz
Raspberry Pi Foundation Employee & Forum Moderator
Raspberry Pi Foundation Employee & Forum Moderator
Posts: 5212
Joined: Thu Jul 28, 2011 7:22 pm
Contact: Website

Re: Isn't this all too complicated?

Fri Feb 10, 2012 5:17 pm

People won't have to search them out. We'll be hosting torrents for a lot of recommended software - and there's much more on the way that I'm not allowed to mention yet.
Director of Communications, Raspberry Pi

archsaddler
Posts: 19
Joined: Tue Jan 17, 2012 10:31 am

Re: Isn't this all too complicated?

Fri Feb 10, 2012 5:28 pm

Spoilsport

Jaseman
Posts: 302
Joined: Tue Jan 10, 2012 12:59 pm
Contact: Website

Re: Isn't this all too complicated?

Fri Feb 10, 2012 8:15 pm

Just to remind you all of what the ZX81 manual looked like:

ftp://ftp.worldofspectrum.org/.....amming.pdf

There's 216 pages.

Learning the equivalent commands in Python is no more complicated, so you can't use that excuse - sorry!

If I wrote the exact same manual but for Python language, would that satisfy you?

What have you been doing during the 80's and 90's?  I guess there's a bunch of people that thought - I've paid out for my ZX81, and now this spectrum thing has come along - I'm not paying out again... what's this now? Commodore 64? Oh no, that's not for me.  Atari ST?  Urmmmm.  Amiga, nah.  Eventually someone convinced you to get a Windows 95 PC, and after a few years, you were able to send an email using Outlook Express.  But now you have no clue about what happens behind the scenes on your computer.  Now you fancy doing a bit of programming again, so you have 30 years of catching up to do.

Don't expect to become an expert programmer overnight.  Baby steps.

TheManWhoWas
Posts: 50
Joined: Thu Feb 09, 2012 9:11 pm

Re: Isn't this all too complicated?

Fri Feb 10, 2012 10:30 pm

The point of my thread was whether the Pi was addressing the needs of the next generation, not me.

Personally the ZX81 was my starting point to a career in software dev, not the end of the road. So that 216 page manual was invaluable to me, but I was concerned the Pi wasn't providing the same "in". But the Abishur, JamesH and Liz have said there is stuff in the pipeline that addresses that, so fingers crossed.

CFWhitman
Posts: 3
Joined: Fri Feb 10, 2012 10:23 pm

Re: Isn't this all too complicated?

Fri Feb 10, 2012 11:00 pm

I think in some ways you might be missing part of the reasons that computers were explorable in the eighties, and in some ways you might be wishing for something that just isn't the case anymore.

Remember that part of the reason you could take your ZX Spectrum or BBC Micro, or I could take my Timex/Sinclair 1000, and we could do interesting things was that those computers were basically ours. We could do what we wanted with them and we didn't have to worry about wiping out Dad's financial information or Mom's pictures for the last 3 years, or even (if the parents are the type to have backups, like they should) just making the computer unusable for a few hours or days until someone could reinstall everything.

With the Raspberry Pi, the system is on an SD card, and you can easily have a backup card that will always work to boot the system. A kid can be given free rein to do whatever he wants on the system without fear that it won't work the next day, just like with those old systems we had as teenagers (or whatever age you happened to be).

I think that you might be somewhat underestimating the appeal to being in control as a learning experience. As rurwin pointed out, if you give kids access to a camcorder and some video editing software, they'll make a movie and won't be concerned that it's not Academy Award material (or even B movie material). They'll still have fun, and it will still pique their interest to a greater or lesser extent (some only slightly and temporarily, others deeply and for life).

What's not the case anymore is that little simple programming tasks aren't impressive. If you were to give kids a ZX Spectrum or a Timex/Sinclair 1000 now, many would likely not be interested in it for even a short time (some of the true geeks would still find it fascinating). We can't really go back, but there are some aspects to a new machine like the Raspberry Pi to pique their interest.

Back at that time, there were a lot of kids who ran the available home computers and just played games and never became interested in BASIC or the technical part of the experience. There will be kids now who find the Raspberry Pi somewhat fun to go on the Internet with, play movies, and play some games that will no doubt be available. There will also be those that realize that there might be an open source game that nobody has compiled for ARM Linux. They may not succeed in their efforts to compile the first game, but if they can get even one thing to compile, then their interest is piqued. There will be those that see a simple independent game that was made for the Pi, and they will look at the code to see how it works.

I know that the open nature of Linux makes it so that the complications can be exposed, and some find that intimidating because they don't realize those complications can be safely ignored if that's what they want. However, it's also this very open nature of Linux that makes it more interesting from an educational standpoint than a closed system ever really could be.

TheManWhoWas
Posts: 50
Joined: Thu Feb 09, 2012 9:11 pm

Re: Isn't this all too complicated?

Fri Feb 10, 2012 11:03 pm

That link to the ZX81 manual is fantastic and a salutory reminder of just why us 80's kids were able to teach ourselves to program. Take this from chapter 1:

If you're a novice, then the main part of the manual has been written for you. Don't ignore the exercises; many of them raise interesting points that are not dealt with in the text. Look through them, & do any that take your fancy, or that seem to cover ground you don't understand properly.

Whatever else you do, keep using the computer. If you have a question 'What does it do if I tell it such & such?' then the answer is easy: type it in & see. Whenever the manual tells you to type something in, always ask yourself, 'What could I type instead?' & try out your replies. The more of your own stuff you write, the better you will understand the ZX81. (This is called unprogrammed learning.) Regardless of what you type in, you cannot damage the computer.

That's the level the Raspberry Pi needs to be aiming for!

error404
Posts: 351
Joined: Wed Dec 21, 2011 11:49 pm

Re: Isn't this all too complicated?

Fri Feb 10, 2012 11:51 pm

TheManWhoWas said:


That link to the ZX81 manual is fantastic and a salutory reminder of just why us 80's kids were able to teach ourselves to program.


Documentation and tools are far more varied and accessible now than they were in the 80s. All that's really needed, then and now, to be successful is the curiosity and the tools. Raspberry Pi is about providing the tools to enable the curiosity. In my childhood (the mid to late 90s), it was exactly Linux that enabled this. I couldn't afford to buy the Borland or Microsoft compilers. BASIC was fun for a while, but it was quickly apparent that it's both cumbersome to use and not very capable. The problem was not the technology's difficulty, it was getting access to it.

Your apparently core assumption that machines in the 80s were somehow simpler is flawed. They weren't. Then you were dedicated, curious and spent time experimenting. That may have changed over the intervening decades, but rest assured that kids have not lost their curiosity and will have no difficulty with the 'complex' Linux system, or learning a modern language like Python.

If anything I'd say the biggest problem is that machines today are too simple. So simple that they're boring, don't expose their rough edges and provide little surface for exploration.

User avatar
Gert van Loo
Posts: 2487
Joined: Tue Aug 02, 2011 7:27 am
Contact: Website

Re: Isn't this all too complicated?

Sat Feb 11, 2012 12:24 am

I think the one point where the Raspberry-Pi outshines all the previous educational computers, is that the threshold for what you can do is much higher.

Just like in the old days you can start with BASIC/Python and you can't kill the computer. But once you are past that stage you can learn about operating systems, shells, go to C, C++, device drivers etc. The only part where it lack somewhat is in massive computer power.

Now let me tell you a secret: that is a major advantage if you start to learn programming. I have seen clever students coming from the UNI writing the most ghastly programs and not realizing they where doing so because their machine was fast enough. (Open a file, read a line, close it again. And that 10.000 times)

Power to the Pi!

User avatar
johnbeetem
Posts: 945
Joined: Mon Oct 17, 2011 11:18 pm
Location: The Mountains
Contact: Website

Re: Isn't this all too complicated?

Sat Feb 11, 2012 12:28 am

error404 said:

Documentation and tools are far more varied and accessible now than they were in the 80s.
Yes and no.  If it's publicly available, yes it's much easier to get via the Internet.  However, a lot of stuff is behind NDAs and you can't get it as a curious individual.  My first machine was a Heathkit H-8.  I had schematics and BIOS listings so I could improve its capabilities.  Of the computers I use today, only the BeagleBoard has a schematic.

Your apparently core assumption that machines in the 80s were somehow simpler is flawed. They weren't.
YMMV, but IMO I'd say an S-100 bus, a Heathkit-H8 bus, or an IBM PC ISA bus are a whole lot simpler than PCI, which is in turn a whole lot simpler than PCI Express.  RS-232 is a whole lot simpler than USB or Ethernet.  Yes, the latter have far more capability and data rate, but in terms of being able to design and build a card, or write software to talk to it, it was a whole lot simpler in the 1980s.  Wire-wrap is a lot simpler than trying to solder a BGA or fine-pitch TQFP.


If anything I'd say the biggest problem is that machines today are too simple.  So simple that they're boring, don't expose their rough edges and provide little surface for exploration.


They don't expose anything.  Take apart a typical modern digital device and it's a few fine-pitch ICs.  There's nothing to explore -- it either works or you throw it away.  It's not simple -- it's insanely complex, with the complexity is locked inside a little black square with nothing for the curious to play with.

User avatar
johnbeetem
Posts: 945
Joined: Mon Oct 17, 2011 11:18 pm
Location: The Mountains
Contact: Website

Re: Isn't this all too complicated?

Sat Feb 11, 2012 12:36 am

Gert said:


The only part where it lack somewhat is in massive computer power.
Now let me tell you a secret: that is a major advantage if you start to learn programming.  I have seen clever students coming from the UNI writing the most ghastly programs and not realizing they where doing so because their machine was fast enough.


Great point.  I think Microsoft must be filled with people like that, with extremely fast development machines with oodles of memory and lightning-fast LAN and WAN connections so that they end up producing software that struggles on lesser machines.  Manufacturers are happy because people have to keep buying bigger machines to keep up with the IMO wasted computations.

It's amazing what one can do with a small machine — things like Unix, for example.  It's actually a good exercise to turn off the optimizer and run interpretively, just to see where the bottlenecks are.

error404
Posts: 351
Joined: Wed Dec 21, 2011 11:49 pm

Re: Isn't this all too complicated?

Sat Feb 11, 2012 12:43 am

You seem to be focused on the hardware, not programming, which is what I thought we were discussing here. I'd agree with most of your points, but theyre also pretty much irrelevant to how simple or complicated the machine is to use/program. I'd wholeheartedly agree that the Pi's hardware is not very accessible for exploration and learning.

As far as I"'m concerned "simple" and "simple with all the complexity invisible and inaccessible" are equivalent for our purposes here.

User avatar
johnbeetem
Posts: 945
Joined: Mon Oct 17, 2011 11:18 pm
Location: The Mountains
Contact: Website

Re: Isn't this all too complicated?

Sat Feb 11, 2012 1:09 am

error404 said:


You seem to be focused on the hardware, not programming, which is what I thought we were discussing here. I'd agree with most of your points, but theyre also pretty much irrelevant to how simple or complicated the machine is to use/program. I'd wholeheartedly agree that the Pi's hardware is not very accessible for exploration and learning.


I assume you're replying to my comments above.  Actually, I was referring to both hardware and software complexity.  RS-232 is far simpler at the software level than USB or Ethernet, and talking to an ISA with address set by DIP switches is far simpler from a software developer's point of view than all the plug-and-play device-driver hurdles that must be breached for PCI.

For the record, I'm personally quite pleased with RasPi's hardware accessibility what with the expansion connector and all.  One of the first things I'm likely to do is to drive a bunch of LEDs using GPIOs and make Cylon lights.

Bakul Shah
Posts: 324
Joined: Sun Sep 25, 2011 1:25 am

Re: Isn't this all too complicated?

Sat Feb 11, 2012 1:45 am

Gert said:


The only part where it lack somewhat is in massive computer power.

Now let me tell you a secret: that is a major advantage if you start to learn programming. I have seen clever students coming from the UNI writing the most ghastly programs and not realizing they where doing so because their machine was fast enough. (Open a file, read a line, close it again. And that 10.000 times)

Power to the Pi!


Once you teach students about recursion and looping, the *next* thing you must teach them is how to use gprof! [Compile & link your $program with -pg, after you run it, examine its call graph with `gmon $program' and do something about the top N timehogs!] Programmers are pretty good at improving program performance *once* they know where the hotspots are! But after that you'd better hurry and teach them about `structured programming' and warn them of the evils of `premature optimization' otherwise they'd learn to write superfast programs that are impossible to debug : )

error404
Posts: 351
Joined: Wed Dec 21, 2011 11:49 pm

Re: Isn't this all too complicated?

Sat Feb 11, 2012 5:17 am

John Beetem said:


I assume you're replying to my comments above.  Actually, I was referring to both hardware and software complexity.  RS-232 is far simpler at the software level than USB or Ethernet, and talking to an ISA with address set by DIP switches is far simpler from a software developer's point of view than all the plug-and-play device-driver hurdles that must be breached for PCI.


Yes, but my point was that this only matters to a hardware developer. A software developer - or better yet, a kid fooling around - doesn't need to know or care about this, whether it's 1981 or 2012. With the available GPIO you will be able to fool around with simple I/O anyway - and very easily.

And it doesn't really matter that USB and Ethernet are much more complicated than RS232 when they remain just as accessible thanks to APIs. All three are capable of providing bidirectional serial data with similar difficulty.

User avatar
Jim JKla
Posts: 2218
Joined: Sun Jan 29, 2012 11:15 pm
Location: Newcastle upon Tyne UK

Re: Isn't this all too complicated?

Sat Feb 11, 2012 9:37 am

There’s all this talk about it being too had and that it is not as easy as it was with the spectrum.  I recalled the days I spent loading in lines of code from cheap magazines so that I could play computer games and how I bought books and an assembler and monitor programme so I could do a section of machine code so a screen would load faster.

Yes the Spectrum and the ZX81were expensive in their day. My first Spectrum was 16k and I upgraded to 48k (and that’s not a typo) manually fitting memory chips.

Spectrum code could fit into the back pocket of the raspPi and still leave room for several copies of the War and Peace (or any other suitably long book).

Ok there will be some that do not progress beyond “Hello World”  but I feel there may be a time when they are interviewing someone on a science programme and he/she says “I remember my granddad showed me how he wrote this program from an old magazine, and that had a frog crossing a busy road and he handed me the listing, and that inspired me to go on and write the self aware program for the Titan lander that ran on its embedded Raspberry 2050.
Noob is not derogatory the noob is just the lower end of the noob--geek spectrum being a noob is just your first step towards being an uber-geek ;)

If you find a solution please post it in the wiki the forum dies too quick

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 28358
Joined: Sat Jul 30, 2011 7:41 pm

Re: Isn't this all too complicated?

Sat Feb 11, 2012 10:04 am

There are quite a few people here who regard hardware knowledge and ability to access it is essential to learning to program, but I find myself disagreeing with that. I am confident that someone can get right in to programming without ever knowing what the hardware on the device does, or how it works. After all, look at all the people writing Android/iOS apps - they don't have any access/knowledge of the underlying device except via API's.

Of course, if someone WANTS to access the hardware, that's also great. But I don't think it's essential to getting people interested. That's why I wouldn't have a problem if there was a lack of datasheets or GPIO header information etc. The device still works for programming without them.

Long term of course, it is an advantage to understand how a CPU works, especially when debugging, but the hardware interfaces? Only an advantage if you want to work  in the embedded arena.

YMHO.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed.
I've been saying "Mucho" to my Spanish friend a lot more lately. It means a lot to him.

Alchemy
Posts: 92
Joined: Mon Jan 30, 2012 2:10 pm

Re: Isn't this all too complicated?

Sat Feb 11, 2012 10:13 am

Jim JKla said:


“I remember my granddad showed me how he wrote this program from an old magazine, and that had a frog crossing a busy road and he handed me the listing, and that inspired me to go on and write the self aware program for the Titan lander that ran on its embedded Raspberry 2050."


If I had a dream for RasPi. It would be programming comes back stronger and gets to be normal. Maybe we can find a way to teach it with more success. The new Latin as they say, why would you accept 1% of students learning a subject.

Eventually I'd like most computer programs to include a programming language for users. If 30% of people could program that would happen. The benefits would be immense.

tritonium
Posts: 79
Joined: Tue Jan 03, 2012 7:10 pm

Re: Isn't this all too complicated?

Sat Feb 11, 2012 11:23 am

So

What might be a good option is to supply an SD card which boots straight into a programming environment - basic, Python etc.

Just like it was in the good old days when all that you could do was write a program or load one in and run it. No distractions like the internet, social networks etc.

Perhaps allow the user to get out into the 'big pc world' by typing 'system' or whatever for the full bloat experience but still be able to get back to the programming environment easily. The thing is once there will they want to go back???

If in an x86 environment I can boot from a floppy disc (1.4 MB) into dos with an autoexec.bat to run Qbasic - slower than the beeb but not dissimilar - how about the pi?

Oh I do miss the simplicity of the BBC boot sequence   bee Beep!

Dave

Alchemy
Posts: 92
Joined: Mon Jan 30, 2012 2:10 pm

Re: Isn't this all too complicated?

Sat Feb 11, 2012 11:54 am

If we focus on the boot sequence in schools.

Clean SD-cards are an advantage and stored status breaks its simplicity. Removing the cool personal achievement unlock which home users would like.

Booting Python is great for "Hello World", "Math" and basic sorts. But annoying if you've moved onto non python projects.

I think it needs to boot to a desktop environment so the graphics using apps can run. The backdrop should be a diagram of all the learning modules. Showing an advised route from beginner to programmer.

I loved the boot to basic days. But maybe first impressions should be wow! Dare I use the word edutainment?

Jaseman
Posts: 302
Joined: Tue Jan 10, 2012 12:59 pm
Contact: Website

Re: Isn't this all too complicated?

Sat Feb 11, 2012 11:55 am

I had that thought too - If you are a child, using the Pi to learn programming, you might not want to be bogged down with the OS and have extra steps before getting into the IDE.  But then again, you might not be using it to learn Python.  Maybe you are learning about linux, in which case, having it boot up into IDLE or Geany and then having to exit from it would get annoying.

I think they will just have to be shown at stage 1, how to start up the machine, and then launch the IDE from the start menu. That shouldn't be too bad.  I'm guessing that after powering up, they would see a bunch of linux boot up text followed by LXDE, and hopefully they won't be slowed down by having to supply a login password.

TheManWhoWas
Posts: 50
Joined: Thu Feb 09, 2012 9:11 pm

Re: Isn't this all too complicated?

Sat Feb 11, 2012 12:08 pm


tritonium said:


What might be a good option is to supply an SD card which boots straight into a programming environment - basic, Python etc.



Essentially, but what I envisaged was not quite so raw. The supplied Linux would have desktop and quick launch icons set up with pre-configured programming environments and tutorials. So things like the NetBeans IDE would be in place with all the right plug-ins, and even have a LAMP environment set up correctly so people could have a go at making web sites.

Basically ensuring that the barriers to entry are as low as possible.

Return to “General discussion”