On 7/16/2012 3:15 PM, Pascal J. Bourguignon wrote:
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.

the issue is basically that humans have finite time and mental capacity, so no single person can know everything about everything.

a person would likely either have very general knowledge of a wide range of fields, but this would ultimately hinder them as they would lack any specific skills, or they would need to be very specialized, where they have a wide range of knowledge about a particular topic, largely to the exclusion of most other areas.

the issue then is a person specializing for one area trying to learn other information which is of little use to them will ultimately be using up their memory's storage capacity for stuff which is not particularly useful to them, as well as using up time that could be spent improving their skills at their particular craft.


granted, this could change if/when computer augmentation allows people to have a near unlimited amount of long-term memory storage (rather than having to pick and choose what they want to commit to memory, they can store much of their knowledge on a very large implanted SSD or similar).


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.

who says casual developers would not be project contributors?...

the more serious ones would likely be part of the inner-circle or the project leaders.


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.

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).

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).

jobs and money are needed to have a place to live, otherwise, how will the person pay for their cost of living expenses (taxes, mortgage/rent, utility bills, food, ...)?



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.

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.


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).


but, this doesn't mean humans are "animals", but with society as a whole, could be heading in a path of becoming more like that of machinery (where "society" and "system architecture" being essentially one and the same).


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.

another possibility is that, rather than spending so many years of life in schools, they can early on be sorted out and taught in accordance with particular industries or job fields, likely in schools sponsored by various companies and industries.

for example, students could be trained for software-industry jobs, or automotive or airline industry jobs, or ... then, immediately upon graduation (say, at 18), they then move on and begin work at their designated companies.

for example, a student is in high-school, and knows in advance they are destined for Microsoft or Oracle or similar, and their classes are chosen in accordance with this, and the role they are being assigned to within the company (one could be designated as a programmer, another as an accountant, ...).

possibly, the system could also include matchmaking features as well, such as matching by psychology and aptitude and similar, and finding the most likely suitable mate, ...


an inconvenient/negative side of such a system is how to best deal with the "lower rungs", basically, those individuals who wont really amount to much (due to lacking intelligence or abilities, poor behavior, ...). they would need to be both designated a role, as well as finding some way to avoid them feeling cheated by the system (most likely, a strategy of early partitioning could be used, with the lower-rungs going through a system resembling the current public-education system, with the education system giving an appearance of intellectual activity, but itself primarily preparing them more for unskilled labor tasks and similar).


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.


in the modern age, if you need to know, the information can be quickly retrieved from the internet, and does not need to be memorized for sake of completing a test (and probably then forgotten soon after).



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 can do, so that they can contract a CS/programmer
    professionnal to solve their problem, just like they do eg. with a MD
    when they have a health problem.  And the MD doesn't use the same
    tools and the same drugs than what you do at home: he has his own
    specialized and powerful tools and drugs.

- technically: providing programmable software systems that are more
    easily usable by the general public.  Ie. NOT C, more Lisp, Python,
    and integrated programming environment like indeed Hypercard.
maybe JavaScript?...
Indeed that may be a possibility.  What I don't like so far is the
"ecosystem".  Ie. you get a browser, not a "development" environment,
much less something like Hypercard.   But this could be provided yes.

But do we really want to base such a system on a language designed in 10
days?  Let's be serious.  The impact is not a few hackers losing their
time with strange behavior, it'll be six billion people time!

JS has some problems, but many of them could be fixed if the language could be partly redesigned and cleaned up (this needs not be nearly as drastic as in Dart, but probably mostly by quietly fixing up some of the more major design issues).

for example:
making "==" and "===" exhibit more sensible behaviors;
making "undefined" be a keyword;
...

a possible solution could involve doing something similar to GLSL, and introduce an explicit "#version" or similar syntax, which could allow changes to the language which would not be entirely backwards compatible.


But otherwise indeed tools could be developed to translate from one
high-level general public language to the other, but this is something
that would only be needed in the new world.
I disagree here.

I have seen many small/hobby projects which make heavy use of
copy/pasted code (and often data as well), and this is actually more
how many people learn to write actually serious code, so is hardly a
"professionals only" problem.
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.


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

Reply via email to