Re: [fonc] Historical lessons to escape the current sorry state of personal computing?

2012-07-16 Thread Pascal J. Bourguignon
Iian Neill iian.d.ne...@gmail.com writes:

 And I suspect the fact that BASIC was an interpreted language had a
 lot to do with fostering experimentation  play.

BASIC wasn't interpreted.  Not always.  What matters is not interpreter
or compiler, but to have an INTERACTIVE environment, vs. a BATCH
environment.


As for education, Python makes probably a good BASIC, even if I'd prefer
people be taught Scheme.

-- 
__Pascal Bourguignon__ http://www.informatimago.com/
A bad day in () is better than a good day in {}.
___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Historical lessons to escape the current sorry state of personal computing?

2012-07-16 Thread Miles Fidelman

Pascal J. Bourguignon wrote:

Iian Neill iian.d.ne...@gmail.com writes:


And I suspect the fact that BASIC was an interpreted language had a
lot to do with fostering experimentation  play.

BASIC wasn't interpreted.  Not always.  What matters is not interpreter
or compiler, but to have an INTERACTIVE environment, vs. a BATCH
environment.


As for education, Python makes probably a good BASIC, even if I'd prefer
people be taught Scheme.


I still remember my first intro to computing course (6.251, Donovan and 
Madnick, MIT 1971or2):

- 1/3 semester: Fortran, punch cards, IBM 360
- 1/3 semester: same again, but time sharing (360/TSO)
- 1/3 semester: same again, but using Multics time sharing

Gave a good perspective.



--
In theory, there is no difference between theory and practice.
In practice, there is.    Yogi Berra

___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Historical lessons to escape the current sorry state of personal computing?

2012-07-16 Thread Pascal J. Bourguignon
Loup Vaillant l...@loup-vaillant.fr writes:

 Pascal J. Bourguignon a écrit :
 Unfortunately, [CS is] not generalized yet, like mathematics of history.

 Did you mean history of mathematics?  Or something like this?
 http://www.ted.com/talks/jean_baptiste_michel_the_mathematics_of_history.html

Oops, I meant OR, not of.  Sorry for the confusion.

(But both mathematics of history and history of mathematics are
interesting too :-)).
-- 
__Pascal Bourguignon__ http://www.informatimago.com/
A bad day in () is better than a good day in {}.
___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Historical lessons to escape the current sorry state of personal computing?

2012-07-16 Thread Pascal J. Bourguignon
Miles Fidelman mfidel...@meetinghouse.net writes:

 Pascal J. Bourguignon wrote:
 Miles Fidelman mfidel...@meetinghouse.net writes:
 And seems to have turned into something about needing to recreate the
 homebrew computing milieu, and everyone learning to program - and
 perhaps why don't more people know how to program?

 My response (to the original question) is that folks who want to
 write, may want something more flexible (programmable) than Word, but
 somehow turning everone into c coders doesn't seem to be the answer.
 Of course not.  That's why there are languages like Python or Logo.


 More flexible tools (e.g., HyperCard, spreadsheets) are more of an
 answer -  and that's a challenge to those of us who develop tools.
 Turning writers, or mathematicians, or artists into coders is simply a
 recipe for bad content AND bad code.
 But everyone learns mathematics, and even if they don't turn out
 professionnal mathematicians, they at least know how to make a simple
 demonstration (or at least we all did when I was in high school, so it's
 possible).

 Similarly, everyone should learn CS and programming, and even if they
 won't be able to manage software complexity at the same level as
 professionnal programmers (ought to be able to), they should be able to
 write simple programs, at the level of emacs commands, for their own
 needs, and foremost, they should understand enough of CS and programming
 to be able to have meaningful expectations from the computer industry
 and from programmers.

 Ok... but that begs the real question: What are the core concepts that
 matter?

 There's a serious distinction between computer science, computer
 engineering, and programming.  CS is theory, CE is architecture and
 design, programming is carpentry.

 In math, we start with arithmetic, geometry, algebra, maybe some set
 theory, and go on to trigonometry, statistics, calculus, .. and
 pick up some techniques along the way (addition, multiplication, etc.)

 In science, it's physics, chemistry, biology,  and we learn some
 lab skills along the way.

 What are the core concepts of CS/CE that everyone should learn in
 order to be considered educated?  What lab skills?  Note that there
 still long debates on this when it comes to college curricula.

Indeed.  The French National Education is answering to that question
with its educational programme, and the newly edited manual.

https://wiki.inria.fr/sciencinfolycee/TexteOfficielProgrammeISN

https://wiki.inria.fr/wikis/sciencinfolycee/images/7/73/Informatique_et_Sciences_du_Num%C3%A9rique_-_Sp%C3%A9cialit%C3%A9_ISN_en_Terminale_S.pdf



 Some of us greybeards (or fuddy duddies if you wish) argue for
 starting with fundamentals:
 - boolean logic
 - information theory
 - theory of computing
 - hardware design
 - machine language programming (play with microcontrollers in the lab)
 - operating systems
 - language design
 - analysis
 - algorithms

Yes, some of all of that.

 On the other hand, an awful lot of classes, and college degree
 programs seem to think that coding in Java is all there is, and we're
 seeing degrees in game design (not that game design is simple,
 particularly if one goes into things like physics modeling, image
 processing, massive concurrency, and so forth).

Indeed.  In the French manual, it's made mention only of languages in
the Algol family.  It would be better if they also spoke of Prolog,
Haskell, and of course Lisp too.  But this can be easily corrected by
the teachers, if they're good enough. 


 And then there's the school of thought that all you need to know is
 how to use things - turn on a computer, use common programs, maybe
 write some Excel macros, and customize their operating
 environment. (After all, most of us learn to drive, but how many
 people take an auto shop class anymore.)

 Now me... I kind of think that high school should focus more on
 computational thinking than on programming.  Yes, kids should write
 a few programs along the way, but that's the lab component.  A more
 interesting question becomes: is this a separate discipline, or is it
 something to be incorporated into math and science?

Indeed, I find that in the French manual, algorithms are more stressed
than the programming language itself (Java).  It's definitely not a Java
manual.

-- 
__Pascal Bourguignon__ http://www.informatimago.com/
A bad day in () is better than a good day in {}.
___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Historical lessons to escape the current sorry state of personal computing?

2012-07-16 Thread Randy MacDonald


On 7/15/2012 2:48 PM, Tomasz Rola wrote:

Not really. Install Python, run interpreter and in black window type:

print Hello worldEnter

and you are done.

Or, install Racket, run it and in the interpreter subwindow type

(display Hello world)Enter

and you are done again. Even better, Racket comes with full IDE, so you
don't need to bother much with additional setups. Either write some
snippet into interpreter subwindow or longer piece into editor subwindow
and when you finish, click running man icon to run it.

It's that easy.

With APL, it's

'Hello World'



Of course, both languages require some reading/learning to be done before
one can program something more complicated. And in both cases, docs are
easily available and (IMHO) well written.



With the right learning, the problems can be big, but the APL doesn't 
have to be.


--
---
|\/| Randy A MacDonald   | If the string is too tight, it will snap
|\\| array...@ns.sympatico.ca|   If it is too loose, it won't play...
 BSc(Math) UNBF '83  | APL: If you can say it, it's done.
 Natural Born APL'er | I use Real J
 Experimental webserver http://mormac.homeftp.net/
-NTP{ gnat }-

___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Historical lessons to escape the current sorry state of personal computing?

2012-07-16 Thread Pascal J. Bourguignon
Miles Fidelman mfidel...@meetinghouse.net writes:

 Pascal J. Bourguignon wrote:
 Indeed.  The French National Education is answering to that question
 with its educational programme, and the newly edited manual.

 https://wiki.inria.fr/sciencinfolycee/TexteOfficielProgrammeISN

 https://wiki.inria.fr/wikis/sciencinfolycee/images/7/73/Informatique_et_Sciences_du_Num%C3%A9rique_-_Sp%C3%A9cialit%C3%A9_ISN_en_Terminale_S.pdf



 Any idea if there's an English translation floating around?

I doubt it.  It has just been published, and it's really only useful in
France, starting with the next school year.

Try Google Translate on the table of contents?


-- 
__Pascal Bourguignon__ http://www.informatimago.com/
A bad day in () is better than a good day in {}.
___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Historical lessons to escape the current sorry state of personal computing?

2012-07-16 Thread BGB

On 7/16/2012 8:00 AM, Pascal J. Bourguignon wrote:

Miles Fidelman mfidel...@meetinghouse.net writes:


Pascal J. Bourguignon wrote:

Miles Fidelman mfidel...@meetinghouse.net writes:

And seems to have turned into something about needing to recreate the
homebrew computing milieu, and everyone learning to program - and
perhaps why don't more people know how to program?

My response (to the original question) is that folks who want to
write, may want something more flexible (programmable) than Word, but
somehow turning everone into c coders doesn't seem to be the answer.

Of course not.  That's why there are languages like Python or Logo.



More flexible tools (e.g., HyperCard, spreadsheets) are more of an
answer -  and that's a challenge to those of us who develop tools.
Turning writers, or mathematicians, or artists into coders is simply a
recipe for bad content AND bad code.

But everyone learns mathematics, and even if they don't turn out
professionnal mathematicians, they at least know how to make a simple
demonstration (or at least we all did when I was in high school, so it's
possible).

Similarly, everyone should learn CS and programming, and even if they
won't be able to manage software complexity at the same level as
professionnal programmers (ought to be able to), they should be able to
write simple programs, at the level of emacs commands, for their own
needs, and foremost, they should understand enough of CS and programming
to be able to have meaningful expectations from the computer industry
and from programmers.

Ok... but that begs the real question: What are the core concepts that
matter?

There's a serious distinction between computer science, computer
engineering, and programming.  CS is theory, CE is architecture and
design, programming is carpentry.

In math, we start with arithmetic, geometry, algebra, maybe some set
theory, and go on to trigonometry, statistics, calculus, .. and
pick up some techniques along the way (addition, multiplication, etc.)


in elementary school, I got out of stuff, because I guess the school 
figured my skills were better spent doing IT stuff, so that is what I 
did (and I guess also because, at the time, I was generally a bit of a 
smart kid compared to a lot of the others, since I could read and do 
arithmetic pretty well already, ...).


by high-school, it was the Pre-Algebra / Algebra 1/2 route (basically, 
the lower-route), so basically the entirety of highschool was spent 
solving for linear equations (well, apart for the first one, which was 
mostly about hammering out the concept of variables and PEMDAS).


took 151A at one point, which was basically like algebra + matrices + 
complex numbers + big sigma, generally passed this.



tried to do other higher-level college level math classes later, total 
wackiness ensues, me having often little idea what is going on and 
getting lost as to how to actually do any of this stuff.


although, on the up-side, I did apparently manage to impress some people 
in a class by mentally calculating the inverse of a matrix... (nevermind 
ultimately bombing on nearly everything else in that class).



general programming probably doesn't need much more than pre-algebra or 
maybe algebra level stuff anyways, but maybe touching on other things 
that are useful to computing: matrices, vectors, sin/cos/..., the big 
sigma notation, ...




In science, it's physics, chemistry, biology,  and we learn some
lab skills along the way.

What are the core concepts of CS/CE that everyone should learn in
order to be considered educated?  What lab skills?  Note that there
still long debates on this when it comes to college curricula.

Indeed.  The French National Education is answering to that question
with its educational programme, and the newly edited manual.

https://wiki.inria.fr/sciencinfolycee/TexteOfficielProgrammeISN

https://wiki.inria.fr/wikis/sciencinfolycee/images/7/73/Informatique_et_Sciences_du_Num%C3%A9rique_-_Sp%C3%A9cialit%C3%A9_ISN_en_Terminale_S.pdf



can't say much on this.


but, a person can get along pretty well provided they get basic literacy 
down fairly solidly (can read and write, and maybe perform basic 
arithmetic, ...).


most other stuff is mostly optional, and wont tend to matter much in 
daily life for most people (and most will probably soon enough forget 
anyways once they no longer have a school trying to force it down their 
throats and/or needing to cram for tests).


so, the main goal in life is basically finding employment and basic job 
competence, mostly with education being as a means to an end: getting 
higher paying job, ...


(so, person pays colleges, goes through a lot of pain and hassle, gets a 
degree, and employer pays them more).




Some of us greybeards (or fuddy duddies if you wish) argue for
starting with fundamentals:
- boolean logic
- information theory
- theory of computing
- hardware design
- machine language programming (play with microcontrollers in the lab)

Re: [fonc] Historical lessons to escape the current sorry state of personal computing?

2012-07-16 Thread John Nilsson
On Mon, Jul 16, 2012 at 2:20 PM, Miles Fidelman
mfidel...@meetinghouse.net wrote:
 question becomes: is this a separate discipline, or is it something to be
 incorporated into math and science?

This question is examined at length here: http://www.ageofsignificance.org/

(Unfortunately something seems to have derailed the plan to publish
the chapters)

BR,
John
___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Historical lessons to escape the current sorry state of personal computing?

2012-07-16 Thread Pascal J. Bourguignon
BGB cr88...@gmail.com writes:

 general programming probably doesn't need much more than pre-algebra
 or maybe algebra level stuff anyways, but maybe touching on other
 things that are useful to computing: matrices, vectors, sin/cos/...,
 the big sigma notation, ...

Definitely.  Programming needs discreete mathematics and statistics much
more than the mathematics that are usually taught (which are more useful
eg. to physics).


 but, a person can get along pretty well provided they get basic
 literacy down fairly solidly (can read and write, and maybe perform
 basic arithmetic, ...).

 most other stuff is mostly optional, and wont tend to matter much in
 daily life for most people (and most will probably soon enough forget
 anyways once they no longer have a school trying to force it down
 their throats and/or needing to cram for tests).

No, no, no.  That's the point of our discussion.  There's a need to
increase computer-literacy, actually programming-literacy of the
general public.

The situation where everybody would be able (culturally, with a basic
knowing-how, an with the help of the right software tools and system) to
program their applications (ie. something totally contrary to the
current Apple philosophy), would be a better situation than the one
where people are dumbed-down and are allowed to use only canned software
that they cannot inspect and adapt to their needs.

Furthermore, beside the need the general public has of being able to do
some programming, non-CS professionals also need to be able to write
programs.  Technicians and scientists in various domains such as
biology, physics, etc, need to know enough programming to write honest
programs for their needs.  Sure, they won't have to know how to write a
device driver or a unix memory management subsystem.  But they should be
able to design and implement algorithms to process their experiments and
their data, (and again, with the right software tools, things like
Python sound good enough for this kind of users, I kind of agree with
http://danweinreb.org/blog/why-did-mit-switch-from-scheme-to-python).  


 so, the main goal in life is basically finding employment and basic
 job competence, mostly with education being as a means to an end:
 getting higher paying job, ...

Who said that?


 (so, person pays colleges, goes through a lot of pain and hassle, gets
 a degree, and employer pays them more).

You wish!




 probably focusing more on the useful parts though.

No, that's certainly not the purpose of high-school education.



 On the other hand, an awful lot of classes, and college degree
 programs seem to think that coding in Java is all there is, and we're
 seeing degrees in game design (not that game design is simple,
 particularly if one goes into things like physics modeling, image
 processing, massive concurrency, and so forth).
 Indeed.  In the French manual, it's made mention only of languages in
 the Algol family.  It would be better if they also spoke of Prolog,
 Haskell, and of course Lisp too.  But this can be easily corrected by
 the teachers, if they're good enough.

 yes, but you can still do a lot with Java (even if hardly my favorite
 language personally).

 throw some C, C++, or C# on there, and it is better still.

No.  Java is good enough to show off the algol/procedural and OO
paradygms.  There's no need to talk about C, C++ or C# (those language
are only useful to professionnal CS guys, not to the general public).
(And yes, I'd tend to think Python would be better for the general
public than Java).

What you could throw in, is some Lisp, some Prolog, and some
Haskell.  Haskell could even be taught in Maths instead of in CS ;-) 

The point here is to teach to the general public (eg. your future
customers and managers) that there are other languages than the
currently-popular Algol-like languages and languages in the Lisp, logic
or functional families are also useful tools.


 a problem with most other further reaching languages is:
 it is often harder to do much useful with them (smaller communities,
 often deficiencies regarding implementation maturity and library
 support, ... 1);

This is irrelevant.


 it is harder still for people looking at finding a job, since few jobs
 want these more obscure languages;

This is totally irrelevant to the question of educating the general
public and giving them a CS/programming culture.


 a person trying to just get it done may have a much harder time
 finding code to just copy/paste off the internet (or may have to go
 through considerably more work translating it from one language to
 another, 2);

This is irrelevant.  The question is for them to know what CS can do for
them, and know that they can hire a profession CS/programmer to do the
hard work.



 1: it is not a good sign when one of the first major questions usually
 asked is how do I use OpenGL / sound / GUI / ... with this thing?,
 which then either results in people looking for 3rd party packages to
 do it, 

Re: [fonc] Historical lessons to escape the current sorry state of personal computing?

2012-07-16 Thread Miles Fidelman

Pascal J. Bourguignon wrote:

No, no, no.  That's the point of our discussion.  There's a need to
increase computer-literacy, actually programming-literacy of the
general public.

The situation where everybody would be able (culturally, with a basic
knowing-how, an with the help of the right software tools and system) to
program their applications (ie. something totally contrary to the
current Apple philosophy), would be a better situation than the one
where people are dumbed-down and are allowed to use only canned software
that they cannot inspect and adapt to their needs.


As fond as I am of the days of Heathkits and homebrew computers, do we 
really expect people to build their computers, or cars, or houses, or 
even bicycles?  Specify and evaluate, maybe repair, but build?  (Though 
the new DIY movement is refreshing!).


Furthermore, beside the need the general public has of being able to do
some programming, non-CS professionals also need to be able to write
programs.


I guess the question for me is what do you/we mean by programming?  To 
me, it's about analyzing a problem, designing and algorithm, then 
reducing that algorithm to running code.  Being facile in one language 
or another seems less important.


Or put another way, what's important in math are word problems, not 
the multiplication tables.


It's about thinking mathematically, or algorithmically.

Just one man's opinion, though.

Miles








--
In theory, there is no difference between theory and practice.
In practice, there is.    Yogi Berra

___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Historical lessons to escape the current sorry state of personal computing?

2012-07-16 Thread BGB

On 7/16/2012 11:22 AM, Pascal J. Bourguignon wrote:

BGB cr88...@gmail.com writes:


general programming probably doesn't need much more than pre-algebra
or maybe algebra level stuff anyways, but maybe touching on other
things that are useful to computing: matrices, vectors, sin/cos/...,
the big sigma notation, ...

Definitely.  Programming needs discreete mathematics and statistics much
more than the mathematics that are usually taught (which are more useful
eg. to physics).


yes, either way.

college experience was basically like:
go to math classes, which tend to be things like Calculus and similar;
brain melting ensues;
no degree earned.

then I had to move, and the college here would require taking a bunch 
more different classes, and I would still need math classes, making 
trying to do so not terribly worthwhile.




but, a person can get along pretty well provided they get basic
literacy down fairly solidly (can read and write, and maybe perform
basic arithmetic, ...).

most other stuff is mostly optional, and wont tend to matter much in
daily life for most people (and most will probably soon enough forget
anyways once they no longer have a school trying to force it down
their throats and/or needing to cram for tests).

No, no, no.  That's the point of our discussion.  There's a need to
increase computer-literacy, actually programming-literacy of the
general public.


well, I mean, they could have a use for computer literacy, ... depending 
on what they are doing.
but, do we need all the other stuff, like US History, Biology, 
Environmental Science, ... that comes along with it, and which doesn't 
generally transfer from one college to another?...


they are like, no, you have World History, we require US History or 
we require Biology, but you have Marine Biology.


and, one can ask: does your usual programmer actually even need to know 
who the past US presidents were and what things they were known for? or 
the differences between Ruminant and Equine digestive systems regarding 
their ability to metabolize cellulose?


maybe some people have some reason to know, most others don't, and for 
them it is just the educational system eating their money.




The situation where everybody would be able (culturally, with a basic
knowing-how, an with the help of the right software tools and system) to
program their applications (ie. something totally contrary to the
current Apple philosophy), would be a better situation than the one
where people are dumbed-down and are allowed to use only canned software
that they cannot inspect and adapt to their needs.


yes, but part of the problem here may be more about the way the software 
industry works, and general culture, rather than strictly about education.


in a world where typically only closed binaries are available, and where 
messing with what is available may risk a person facing legal action, 
then it isn't really a good situation.


likewise, the main way which newbies tend to develop code is by 
copy-pasting from others and by making tweaks to existing code and data, 
again, both of which may put a person at legal risk (due to copyright, 
...), and often results in people creating programs which they don't 
actually have the legal right to possess much less distribute or sell to 
others.



yes, granted, it could be better here.
FOSS sort of helps, but still has limitations.

something like, the ability to move code between a wider range of 
compatible licenses, or safely discard the license for sufficiently 
small code fragments ( 25 or 50 or 100 lines or so), could make sense.



all this is in addition to technical issues, like reducing the pain and 
cost by which a person can go about making changes (often, it requires 
the user to be able to get the program to be able to rebuild from 
sources before they have much hope of being able to mess with it, 
limiting this activity more to serious developers).


likewise, it is very often overly painful to make contributions back 
into community projects, given:
usually only core developers have write access to the repository (for 
good reason);

fringe developers typically submit changes via diff patches;
usually this itself requires communication with the developers (often 
via subscribing to a developer mailing-list or similar);
nevermind the usual hassles of making the patches just so, so that the 
core developers will actually look into them (they often get fussy over 
things like which switches they want used with diff, ...);

...

ultimately, this may mean that the vast majority of minor fixes will 
tend to remain mostly in the hands of those who make them, and not end 
up being committed back into the main branch of the project.


in other cases, it may leads to forks, mostly because non-core 
developers can't really deal with the core project leader, who lords 
over the project or may just be a jerk-face, or a group of people may 
want features which the core doesn't feel are needed, ..., 

Re: [fonc] Historical lessons to escape the current sorry state of personal computing?

2012-07-16 Thread Pascal J. Bourguignon
Miles Fidelman mfidel...@meetinghouse.net writes:

 Pascal J. Bourguignon wrote:
 No, no, no.  That's the point of our discussion.  There's a need to
 increase computer-literacy, actually programming-literacy of the
 general public.

 The situation where everybody would be able (culturally, with a basic
 knowing-how, an with the help of the right software tools and system) to
 program their applications (ie. something totally contrary to the
 current Apple philosophy), would be a better situation than the one
 where people are dumbed-down and are allowed to use only canned software
 that they cannot inspect and adapt to their needs.

 As fond as I am of the days of Heathkits and homebrew computers, do we
 really expect people to build their computers, or cars, or houses, or
 even bicycles?  Specify and evaluate, maybe repair, but build?
 (Though the new DIY movement is refreshing!).

This is a totally different and unrelated question.



 Furthermore, beside the need the general public has of being able to do
 some programming, non-CS professionals also need to be able to write
 programs.

 I guess the question for me is what do you/we mean by programming?
 To me, it's about analyzing a problem, designing and algorithm, then
 reducing that algorithm to running code.  Being facile in one language
 or another seems less important.

We agree.


 Or put another way, what's important in math are word problems, not
 the multiplication tables.


Agreed too.


 It's about thinking mathematically, or algorithmically.

Yes.


 Just one man's opinion, though.

Two men.

-- 
__Pascal Bourguignon__ http://www.informatimago.com/
A bad day in () is better than a good day in {}.
___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Historical lessons to escape the current sorry state of personal computing?

2012-07-16 Thread Miles Fidelman

Pascal J. Bourguignon wrote:

Miles Fidelman mfidel...@meetinghouse.net writes:


Pascal J. Bourguignon wrote:

No, no, no.  That's the point of our discussion.  There's a need to
increase computer-literacy, actually programming-literacy of the
general public.

The situation where everybody would be able (culturally, with a basic
knowing-how, an with the help of the right software tools and system) to
program their applications (ie. something totally contrary to the
current Apple philosophy), would be a better situation than the one
where people are dumbed-down and are allowed to use only canned software
that they cannot inspect and adapt to their needs.

As fond as I am of the days of Heathkits and homebrew computers, do we
really expect people to build their computers, or cars, or houses, or
even bicycles?  Specify and evaluate, maybe repair, but build?
(Though the new DIY movement is refreshing!).

This is a totally different and unrelated question.


Not at all.  The topic is historical precedents for technical literacy.



--
In theory, there is no difference between theory and practice.
In practice, there is.    Yogi Berra

___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Historical lessons to escape the current sorry state of personal computing?

2012-07-16 Thread Pascal J. Bourguignon
BGB cr88...@gmail.com writes:

 and, one can ask: does your usual programmer actually even need to
 know who the past US presidents were and what things they were known
 for? or the differences between Ruminant and Equine digestive systems
 regarding their ability to metabolize cellulose?

 maybe some people have some reason to know, most others don't, and for
 them it is just the educational system eating their money.

My answer is that it depends on what civilization you want.  If you want
a feudal civilization with classes, indeed, some people don't have to
know.  Let's reserve weapon knowledge to the lords, letter and cheese
knowledge to the monks, agriculture knowledge to the peasants.

Now if you prefer a technological civilization including things like
nuclear power (but a lot of other science applications are similarly
delicate), then I argue that you need widespread scientific, technical
and general culture (history et al) knowledge. 

Typically, the problems the Japanese have with their nuclear power
plants, and not only since Fukushima, are due to the lack of general and
scientific knowledge, not in the nuclear power plant engineers, but in
the general population, including politicians.


 so, the barrier to entry is fairly high, often requiring people who
 want to be contributors to a project to have the same vision as the
 project leader. sometimes leading to an inner circle of yes-men, and
 making the core developers often not accepting of, and sometimes
 adversarial to, the positions held by groups of fringe users.

This concerns only CS/programmer professionnals.  This is not the
discussion I was having.



 so, the main goal in life is basically finding employment and basic
 job competence, mostly with education being as a means to an end:
 getting higher paying job, ...
 Who said that?

 I think this is a given.

 people need to live their lives, and to do this, they need a job and
 money (and a house, car, ...).

No.  In what you cite, the only thing need is a house.

What people need are food, water, shelter, clothes, some energy for a
few appliances.  All the rest is not NEEDED, but may be convenient.

Now specific activities or person may require additionnal specific
things.  Eg. we programmers need an internet connection and a computer.
Other people may have some other specific needs.  But a job or money is
of use to nobody (unless you want to run some pack rat race).



 likewise goes for finding a mate: often, potential mates may make
 decisions based largely on how much money and social status a person
 has, so a person who is less well off will be overlooked (well, except
 by those looking for short-term hook-ups and flings, who usually more
 care about looks and similar, and typically just go from one
 relationship to the next).

This is something to be considered too, but even if it's greatly
influenced by genes, 
http://www.psy.fsu.edu/~baumeistertice/goodaboutmen.htm
I'm of the opinion that human are not beasts, and we can also run a
cultural program superceding our genetic programming in a certain
measure.  (Eg. women don't necessarily have to send 2/3 of men to war or
prison and reproduce with, ie. select, only 1/3 of psychopathic males).
Now of course we're not on the wait to any kind of improvement there.
But this is not the topic of this thread either.




 probably focusing more on the useful parts though.
 No, that's certainly not the purpose of high-school education.

 usually it seems more about a combination of:
 keeping students in control and under supervision;
 preparing them for general worker drone tasks, by giving them lots
 of busywork (gotta strive for that A = be a busy little worker bee
 in the office);

Yes, and in designing a new educational program I see no reason to
continue in this way.


 now, how many types of jobs will a person actually need to be able to
 recite all 50 states and their respective capital cities? or the names
 of the presidents and what they were most known for during their terms
 in office?

 probably not all that many...

This kind of background, cultural knowledge could make you avoid costly
errors, the more so in the information age.  Like some geographic
knowledge can let you avoid taking an airplane ticket to Sidney and
arrive in tropical shirt and shorts in North Dakota under 50 cm of
snow.  And some basic chemical or nuclear knowledge can let a janitor
avoid leaking radioactive gases from a Japanese nuclear plant, like it
occured some years ago.  




 1: it is not a good sign when one of the first major questions usually
 asked is how do I use OpenGL / sound / GUI / ... with this thing?,
 which then either results in people looking for 3rd party packages to
 do it, or having to write a lot of wrapper boilerplate, or having to
 fall back to writing all these parts in C or similar.
 This is something that is solved in two ways:

 - socially: letting the general public have some consciousness of what
CS is and what it 

Re: [fonc] Historical lessons to escape the current sorry state of personal computing?

2012-07-16 Thread Pascal J. Bourguignon
Miles Fidelman mfidel...@meetinghouse.net writes:

 Pascal J. Bourguignon wrote:
 Miles Fidelman mfidel...@meetinghouse.net writes:

 Pascal J. Bourguignon wrote:
 No, no, no.  That's the point of our discussion.  There's a need to
 increase computer-literacy, actually programming-literacy of the
 general public.

 The situation where everybody would be able (culturally, with a basic
 knowing-how, an with the help of the right software tools and system) to
 program their applications (ie. something totally contrary to the
 current Apple philosophy), would be a better situation than the one
 where people are dumbed-down and are allowed to use only canned software
 that they cannot inspect and adapt to their needs.
 As fond as I am of the days of Heathkits and homebrew computers, do we
 really expect people to build their computers, or cars, or houses, or
 even bicycles?  Specify and evaluate, maybe repair, but build?
 (Though the new DIY movement is refreshing!).
 This is a totally different and unrelated question.

 Not at all.  The topic is historical precedents for technical literacy.

Well, I don't think the analogy is valid.  Historically, those
activities were done by hackers.

Nowadays, everybody has a computer in his pocket, and in his car.

I'd rather make an analogy with books: everybody can read and write and
almost everybody has books, and is able to write in their margin.  But
the analogy can go only so far because computers and programming is
radically different from everything we had until now.


-- 
__Pascal Bourguignon__ http://www.informatimago.com/
A bad day in () is better than a good day in {}.
___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Historical lessons to escape the current sorry state of personal computing?

2012-07-16 Thread BGB

On 7/16/2012 8:59 PM, David-Sarah Hopwood wrote:

On 17/07/12 02:15, BGB wrote:

so, typically, males work towards having a job, getting lots money, ... and 
will choose
females based mostly how useful they are to themselves (will they be faithful, 
would they
make a good parent, ...).

meanwhile, females would judge a male based primarily on their income, 
possessions,
assurance of continued support, ...

not that it is necessarily that way, as roles could be reversed (the female 
holds a job),
or mutual (both hold jobs). at least one person needs to hold a job though, and 
by
default, this is the social role for a male (in the alternate case, usually the 
female is
considerably older, which has a secondary limiting factor in that females have 
a viable
reproductive span that is considerably shorter than that for males, meaning 
that the
older-working-female scenario is much less likely to result in offspring, ...).

in this case, then society works as a sort of sorting algorithm, with better 
mates
generally ending up together (rich business man with trophy wife), and worse 
mates ending
up together (poor looser with a promiscuous or otherwise undesirable wife).

Way to go combining sexist, classist, ageist, heteronormative, cisnormative, 
ableist
(re: fertility) and polyphobic (equating multiple partners with undesirability)
assumptions, all in the space of four paragraphs. I'm not going to explain in 
detail
why these are offensive assumptions, because that is not why I read a mailing 
list
that is supposed to be about the Fundamentals of New Computing. Please stick 
to
that topic.



sorry to anyone who was offended by any of this, it was not my intent to 
cause any offense here.



___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc