Re: [fonc] Historical lessons to escape the current sorry state of personal computing?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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?
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