[fonc] Historical lessons to escape the current sorry state of personal computing?
Hi Ivan, My apologies if this came through twice but I didn't receive the original post in my mailing list subscription... Regards, Iian Sent from my iPhone Begin forwarded message: From: Iian Neill iian.d.ne...@gmail.com Date: 19 July 2012 11:10:33 AM AEST To: fonc@vpri.org Subject: Re: [fonc] Historical lessons to escape the current sorry state of personal computing? Hi Ivan, Please forgive the speculativeness and abstruseness of my response to your question ... but it's the best I can do! The question that's really being asked here is, 'What is the future of computing?' -- and I'm not sure it is possible to answer that question in the abstract, just in the same way it wasn't possible to answer the question 'What is the future of painting?' if it had been asked in the studio of Cimabue before Giotto turned up. Without actually answering the question, it's possible to speculate on the potential of the medium. To my mind, the first distinction to make is between the instrumental and the essential nature of the medium; by that I mean, between the purposes to which the medium can be put as a tool -- the computations that can be made with it, its mere utility -- and the possibilities of the medium as a medium for thinking and imagining in. So to continue the art example, the art of painting is itself the medium, and the introduction of, say, oil paints into Italy in the beginning of the 15th century, while it was a huge technical advance that allowed greater expressiveness, experimentation and delicacy -- and lead to some genres of painting that were not practical before with tempera -- it didn't represent the birth of a new field as such. The essential advance happened arguably centuries earlier in the art of Nicolo Pisano in sculpture and Giotto in painting in the awareness of the possibilities of space and form, and in the reabsorption of the Greek notions of studied rational observation of nature. Flatness in painting -- when it isn't an aesthetic choice but a miserable inability -- is also a kind of flatness, a weakness, a feebleness -- a sub-realism -- from a mental point of view. Giotto's paintings have many masterly qualities but perhaps the paradigmatic significance was his tremendous assertion of volume. Volume represented not just solidity, or merely an advance in making something look three-dimensional -- it literally advanced the art of painting by a power -- it showed that it was possible to think of forms in the round, to be aware of their sides, even of the backs of figures, while simultaneously depicting them from a single viewpoint. Giotto's achievement also demonstrates that this sense of volume -- while of course it exists in potential in everybody -- had to be first imagined by him and brought into existence by sheer force of will. To my mind it also suggests that things like the sense of volume can actually be regarded as 'senses' of a kind -- 'virtual senses', if you like, willed into existence by the mind -- and I think this is literally true if you think about a sense as not merely a sense organ but a cognitive process for which neuronal machinery exists in the brain, which we call cortexes. So what is the relevance of this to the future of computing? My point above is that although instrumental advances are powerful and important they are fundamentally incremental, and that paradigm shifts only occur when essential advances are made -- and essential advances are first intuited, imagined, and then willed into existence -- and function like 'virtual senses' in the sense that they both perceive sense data as well as actively organise data into new concepts. This brings us back to the question of computing as a medium in the instrumental and essential sense, and the general question of what effect do instruments and tools have on the ability to conceptualise. What medium does computing represent? Oil paints and brushes are the instruments of painting -- arguably a flat surface is the essential medium, as it is the essential difference between painting and sculpture. Computers can of course be used as tools to create in these media -- digital paint programs, 3D modelling software, etc., are instrumental equivalents -- but these are extensions of existing tools, and arguably less artistically efficient than traditional media (paints, violins, chisels, etc). Of course, computers can digitally manipulate images, sounds, words, etc., in ways that are cumbersome or practically impossible traditionally and you can argue that this certainly opens up new avenues of expression -- but not necessarily new realms of expression. I think Dr. Kay has pointed out that one thing that a computer can do uniquely that is more than an extension, refinement, or virtualisation of what traditional tools currently do is simulation -- the ability to project
Re: [fonc] Historical lessons to escape the current sorry state of personal computing?
Hi Ivan, Please forgive the speculativeness and abstruseness of my response to your question ... but it's the best I can do! The question that's really being asked here is, 'What is the future of computing?' -- and I'm not sure it is possible to answer that question in the abstract, just in the same way it wasn't possible to answer the question 'What is the future of painting?' if it had been asked in the studio of Cimabue before Giotto turned up. Without actually answering the question, it's possible to speculate on the potential of the medium. To my mind, the first distinction to make is between the instrumental and the essential nature of the medium; by that I mean, between the purposes to which the medium can be put as a tool -- the computations that can be made with it, its mere utility -- and the possibilities of the medium as a medium for thinking and imagining in. So to continue the art example, the art of painting is itself the medium, and the introduction of, say, oil paints into Italy in the beginning of the 15th century, while it was a huge technical advance that allowed greater expressiveness, experimentation and delicacy -- and lead to some genres of painting that were not practical before with tempera -- it didn't represent the birth of a new field as such. The essential advance happened arguably centuries earlier in the art of Nicolo Pisano in sculpture and Giotto in painting in the awareness of the possibilities of space and form, and in the reabsorption of the Greek notions of studied rational observation of nature. Flatness in painting -- when it isn't an aesthetic choice but a miserable inability -- is also a kind of flatness, a weakness, a feebleness -- a sub-realism -- from a mental point of view. Giotto's paintings have many masterly qualities but perhaps the paradigmatic significance was his tremendous assertion of volume. Volume represented not just solidity, or merely an advance in making something look three-dimensional -- it literally advanced the art of painting by a power -- it showed that it was possible to think of forms in the round, to be aware of their sides, even of the backs of figures, while simultaneously depicting them from a single viewpoint. Giotto's achievement also demonstrates that this sense of volume -- while of course it exists in potential in everybody -- had to be first imagined by him and brought into existence by sheer force of will. To my mind it also suggests that things like the sense of volume can actually be regarded as 'senses' of a kind -- 'virtual senses', if you like, willed into existence by the mind -- and I think this is literally true if you think about a sense as not merely a sense organ but a cognitive process for which neuronal machinery exists in the brain, which we call cortexes. So what is the relevance of this to the future of computing? My point above is that although instrumental advances are powerful and important they are fundamentally incremental, and that paradigm shifts only occur when essential advances are made -- and essential advances are first intuited, imagined, and then willed into existence -- and function like 'virtual senses' in the sense that they both perceive sense data as well as actively organise data into new concepts. This brings us back to the question of computing as a medium in the instrumental and essential sense, and the general question of what effect do instruments and tools have on the ability to conceptualise. What medium does computing represent? Oil paints and brushes are the instruments of painting -- arguably a flat surface is the essential medium, as it is the essential difference between painting and sculpture. Computers can of course be used as tools to create in these media -- digital paint programs, 3D modelling software, etc., are instrumental equivalents -- but these are extensions of existing tools, and arguably less artistically efficient than traditional media (paints, violins, chisels, etc). Of course, computers can digitally manipulate images, sounds, words, etc., in ways that are cumbersome or practically impossible traditionally and you can argue that this certainly opens up new avenues of expression -- but not necessarily new realms of expression. I think Dr. Kay has pointed out that one thing that a computer can do uniquely that is more than an extension, refinement, or virtualisation of what traditional tools currently do is simulation -- the ability to project interactive information spaces, to run models through simulations, to carry out virtual experimentation. And it's arguable that the greatest enabler of experimentation in this space is not so much predefined software so much as computer languages, which provide an interactive syntax for thinking in that medium. Regards, Iian On 15 July 2012 05:36, Ivan Zhao nini...@gmail.com wrote: 45 years after Engelbart's demo, we have a read-only web and Microsoft Word 2011, a gulf between users and programmers
Re: [fonc] Historical lessons to escape the current sorry state of personal computing?
BGB a écrit : people need to live their lives, and to do this, they need a job and money (and a house, car, ...). As individuals, in our current society, yes. We can strive for other solutions, however. A analogy with computing would be to say people need an http//html browser to search the Internet. Yes they do, but if we had chosen different standard (and the STEPS project here hinted at simpler and superior alternatives), then http//html would be ludicrous. I don't want to argue about the specifics of jobs, money, and society. Just pointing out that it can be useful to tell instrumental goals from fundamental ones. Get a job? Instrumental to get money, except if you enjoy it. Get money? Instrumental to represent the amount of wealth you should control. Having fun? This is one of the fundamental ones. Once a goal is identified as instrumental, giving it up becomes thinkable. It may still be a bad idea, but at least you expand your solution space. Loup. ___ 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: but you can't really afford a house without a job, and can't have a job without a car (so that the person can travel between their job and their house). Job is an invention of the Industrial era. AFAIK, our great great grand parents had houses. I don't really think it is about gender role or stereotypes, but rather it is more basic: people mostly operate in terms of the pursuit of their best personal interests. Ok. 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, ...). Well it's clear that it's not their best interest to do that: only about 40% males reproduce in this setup. 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). And this is also the problem, not only for persons, but for society: the sorting is done on criteria that are bad. Perhaps they were good to survive in the savanah, but they're clearly an impediment to develop a safe technological society. Well, perhaps. This is not my way to learn how to program (once really) or to learn a new programming language. dunno, I learned originally partly by hacking on pre-existing codebases, and by cobbling things together and seeing what all did and did not work (and was later partly followed by looking at code and writing functionally similar mock-ups, ...). some years later, I started writing a lot more of my own code, which largely displaced the use of cobbled-together code. from what I have seen in code written by others, this sort of cobbling seems to be a fairly common development process for newbies. I learn programming languages basically by reading the reference, and by exploring the construction of programs from the language rules. -- __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?
David-Sarah Hopwood david-sa...@jacaranda.org writes: 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. It is, but it is the reality, and the reason of most of our problems too. And it's not by putting an onus on the expression of these choices that you will repress them: they come from the deepest, our genes and the genetic selection that has been applied on them for millena. My point here being that what's needed is a change in how selection of reproductive partners is done, and obviously, I'm not considering doing it based on money or political power. Of course, I have none of either :-) And yes, it's perfectly on-topic, if you consider how science and technology developments are directed. Most of our computing technology has been created for war. Or said otherwise, why do you think this kind of refundation project hasn't the same kind of resources allocated to the commercial or military projects? -- __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 a écrit : BGB cr88...@gmail.com writes: dunno, I learned originally partly by hacking on pre-existing codebases, and by cobbling things together and seeing what all did and did not work (and was later partly followed by looking at code and writing functionally similar mock-ups, ...). some years later, I started writing a lot more of my own code, which largely displaced the use of cobbled-together code. from what I have seen in code written by others, this sort of cobbling seems to be a fairly common development process for newbies. I learn programming languages basically by reading the reference, and by exploring the construction of programs from the language rules. When I started learning programming on my TI82 palmtop in high school, I started by copying programs verbatim. Then, I gradually started to do more and more from scratch. Like BGB. But when I learn a new language now, I do read the reference (if any), and construct programs from the language rules. Like Pascal. Maybe there's two kinds of beginners: beginners in programming itself, and beginners in a programming language. Loup. ___ 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/17/2012 9:04 AM, Pascal J. Bourguignon wrote: David-Sarah Hopwood david-sa...@jacaranda.org writes: 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. It is, but it is the reality, and the reason of most of our problems too. And it's not by putting an onus on the expression of these choices that you will repress them: they come from the deepest, our genes and the genetic selection that has been applied on them for millena. My point here being that what's needed is a change in how selection of reproductive partners is done, and obviously, I'm not considering doing it based on money or political power. Of course, I have none of either :-) yeah. don't think that this is me saying that everything should operate this way, rather that, at least from my observations, this is largely how it does already. (whether it is good or bad then is a separate and independent issue). the issue with a person going outside the norm may not necessarily be that it is bad or wrong for them to do so, but that it may risk putting them at a social disadvantage. in the original context, it was in relation to a person trying to maximize their own pursuit of self-interest, which would tend to probably overlap somewhat with adherence to societal norms. granted, that is not to say, for example, that everything I do is socially advantageous: for example, being a programmer / computer nerd carries its own set of social stigmas and negative stereotypes (and in many ways I still hold minority views on things, ...). an issue though is that society will not tend to see a person as they are as a person, but will rather tend to see a person in terms of a particular set of stereotypes. And yes, it's perfectly on-topic, if you consider how science and technology developments are directed. Most of our computing technology has been created for war. yes. Or said otherwise, why do you think this kind of refundation project hasn't the same kind of resources allocated to the commercial or military projects? I am not entirely sure I understand the question here. if you mean, why don't people go and try to remake society in a different form? well, I guess that would be a hard one. about as soon as people start trying to push for any major social changes, there is likely to be a large amount of resistance and backlash. it is much like, if you have one person pushing for progressive ideals, you will end up with another pushing for conservative ideals, typically with relatively little net change. (so, sort of a societal equal-and-opposite effect). (by progressive and conservative here, I don't necessarily mean them exactly as they are used in current US politics, but more in general). there will be changes though in a direction where nearly everyone agrees that this is the direction they want to go, but people fighting or trying to impose their ideals on the other side is not really a good solution. people really don't like having their personal freedoms and choices being hindered, or having their personal ideals and values torn away simply because this is how someone else feels things should be (the problem is that promoting something for one person also tends to come at the cost of imposing it on someone else). a better question would be: what sort of things have come up where nearly everyone has agreed and ended up going along with it? people don't as often think as much about these ones, since
Re: [fonc] Historical lessons to escape the current sorry state of personal computing?
On 7/17/2012 11:12 AM, Loup Vaillant wrote: Pascal J. Bourguignon a écrit : BGB cr88...@gmail.com writes: dunno, I learned originally partly by hacking on pre-existing codebases, and by cobbling things together and seeing what all did and did not work (and was later partly followed by looking at code and writing functionally similar mock-ups, ...). some years later, I started writing a lot more of my own code, which largely displaced the use of cobbled-together code. from what I have seen in code written by others, this sort of cobbling seems to be a fairly common development process for newbies. I learn programming languages basically by reading the reference, and by exploring the construction of programs from the language rules. When I started learning programming on my TI82 palmtop in high school, I started by copying programs verbatim. Then, I gradually started to do more and more from scratch. Like BGB. But when I learn a new language now, I do read the reference (if any), and construct programs from the language rules. Like Pascal. Maybe there's two kinds of beginners: beginners in programming itself, and beginners in a programming language. yep. likewise, many people who aren't really programmers, but are just trying to get something done, probably aren't really going to take a formal approach to learning programming, but are more likely going to try to find code fragments off the internet they can cobble together to make something that basically works. sometimes, it takes a while to really make the transition, from being someone who wrote a lot of what they had by cobbling and imitation, to being someone who really understands how it all actually works. Loup. ___ fonc mailing list fonc@vpri.org http://vpri.org/mailman/listinfo/fonc ___ 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?
[Despite my better judgement I'm going to respond to this even though it is seriously off-topic.] On 17/07/12 17:18, BGB wrote: an issue though is that society will not tend to see a person as they are as a person, but will rather tend to see a person in terms of a particular set of stereotypes. Society doesn't see people as anything. We do live in/with a culture where stereotyping is commonplace, but the metonymy of letting the society stand for the people in it is inappropriate here, because it is individual people who *choose* to see other people in terms of stereotypes, or choose not to do so. You're also way too pessimistic about the extent to which most reasonably well-educated people in practice permit cultural stereotypes to override independent thought. Most people are perfectly capable of recognizing stereotypes -- even if they sometimes need a little prompting -- and understanding what is wrong with them. I speak from experience: it is entirely possible to live your life in a way that is quite opposed to many of those cultural stereotypes that you've expressed concerning sexuality, gender expression, employment, reproductive choices, etc., and still be accepted as a matter of course by the vast majority of people. As for the people who don't accept that, *it's they're fault* that they don't get it. No excuses of the form society made me think that way. -- David-Sarah Hopwood ⚥ signature.asc Description: OpenPGP digital signature ___ 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/17/2012 9:47 PM, David-Sarah Hopwood wrote: [Despite my better judgement I'm going to respond to this even though it is seriously off-topic.] in all likelihood, the topic will probably end pretty soon anyways. don't really know how much more can really be said on this particular subject anyways. but, yeah, probably this topic has gone on long enough. On 17/07/12 17:18, BGB wrote: an issue though is that society will not tend to see a person as they are as a person, but will rather tend to see a person in terms of a particular set of stereotypes. Society doesn't see people as anything. We do live in/with a culture where stereotyping is commonplace, but the metonymy of letting the society stand for the people in it is inappropriate here, because it is individual people who *choose* to see other people in terms of stereotypes, or choose not to do so. You're also way too pessimistic about the extent to which most reasonably well-educated people in practice permit cultural stereotypes to override independent thought. Most people are perfectly capable of recognizing stereotypes -- even if they sometimes need a little prompting -- and understanding what is wrong with them. a big factor here is how well one person knows another. stereotypes and generalizations are a much larger part of the interaction process when dealing with people who are either strangers or casual acquaintances. if the person is known by much more than a name and a face and a few other bits of general information, yes, then maybe they will take a little more time to be a little more understanding. I speak from experience: it is entirely possible to live your life in a way that is quite opposed to many of those cultural stereotypes that you've expressed concerning sexuality, gender expression, employment, reproductive choices, etc., and still be accepted as a matter of course by the vast majority of people. As for the people who don't accept that, *it's they're fault* that they don't get it. No excuses of the form society made me think that way. I think it depends some on the cultural specifics as well, since how well something may go over may depend a lot on where a person is, and who they are interacting with. if a person is located somewhere where these things are fairly common and generally considered acceptable (for example: California), it may go over a lot easier with people than somewhere where it is less commonly accepted (for example: Arkansas or Alabama or similar). likewise, it may go over a bit easier with people who are generally more accepting of these forms of lifestyle (such as more non-religious / secular type people), than it will with people who are generally less accepting of these behaviors (say, people with a more conservative leaning). (I would prefer not go too much more into this, since yeah, here generally isn't really the place for all this.). ___ 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?
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
Re: [fonc] Historical lessons to escape the current sorry state of personal computing?
Hi Ivan, I don't mean to imply that the Eighties was necessarily a Golden Age of home-brewed programming, or that it even instilled the best programming practises -- i.e., BASIC -- but I think an argument can be made that programming literacy -- even bad literacy -- was much more general at that time. I'm not saying the literacy was higher or better -- clearly modern languages and paradigms are more powerful and expressive than BASIC and 6502 machine code -- but it's telling to see how much computer code was actually published for general consumption in IT magazines and in children's books. Even though many programs were probably printed because it was cheaper than distributing cassettes and disks, there were still plenty of explicative articles on programming practises, tips, tricks, etc. Perhaps this only had to do with software pricing and distribution channels for a given audience -- say, kids, teens, etc. -- but the net result must surely have been some interest and enthusiasm for being a software creator rather than just a consumer. I have a friend who is not in IT, who hasn't touched an 8-bit computer in 20 years, who still remembers fondly the UK-published Usborne series of kids books on BASIC programming -- and remembers in detail. These books and this culture made an impact on him on some level. Although there are plenty of blogs and forums on programming out there, it's really sad that there isn't some mass medium for programming literacy -- and I suspect that a big part of it is that, despite its many documented flaws, BASIC at least had a small and graspable vocabulary that didn't require any header files, libraries, drivers, compilers, IDEs, or profiling tools. There is an enormous amount of software bureaucracy a budding programmer has to churn through these days before a 'Hello World' application -- and much more aggravation before producing usable and fun software. With all of these impediments, it's little wonder so many computer users -- and perhaps even programmers -- are consumers of the software and libraries of other people. If you don't have a real pressing need to 'roll your own' how can you possibly experience the incentive to design a better wheel -- or a magnetic levitation railway? ;-) Regards, Iian On 15 July 2012 13:58, Tomasz Rola rto...@ceti.pl wrote: On Sun, 15 Jul 2012, Iian Neill wrote: I share your sentiment, even to the point of longing for home'puter with Logo in ROM. But I don't share all of your views. As I had been able to witness 80-ties home'puter craze (and take part in it), my experience from this time makes me guess that programming was not all the rage - but gaming was. So, it was about consumption from the beginning of commercial home'puter (i.e., the days of ZX81 and Spectrum - perhaps it was different in the days of Altair). Only some percentage of us teens was interested in programming. Of those, majority ended adventure after not very long - there was not magic for them, or maybe they didn't know what to do with a computer once they learned how to make simple programs. Obviously, Basic didn't help much with expressing more complicated ideas, but frankly, I doubt any other language would change this. Well, natural language, maybe :-) . And even then, there would have been a lot of dissapointment, simply because so many people have so much problems with spelling their minds precisely (not to forget about making minds first, before they are ready for spelling). My guess is, this is about genetics. Your guesses and mileage may vary. I used to believe everybody can learn to program but I don't anymore. Even if this is only about upbringing (I doubt, but maybe), the main point is, where there is no need, there is no will either. And without will, no persistence, so learning slows and stops. Oh, I mean, yes, everybody can learn to program, but how many have any kind of their own ideas for their own programs? Of all Lego (ab)users, how many build their own constructs while the rest is content with copying stuff? Of all literate humans, how many have something interesting to say, worthy of saving on a piece of paper? I think these are many facets of the same thing. I am unwilling to name the thing yet, afraid this would be like nailing bird alive to the wall. Premature optimisation - other birds, on seeing such thing, fly away. I'd rather wait and see, maybe I can spot more birds in a room. And have a nailing gun. :-) BTW, there are many more affordable computers nowadays. Some of those, called cell phones, win chess tournaments from time to time. There is really nothing standing in the way of individual who would want to build a simple environment for end user, thus giving him (end user) ability to program much better than it was 30 years ago. Oh, wait. Do I smell Basic interpreter for cellphones? Crap. May the history forgive me for mentioning abomination aloud. Actually, Python is simple enough to
Re: [fonc] Historical lessons to escape the current sorry state of personal computing?
On 7/14/2012 5:11 PM, Iian Neill wrote: Ivan, I have some hope for projects like the Raspberry Pi computer, which aims to replicate the 'homebrew' computing experience of the BBC Micro in Britain in the 1980s. Of course, hardware is only part of the equation -- even versatile hardware that encourages electronic tinkering -- and the languages and software that are bundled with the Pi will be key. yeah, hardware is one thing, software another. Education is ultimately the answer, but what kind of education? Our computer science education is itself a product of our preconceptions of the field of computing, and to some degree fails to bridge the divide between the highly skilled technocratic elite and the personal computer consumer. The history of home computing in the Eighties shows the power of cheap hardware and practically 'bare metal' systems that are conceptually graspable. And I suspect the fact that BASIC was an interpreted language had a lot to do with fostering experimentation play. maybe it would help if education people would stop thinking that CS is some sort of extension of Calculus or something... (and stop assigning scary-level math classes as required for CS majors). this doesn't really help for someone whose traditional math skills sort of run dry much past the level of algebra (and who finds things like set-theory to not really make any sense, where these classes like to use it like gravy they put on everything... class about SQL, yes, your set theory is mentioned their as well, and put up on the board, but at least for that class, was almost never mentioned again once the actual SQL part got going, and the teacher made his way past the select statement). along with programming classes which might leave a person for the first few semesters using pointy-clicky graphical things, and drawing flowcharts in Visio or similar (and/or writing out desk checks on paper). now, how might it be better taught in schools?... I don't know. maybe something that up front goes into the basic syntax and behavior of the language, then has people go write stuff, and is likewise maybe taught starting earlier. for example, I started learning programming in elementary school (on my own), and others could probably do likewise. classes could maybe teach from a similar basis: like, here is the language, and here is what you can type to start making stuff happen, ... (with no flowcharting, desk-checks, or set-notation, anywhere to be seen...). the rest then is basically climbing up the tower and learning about various stuff... like, say, if there were a semester-long class for the OpenGL API, ... Imagine if some variant of Logo had been built in, that allowed access to the machine code subroutines in the way BASIC did... could be nifty. I don't really think the problem is as much about language though, as much as it is about disinterest + perceived difficulty + lack of sensible education strategies + ... Regards, Iian Sent from my iPhone On 15/07/2012, at 7:41 AM, Miles Fidelman mfidel...@meetinghouse.net wrote: Ivan Zhao wrote: 45 years after Engelbart's demo, we have a read-only web and Microsoft Word 2011, a gulf between users and programmers that can't be wider, and the scariest part is that most people have been indoctrinated long enough to realize there could be alternatives. Naturally, this is just history repeating itself (a la pre-Gutenberg scribes, Victorian plumbers). But my question is, what can we learn from these historical precedences, in order to to consciously to design our escape path. A revolution? An evolution? An education? HyperCard meets the web + P2P? -- 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 ___ fonc mailing list fonc@vpri.org http://vpri.org/mailman/listinfo/fonc ___ 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 Sun, 15 Jul 2012, Miles Fidelman wrote: I keep coming back to the notion that transparent tools are really important - there's something about impedance matching between what we're trying to do and the tools we use. All too often, computer tools seem to make things harder, not easier - word processors make it easier to write, Well, I can agree word processor makes it easy to write something. But if I ever intended a long term relation with my text, like writing a book (and later, maybe, revise or update it over years) - WPs are out of equation for me. I would use LaTeX on some baretext editor (emacs, even vim would do the job). True, it is not oozerfriendly (because there is no place on it to put such sticker) and to start using it requires reading at least portions of the manual (in my case, the portions totaled were about a size of printer test magazine article - is it really that big?). On the bright side, it retains compatibility with itself, it renders text the same over the years (I expect it does - last time I checked it rendered my master thesis the same after 13 years) and doesn't give me nasty surprises (I don't expect it would). For example, a fancy bug where old versions of text are retained in a doc file (_after_ one _erases_ them) is nonexistent in tex, unless I explicitely put it there (say, in comments). And of course it is much easier to work with structured texts (i.e. once I make chapters, paragraphs, tables and the like, they stay there until the data gets corrupted or Universe ends or something like this). So, if you mean easy now, sure, all kind of transparent tools are cool. OTOH if you mean easy integrated over time - the cool can all to fast become cool like hell. And I would rather do it my own uncool and uneasy way (which somehow turns out to be cooler and easier, once we include more factors into equation, factors the unexperienced has no idea about - but the real surprise is a number of unexperienced among profs). Of course there are entry barriers to computers. There always were, there always will be. There are entry barriers to riding a bicycle, too. One has to follow instructions and practice until one gets used to it. If I would have to point at guilty, the current sorry state of personal computing has been caused by making things too easy for novice, without accounting for needs of seasoned users. We are novices only once, after that we are not anymore. The hardness you write about is, from my POV, just dumbing down the tool, so one has to use dumber and dumber ways of working with it. No surprise it gets hard as one's experience rises. Another reason is giving up better ways of doing stuff where there is short term incentive. I'm not sure when longterm stopped being part of the plan, but once it did, no amount of marketing is going to help. but drawing programs are not really an improvement over paper and pencil until we get to things like animation, and do we really don't want to have to write a c program to write an essay or draw a picture? Oh wait a little. All I want is e-paper based tablet... So I kind of wonder if part of the underlying issue is a mismatch between something interesting to say and the tools we have available. The tools we have. They are not used because there is no marketing and hype about them. They are overally uncool, because they do the job without blinking transparent windows and colored 3d cubes spining. And they insist that user _learns_ to use them. On the other hand, if there is only one shelf with dumbed down tools available for end user, there is not much to be done with it. If you have little carpenter toolbox, with toy hammers, saws and nails, you can mostly do toy chairs with them, expecting more would be inapropriate. Regards, Tomasz Rola -- ** A C programmer asked whether computer had Buddha's nature. ** ** As the answer, master did rm -rif on the programmer's home** ** directory. And then the C programmer became enlightened... ** ** ** ** Tomasz Rola mailto:tomasz_r...@bigfoot.com ** ___ 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?
Iian Neill wrote: Although there are plenty of blogs and forums on programming out there, it's really sad that there isn't some mass medium for programming literacy -- and I suspect that a big part of it is that, despite its many documented flaws, BASIC at least had a small and graspable vocabulary that didn't require any header files, libraries, drivers, compilers, IDEs, or profiling tools. The Sinclair machines even took advantage of BASIC's limited and fixed vocabulary to work around their bad keyboards by putting one keyword per key and having a mode based input system. This eliminated many cases of typing expressions with bad syntax, which was really helpful for beginners. The tile based syntax of Scratch and Etoys is a modern way of getting the same effect. I totally agree with you about magazines and books still being needed in this age of blogs, which is why I am really glad that the magazine for the Raspberry Pi has reached its third issue already with some interesting listings for the users to type into their machines: http://www.themagpi.com/ The first books about the machine is about to come out (I am sure there will be others): http://www.amazon.co.uk/gp/product/111846446X/ The idea of a computer with Logo in ROM instead of BASIC was mentioned in this thread. I did build such a machine in 1983, but it was never released commercially, unfortunately: http://www.merlintec.com/lsi/pegasus.html There were four implementations of Logo for the BBC Micro which were supplied as ROMs, so that machine should probably count: http://www.nostalgia8.nl/logo/docs/mudeel1.jpg http://www.nostalgia8.nl/logo/docs/mudeel2.jpg http://www.nostalgia8.nl/logo/docs/mudeel3.jpg http://www.nostalgia8.nl/logo/docs/mudeel4.jpg This Soviet clone of the Sinclair Spectrum added the following ROM modes: CP/M, Forth and Logo http://en.wikipedia.org/wiki/Hobbit_%28computer%29 -- Jecel ___ 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 Sun, 15 Jul 2012, Miles Fidelman wrote: Ok. I have to rise to this :-) [...] See, I'm an engineer, but I write a LOT for a living - proposals, papers, presentations, etc. When I'm trying to think through a logical presentation of information, a good outliner helps a lot. Worrying about formatting codes just gets in the way - it's a distraction. If I'm co-authoring, then commenting tools help a lot. The point is getting ideas across. The tools are just there to help, not get in the way. All right. The differences we have between us seem to stem from different surroundings and different timeframe lenght each of us needs to keep in mind. I definitely don't have to communicate with coworkers as much as you do. If I would have to point at guilty, the current sorry state of personal computing has been caused by making things too easy for novice, without accounting for needs of seasoned users. We are novices only once, after that we are not anymore. The hardness you write about is, from my POV, just dumbing down the tool, so one has to use dumber and dumber ways of working with it. No surprise it gets hard as one's experience rises. The original topic started with: Right, I really like to jump into offtopic threads and, by law of motion they can only slide more because of this :-). 45 years after Engelbart's demo, we have a read-only web and Microsoft Word 2011, a gulf between users and programmers that can't be wider, and the scariest part is that most people have been indoctrinated long enough to realize there could be alternatives. I'm not sure how to understand this. The demo is probably somewhere on youtube and when I have time I will try to watch it. However, neither wikipedia: http://en.wikipedia.org/wiki/The_Mother_of_All_Demos nor wired: http://www.wired.com/science/discoveries/news/2008/12/dayintech_1209 mention anything about programming by user. They say there were windows, mouse, hypertexts, videoconferencing and other similar stuff. Not a word about programming. So perhaps a gap between users and programers was already well established by then. Naturally, this is just history repeating itself (a la pre-Gutenberg scribes, Victorian plumbers). But my question is, what can we learn from these historical precedences, in order to to consciously to design our escape path. A revolution? An evolution? An education? This, again, I don't get. As long as a classical PC is with us, programing can be done by everybody. No barriers other than having time and persistence. With medieval scribes, one had to have access to calf skins to write on them. With Victorian plumbers, I don't understand what they are doing in the story? It will be very different if PC reverts into workstation niche (and prices). Everybody will be using some iphone/ipad derivative which will be only allowed to download code from some predefined location, no programing by user allowed. Certainly a dream of some manufacturers, AFAIK. Escape path, revolution etc? The whole paragraph does not compute for me. 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? Ehem, I gave my opinion on this already. Not enough people want to know. At least, not enough to matter in case marketoids decide to change the world of computing into petrified forrest. 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. 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. I agree programming requires some devotion to be any good. Once again, there are options other than Word+VBA for those in need to do something. I think they are already quite flexible, unless one expects telepathic abilities from them :-). And C is not the only option out there - however, options that I would like to consider are not so much different. For me, flexible tool is not the one having more graphical options but one having less of them. Just as with natural language, I have more expressive power by learning new words, not by pointing stuff with my finger and groaning. Thus the user-programmer divide will not be closed as long as the user is unwilling to learn to speak. I know, I know. I am again in program=text mode. But perhaps I am right about this. [...] Oh wait a little. All I want is e-paper based tablet... Personally, I find a Nook is a lot better way to read a book than a laptop. And if I want to draw something, I'd LOVE an e-paper based tablet with a pen (what ever happened to pentops, by the
[fonc] Historical lessons to escape the current sorry state of personal computing?
45 years after Engelbart's demo, we have a read-only web and Microsoft Word 2011, a gulf between users and programmers that can't be wider, and the scariest part is that most people have been indoctrinated long enough to realize there could be alternatives. Naturally, this is just history repeating itself (a la pre-Gutenberg scribes, Victorian plumbers). But my question is, what can we learn from these historical precedences, in order to to consciously to design our escape path. A revolution? An evolution? An education? Ivan ___ 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?
Tomasz Rola wrote: Oh, I mean, yes, everybody can learn to program, but how many have any kind of their own ideas for their own programs? Of all Lego (ab)users, how many build their own constructs while the rest is content with copying stuff? Of all literate humans, how many have something interesting to say, worthy of saving on a piece of paper? I was pretty serious when I suggested HyperCard. The amount of stuff that people, particularly educators, wrote in HyperCard was rather amazing. As a dirt-simple user-oriented authoring/programming environment, spreadsheets are probably the only place where you'll find more user-generated code. -- 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