Slashdot Mirror


Reading, Writing, Ruby?

itwbennett writes "A BBC article outlines a push to make software programming a basic course of study for British schoolchildren in hopes that Britain could become a major programming center for video games and special effects. Can earlier exposure to better technology courses reverse the declining enrollment in university computer science courses and make coding cool?"

62 of 292 comments (clear)

  1. Needs Revision. by masternerdguy · · Score: 5, Insightful

    Assuming they do this the way public schools in the USA teach programming, don't bother. They've managed to suck all creativity and wonder from the process by making every activity copying code from a textbook without teaching the theory behind it, or mentioning the possible applications. I've seen so many people take high school level programming courses and come out not knowing how to program. This isn't because they're dumb, this is because it is taught in the same way you make someone memorize a poem they don't want to read. College courses are fine, but public school courses need revision. Creativity and real world applications of programming concepts is completely missing there.

    --
    To offset political mods, replace Flamebait with Insightful.
    1. Re:Needs Revision. by JoeMerchant · · Score: 3, Informative

      Read the Pi schtick - they are all about changing computer instruction into something cool, and getting away from making everybody into electronic secretaries.

    2. Re:Needs Revision. by OliWarner · · Score: 5, Interesting

      I can't tell if that's an improvement over the "This is how MS Office works" ICT training that most UK students get now. I had to teach myself relational database basics and a few programming languages while in school because the school didn't have the courses (or the teachers) to push a real syllabus. A very few of the bigger A-Level colleges get it right but they need to be offering this sort of thing to 10 year olds.

      And yes, if this if going to work, it'll need teachers who know how to program. Given that there are about three of those in the entire country, the government is going to have to get working on this now if it wants to make a change within the next five years.

    3. Re:Needs Revision. by JoeMerchant · · Score: 2

      I can't tell if that's an improvement over the "This is how MS Office works" ICT training that most UK students get now. I had to teach myself relational database basics and a few programming languages while in school because the school didn't have the courses (or the teachers) to push a real syllabus.

      When I was 14, our High School comp-sci teacher had the good sense to realize that about 6 of us (out of a graduating class of 200ish) were sufficiently advanced that there was nothing he could teach us in a traditional lecture and homework format, they actually let us have an hour a day of "independent study comp-sci" in place of sleeping through yet another pointless class. Though we weren't required to, most IS people did most of the lecture projects anyway... as I recall, I produced 3 lines of code that executed all the functionality of the semester project - which was taking an average of 15 pages for most people to do when they did it according to the teacher's guidance. He was having them convert numerical bases, from base 10 to base 2, base 2 to base 16, base 16 to base 8, etc.

    4. Re:Needs Revision. by Tastecicles · · Score: 3, Insightful

      I know precisely what you mean. I almost went insane when I did ECDL (just for the piece of paper that said "I know how to switch a computer on"), and after several years of Wordperfect, then Lotus Office, Star Office, then OpenOffice, I was faced with Microsoft Office 2000 and thought to myself "What the fuck is this messy shitpile I've got to work with?". Had to take everything I'd learned about decent interfaces and useful scripting and practically forget it all as I was forced to work with the hammer and chisel that tried to pass itself off as commercial-grade software.

      Luckily I could get back to OOo when I took subsequent courses and the funny thing is, the course administrators couldn't tell.

      --
      Operation Guillotine is in effect.
    5. Re:Needs Revision. by Piranhaa · · Score: 4, Insightful

      It's not just high school programming that's like this (at least where I'm from). This is happening in post-secondary education.

      I took Java EE - "Enterprise Edition" quite recently. We learned how to make enterprise grade web applications... Web forms with database back-ends.

      Now, I have a decent programming background (C, shell scripts, and php mostly). Lets just say I can't remember the first thing on how to reproduce anything that was taught in that class. It was all copying and pasting code blobs and lots of "s/oldword/newword", even for our midterm and final exams. Unfortunately they try to make those classes as easy as possible for everyone, but nobody truly learns anything. And fucks over the people who actually would like to learn something. The Java 101 class I took before taught me at least 100x more.

      For reference, I have to get my diploma in order to continue working with the current employer I'm with. While there are some things I do learn from these classes, the majority of it I already know.

    6. Re:Needs Revision. by Anonymous Coward · · Score: 3, Funny

      They learn the skills necessary for administration of the empire :)

    7. Re:Needs Revision. by cgenman · · Score: 4, Insightful

      Programming isn't something that should be started in High School. Programming should be started in elementary school at the same time as math. You wouldn't expect to raise someone until High School on nothing but English Lit and PE and expect them to jump straight into Calculus in High School. Similarly, you can't expect that students will ambiently absorb the background needed to program well.

      They've got to start programming simple things when they're young and their brain is still forming.

    8. Re:Needs Revision. by TheRaven64 · · Score: 2

      the school didn't have the courses (or the teachers) to push a real syllabus

      And that's the real problem. My mother quit teaching because of all of the bullshit bureaucracy getting in the way of actually teaching children. I've done some lecturing, but there's no way I'd want to become a school teacher - the pay sucks in comparison to a programming job, the stress is higher, and the system seems to be taking the only rewarding part of the job away.

      I absolutely agree with TFA's premise. Programming is as much of a life skill now as writing was a hundred years ago. The problem is in the execution. Who are they going to get to teach it? Most schools simply don't have anyone with the knowledge and skills required. I seem to recall a paper a few months ago saying that the reason that a lot of girls have an aversion to maths is that their first maths teachers in primary school are female and don't fully understand the subject, so they're frightened of it and the girls pick up on this fear. If we get people who don't really understand a subject to teach it then we're more likely to put people off learning it than anything else.

      --
      I am TheRaven on Soylent News
    9. Re:Needs Revision. by TheRaven64 · · Score: 3, Insightful

      We had lessons when I was 7 using Logo to teach geometry. It involved writing programs to demonstrate various shapes and learning about what happened if you changed the angles. Simply playing with Logo and seeing how to draw various things using just lines and angles is a great introduction to both programming and geometry.

      --
      I am TheRaven on Soylent News
    10. Re:Needs Revision. by Flubb · · Score: 2

      Alice is precisely the best way to integrate the concepts *and* have instant feedback on how something works. I can't programme, and probably never will, but Alice was the first time I actually began to understand some of the concepts because it *showed* me what I was doing. That's what kids need.

  2. Information Science is Science by Fished · · Score: 5, Insightful

    Information Science is a basic science, like any other, and in our world has a lot more immediate practical applications. It should be taught. Why can my son, very bright, in the 8th grade, tell me the layers of the atmosphere and the earths crust and evolution and basic physics, but can't tell me the difference between a bit and a byte? That's crazy.

    --
    "He who would learn astronomy, and other recondite arts, let him go elsewhere. " -- John Calvin, commenting on Genesis 1
    1. Re:Information Science is Science by JoeMerchant · · Score: 2

      Information Science is a basic science, like any other, and in our world has a lot more immediate practical applications. It should be taught. Why can my son, very bright, in the 8th grade, tell me the layers of the atmosphere and the earths crust and evolution and basic physics, but can't tell me the difference between a bit and a byte? That's crazy.

      Bits and bytes matter less and less, they're becoming the sub-atomic particles of Computer Science, interesting to some of the theory guys, but all the practical stuff is made up of bigger chunks. Or, that's the theory, at least. I still manipulate bits in my C++ code, but then, using C++ makes me somewhat archaic, too.

    2. Re:Information Science is Science by cheekyjohnson · · Score: 4, Insightful

      Why can my son, very bright, in the 8th grade, tell me the layers of the atmosphere and the earths crust and evolution and basic physics

      Pay that no mind. I'm sure he'll forget all of that by next year.

      --
      Filthy, filthy copyrapists!
    3. Re:Information Science is Science by suomynonAyletamitlU · · Score: 2

      Bits and bytes are just the current implementation of digital logic. If I were to give a thousand-foot view, it would be more along the lines of hardware vs software, or a line of code vs a program, or computers versus networks, that sort of thing. The sort of introductory class that keeps a whole generation of kids from confusing 'the internet' with 'Google' (or AOL, or Apple if you prefer).

      The number of bits in a byte, or the very fact that computer logic is based on binary, these aren't terribly consequential. If we found a way to make trinary computers tomorrow, both would change, but the human-facing half of it wouldn't.

    4. Re:Information Science is Science by Jane+Q.+Public · · Score: 2

      No, they don't "matter less and less". Larger structures are being built around them, but that's like saying the bigger and fancier the car, the less important the engine. It''s nonsense.

      You might be able to drive a car, but if anything goes wrong, if you don't know anything abut the engine, you're SOL. The same is true of programming. Maybe most of the time you can ignore those "little details" (just like you can your engine), but by Grid you'd better know about them if anything goes wrong. (And if you are a programmer, things WILL go wrong.)

      They matter less and less to the end users, yes. But they don't matter "less" to a programmer, any more than electrons matter "less" to someone doing modern electronics.

    5. Re:Information Science is Science by Jane+Q.+Public · · Score: 2

      When I was in the 8th Grade, I could tell you what a transistor or a laser was made from, and even some details about how they were manufactured. And how photolithography worked to build integrated circuits. But none of that had anything at all to do with school. It's a matter of interest. I was a science geek. Some people aren't. There's nothing wrong with being an artist.

    6. Re:Information Science is Science by Jane+Q.+Public · · Score: 2, Insightful

      Bits and bytes (well, bits anyway) are the ONLY feasible implementation of digital logic for the foreseeable future. Good Grid, man, have you ever tried to do anything useful in trinary? Good luck. Theoretically it's perfectly workable, but honestly I don't think humans were built to think that way.

      I do agree, however, that if a cheaper (not just workable) way were found to make the internal workings trinary, it is likely that it would be adopted, strictly for internal use. The interface to the machine would still be in powers of 2.

      Still, because of the brain-twisting aspects (if you are used to binary) of trinary would prevent its widespread adoption. I thing manufacturers would wait for quaternary to come around.

      Of course, then you have qubits, which are none of the above...

    7. Re:Information Science is Science by Bogtha · · Score: 2

      Bits and bytes matter less and less, they're becoming the sub-atomic particles of Computer Science

      Consumer products aren't measured in subatomic particles. You don't buy n particles of milk when you are at the supermarket. But you do buy computers with hard drives measured in terabytes and you do buy Internet connections measured in megabits per second. If you don't understand the difference between bits and bytes, you can easily be mistaken about the performance of the product or service you are buying by a factor of eight.

      --
      Bogtha Bogtha Bogtha
    8. Re:Information Science is Science by TheRaven64 · · Score: 4, Informative

      The idea that a byte is 8 bits is actually fairly new. A byte is traditionally the smallest directly-accessible block of memory in which bit order is not exposed to the programmer (you care about the order of bytes in a word, but you can't see the order of bits in a byte). I'm aware of systems with a byte size of 4, 6, 8, 12, and 36 bits. The term 'octet' was used to describe groups of 8 bits in a generic context (and is still used in French and in some more formal contexts where the difference between a byte and an octet is actually important). It's only in the last 30 years or so when octet and byte have been equivalent in modern systems that people have started using the terms interchangeably.

      --
      I am TheRaven on Soylent News
    9. Re:Information Science is Science by TheRaven64 · · Score: 2

      Depends on the implementation, but a lot of expert systems use tri-state logic (true, false, undefined). There are a lot of variations on tri-state logic, and a number of them would be easier to implement on a computer that used trinary internally.

      --
      I am TheRaven on Soylent News
    10. Re:Information Science is Science by JoeMerchant · · Score: 2

      No, they don't "matter less and less". Larger structures are being built around them, but that's like saying the bigger and fancier the car, the less important the engine. It''s nonsense. ...rambling automotive analogy edited for clarity... They matter less and less to the end users, yes. But they don't matter "less" to a programmer, any more than electrons matter "less" to someone doing modern electronics.

      Been there, done that with the degrees in electrical and computer engineering, 20 years in the field. I used to write 6502 assembly code by hand and peck in the op-codes in decimal... worked up through looking at compiler generated assembly and tweaking when necessary... I'm currently coding for a custom multi-core system realized in an FPGA and I have "looked under the hood" down to the assembly level exactly never in the last 15 years. gcc generates good working code from C/C++, it has its quirks and flaws, but my time is better spent on objects than op-codes. Bits and Bytes I do still use out of archaic habit, but I'd probably be more productive overall if I'd stick with higher level structures.

      Same for electrons - 99% of my electron interaction since school is making sure the magic smoke isn't released, yes I know V=IR and I have used it once in awhile, but it's rare, and rarer still that it was really necessary. In my life, it's far more important to read the datasheet thoroughly than to manually design an RC network with more than 2 components.

    11. Re:Information Science is Science by datavirtue · · Score: 2

      Sorry, software development is an art.

      --
      I object to power without constructive purpose. --Spock
    12. Re:Information Science is Science by datavirtue · · Score: 2

      For logic levels there is always one/zero/nothing. Processors typically use only one and zero but it is perfectly legal to have have interfaces recognize nothing/undefined, basically off. I don't like the description of binary as on or off, because in practice this is not how it works. Logic one is typically >=2.7V and logic zero is =.8V (TTL).

      --
      I object to power without constructive purpose. --Spock
  3. teachers make the difference by RichMan · · Score: 5, Insightful

    With a good teacher there is no need for whiz bang fancy pants hook'em when their your graphics.

    They need good teachers. Invest the money in training/sceening teachers properly. Cirriculum and all that other stuff is fluff from the people that want to sell text books and hardware.

    1. Re:teachers make the difference by hedwards · · Score: 4, Insightful

      That's actually not true. Teaching tends to be somewhat cyclical over the last few years there have been a lot of teachers retiring that were hired during the 60s and 70s.

      Higher salaries definitely would help, if they're going to continue to stretch the school year out the salaries are going to have to increase to accommodate for the fact that teachers can't have a second job during the summer like they used to. Plus, with increasing demands to keep their teaching certificates there really needs to be more money for the increased workload. In real dollars the pay is fine, but it's all that extra work load that happens outside of class time that needs to be addressed.

      As for better and lesser, the issue there is one of certification, we could have better teachers if we paid more. The main reason is that it's hard to justify becoming a teacher when the standards keep increasing without additional support and without additional pay. Typically you're looking at a bachelors plus a teaching certificate and then on top of that you're looking at additional endorsements and certificates.

    2. Re:teachers make the difference by Eric+Green · · Score: 5, Informative

      I am wondering what in the world you are talking about. During the three years I was teaching, a) my highest salary was the munificent sum of $21,800 per year (roughly $40K/year in today's dollars), b) I paid 100% of my health insurance costs (NO district subsidy of the cost), and c) the retirement benefit was 40% of my ginormous salary if I managed to survive 30 years without stroking out, being knifed or shot by one of my students, or being thrown under the bus by a school administrator upset that I cared about whether my students learned or not (and note that I did NOT pay into Social Security and if I had managed to get Social Security via some other job, there's a "double dipper" penalty in the SS formula that would take most of that away from me). In the years since I switched to doing software engineering rather than teaching mathematics I've sometimes worked 60+-hour weeks and multiple all-nighters but never worked anywhere near as hard as I worked as a teacher and get paid more than three times as much money than a teacher. If you paid me the same six-figure salary I make as a senior-level engineer I still wouldn't go back, because the job is thankless, never-ending, and utterly exhausting both physically and intellectually if you're doing it right. My hats off to those teachers who stay on the job and do it well, year after year, because the fools who criticize such teachers have not a clue.

      BTW, once you get above 35 students in a classroom, it becomes simply impossible to manage in a way conducive to learning. Above 35 students learning starts dropping off rapidly, past 40 it's just baby-sitting and make-work. Teachers know this the hard way. The fact that politicians and parents talk about 40+ student classrooms as if that were some reasonable solution to the cost of running public schools tells me that either a) they don't care about education, they just want free babysitting to keep kids off the streets, or b) they're clueless cretins who need to be drummed about the head with a clue stick. That is all.

      --
      Send mail here if you want to reach me.
    3. Re:teachers make the difference by vlm · · Score: 2

      Health benefits are FAR above what the average citizen sees

      Not because the teachers has gone up, but because ours has gone down. That's a fact.

      Some of that is changing now, though. There has been something of rebound effect. People are getting very pissed off.

      Like crabs in a crab pot trying to pull any escapees back into the pot if they try to climb out. Yea team!

      --
      "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
  4. Sounds like a great idea. by forkfail · · Score: 4, Insightful

    Especially if paired with more math.

    I was lucky; my dad taught me BASIC and algebra in grade school. I was too young to realize that math was supposed to be hard and un-fun; as a partial result, all these years later, I make a good living off both.

    --
    Check your premises.
    1. Re:Sounds like a great idea. by jd · · Score: 2

      Good maths is absolutely essential. Without it, you can't understand the relationship between the theory and the practice. I'd say that academic writing skills are also valuable, as that teaches people how to be clear, organized, link appropriately and yet be efficient -- skills essential to quality computing and skills absolutely lacking with today's dweebs.

      There's a big dispute over what the terms "computer science" and "software engineering" really mean. I would argue that it doesn't matter, that a quality programmer is both scientist and engineer. Lacking one skill or the other is a major mistake and is in part the cause of the shambolic state of IT at the moment. And, yes, that means going to elementary/primary schools and teaching the core skills of both fields there.

      I would also urge such courses to be multi-lingual. There is ample evidence that kids as young as 3 can learn multiple natural languages and keep them separate, so I think we can expect kids who are 7 or 8 to learn multiple programming languages and not get them confused. I'd suggest one procedural language, one functional language and one object-oriented language. (For the sake of argument, let's call them "Scotch", "Bourbon" and "Beer".) This will address the unfortunately common problem of thinking one way -- always a major mistake -- and will teach kids to think about how the problem might best be solved, what tools are right for what jobs. It will also increase their flexibility, since the languages popular today aren't necessarily going to survive until the time today's youngsters are graduates and certainly won't survive until they're retiring. Education, to be effective, has to be usable for the next 70 years. Most employees don't have time to study up and learn new programming languages AND new programming techniques, especially if the stuff is only going to be good for a few years at a time. You have to learn how to do things, not replicate results.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  5. Is declining enrollment a problem? by RobinEggs · · Score: 4, Insightful

    I was under the impression that computer science was a bubble degree: the latest degree that people with any shred of scientific acumen and no clue where they wanted to go in life acquired as their ticket to an upper-middle class paycheck. So what's surprising and disastrous about the bubble bursting? Isn't that what bubbles do?

    I always hear people on slashdot bitching that half the youngsters getting computer science degrees today are incompetent code monkeys at best, and yet then I read stories the next week about the problem of declining interest or falling numbers in comp-sci education.

    Which one is the truth? Shouldn't you be happy to see enrollments decline? Aren't you glad to see fewer incompetent, bobble-headed lemmings graduating and going out to make a bad name for all of you self-proclaimed 'competent' computer scientists?

    1. Re:Is declining enrollment a problem? by sydneyfong · · Score: 2

      It's human nature. Everyone wants to whine how those beneath them are incompetent pricks. It makes them feel superior.

      Without the lower ranks, the illusion of superiority is gone.

      So yes, they want the incompetent people under them and they want to whine.

      </sarcasm>

      --
      Don't quote me on this.
    2. Re:Is declining enrollment a problem? by cheekyjohnson · · Score: 2

      What makes you think that the people you see on Slashdot "bitching that half the youngsters getting computer science degrees today are incompetent code monkeys" are the same ones who dislike the declining interest or falling numbers in comp-sci education? Or do they all think the same way?

      --
      Filthy, filthy copyrapists!
    3. Re:Is declining enrollment a problem? by loom_weaver · · Score: 2

      I prefer to be elitest and think that only a small percentage of the population can actually think abstractly enough to have an aptitude for math and computer science.

      While I love wrapping my head around a hard problem (and gain immense satisfaction in solving it) when I describe what I do (sit in a desk most of the day and think about problems) to other people they picture it to be about as fun as water torture.

  6. shop class by Anvil+the+Ninja · · Score: 5, Interesting

    High school intro to programming should fill the same niche as shop class -- to get students interested in creating stuff.

    1. Re:shop class by kenh · · Score: 4, Insightful

      And be just as optional. Requiring a student to study something like shop or programming they aren't interested in and will likely never do anything with outside of class will ruin it for everyone else as the teachers will need to "dumb-down" the class to drag these folks along, causing the more interested students to become frustrated with the pace of the class.

      --
      Ken
  7. The definition of literacy changes every day by Pirulo · · Score: 2

    Reading and writing is not enough for the regular mortal to be defined as literate nowadays. Programming is becoming ubiquitous in all modern activities and jobs.
    As Douglas Rushkoff puts it, "Program or be programmed".

  8. Programming *was* cool at school by Tastecicles · · Score: 2

    ...Back in the 1980's when the programming I did caused a small robot to draw complex shapes on the floor. I crunched through an insane number of projects in four years, from mathematical problems to friezes for musical productions and outlines for stage sets.

    I still remember how to program the Turtle, though the real-world applications of such a skill, I've since found, number precisely zero. It was and is still fun, though.

    --
    Operation Guillotine is in effect.
    1. Re:Programming *was* cool at school by Tastecicles · · Score: 2

      I know it's bad form to reply to yourself, but:

      One or two side skills I picked up while working with Turtle was in forward planning and troubleshooting. Not to mention a habit I'm still trying to kick, which annoys me greatly: the pursuit of perfection.

      --
      Operation Guillotine is in effect.
  9. Software development is being offshored/inshored by walterbyrd · · Score: 2

    That is the real reason for declining enrollments. Also the reason that the smarter students are avoiding CS/IT.

    Why go through all that trouble only to have your job offshored, or to end up training your H1B replacement?

  10. Make it cool by making it mandatory? by Leuf · · Score: 2

    If you want to make it cool, ban learning about it.

  11. "video games and special effects"? by j.+andrew+rogers · · Score: 4, Insightful

    Say what? Is this what average people think programmers and software engineers do? Do they think the kids won't catch on that the reality does not look anything like that?

    I have nothing against programming as a part of standard education. It is likely beneficial on multiple levels, not just because it teaches a useful skill but because it forces you to reason about and analyze systems in a somewhat rigorous way.

    My issue is that they are apparently faking the real rewards at a very superficial level which generates little value in practice. You won't train a generation of great computer scientists by doing a bait and switch, and history suggests that really great computer scientists are rarely motivated by their ability to do parlor tricks for the adoring masses. Like with many other technical disciplines, the deep elegance that makes it rewarding requires long and serious study that most of society will never really appreciate except in a very indirect way.

    1. Re:"video games and special effects"? by JoeMerchant · · Score: 2

      I don't know the whole industry stats, but there are a large number of people employed in movie special effects, games, and related things like virtual reality for architecture, etc. Much larger than pro sports, (highly paid) acting/modeling, and the typical wish list.

  12. Again? by cheekyjohnson · · Score: 2

    Forcing students to take courses that 'teach' them things that they are unlikely to ever use because there is a chance that they will use them and/or it might have a tiny impact on their intelligence.

    If it's optional, I don't have a problem with it. But I doubt most people are going to actually use this knowledge.

    --
    Filthy, filthy copyrapists!
    1. Re:Again? by Hognoxious · · Score: 2

      In my experience, most people gawk at the idea of writing any kind of code.

      I agree with what you sed.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  13. Re:Games ok now? by masternerdguy · · Score: 4, Interesting

    It's not just about game theory. Space invaders will teach concepts such as blitting, game loops, event driven programming, arrays + for loops (with arrays, lists, etc), and the use of threading/timed while loops. It will probably be a great example of implementing object oriented programming, and requires support skills such as the creation of sprites in an editor such as GIMP, and sound effects in things like Audacity. It's not a big project, but it does cover a broad spectrum of topics in a very short span of time, and the student will have fun doing it.

    --
    To offset political mods, replace Flamebait with Insightful.
  14. Why not... by kenh · · Score: 3, Insightful

    Why not just require every student study engineering, so that England can become an engineering leader? It's an equally simplistic proposal to solve a problem as the "require everyone to study something only a few will ever work with to solve a vaugely-defined non-existant problem"...

    --
    Ken
  15. Re:Oh, come on, say it.... by Dahamma · · Score: 2

    Actually, nothing beyond one link was "echoed". And the link was to a BBC interview they contributed to, so I'm sure they are ecstatic that slashdot picked it up.

    If you haven't noticed, this has never been a site for investigative journalism and hard hitting original reporting, it's mostly blog that posts links to other articles and lets people comment on them.

  16. programming languages still suck by bzipitidoo · · Score: 2

    What programming languages do many generic algorithms textbooks use? Pseudocode! Why? Because real code is 1) still full of useless boilerplate that has to be there for the benefit of the compiler/interpreter, not the software engineer, 2) overcomplicates the syntax, again for the benefit of the compiler, and most of all, 3) still stinks up code reuse!

    Back in the day, Pascal was the teaching language of choice, and BASIC was the default option for amateurs. Pascal started as an improvement on Algol, which is perhaps the original structured programming language. Pascal has quite a number of ugly design decisions. First, it's too verbose and English centric, using "begin" and "end" for blocks. C's curly braces are much, much better. Pascal's data types are very limited. In at least the Turbo Pascal compilers, Pascal's string type was limited to 255 characters because they used a single byte to store the length. Strong typing may be good for keeping novices out of trouble, but it's simply a puritanical limitation for experienced programmers.

    As for C, what I mean by boilerplate is stuff like "int main(int argc, char **argv)". And that also demonstrates what I mean about overcomplicated syntax. We know main takes 2 arguments. Why do we have to put parentheses around them? We don't put parentheses around an operator just for that. It's ugly to have to do something like "assign(&c,add(a,b))" instead of "c=a+b". Then there's the redundant requirement for a semicolon. In school, we pound on students to use proper indentation, and to put statements on separate lines. But most languages still require that extra bit of punctuation. May sound like trivial issues, but these little things matter. There's also the pointer nastiness, with those ugly '*' and '&' symbols everywhere. At least C++ cleaned that up a little bit, with the use of '&' for variables named in function prototypes, and Java went a bit further yet. But it all adds up to making programming more tedious than necessary.

    The LISP proponents might be feeling a bit smug and superior by now. But you know what? Lots of Idiotic Single Parentheses also blows it on these issues. To do that simple bit of math, have to say "(= c (+ a b))" Make the programmer do it in prefix order. The advantage is that unlike infix, no parentheses are required to unambiguously state a mathematical formula, but then the language requires the miserable parentheses anyway! Ok, so you can have variable numbers of parameters, and say stuff like "(+ a b c d)", but that little compensation is not worth being required to use parentheses everywhere.

    The humble command line has its own issues. It has become customary to flag all the parameters with letters of the alphabet, instead of requiring all the parameters be passed, and passed in a specific order. I always struggle to remember inconsistencies like the stream parameter being the first parameter in fprintf, but the last parameter in fputs. They messed themselves up with that one. I suspect they wanted to put the stream parameter at the end to be consistent with fputs, but could not because fprintf is one of the few library functions that takes a variable number of parameters, and the ad hoc way they enabled that meant the stream had to go at the front. This is not an issue with the command line. Scripting has had a revival of sorts, but is still looked upon with contempt. Perhaps Perl is the current scripting language of choice. It has many improvements over bash. I really like the built in hash data type, and everyone likes the regular expression syntax. But it sure borrowed a whopper from shell scripting, requiring these funny glyphs ($, @, and % mostly) for every single use of a variable name.

    As for code reuse, look at the mess we have with libraries. OOP couldn't solve this problem, wasn't good enough. I think where OOP really missed was the entire idea of imposing a hierarchy on classes. Ideas such as CORBA didn't cut it either. C is perhaps the clo

    --
    Intellectual Property is a monopolistic, selfish, and defective concept. It is "tyranny over the mind of man"
    1. Re:programming languages still suck by Serious+Callers+Only · · Score: 2

      Because real code is 1) still full of useless boilerplate that has to be there for the benefit of the compiler/interpreter, not the software engineer, 2) overcomplicates the syntax, again for the benefit of the compiler, and most of all, 3) still stinks up code reuse!

      Perhaps in the languages you use. Ruby doesn't actually have most of the problems you have highlighted -

      Parenthesis are optional
      Semicolons are optional
      Begin/End is optional
      No pointers
      Glyph prefixes are not required for variables (except @ used for class variables)
      No header files
      No namespaces (a plus in my book as it adds complication)
      Embed c etc if you must, though this will never be painless in any language as it deals with legacy issues from other languages.

      I'm sure languages will improve as people realise all that syntax is getting in the way more than it helps.

  17. Re:Software development is being offshored/inshore by bky1701 · · Score: 3, Interesting

    "College/University is not a trade school"

    Yes it is. Of the people who go to college, only a tiny minority will say it is because they want to learn for the sake of learning. Likely, because learning no longer requires attendance at a physical university. What a university provides is a sort of certification. Everyone with a serious goal in life goes because they more or less have to go, in order to be allowed into certain fields. Getting into those fields makes a better life.

    I might agree with you somewhat, so far as college does not teach a trade. It is a costly exercise in bureaucracy and wasting of 4-6 years of everyone's time at taxpayer expense for people who do not want to be there (for good reason). Of course, the source of that problem is opinions like yours - that college has some kind of intrinsic value. It somehow makes you better, hence, it is not a "trade school" which teaches you a trade. If this is the case or not is fairly irrelevant; it is not how it is seen by those in it, so it is not how it is treated by them.

    Then, of course, there are those who use college as a buffer of party time between highschool and work. I'd dare say they make up a bigger portion of college population than either learners or goal seekers...

  18. The *BEST* teacher - YOUR OWN WILLINGNESS TO LEARN by Taco+Cowboy · · Score: 2

    With a good teacher there is no need for whiz bang fancy pants hook'em when their your graphics

    Speaking from own experience here

    There was no one in my own country who could teach me what I wanted to learn

    99.9% of the programming I learnt, I learned from many online Gurus

    I am not from US nor Europe. I was just an Asian geek who fell in love with technology

    When I started to go online, it was something known as "Fidonet"

    I graduated from 400 baud to 800 baud to finally 3200 modem.

    Then the 3rd world Asian country that I was from started offering "Internet", on 64Kbps broadband.

    I posted questions, many many questions, and was helped by the many gurus that generously shared their knowledge with me and others

    Step by step I learned. From basic to Pascal to C to Assembly Language

    --
    Muchas Gracias, Señor Edward Snowden !
  19. Programming is not "technology" by kanguru007 · · Score: 2

    My guess is that corporation fights, messy and confusing APIs, software patents and changing standards should drive most intelligent and creative people away from programming. Calling it "technology" doesn't help either.

  20. Re:Competency and Interest by jawtheshark · · Score: 2

    Exactly to the point. Interest-based education would be the best option.

    --
    Ahhh...the great dumpster continuum. Many a free computer will be found there. -- sowth (748135)
  21. Won't work. For more than one reason. by Opportunist · · Score: 4, Insightful

    First and foremost, programming isn't for everyone. I had to learn this the hard way, by many frustrating experiences of trying to teach people what is natural for me. Some, actually most, people just don't make good programmers. Yes, you can teach them how to do it, but they'll never be able to come up with sensible code themselves. They will know the functions and commands, but they will never grasp the mindset necessary. They will eventually maybe get the how, but never the why. And that simply isn't enough. That way you get rote programmers who will spend their time hunting for code someone else wrote and do some crappy copy/paste programming job. The only thing you accomplish is that this kind of "programmer" will muscle into the work force, push salaries down to the point where even people who could do some great programming stop aiming for the trade and would rather spend their paid hours in some idiotic number pushing job, simply because it's better paid. Like, say, me turning to IT security management rather than IT security development. I'm a far worse security manager than I was in secdev. But it's better paid. WAY better paid.

    Then, coding IS already cool. For those interested in coding. I spend my spare time coding now, think I'd do it if I didn't think it's cool and it's fun? And you'll never make it cool for people who don't get an orgasmic rush from nifty code that works, from an optimization that shaves off 20% of runtime, they don't care. They don't bother. They will create code that "does somehow" what it's supposed to do to get over it. For them, it's not a passion but a burden. You get the kind of output that you get from anyone who has to do work he doesn't really enjoy, the one with the least effort necessary.

    And finally, to rephrase the first paragraph and explain why people would rather go for BA majors than for engineering: Salaries. The crappiest BA number pusher gets more money than the best IT engineer. People follow the money, it's that simple. And as long as it's better paid to administrate than to actually do something productive, this is where people will go.

    --
    We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
  22. Best teachers I had weren't teachers at all. by LostMyBeaver · · Score: 5, Interesting

    In high school... I went to a special one called W.T. Clarke in Westbury New York... I had four teachers which were really amazing. The principle of the school decided that to teach computer programming, he'd hire a programmer. To teach electro-mechanical engineering, he'd hire a robotics engineer. To teach architecture, he'd hire an architect and to teach electronics repair, he's hire a TV repair technician. Oh... did the same for carpentry and other things as well.

    He believed that if he could find these people with a love for what they do, who felt that it would be more productive to teach 30 new kids each year than to do the work themselves. The initial pay was that of an entry level person of the field which they were specialists in and the costs to cover tuition to the university to become a certified teacher as well. Upon completion of their degree, they would gain the additional money that had been paying for their university classes as salary. The end result was, nearly every person on my friends list on FaceBook from those classes are now working high level positions in those fields..... or as teachers. That's about a 70% success rate.

    A key thing to understand about these courses is... they were elective courses. You had to do well in your normal classes or you'd be dropped from these courses. So, the students in these courses actually did better in their other classes than the other students as well. It's like forcing an athlete to pass their other classes or no football for them.

    This system worked incredibly... the problem was, the principle had to fight for this. He demanded of the school district the funds to make this happen. He probably interviewed 50 people for each position before choosing someone. After all, with the investment he would need to make in a person like this, he didn't want to have to do it every 3 years. So he picked the right person for the job. Of course, in that school, he did pretty much the same for nearly all his teachers and in a school with 1500 students, that's a huge job. But, the end result was one of the best schools in New York and possibly the whole of the U.S.. He didn't piss away money on fancy landscaping projects like they do in California. Whenever he got the money to do anything, he improved the academics of the school first and if there was any money left over, he bought a lawn mower. He would even attempt to convince the football team and cheerleading squad to run fund raisers for those things to avoid having to use the normal budget for those things.

    Mind you this was in the 80s and 90s. He set aside an area of the parking lot for kids to smoke. He felt strongly that he'd rather keep the students at school even if it meant letting them smoke on school grounds as opposed to having them skip classes to avoid getting caught smoking. These days, the parents almost certainly would lynch him for such a decision. Unlike other schools where the principle was some loser who deal out punishments. He let his subordinates take care of punishments. He on the other hand would take personal interest in any student he felt was going the wrong way. He understood that the kids who looked like "The wrong kind" could often simply be trying to define themselves as nonconformists. If some kids needed a "tough guy" reputation, he'd even pull them across the school and into his office by their ear for everyone to see, then sit down and play a game of chess with them and talk about things. Fact is, we as students didn't fear him for punishments. We feared that he would be disappointed in us... a raised eyebrow from him was enough to put nearly all the students in line.

    I can go on and on about him. But the important thing more than anything else is that he made the school what it was. He built a team of the right teachers. He sacrificed new paint in the hallways for better text books. He focused on what was important in a school. People always talk about "The right teachers" and "Higher pay", but in retrospect, I must admit that the key to success is great leadership. Start with that.

  23. Re:Ruby??? by rtfa-troll · · Score: 2, Interesting

    Python has an attitude that little should be hidden. Ruby has lots of automagic and can be confusing for professional programmers let alone beginners. At the same time most important things are available in python. For a first language python would seem to be obviously better

    --
    =~ s,(.*),<sarcasm>$1</sarcasm>,g if any_point_you_wish();
  24. Back in the 1980's... by 91degrees · · Score: 2

    This is probably going to end up as a grandpa Simpson style ramble. The important thing was that I had an onion tied to my belt, which was the style at the time...

    I can see a lot of reasons that Britain developed a software industry.

    In the 1980's British schools were encouraged to buy computers. The BBC Micro - made by Acorn, sponsored by the BBC. These allowed kids to start programming immediately. BBC's BASIC had move/plot style drawing routines which allowed kids to create something easily. So some kids were taught to program by being given ainstructions to write a program to draw a square. Most kids followed the instructions, copied the programs but didn't learn anything. A computer program was seen as basically an incantation. The lessons made no attempt to encourage you to work out how to draw, say, a different shape. However, some of us did (or at least I did) see how this simple program could be made more interesting.

    Most kids when I was growing up had a home computer. Acorn and Sinclair had both launched in their home territory first, and the major consoles (Sega Master System and NES) were released a couple of years later than in the US. This gave home computers a lot of time to establish a very strong niche. In my middle class area, everyone had a Commodore 64 or a 48K Spectrum by 1987. 8-bit home computers were amazing for experimental kids. You could turn them on and start programming immediately. and they were good for games!

    I think as a result of these factors, those kids who were actually interested in computers had plenty of encouragement to learn. The option to program the thing was staring them in the face!

    A lot of kids won't learn programming. It's hard work and they find it dull. School lessons on the subject do nothing to reduce this impression. Programming mainly appeals to those nerds who like pure logic puzzles. These ones will learn to program when they realise it's an option, but most of them will get into it largely by accident.

  25. Re:Software development is being offshored/inshore by Anonymous Coward · · Score: 2, Insightful

    That is quite a cynical view of higher education. What do you regard as a "serious goal in life"? An economic one?
    Maybe things are different here in Europe, but in my experience, there is a substantial percentage of people doing CS out of genuine enthusiasm for the field. I don't see how being around bright people for a few years has no intrinsic value. I'd go as far as saying that it does make you better in the sense that you come in contact with ideas and concepts you wouldn't have seen in a trade school, as they - shockingly - cannot be monetized directly.
    Of course, many of the same kind of people tend to choose jobs in research and education. I sometimes suspect that there might even be a little more to life than birth -> work -> death.

  26. Re:Ruby??? by sqldr · · Score: 2

    As someone who uses both, I probably wouldn't choose Ruby for the following reasons:

    Lambda functions versus list comprehensions. Ruby has about 60 of the things attached to arrays. Python just has if/for/in and the same set of clauses found elsewhere in the language. Or to put it another way, far less keywords (ok, member functions aren't really keywords, but..).

    Speed. Ruby has its uses, unless performance starts to become an issue, where you'll find yourself having to use something else

    The indent thing. Here comes the flame war! Alas, the original intention for this is to force people to indent properly. Something which beginners fail to do.

    Easier to extend with C. Via things like weave

    Very clear syntax. The whole "there should be at least one obvious way to do it" motto is a good one. The sometimes optional but not always ? operator after function calls in ruby... why? Either make it obligatory, or get rid of it. The do |var| syntax is a bit misleading as well.

    --
    I wrote my first program at the age of six, and I still can't work out how this website works.
  27. *Programming* is already cool by mdarksbane · · Score: 2

    Programming is already cool. It's programmers that aren't, and most people don't want to become a programmer in order to get to the cool programming part.

    We're like a colony of Leper Wizards. Everyone's in awe of the fact that we can create fire, but no one really wants to hang out with us long enough to learn how to do it themselves.

  28. Re:so what? by MightyYar · · Score: 4, Insightful

    I find that, in any profession, there are very excellent people who do the job because they love it and there are other excellent people who do it because it pays well. I feel like you need both kinds of people.

    Incidentally, there are also really bad people who do it because they love it, and there are plenty of mediocre people who do it for the money. Those people give both groups negative associations.

    As for money, it is true that one can be very happy in life with the basics covered. It is also true that more money insulates you from disruptive events... if a new roof only costs a month of take-home pay, you are in much better shape than someone who has to scrimp for a few years to pay off the loan they took out for the new roof. I wouldn't want to give up too much time for money, but I also won't discount the value of more money. Even marriages are statistically more stable if money is not a recurring problem.

    --
    W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.