You're right. It's not like it was when you were a young person, and all young people were politically active, and respectful of their elders, and didn't play their music so damned loud. It's not real music, just noise. It all sounds the same. No moral backbone in the lot of 'em, nosiree.
You want to see college-aged kids get more involved in politics? Simple: allow election-day voter registration. The younger you are the more likely you are to be bouncing from apartment to apartment, and the more difficult it is to keep your voter registration up to date. Make that one, simple change, and I guarantee you that we'd close a few percentage points of the gap (which stood at 52% to 64% as of 2004).
Notice that the gap between young and old voters is 12%, far less than the difference between the U.S. average and the average in hedonistic, irresponsible, decadent narco-socialist states like Denmark (which averages in the 85-88% participation rate). So if you want to justify your !moralFiber => lowParticipation thesis, you've got a big hill to climb. I think a better thesis would be that people who believe in their government are more likely to participate in the voting process. Transparency International's Corruption Perceptions Index rates Denmark at 9.5 and the U.S. at 7.3. What does a 2.2 point difference actually mean? Well, it's about the same difference as exists between the U.S. and Oman, Jordan, and the Czech Republic.
In 2004, we dropped our bongs, put our baseball caps on backwards, and crawled out of our parents' basements to do our civic duty in record numbers. Result? Our contribution was easily outweighed by the "dudes shouldn't marry dudes, and terrorists are targeting our local bowling alley" demographic. We've inherited all your generation's lifestyle expectations, an economy that cannot sustain them, and a national debt that enriched your generation while impoverishing ours. We've seen the biggest groundswell of voter anger in over a decade (2006) translate into a 94% incumbency rate (a mere 26 out of 435 incumbents lost their seats). We've seen our generation go off to sweat and bleed and die in Iraq to protect the interests of a handful of privileged businessmen (invariably from your generation, not ours). We are expected to have higher educations than any previous generation, but we are given less support in pursuit of it (higher tuition, slashing of student grants and student loans, etc.) So if we see our government as indifferent or even hostile to our generation and our interests, and utterly resistant to positive change, can you really blame us?
As someone just outside the newly-minted 'iPod generation,' I agree. If this name sticks, I'm giving my iPod to a ten year old. I just wonder what the poor kid will do with all those Bon Jovi/U2/The Cure tracks.
A gig of memory to run KDE/GNOME? I've seen GNOME-based distros run happily on machines with a quarter that. If you're trying to install on an ancient machine with 64MB of RAM, I'd suggest going with something like Feather Linux. But I don't think your warning is accurate for any machine he's using as a primary workstation (rather than for simple nostalgic purposes).
I think that lifestyle choices are a huge part of our current exorbitant health care costs. But I also think that those choices aren't made in a vacuum. Our food choices are part evolutionary urges, part simple human laziness, but also partly a matter of government policy. We eat way too much meat and way too much sugar, and both of these facts are partly due to our corn subsidies. With the incentives structured to reward every bushel produced, farmers have to find something to do with way more corn than we could possibly eat. So it gets turned into things like HFCS, beef, poultry, etc.
The meat industry gets subsidized in a lot of other ways. They're exempted from a lot of environmental regulations, despite being huge polluters. They get water and land subsidies. Modern agriculture relies heavily on oil, so the money we pay into our military-industrial complex to keep those resources secure are also a subsidy of sorts. The sheer acreage of land we've set aside for farming is another subsidy, and the low grazing fees we charge to Western ranchers on public land is still another.
I know I talk a lot of crap about government being capable of doing great things to promote the general welfare. But our food policy is corporatism at its finest, and if the government would simply back off and let the market reflect the real costs of meat production, we'd all be eating a healthier diet and feeding ourselves with fewer resources. Personal choice is a load of crap when the actual costs of our choices are being hidden from us.
Police can only "collect revenue" if the law says they can. If there are laws on the books whose primary purpose is to generate revenues for the police force, then they're bad laws. If there are laws being enforced in such a way that they generate high revenue, but little public benefit, then the enforcers need to be reined in. But if the threat of a big fine is keeping people from poaching, or from blowing through a school zone at fifty miles an hour, then that's fine by me.
I have no problem with a police department generating revenue this way. Non-hunters should be fine with it, and honest hunters should be fine with it.
Determinism is the philosophical proposition that every event, including human cognition and action, is causally determined by an unbroken chain of prior occurrences. No wholly random, spontaneous, mysterious, or miraculous events occur, according to this philosophy.
I don't think that's true. After all, in the subatomic realm, it's pretty much nothing but probability and randomness. The sort of determinism you propose seems to reject our current understanding of the universe. I consider myself a determinist (of sorts), but I still believe that things could have turned out differently than they did, and that the future isn't fixed. But which of those possible futures we end up in is determined by the flip of a twenty-trillion sided coin.
You've clearly been duped by our secular public education system. The brain is just a tool that God made, which allows your soul to steer your body around and make it do things like eat Doritos Brand Tortilla Snacks and Accept Jesus as Your Personal Lord and Savior. You can try and confuse me with all this liberal-satanic-scientist talk of "computation" and "reacting to stimuli," but the Bible tells me that the brain is your soul's steering wheel, and so that's what I believe.
Not true. Most insects appear to behave in an extremely algorithmic fashion. My favorite example is the tarantula-killing wasps. She drags the corpse back to their lair to lay eggs on it, but before dragging the corpse down inside, she checks the lair for unwelcome occupants, then goes back out to retrieve the corpse. If a scientist moves the corpse a few inches away from the entrance, she drags the tarantula back to the entrance, then goes inside again to make sure the lair is safe. Meanwhile, the scientist drags the corpse a few inches from the entrance. You can lather/rinse/repeat until the scientist dies of boredom, but the wasp will never grasp the fact that the lair is already safe.
Why bother with all the hardware necessary for abstract thought and emotion, when a finite state machine will do just fine in all but the weirdest cases (and you have a hundred billion brothers and sisters to cover for your genes in case you blunder into an infinite loop)? I even wonder if it's possible for an insect to experience pain. It hardly seems necessary.
I've heard plenty of convincing arguments by linguists claiming that Ebonics is an actual dialect, by every reasonable criteria.
I've heard plenty of unconvincing arguments by radio talk show hosts claiming that Ebonics is just lazy English. But they don't give any indication of knowing what they're talking about, and I wouldn't be surprised to hear most of them say that blacks should "speak American, like Jesus did."
I read your post twice, trying to get your point. When I found myself reaching for paper and a pen so I could draw a Venn diagram, I said to hell with it.
The master was sitting in meditation when a student asked him that question. He said, "Enlightenment comes in two parts. The first part is called 'three roommates', and the second is called 'Ramen noodles'."
"But what about dating? Cars? Entertainment? Retirement?" the student asked.
And the master did fling a Ramen noodle at the wall, and it stuck. In this way, the student was enlightened.
My impression is that the purchasers intend to keep the old Ryzom servers running, and make money on subscriptions the way the bankrupted company did. It will be interesting to see how that shapes up.
I can't name one major open source project that has fifty competing variations. Come to think of it, I'm having trouble naming a project that has more than two. In the most notable forks I'm aware of (GCC vs EGCS and XFree86 vs xorg) the two either merged or a clear winner emerged in a very short time. I really don't think version incompatabilities are going to be a huge problem.
Release early, release often will work just fine. How often do most MMORPGs release their server software? Who knows? All we ever hear is that their servers are going down for "regular maintenance". I would be surprised if WoW wasn't patching their server-side software every couple of weeks. Client upgrades are more noticeable, since the user actually notices that they're downloading a new client. But again, it happens at pretty regular intervals. I would agree that changes need to be well tested, but you're supposed to have a decent test harness anyways.
As for the business model, the purchasers are hoping to actually continue running Ryzom's current servers. So we can expect that they'll be continuing to maintain and improve the code. I think this very well could end well, and if it ends badly, well, we at least get a lot of free music and 3D models out of it.
The bazaar model has never been ideally suited for games. Games have to have a lot of work done over a very short time in order to be completed while they're still close to cutting-edge. They also require art, plots, and other content, which isn't really our strong suit. So it seems like buying games up this way isn't a bad idea, since it gets a lot of content into a legally usable form.
As nice as it would have been to see Warzone developers go crazy, throwing in all sorts of new features, new units, deleted scenes, audio commentary, etc. (I can't even apt-get install it... bummer), it seems their biggest achievement is simply keeping the game alive and free and legal for the people who want it. That's no small achievement, though as someone who has never played Ryzom, I'm not sure I'd spend my money to help repeat it.
> When will people realize that being "alternative" is not the same as "environment friendly" as power sources go?
Probably the moment you invoke the word "dam".
> One would think that making all the concrete, metal, plastics, etc, involved in the manufacture of all the generators will put a large burden on the environment.
One would think that. But we're talking about 341 turbines and the electrical cabling necessary to link them together. It probably only requires a fraction the materials of needed to put up, say, your average skyscraper.
Bird kills aren't nearly as big a problem for modern installations as they are for first-generation installations (like California's Altamont Pass, which still uses 80's-era turbines with fast rotors, and just happens to be located on a major migration route). Modern windfarms constitute an inconsequential fraction of the bird deaths resulting from human activity.
Before warning us about the potentially huge consequences of removing wind from the ecosystem, would you mind estimating for me just what percent of the total available windpower this installation will be pulling from the surrounding area? Consider the fact that only the wind hitting the blade itself is actually contributing. If you came back with a number as high as 0.1%, I'd be suspicious of your math. In short, I can't imagine this being a serious objection.
> This is at least one thousand times as big as a nuclear plant with the same capacity.
If you want to tout the benefits of nuclear energy, go right ahead. But of the objections I've heard to nuclear power plants, I've never once heard anyone grousing about how much land they take up.
Surface area estimates aren't terribly informative, because nothing about this wind installation prohibits other uses of the area, by people or by wildlife.
If you're going to push nuclear energy, then try and actually make a positive case for it. The "windfarms will eat our babies" routine is hardly convincing.
I'm all in favor of energy efficiency, but I don't see how the environmental effects caused by taking energy out of the atmosphere are any worse than the alternatives we already use to produce electricity. Or how it's worse than any of the other things we do that affect the weather (putting up buildings, laying down roads, knocking down forests, etc.)
My worry here is that, due to the offshore-ishness of the farm, it will be very difficult to find bird corpses, and hence it will be very difficult to estimate just how many birds are being killed. It would make sense for them to select a site that wasn't near any major migration routes, and the map seems to place it far enough offshore that it would be well away from shoreline birds. But how are they going to find out if there is a problem?
Most of the Altamont Pass turbines were built back in the 80's. It's one of the earliest attempts at a major windfarm, so it's not surprising that they're chewing through raptors like buzzsaws.
I say yank them down and replace them with more modern, more efficient, less bird-hungry turbines.
I understand that you can mimic object-orientation in procedural and functional languages. It's a wonderful and illuminating exercise, but one I would be loathe to subject a group of first-years to. If you're going to teach objects, it seems far more straightforward to do so in a language that has a syntax for it. The high level concept is difficult in its own right, and throwing implementation on top of that seems perverse.
The same goes for data structures. Once a student is comfortable with the idea of using a list or a dictionary in Python, you might teach them how to implement a functional equivalent without referring to a built-in. It seems to me that the focus should be on understanding and using data structures, not implementing them.
While I fully agree that a text adventure would be a great exercise for younguns, I'm not convinced that C is the ideal language for it. By nature, a text adventure is very heavy on text, and C/C++'s text processing capabilities are about as frustrating and error-prone as they come.
Folks recommending C as a first language seem to believe that the best approach is to start at the bottom and work up. But I think that presupposes that the students will all be going on to CS as a profession, ignoring both the people who don't have that goal and those who would be scared away by too rough an introduction. With interpreted languages, the understanding needed to write a truly useful program is greatly lowered. This gives students much more motivation early on, and leaves those who won't continue in the field in a better position to actually use their skills to make interesting things happen. With C, an advanced first-year project might be "write a program that solves the Knight's Tour problem." With Python, a problem of equivalent difficulty might be "write a simple RSS client." IOW, instead of starting from the bottom and working up, start from the middle and work in both directions.
I do like a lot of your advice. The collaboration idea is frankly fantastic. I also like the idea of focusing on general concepts that will be applicable to any language they may run across.
But when you're learning how to write, you do need to learn how to use a pencil. It took my teachers months to break me of the habit of simply clenching it in my fist. In the same way, there's little point in teaching kids how to solve high-level, abstract problems if you don't also put a lot of effort into teaching them how to express the solution in a way that the computer can understand. Especially with C, this can involve a lot of painful, frustrating effort.
Pointers alone might take a few months to nail down.
I would suggest Python as a preferable language, if the goal is to spend your time teaching concepts rather than the language itself. Just find an editor with syntax highlighting, that actively helps them deal with the whitespace thing, and you're ready to roll. It's not necessary to delve too deeply into the inner workings at first (as in "Why am I writing #include "stdio.h"? What's the point of having a separate.h and.c file, and why am I supposed to wrap the.h with an #ifdef but not the.c?" That's all stuff that you have to get out of the way before you get too far beyond "Hello, World".
Also, I can't overstate the value of having relatively high-level data structures like lists and dictionaries right there, available from the very beginning.
Finally, I think it's great to start off with a language where you don't have to worry about mismatched parentheses and missing semicolons. Yes, most languages require you to think about those things, and it's no great advantage after the initial learning stage. But they're two less things to think about when you're just starting, and it's good to smooth out the learning curve.
But the guy was asking about C, which makes it difficult to teach a lot of high-level concepts (I'm especially thinking of objects and classes, which are mainstays of most languages). I doubt it would be hard for him to switch, and he'd still have a huge advantage because he has programming experience that his students lack.
You're right. It's not like it was when you were a young person, and all young people were politically active, and respectful of their elders, and didn't play their music so damned loud. It's not real music, just noise. It all sounds the same. No moral backbone in the lot of 'em, nosiree.
You want to see college-aged kids get more involved in politics? Simple: allow election-day voter registration. The younger you are the more likely you are to be bouncing from apartment to apartment, and the more difficult it is to keep your voter registration up to date. Make that one, simple change, and I guarantee you that we'd close a few percentage points of the gap (which stood at 52% to 64% as of 2004).
Notice that the gap between young and old voters is 12%, far less than the difference between the U.S. average and the average in hedonistic, irresponsible, decadent narco-socialist states like Denmark (which averages in the 85-88% participation rate). So if you want to justify your !moralFiber => lowParticipation thesis, you've got a big hill to climb. I think a better thesis would be that people who believe in their government are more likely to participate in the voting process. Transparency International's Corruption Perceptions Index rates Denmark at 9.5 and the U.S. at 7.3. What does a 2.2 point difference actually mean? Well, it's about the same difference as exists between the U.S. and Oman, Jordan, and the Czech Republic.
In 2004, we dropped our bongs, put our baseball caps on backwards, and crawled out of our parents' basements to do our civic duty in record numbers. Result? Our contribution was easily outweighed by the "dudes shouldn't marry dudes, and terrorists are targeting our local bowling alley" demographic. We've inherited all your generation's lifestyle expectations, an economy that cannot sustain them, and a national debt that enriched your generation while impoverishing ours. We've seen the biggest groundswell of voter anger in over a decade (2006) translate into a 94% incumbency rate (a mere 26 out of 435 incumbents lost their seats). We've seen our generation go off to sweat and bleed and die in Iraq to protect the interests of a handful of privileged businessmen (invariably from your generation, not ours). We are expected to have higher educations than any previous generation, but we are given less support in pursuit of it (higher tuition, slashing of student grants and student loans, etc.) So if we see our government as indifferent or even hostile to our generation and our interests, and utterly resistant to positive change, can you really blame us?
Ah, that felt good.
As someone just outside the newly-minted 'iPod generation,' I agree. If this name sticks, I'm giving my iPod to a ten year old. I just wonder what the poor kid will do with all those Bon Jovi/U2/The Cure tracks.
A gig of memory to run KDE/GNOME? I've seen GNOME-based distros run happily on machines with a quarter that. If you're trying to install on an ancient machine with 64MB of RAM, I'd suggest going with something like Feather Linux. But I don't think your warning is accurate for any machine he's using as a primary workstation (rather than for simple nostalgic purposes).
I think that lifestyle choices are a huge part of our current exorbitant health care costs. But I also think that those choices aren't made in a vacuum. Our food choices are part evolutionary urges, part simple human laziness, but also partly a matter of government policy. We eat way too much meat and way too much sugar, and both of these facts are partly due to our corn subsidies. With the incentives structured to reward every bushel produced, farmers have to find something to do with way more corn than we could possibly eat. So it gets turned into things like HFCS, beef, poultry, etc.
The meat industry gets subsidized in a lot of other ways. They're exempted from a lot of environmental regulations, despite being huge polluters. They get water and land subsidies. Modern agriculture relies heavily on oil, so the money we pay into our military-industrial complex to keep those resources secure are also a subsidy of sorts. The sheer acreage of land we've set aside for farming is another subsidy, and the low grazing fees we charge to Western ranchers on public land is still another.
I know I talk a lot of crap about government being capable of doing great things to promote the general welfare. But our food policy is corporatism at its finest, and if the government would simply back off and let the market reflect the real costs of meat production, we'd all be eating a healthier diet and feeding ourselves with fewer resources. Personal choice is a load of crap when the actual costs of our choices are being hidden from us.
Veronica Mars handles all things geeky way better than 24.
For the last frakking time, it's not entrapment!
Okay, sorry. I had to get that off my chest.
Police can only "collect revenue" if the law says they can. If there are laws on the books whose primary purpose is to generate revenues for the police force, then they're bad laws. If there are laws being enforced in such a way that they generate high revenue, but little public benefit, then the enforcers need to be reined in. But if the threat of a big fine is keeping people from poaching, or from blowing through a school zone at fifty miles an hour, then that's fine by me.
I have no problem with a police department generating revenue this way. Non-hunters should be fine with it, and honest hunters should be fine with it.
Stop, stop, stop, stop hurting the gaming scene!
You've clearly been duped by our secular public education system. The brain is just a tool that God made, which allows your soul to steer your body around and make it do things like eat Doritos Brand Tortilla Snacks and Accept Jesus as Your Personal Lord and Savior. You can try and confuse me with all this liberal-satanic-scientist talk of "computation" and "reacting to stimuli," but the Bible tells me that the brain is your soul's steering wheel, and so that's what I believe.
Not true. Most insects appear to behave in an extremely algorithmic fashion. My favorite example is the tarantula-killing wasps. She drags the corpse back to their lair to lay eggs on it, but before dragging the corpse down inside, she checks the lair for unwelcome occupants, then goes back out to retrieve the corpse. If a scientist moves the corpse a few inches away from the entrance, she drags the tarantula back to the entrance, then goes inside again to make sure the lair is safe. Meanwhile, the scientist drags the corpse a few inches from the entrance. You can lather/rinse/repeat until the scientist dies of boredom, but the wasp will never grasp the fact that the lair is already safe.
Why bother with all the hardware necessary for abstract thought and emotion, when a finite state machine will do just fine in all but the weirdest cases (and you have a hundred billion brothers and sisters to cover for your genes in case you blunder into an infinite loop)? I even wonder if it's possible for an insect to experience pain. It hardly seems necessary.
I've heard plenty of convincing arguments by linguists claiming that Ebonics is an actual dialect, by every reasonable criteria.
I've heard plenty of unconvincing arguments by radio talk show hosts claiming that Ebonics is just lazy English. But they don't give any indication of knowing what they're talking about, and I wouldn't be surprised to hear most of them say that blacks should "speak American, like Jesus did."
I read your post twice, trying to get your point. When I found myself reaching for paper and a pen so I could draw a Venn diagram, I said to hell with it.
The master was sitting in meditation when a student asked him that question. He said, "Enlightenment comes in two parts. The first part is called 'three roommates', and the second is called 'Ramen noodles'."
"But what about dating? Cars? Entertainment? Retirement?" the student asked.
And the master did fling a Ramen noodle at the wall, and it stuck. In this way, the student was enlightened.
I think their efforts could be better spent fixing this.
Really, all that tourism money, and they can't hire someone to make them look good on Wikipedia?
If you don't like the message, get into an edit war with the messenger.
This has been a public service message from the United Canine Coalition.
My impression is that the purchasers intend to keep the old Ryzom servers running, and make money on subscriptions the way the bankrupted company did. It will be interesting to see how that shapes up.
I can't name one major open source project that has fifty competing variations. Come to think of it, I'm having trouble naming a project that has more than two. In the most notable forks I'm aware of (GCC vs EGCS and XFree86 vs xorg) the two either merged or a clear winner emerged in a very short time. I really don't think version incompatabilities are going to be a huge problem.
Release early, release often will work just fine. How often do most MMORPGs release their server software? Who knows? All we ever hear is that their servers are going down for "regular maintenance". I would be surprised if WoW wasn't patching their server-side software every couple of weeks. Client upgrades are more noticeable, since the user actually notices that they're downloading a new client. But again, it happens at pretty regular intervals. I would agree that changes need to be well tested, but you're supposed to have a decent test harness anyways.
As for the business model, the purchasers are hoping to actually continue running Ryzom's current servers. So we can expect that they'll be continuing to maintain and improve the code. I think this very well could end well, and if it ends badly, well, we at least get a lot of free music and 3D models out of it.
The bazaar model has never been ideally suited for games. Games have to have a lot of work done over a very short time in order to be completed while they're still close to cutting-edge. They also require art, plots, and other content, which isn't really our strong suit. So it seems like buying games up this way isn't a bad idea, since it gets a lot of content into a legally usable form.
As nice as it would have been to see Warzone developers go crazy, throwing in all sorts of new features, new units, deleted scenes, audio commentary, etc. (I can't even apt-get install it... bummer), it seems their biggest achievement is simply keeping the game alive and free and legal for the people who want it. That's no small achievement, though as someone who has never played Ryzom, I'm not sure I'd spend my money to help repeat it.
> When will people realize that being "alternative" is not the same as "environment friendly" as power sources go?
Probably the moment you invoke the word "dam".
> One would think that making all the concrete, metal, plastics, etc, involved in the manufacture of all the generators will put a large burden on the environment.
One would think that. But we're talking about 341 turbines and the electrical cabling necessary to link them together. It probably only requires a fraction the materials of needed to put up, say, your average skyscraper.
Bird kills aren't nearly as big a problem for modern installations as they are for first-generation installations (like California's Altamont Pass, which still uses 80's-era turbines with fast rotors, and just happens to be located on a major migration route). Modern windfarms constitute an inconsequential fraction of the bird deaths resulting from human activity.
Before warning us about the potentially huge consequences of removing wind from the ecosystem, would you mind estimating for me just what percent of the total available windpower this installation will be pulling from the surrounding area? Consider the fact that only the wind hitting the blade itself is actually contributing. If you came back with a number as high as 0.1%, I'd be suspicious of your math. In short, I can't imagine this being a serious objection.
> This is at least one thousand times as big as a nuclear plant with the same capacity.
If you want to tout the benefits of nuclear energy, go right ahead. But of the objections I've heard to nuclear power plants, I've never once heard anyone grousing about how much land they take up.
Surface area estimates aren't terribly informative, because nothing about this wind installation prohibits other uses of the area, by people or by wildlife.
If you're going to push nuclear energy, then try and actually make a positive case for it. The "windfarms will eat our babies" routine is hardly convincing.
I'm all in favor of energy efficiency, but I don't see how the environmental effects caused by taking energy out of the atmosphere are any worse than the alternatives we already use to produce electricity. Or how it's worse than any of the other things we do that affect the weather (putting up buildings, laying down roads, knocking down forests, etc.)
My worry here is that, due to the offshore-ishness of the farm, it will be very difficult to find bird corpses, and hence it will be very difficult to estimate just how many birds are being killed. It would make sense for them to select a site that wasn't near any major migration routes, and the map seems to place it far enough offshore that it would be well away from shoreline birds. But how are they going to find out if there is a problem?
Most of the Altamont Pass turbines were built back in the 80's. It's one of the earliest attempts at a major windfarm, so it's not surprising that they're chewing through raptors like buzzsaws.
I say yank them down and replace them with more modern, more efficient, less bird-hungry turbines.
Fluffy the neighborhood kitty has probably never taken down a bald eagle.
Wait, wait, I know what you're going to say, but it's obvious that youtube video was a fake.
I understand that you can mimic object-orientation in procedural and functional languages. It's a wonderful and illuminating exercise, but one I would be loathe to subject a group of first-years to. If you're going to teach objects, it seems far more straightforward to do so in a language that has a syntax for it. The high level concept is difficult in its own right, and throwing implementation on top of that seems perverse.
The same goes for data structures. Once a student is comfortable with the idea of using a list or a dictionary in Python, you might teach them how to implement a functional equivalent without referring to a built-in. It seems to me that the focus should be on understanding and using data structures, not implementing them.
While I fully agree that a text adventure would be a great exercise for younguns, I'm not convinced that C is the ideal language for it. By nature, a text adventure is very heavy on text, and C/C++'s text processing capabilities are about as frustrating and error-prone as they come.
Folks recommending C as a first language seem to believe that the best approach is to start at the bottom and work up. But I think that presupposes that the students will all be going on to CS as a profession, ignoring both the people who don't have that goal and those who would be scared away by too rough an introduction. With interpreted languages, the understanding needed to write a truly useful program is greatly lowered. This gives students much more motivation early on, and leaves those who won't continue in the field in a better position to actually use their skills to make interesting things happen. With C, an advanced first-year project might be "write a program that solves the Knight's Tour problem." With Python, a problem of equivalent difficulty might be "write a simple RSS client." IOW, instead of starting from the bottom and working up, start from the middle and work in both directions.
I do like a lot of your advice. The collaboration idea is frankly fantastic. I also like the idea of focusing on general concepts that will be applicable to any language they may run across.
.h and .c file, and why am I supposed to wrap the .h with an #ifdef but not the .c?" That's all stuff that you have to get out of the way before you get too far beyond "Hello, World".
But when you're learning how to write, you do need to learn how to use a pencil. It took my teachers months to break me of the habit of simply clenching it in my fist. In the same way, there's little point in teaching kids how to solve high-level, abstract problems if you don't also put a lot of effort into teaching them how to express the solution in a way that the computer can understand. Especially with C, this can involve a lot of painful, frustrating effort.
Pointers alone might take a few months to nail down.
I would suggest Python as a preferable language, if the goal is to spend your time teaching concepts rather than the language itself. Just find an editor with syntax highlighting, that actively helps them deal with the whitespace thing, and you're ready to roll. It's not necessary to delve too deeply into the inner workings at first (as in "Why am I writing #include "stdio.h"? What's the point of having a separate
Also, I can't overstate the value of having relatively high-level data structures like lists and dictionaries right there, available from the very beginning.
Finally, I think it's great to start off with a language where you don't have to worry about mismatched parentheses and missing semicolons. Yes, most languages require you to think about those things, and it's no great advantage after the initial learning stage. But they're two less things to think about when you're just starting, and it's good to smooth out the learning curve.
But the guy was asking about C, which makes it difficult to teach a lot of high-level concepts (I'm especially thinking of objects and classes, which are mainstays of most languages). I doubt it would be hard for him to switch, and he'd still have a huge advantage because he has programming experience that his students lack.
I'm genuinely sorry. I've been behaving horribly lately. I had no right to question the sincerity of your arguments.
Slashdot makes me cranky, and I think the two of us need a trial separation.