deechster
Posts: 10
Joined: Tue Nov 29, 2011 9:35 pm

Re: BASIC - more harmful than useful?

Wed Dec 14, 2011 11:50 am

@simon Most of the first and second generations of BASIC along with the platforms that ran them are for all intents and purposes are pretty much dead. However there are those who will continue to improve and carry forward BASIC as been sited before in this and other threads. PowerBasic, Real Basic, BaCon, Liberty Basic, PICK Basic and others will continue to go forward as long as there is some value and need for them.

My answer to the question of whether BASIC does more harm than good is no. Modern implementation still have valuable lessons to teach a beginner. It depends on what the instructors are comfortable teaching and what the student is truly interested in learning.

This is an academic argument. Predicting what languages will have the potential to be marketable 10 to 15 years into the future are pretty chancy. Learning the logical thinking and problem analysis skills that any programming language requires are the real transferable skills.

My hope is that those that grow up using the Raspberry Pi will go onto invent new languages that improve programming and computing sciences for all.

User avatar
NormanDunbar
Posts: 111
Joined: Wed Nov 23, 2011 12:13 pm
Location: Leeds, West Yorkshire, England.
Contact: Website

Re: BASIC - more harmful than useful?

Wed Dec 14, 2011 12:33 pm

Morning all,

people are too quick to trash Basic, or indeed, to give it both barrels behind the shed - a touch hasty methinks.

While it is true that basic doesn't have linked lists, or records or other structures, neither does C as someone else back up this thread pointed out. In fact, C doesn't have anything much - if you don't use the libraries.

Pascal - Lazarus, Delphi, Turbo or other flavour does have these, it was a teaching language after all. However, when you are teaching something, you need to get in quick and grab them by the painful bits straight away. Kids (or adults) these days need (!) instant gratification.

I teach MC68000 assembly language in a magazine for die hard Sinclair QL users. Lets face it, assembly is boring! Getting "Hello World" on screen requires:

* Opening channels.
* Setting colours - optional - if you prefer something other than the defaults.
* Defining your data.
* Setting up the registers correctly.
* Calling the OS with a TRAP #n call.
* Checking errors and dealing with them.

And that's just the source code, before you can do that, you need to know about position independent code, address modes, register usage for TRAP calls, etc.

Then you have to learn an editor and an assembler and possibly, depending on complexity of the source code, a linker.

Then when you have done all that and assembled/linked it, you have a pretty boring result.

Compare and contrast with Basic where it's one or two lines of code and a quick RUN to get results.

It's going to keep their attention for longer if they get results quickly. (In my opinion.)

And as for missing structures, linked lists etc, true, but in the end, Assembly language doesn't have those either - some processors allow Floating Point, but not all! And when it all comes down to it, your compiled programs boil down to some sort of assembly anyway.

Basic is a beginner's language. That's what the B stands for after all. The fact that whole applications exist that have been written in Basic is a bonus.

However, just as there have always been religious wars, there will be language wars, so who cares - just get the kids programming, and the adults as well. Lets get some intelligence and skills back into the UK (and other) populations and who knows, we might have a future. (Sorry, slipped into my cynical mode there!)

And lets face it, even without structures and linked lists, no-one is going to write a database program in Basic are they? Oh! Yes! I did! :-)

Cheers,
Norm.

PS. It's not hard to do linked lists in Basic. Clumsy but not hard.
Why do they put lightning conductors on churches?
Why did Tarzan never have a beard?

hippy
Posts: 6090
Joined: Fri Sep 09, 2011 10:34 pm
Location: UK

Re: BASIC - more harmful than useful?

Wed Dec 14, 2011 1:16 pm

This has crossover with 'best first language' elsewhere, but an aspect not mentioned so far is how well any language fits with the application domain. Many programs don't fit the 'input, process, output' model and are perhaps best considered event driven, particularly for GUI apps.

Microsoft Visual Basic's best achievement was perhaps in removing the need for explicit message handling loops and hiding everything behind the scenes, allowing programmers to get on with what they wanted to do, not have to worry about the mechanisms behind that. There are good and bad aspects to that, but it undeniably opened up Windows programming to a larger base than without it, was the background for its success IMO. It was a double-edged sword of course; entry to Windows programming was eased and there were plenty of awful programs as a consequence which detracted from its achievement.

The point is; it's not only about language and data structures, but how well suited the programming paradigm is to the task in hand.

tufty
Posts: 1456
Joined: Sun Sep 11, 2011 2:32 pm

Re: BASIC - more harmful than useful?

Wed Dec 14, 2011 1:59 pm

Quote from tomo on December 14, 2011, 09:04
By going that way, we soon end up teaching the "Microsoft Word" of computer programming, rejecting everything below as "obsolete", uninteresting and unnecessary to know... Doesn't that mean that the whole point of the Raspberry Pi and the proper computer education was badly missed again?
Don't get me wrong. I wouldn't suggest teaching any one language - as I've said before, I see the point of teaching programming to be to teach programming, and not programming "X", where "X" is any one language, OS, API, library or even "subset of application". And certainly, choosing a language for teaching based on its potential future saleability is one of the most stupid things one could do[1]. My argument is that BASIC does not have a single feature of use in the teaching of programming which can't be better and more easily carried out in other languages which are equally easily accessible. I'm not trashing BASIC as "obsolete", I'm trashing it as being useless for teaching.
Quote from hippy on December 14, 2011, 10:28
I don't recall C ever having linked lists, stacks, queues, hashes, etc as intrinsic data types, not even dynamic strings for that matter. Likewise for other popular languages, perhaps even C++ but I'm not familiar with C++
I don't remember ever having suggested "C" as a teaching language. However. Implementation of linked lists, doubly linked lists, queues, deques, hashmaps and so on is easy to do with C[2]. As NormanDunbar points out:
It's not hard to do linked lists in Basic. Clumsy but not hard.
It's clumsy. Everything about BASIC is clumsy, with the possible exception of some of the better bits of VB (including, as hippy points out, VB's removal of the event loop from the programmer's control).

I would *strongly* suggest using something like python instead of BASIC. It does everything BASIC can, and vastly more. It's uncluttered by syntax (one of BASIC's very few saving graces), and it's available in a standard form across platforms.

You can screw in allen bolts with a chisel if you try hard enough, but you'll do a lousy job of it (and probably break the tool at the same time). That's how I see BASIC. It's simply not the right tool for the job.

For any job, and especially not teaching.

Simon

[1] If you carry on with that line of thinking, you'll end up teaching "Excel Spreadsheets[3]" at school. What? They do that already? <sigh>
[2] I'll grant you the dynamic strings bit, string handling in C is abysmal. Thats said, I tend to see mutable strings as being a really bad idea overall.
[3] Mastery of Excel is certainly a saleable skill, but Excel itself is a mediocre tool - it was overtaken in terms of functionality and usability (by Quantrix and Improv amongst others) over 20 years ago. Only MS's market dominance has kept it on top, and to the detriment of business as a whole. But that's OT.

hippy
Posts: 6090
Joined: Fri Sep 09, 2011 10:34 pm
Location: UK

Re: BASIC - more harmful than useful?

Wed Dec 14, 2011 2:39 pm

Quote from tufty on December 14, 2011, 13:59
I don't remember ever having suggested "C" as a teaching language. However. Implementation of linked lists, doubly linked lists, queues, deques, hashmaps and so on is easy to do with C[2]. As NormanDunbar points out:
It's not hard to do linked lists in Basic. Clumsy but not hard.
It's clumsy. Everything about BASIC is clumsy, with the possible exception of some of the better bits of VB (including, as hippy points out, VB's removal of the event loop from the programmer's control).

We seem to be down to personal opinion and subjectiveness rather than anything absolute, definitive or objective. I don't find creating linked lists et al in the Basics I've used any harder than C nor being any clumsier in implementation. I don't see anything particularly clumsy about Basic but I'll accept we all have our own preferences.

Beyond saying "I can do this in language X" and retorting "and this can be done in Basic" while having us or an audience judge which are equal, better or worse, there's not much merit I can see in continuing along this path so I'll leave it at that.

adric22
Posts: 10
Joined: Wed Oct 19, 2011 3:24 pm

Re: BASIC - more harmful than useful?

Wed Dec 14, 2011 2:53 pm

IN my opinion it isn't so much the programming language that is the hindrance to new learners as it is the programming environment. I used to program in BASIC, Assembler, Pascal, and C back in the 1980's and 1990's. So I'm pretty familiar with programming. The problem for me is when you sit me in front of a windows PC or Mac and tell me to write some program, even if it is in C, I am totally lost. The development environment is so complex and doesn't make any sense to me. I would need a 2 week course just to explain how to use the IDE.

Maybe what the Pi needs is not so much a specific language but an easy to use development environment. Something that a person can just sit down in front of and start programming. That is how the Commodore 64 was.

I played around with SDL basic a few years ago and I was able to produce something pretty cool in just a matter of hours. Sure, the language was quite different from the old 1980's BASIC, it didn't even use line-numbers. But that only took a minute or so to grasp. Since the language was self-contained I didn't have to worry about what libraries to inlcude, didn't need to know any API's for the operating system. Didn't need to worry about object oriented programming or threads or any of that.

That is what the Pi needs.. something that runs full screen that is easy to learn within a few minutes.

User avatar
NormanDunbar
Posts: 111
Joined: Wed Nov 23, 2011 12:13 pm
Location: Leeds, West Yorkshire, England.
Contact: Website

Re: BASIC - more harmful than useful?

Wed Dec 14, 2011 4:15 pm

Quote from adric22 on December 14, 2011, 14:53
That is what the Pi needs.. something that runs full screen that is easy to learn within a few minutes.
Agreed!

Cheers,
Norm.
Why do they put lightning conductors on churches?
Why did Tarzan never have a beard?

User avatar
Burngate
Posts: 6059
Joined: Thu Sep 29, 2011 4:34 pm
Location: Berkshire UK Tralfamadore
Contact: Website

Re: BASIC - more harmful than useful?

Wed Dec 14, 2011 5:35 pm

+1
Though Python seems to only need two windows, which is getting close.
Most of what I do, I do in (the equivalent of) Notepad - one window - with a folder open - 2nd window - for somewhere to put what I've written. Double-click to run or more likely fail-to-run-cos-of-errors.
This seems to me not too far from the full-screen ethos, easy for a 1st-timer to get their head around.

Wooloomooloo
Posts: 92
Joined: Fri Nov 25, 2011 10:52 am

Re: BASIC - more harmful than useful?

Wed Dec 14, 2011 9:19 pm

Quote from adric22 on December 14, 2011, 14:53That is what the Pi needs.. something that runs full screen that is easy to learn within a few minutes.
+1

First-timers need something they can immediately interact with (and I mean immediately), something that steps aside and lets them keep their hands on the raw programming logic, starting from second zero. No includes. No makefiles. No cryptic error messages, as long as they manage to stick to the syntax described. No event loops and message pipes. No mallocs and no mutexes. No constructing everything up to and including the kitchen sink (and the bullet and the gun) before they are even allowed to shoot themselves in the foot royally.

They have plenty of time to learn all that further along the way, but if they never get that rush of awe of being able to implement a crude "breakout" or "asteroids" or "lander" or "invaders" in a few hours after having learned the first ten commands, they'll never become interested enough to keep learning.

Whether SDLBasic or Python is more appropriate to do that, I can't tell. But without that experience, I say that's the end of the road right there for all but the most persevering kids. So yeah, +1000.

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

Re: BASIC - more harmful than useful?

Wed Dec 14, 2011 9:42 pm

For something kid friendly and immediately interactive, I believe we've been hearing good things from kids ruby. It offers what amounts to a SDK on the left side while allows you to see the results of your code on the right with a click of the button. It even has an interactive turtle, which, those of a certain age, might fondly remember
Dear forum: Play nice ;-)

spock
Posts: 208
Joined: Sun Oct 02, 2011 10:33 am

Re: BASIC - more harmful than useful?

Wed Dec 14, 2011 10:17 pm

i don't see any advantage of SDLBasic compared to python+pygame (which also is based on SDL and could be called SDLpython. :)).

superficially SDLBasic even has similarities to python. but i heard of SDLBasic for the first time. python is a very well known and popular language. compared to python SDLBasic is a lot less complete and expressive. python simply is a lot more useful skill to have.

BarryK
Posts: 36
Joined: Thu Dec 08, 2011 12:47 am
Contact: Website

Re: BASIC - more harmful than useful?

Wed Dec 14, 2011 10:39 pm

That is what the Pi needs.. something that runs full screen that is easy to learn within a few minutes.

...yep, that describes BaCon. You should have followed the links that I posted earlier in this thread.

No one is really "listening", just posting their pre-conceived opinions to this thread!

Yes, it is correct that many of the modern structured BASICS have features that earlier posts have complained are lacking from BASIC. Like for example, BaCon supports associative-arrays, pointers, internationalization, error-handling, regular expressions, high-level GUI coding, low-level stuff like memory-access and stacks, usage of all C shared libraries, etc.... well, here is the main user docs page:

http://www.basic-converter.org.....ation.html

HUG doc page:

http://www.basic-converter.org.....ugdoc.html

And a simple GUI application that I created awhile back:

http://bkhome.org/bacon/my-1st.....index.html

None of the anti-BASIC posts have made a case for why the above would not be an excellent first language for RP kids and newcomers.

Apart from it not being a scripting/interpreted language, needs compiling. No run-time interpreter core even, a truly compiled language for maximum speed and small size.

tufty
Posts: 1456
Joined: Sun Sep 11, 2011 2:32 pm

Re: BASIC - more harmful than useful?

Thu Dec 15, 2011 5:32 am

Quote from BarryK on December 14, 2011, 22:39

That is what the Pi needs.. something that runs full screen that is easy to learn within a few minutes.

...yep, that describes BaCon. You should have followed the links that I posted earlier in this thread.
I did. Even downloaded it and had a go. Everything I've said so far holds, with the addition of it not being interpreted, and the fact that it feels a lot like C in a clown suit.

"It tries to revive the days of the good old BASIC."

Ah, good old misplaced nostalgia. The good old days weren't that good, IMO. Those (myself included) who ended up programming having come through the '80s ended up there despite BASIC, not because of it. We were hooked enough to convince our parents to spend a significant amount of money on something that had no immediate obvious benefit.

Anyway, I've said my piece.

Simon

User avatar
DavidS
Posts: 4334
Joined: Thu Dec 15, 2011 6:39 am
Location: USA
Contact: Website

Re: BASIC - more harmful than useful?

Thu Dec 15, 2011 6:54 am

I always find the views people have on BASIC interesting.
I would like to add a couple of objective (actually tested) notes:
1) A C language interpreter written in a well optimized manner is a lot slower than a BASIC compiler thrown together in a hurry on the same hardware.
2) A NON-optimizing basic compiler (for the traditional BASIC variants), so long as it directly produces either machine code or assembly, will produce applications nearly as efficient as the same algorithm in C compiled with a good optimizing compiler. in other words BASIC IS NOT SLOW.
3) It is a lot easier to make a good optimizing BASIC compiler than a good optimizing C compiler. And the code from the well optimizing BASIC compiler will outperform a optimizing C compiler using the same level of target specific care as that of the optimizing BASIC compiler.
4) BASIC is a lot closer of an analogy to assembler than C, PASCAL, or other fourth generation languages.
5) OO tends to become bloated very quickly, this is due to coders being lazy and just building up, and patching by addition/override, as OO makes these poor practices to easy.
RPi = The best ARM based RISC OS computer around
More than 95% of posts made from RISC OS on RPi 1B/1B+ computers. Most of the rest from RISC OS on RPi 2B/3B/3B+ computers

User avatar
DavidS
Posts: 4334
Joined: Thu Dec 15, 2011 6:39 am
Location: USA
Contact: Website

Re: BASIC - more harmful than useful?

Thu Dec 15, 2011 7:07 am

I should add that even most "Second generation" Structured BASIC languages apply to my above statement. This being largely do to the structure still holding many of the vestiges of the first generation BASIC languages.

I ask you to think back to when you were a young kid working in BASIC, how easy whas it to cross over into assembly, pretty easy as I remember it (even though the CPU I had to work with at the time was not nearly as nice as the ARM). Most kids that learn other languages never look at assembly, they just assume that assembler is an arcane art that is unneeded. I wrote my first assembly language program for a 68000 based computer when I was 9 years old and still in grade school, I do not believe that I could have done this without the background of BASIC, with its structures.
RPi = The best ARM based RISC OS computer around
More than 95% of posts made from RISC OS on RPi 1B/1B+ computers. Most of the rest from RISC OS on RPi 2B/3B/3B+ computers

tomo
Posts: 19
Joined: Mon Dec 12, 2011 12:50 pm

Re: BASIC - more harmful than useful?

Thu Dec 15, 2011 9:17 am

Quote from DavidS on December 15, 2011, 07:07
Most kids that learn other languages never look at assembly, they just assume that assembler is an arcane art that is unneeded. I wrote my first assembly language program for a 68000 based computer when I was 9 years old and still in grade school, I do not believe that I could have done this without the background of BASIC, with its structures.

Well, exactly!

Everybody is speaking about OO, about using fancy libraries someone else has written for us, all that fancy abstractions, academically produced best practices of the present and the future, etc., but not so many care much to remember the other "alinea" in this story - the necessity of gradually getting closer to the hardware and the practical ideas behind how computers actually work. And yet, I believe, this is the most neglected part of today's computer education. And assembler and other low-level coding isn't dead, yet, or non profitable. There is still the embedded market. I don't think it's irrelevant! Not to mention that operating systems, high-level languages, environments, drivers and compilers don't get written by themselves, yet. And forget that the need for such programmers (except embedded) might be low, nowadays, I just wanted to point that single fact out.

tufty
Posts: 1456
Joined: Sun Sep 11, 2011 2:32 pm

Re: BASIC - more harmful than useful?

Thu Dec 15, 2011 11:15 am

Well, bullhockey! more like.

I'm not suggesting assembler is unnecessary, outdated, or irrelevant, of course. Far from it, and in introduction to assembler (preferably using a "teaching" virtual assembly language) should certainly be a part of computer science. The bit I'm suggesting is tosh is this:

I wrote my first assembly language program ... I do not believe that I could have done this without the background of BASIC, with its structures.

BASIC, compiled or otherwise, is really not a good entry point into assembler. Not even into "old school" 8 bit assembler such as you would find on the 6502/6510/z80 or the 16 bit assembler of the 680x0, and certainly not for a modern pipeline/cache oriented machine such as the ARM itself, let alone an implementation of the ARM which has a vector FPU and a honking great GPU hanging off the side of it. No pointers, no stack, no interrupts, no processor states, no overlapping register sets, no memory allocation, no load/store, no conditional execution of instructions rather than branching, no cache lines - that said, it does, I suppose, have "goto", and peek/poke gave many youngsters reason to query what was actually underlying the thing that produced ?SYNTAX ERROR.

I'll say it again. We[1] carried on despite BASIC, and not because of it. Most of us[2] learned assembler to get around the crippling limitations BASIC imposed[3]. The magic, and, above all, speed, of "machine code". I posit that the love of BASIC is given by a misplaced yearning for a "better time" that never was.

Hell, even the much-loved "full screen interface"[4] was bloody awful. Have you fired up a C64 or BBC emulator recently? Editing code was atrociously painful, you could have more fun using sed via a punch-card reader.

Yes, some of the software that was produced in the '80s was astounding. Games like Defender, Robotron, Tempest in the arcades, Gridrunner on the VIC-20, Jetpac on the Spectrum - these were works of beauty and genius produced under tight limitations by people who dream in code. But none of them were written in BASIC.

Oh, and most of the fancy abstractions, academically produced best practices and so on date from before the "glory days" of the 1980s, and many to even before BASIC.

Simon

[1] The 8/16-bit survivors
[2] I personally had a headstart - I didn't have a choice but to learn assembler first. Hand assembled and entered with toggle switches. Strangely enough, I wouldn't suggest it as an endearing way to learn programming.
[3] Jeff Minter's account of his early days are here : http://minotaurproject.co.uk/l.....story1.php
[4] Which was only full screen because you only had one task to play with.

deechster
Posts: 10
Joined: Tue Nov 29, 2011 9:35 pm

Re: BASIC - more harmful than useful?

Thu Dec 15, 2011 11:59 am

All,

Truly an interesting discussion. I think most of the participants have made their feelings on the thread's question quite clear. The important parts of the discussion, regardless of one's feelings on BASIC, IMHO, are:

1.) The importance of the learning platform to be easily accessible, and allow a student to get results easily to draw them in and peak interest in further learning.
2.) Powerful an flexible enough to support continued study and exploration.
3.) The importance of learning how computers actually work at the low level.

With those things in mind, and I am counting on the rest of the group to add to the above list, I propose that we start a new strictly language independent/agnostic thread to discuss the important concepts in computer programming and methods to teach them. The goal being to discover what we feel is important to teach, why and how to teach it.

I know there is knowledge and experience here. Most of us have programming experience, and have acquired our knowledge through the practice of programming, both with and without guided instruction. I was awed to find out that one of the contributors to our discussion is the primary force behind the Puppy Linux distribution.

So how about it, let us lay down our flaming keyboards, and work together to make a contribution to those who want to use the platform for learning and teaching. Share your knowledge, experience, viewpoints and feelings and help develop a list of topics and concepts that we learned, sometimes the hard way, and ways to teach them.

trevj
Posts: 65
Joined: Fri Oct 28, 2011 6:41 am
Location: Bristol, UK

Re: BASIC - more harmful than useful?

Thu Dec 15, 2011 1:05 pm

Quote from tufty on December 12, 2011, 17:08
Quote from obarthelemy on December 12, 2011, 13:08
Plus it woudln't mae any sense to burden pupils with 2 languages at such an early stage.
Au contraire, mon ami - It makes every sense to burden pupils with more than one language.

Je suis d'accord. There are a number of kids in my son's class (aged 4-5, in the UK) who think nothing of speaking 3 or more languages, due to their family environment. And I reckon the majority of language teachers would encourage the early introduction of languages. Understanding more than one language helps you understand how languages work.

And the same surely goes for programming languages - with the RPi supporting countless options.

As for ARM assembler, that's already built in to BBC BASIC (the RISC OS versions, dunno about others) with VFP/NEON support also being added.

adric22
Posts: 10
Joined: Wed Oct 19, 2011 3:24 pm

Re: BASIC - more harmful than useful?

Thu Dec 15, 2011 3:33 pm

Quote from DavidS on December 15, 2011, 07:07
I ask you to think back to when you were a young kid working in BASIC, how easy whas it to cross over into assembly, pretty easy as I remember it (even though the CPU I had to work with at the time was not nearly as nice as the ARM). Most kids that learn other languages never look at assembly, they just assume that assembler is an arcane art that is unneeded. I wrote my first assembly language program for a 68000 based computer when I was 9 years old and still in grade school, I do not believe that I could have done this without the background of BASIC, with its structures.

I learned assembly on my Commodore 64 at the age of 13. I would say that BASIC helped me learn it, but mainly because back then on the C64 any type of graphics or sound had to be created by using POKE statements to directly address the sound and graphics chips. So essentially we had to learn how to operate those chips from BASIC using the registers and memory addresses via POKE and PEEK. So that made the transition to assembly much easier. However, had I been working on a machine with more advanced graphics and sound commands built-in to BASIC, it might have been harder to move to assembly.

I'm going to go check out this BaCon people are talking about..

User avatar
DavidS
Posts: 4334
Joined: Thu Dec 15, 2011 6:39 am
Location: USA
Contact: Website

Re: BASIC - more harmful than useful?

Thu Dec 15, 2011 3:43 pm

Ok, I would say that since this is an ARM based machine, under RiscOS using BASIC5 (or BASIC64) we do have pointers (with variables dereferenced in the form of MyVar%!n), and as with most BASICs from 1982 on we have structured subroutines. I mostly use ARM assembly these days, though this does not put a cap on the use of BASIC a language that is no less or more capable than any modern language. Though BASIC (along with C, Pascal, and a couple of others) has the advantage of directly represent the procedures, where OO has killed the performance of software.
I take as an example streaming video:
On a 33MHz 68030 I could play streaming video from the net in 1024x768 resolution realtime (provide a sufficient connection speed), and do so with up to 8 streams simultaneously with zero drop frames, though now this can not be done with current software on a 2.8GHZ AMD Athlon 4200+ for even a single video. I feel that this is a result of the poor programming techniques that OO makes to easy.

It is better to make software that performs better with each generation, to what ever degree possible without sacrificing stability or usability. The modern model seems to be "let it take thousands of times more instruction cycles and waste memory, the HW is getting better it will make up for our laziness". This is a wrong view, if we can not do more with it what good does the better HW do us.
RPi = The best ARM based RISC OS computer around
More than 95% of posts made from RISC OS on RPi 1B/1B+ computers. Most of the rest from RISC OS on RPi 2B/3B/3B+ computers

hippy
Posts: 6090
Joined: Fri Sep 09, 2011 10:34 pm
Location: UK

Re: BASIC - more harmful than useful?

Thu Dec 15, 2011 5:13 pm

Quote from DavidS on December 15, 2011, 15:43
The modern model seems to be "let it take thousands of times more instruction cycles and waste memory, the HW is getting better it will make up for our laziness". This is a wrong view, if we can not do more with it what good does the better HW do us.

The stock answer is 'more capable hardware allows things to be done easier, quicker or with less effort' so it depends what end result one is looking for; a shorter and easier development cycle or a faster performing system.

I'm not sure seeking to reduce development time can truly be called laziness; that's more a trade-off between spending longer on one thing and doing fewer other things, or spending less time on each and getting more things done.

I don't believe anyone sets out to waste instruction cycles or memory it's just a consequence which is absorbed by better hardware.

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

Re: BASIC - more harmful than useful?

Thu Dec 15, 2011 7:06 pm

Quote from hippy on December 15, 2011, 17:13
The stock answer is 'more capable hardware allows things to be done easier, quicker or with less effort' so it depends what end result one is looking for; a shorter and easier development cycle or a faster performing system.


I will let CAR Hoare speak for me on this topic:

There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.

With a resource-limited system, you are required to design your software carefully, which usually results in a simpler, more elegant solution. Abundant resources give you the luxury of sloppiness, which too often results in a complex mess that will never be stable.

I'm grateful that I did most of my formative programming in the punched card era when you could only comfortably carry 4000 lines (two boxes) of code at a time. It taught me to keep things small and elegant.

User avatar
walney
Posts: 233
Joined: Wed Nov 30, 2011 6:57 pm
Contact: Website

Re: BASIC - more harmful than useful?

Thu Dec 15, 2011 7:35 pm

Quote from johnbeetem on December 15, 2011, 19:06
I'm grateful that I did most of my formative programming in the punched card era when you could only comfortably carry 4000 lines (two boxes) of code at a time. It taught me to keep things small and elegant.


Ahhh.... Fond memories of the plaintiff wails from someone who realised that they had forgotten to pencil in the order of the cards... as the elastic bands holding a massive stack snapped and they fluttered floorward...

obarthelemy
Posts: 1399
Joined: Tue Aug 09, 2011 10:53 pm

Re: BASIC - more harmful than useful?

Thu Dec 15, 2011 8:17 pm

I think the discussion is a bit all over the place between what we remember fondly and would like to revive, how to write good code and learn good habits, with an hidden agenda to stay in our own comfort zone...
I really think the focus should be to get kids hooked by achieving fancy stuff, while picking up the minimum of bad habits along the way, and maximizing the good stuff that will be useful later.
I think that places the focus more on IDEs and tools, libraries, ressources and premade curricula than on the actual language. Especially since most teachers aren't IT geeks either, and will need help/training themselves.

Return to “Staffroom, classroom and projects”