No Logo: Taking Aim At The Brand Bullies
The Scenario
At first glance, No Logo: Taking Aim at the Brand Bullies may seem like the same-old rant against Nike. Upon reading the introduction, I realized that this was something more powerful and more interesting. The author picks apart the nature of these brand bullies to give us a better understanding of their mentality, what they hope to achieve and what exactly they're doing to accomplish all their goals. Obviously, some names will come up quite often (such as Nike, Disney, The Gap, Wal-Mart, Starbucks and Microsoft, just to name a few). However, she doesn't just stop at "Nike is bad because of the sweatshop labor practices" - she analyzes the company's marketing strategies, its sponsorship deals, its "charity" work and its influence in the classroom. Klein takes a look at each scenario from many different angles and backs up each of her observations with a multitude of examples and real world experiences.
The book is divided into four sections: 'No Space,' 'No Choice,' 'No Jobs' and 'No Logo.' 'No Space' is about the cluttering of our public spaces with ads; 'No Choice' describes different tactics used by big-name brands to drive independent retailers out of business; 'No Jobs' takes aim at sweatshop labour but with the corporations' "Brand, not products!" mentality in mind (it also includes details of Klein's trip to an Export Processing Zone just south of Manila); finally, 'No Logo' documents the global movement against branding and many of the organizations and people behind the revolt. It is also noted that while globalization is considered by many to be Pure Evil (tm), it has allowed this movement against multinational corporations to spread across the globe much more quickly and efficiently.
What's Bad?To be honest, there is very little that I didn't like about this book. However, there was one little thing that I did notice, but it was not detrimental to my reading enjoyment.
Although my opinion is obviously biased, I was disappointed that there was no mention of Free Software or some other not-for-profit projects that benefit everyone. I find that many of the corporate ties within the Free Software community are very much along the lines of Klein's notion of an ideal balance between corporations and communities. It should be noted, however, that the most recent example in the book is dated June 1999, so it's possible that the word "Linux" hadn't reached Klein's ears by that time (except for some of the IPO hype).
When Klein starts talking about rebellious movements across North America, Europe and beyond, I was hoping for something like Free Software. In other words, I wanted to read about some sort of alternative that is being offered by these anti-brand revolutionaries. What I found were Adbusters that go around defacing billboards and ravers that take over downtown streets for day-long parties. I'm not disputing the message that these movements began with; they both are tools that are being used to reclaim some of the public space. In the end, though, that's all they are: tools. They can be easily used for the wrong reasons by the wrong people. Fortunately, Klein is quick to point this out and doesn't shy away from pointing out both good and bad aspects of each.
What's Good?Klein's fluid writing style really shines throughout this book and her arguments are sharp and well targeted. The result is a a text that holds together extremely well. Even when Klein seems to be going off on a tangent, she is really just taking a different perspective on the issue of branding. Dividing the book into four sections also allows for great reading, because both author and reader can focus on a specific issue in each part. This encapsulation is almost flawless; Klein manages to tackle each individual chapter with different arguments without ever losing sight of her primary goal.
Another impressive aspect of this book is the sheer number of examples that Klein discusses. Each chapter is packed with examples that support her claims, with each one being examined quite thoroughly. The amount of research that went into this book is nothing short of phenomenal (although there is no shortage of corporate horror stories these days). Klein's interviews with workers in the Cavite export processing zone vividly illustrate the difference between what we see in stores and what happens behind the scenes. None of this is news to us: we have all read about Nike's sweatshop labour practices. However, this book digs further to attempt to uncover the true motivations behind these practices and how they are still possible despite the public's disapproval.
I found that each section contained one exceptional chapter. In 'No Space,' "The Branding of Learning" (chapter 4) is simply wonderful, especially for people still in school (like myself). You'll read about grade school kids making Nike sneakers as "an educational experience" and a 19-year-old student being suspended for wearing a Pepsi shirt on "Coke Day." In 'No Choice,' "Corporate Censorship" (chapter 8) should be of interest to most Slashdot readers. Much of this probably won't be as shocking to you, but it's really pleasant to read it from somone on "the outside" that truly gets it. In "No Jobs," "The Discarded Factory" (chapter 9) offers the same old shocking facts about sweatshop labour with a fresh perspective which only makes the situation seem worse. The whole "No Logo" section is wonderful, with the exceptions stated above in "What's Bad?"
So What's In It For Me?If you have been paying close attention to the big brands and some of their dubious business practices, much of the examples won't be news to you. Some of the events that are described have already been covered by investigative TV reports such as 20/20 and Dateline as well as many major magazines. However, I still think you would enjoy the points that Klein raises and how she ties everything together into a well thought-out package.
If you are like me and you're not as familiar with these events, this book is a must read. It will guide you through some of the events surrounding Nike, Disney, The Gap and other multinationals throughout the past decade and let you know where we stand today. Students should especially like "No Space," especially with the commercialisation on campus and in the classroom.
For more information, I suggest that you take a look at the following Web sites:
- nologo.org: The official site with lots of links to organizations mentioned in the book.
- http://www.nikebiz.com/labor/nologo_let.shtml: Nike's response to No Logo (dated March 8th 2000)
- No Space - New Branded World
- No Space - The Brand Expands: How the Logo Grabbed Center Stage
- No Space - Alt.Everything: The Youth Market and the Marketing of Cool
- No Space - The Branding of Learning: Ads in Schools and Universities
- No Space - Patiarchy Gets Funky: The Triumph of Identity Marketing
- No Choice - Brand Bombing: Franchises in the Age of the Superbrand
- No Choice - Mergers and Synergy: The Creation of Commercial Utopias
- No Choice - Corporate Censorship: Barricading the Branded Village
- No Jobs - The Discarded Factory: Degraded Production in the Age of the Superbrand
- No Jobs - Threats and Temps: From Working for Nothing to "Free Agent Nation"
- No Jobs - Breeding Disloyalty: What Goes Around, Comes Around
- No Logo - Culture Jamming: Ads Under Attack
- No Logo - Reclaim the Streets
- No Logo - Bad Moon Rising: The New Anticoporate Activism
- No Logo - The Brand Boomerang: The Tactics of Brand-Based Campaigns
- No Logo - A Tale of Three Logos: The Swoosh, the Shell and the Arches
- No Logo - Local Foreign Policy: Students and Communities Join the Fray
- No Logo - Beyond the Brand: The Limits of Brand-Based Politics
- Conclusion - Consumerism Versus Citizenship: The Fight for Global Commons
Purchase this book at Fatbrain.
"ew, logos are bad!"
/., the penguin, wilbur, copyleft, the various daemons, mozilla, etc, etc gone too, right?
oh gack.
you'll want
some people make pretty doodles, other people buy them and try to associate them with whatever their thing is, and a slew of other people like being able to associate that design with that thing.
a logo is no more evil then a name - except of course that they have to be sent as attachments.
logos can be cute, just like any other type of art. now what some evil bastards that use logos do with them and what they've attached to that logo is a whole other kettle of fish.
US Citizen living abroad? Register to vote!
Perhaps we should distinguish between symbols and logos. If I wear the United States flag on my shirt, am I wearing a "logo"? Probably not. A flag is a symbol of a nation, but calling it a "logo" sounds wrong. But patriotic types will still wear stars-and-stripes patterned clothes as evidence of their patriotism.
Any symbol can be used as "a shorthand for what the wearer/user wants others to think of them". But not all symbols are logos. Is the source code of DeCSS a logo? No, but if it appears on someone's shirt it tells you something about what the wearer wants you to think of them. The Red Hat "Shadowman" is a logo, but I'm not so sure that Tux is, and certainly any old stuffed pengiun is not. But if that stuffed penguin is sitting on top of my monitor at work, it's a symbol, and it's meaningful, without being a logo.
Be careful when bashing logos. Don't trash symbolism in general just because some companies try to market themselves as a brand and use their symbols to represent that brand.
Indeed there is.
The clever reader will have noted that I mentioned Fussell's schema had 12 classes, and I discussed the four lower classes, three middle classes and the four upper classes.
The remaining class, "class X", of people who prefer to consider themselves outside the class system. The bohemians, if you will. These people who elect to wear clothing which gives neutral, mixed, or ambiguous class signs.
Wearing such t-shirts might be indicitive of that.
However, by Fussell's paradigm, the fact that you managed to work mention of the three brands of T-shirt you value into a conversation of how you don't wear clothing with brands strongly suggests you possess that class insecurity common of people in the middle class. :)
----------------------------------------------
-*- Any technology indistinguishable from magic is insufficiently advanced -*-
Specifically, they mentioned the Volkswagon Beetle as one of the products behind introducing the "hippie" philosophy to the zeitgeist. Record companies and other medea corporations provided a lot of the drive as well. We can hear echo's of it in Apple Computer's "for the rest of us" and "think different" ads, and in products like Fruitopia, Ben & Jerry's Ice Cream, and CD's from Geffin Records.
Gather any 10 "anti-corporate" Unix geeks at random, and 8 of them will be wearing Doc Martins. Rage Against The Machine fans pay through the nose for "Free Leonard Peltier" T-shirts. The rise of body piercing has created whole now markets for selling jewelry. Homeopathy and "alternative medicine" rakes in millions by getting people to trust their herbalist more than their family doctor.
The thesis of the book boiled down to the fact that there really is no revolution, but it is being marketed anyway.
Counterculture, as it exists today, was invented to sell us stuff.
Information wants to be anthropomorphized.
Actually, there was a very good book a couple years ago (I wish I could remember the title) about how all this "individualism" and "anti-corporatism" was the direct and intended result of corporate campaigns of the 50's and 60's.
You're probably thinking of
"The Conquest of Cool: Business Culture, Counterculture, and the Rise of Hip Consumerism"
By Thomas Frank University of Chicago Press, 287 pages
The review is at Salon.
George
There was a great photo in the spring issue of Adbusters (but unfortunately they don't have the photo online.) It was a shot of a typical suburban mini-mall intersection, with all of the text and logos airbrushed out, so that all that remained was the shapes of the signs. It was very eerie: it looked almost normal, but something was just not quite right... it took a while of looking at it to realize what was going on.
Ads are so much a part of our world now that when they're gone, it feels like something's gone wrong. Creepy...
The general public typically isn't smart enough to make complex assumptions like "Gee, that Nike billboard covered with spraypaint must mean that someone is protesting the advertising saturation practices of Nike." No, instead they think "Gee that Nike billboard is covered with spraypaint. That must mean some evil gang members crawled up there in a drug frenzy and marked their territory." The ordinary populace is, as I keep reminding everyone, the dumbest people you'll ever meet. They don't make logical leaps in their thought processes, but instead try to reform the world in a shape that they're comfortable with. Never understimate the stupidity of the average human being.
The harmful part of this anti-advertising violence is that corporations, once provoked by such activities, will make attempts to bring the perpetrators to justice for the willful destruction of private property, a crime that is unquestionable in the courts. Anti-abortion protesters aren't allowed to spraypaint nasty messages on the automobiles owned by gynaecologists who perform abortions, and by the same account it's equally illegal to spraypaint billboards. There's no question of free speech rights here. And remember that corporations are absolutely ruthless when it comes to prosecuting someone -- they'll pull out their army of bloodthirsty, slavering lawyers to beat you into a pulp and twist the judge's arms until they sentence you with the maximum possible sentence and award punitive damages to the corporation plus legal fees and your indentured servitude for five years in their shoe factory in Malaysia.
Violence is, as usual, not the answer. It is nothing but a poor, victimizing form of instant gratification. I'm not going to offer anything as satisfying as violence, however; there is little more satisfying than pillaging an enemy village and raping its women, taking its children as slaves.
Instead, I offer a more peaceful form of activism. When you see a friend wearing a billboard on their head or chest or the like, mention it to them. Ask them why they feel the need to pay money to advertise for a company that makes much more money than they'll ever see. Ask them why they feel that they need to identify with a corporation that has never given a fid for their best interests, indeed is only interested in the latest profit figures. Convince them that they should do the same for their friends, and actively avoid wearing brand names themselves, even if it means buying a new wardrobe of advertising-free clothing. If enough people actually begin communicating like this the idea of having big corporate brands pasted across your chest will begin to seem ridiculous (it always has to me).
Obstructionist tactics work well too. When your local city government reviews an application for construction of a billboard, show up at the open hearing if there is one and argue the case against. If there isn't an open hearing, protest against the government for not holding open hearings on billboard construction. When you see yet another billboard that you don't like, give the corporation's local representative (if there is one) a call and complain that the billboard is ugly and lacks taste. Come up with other irritating complaints to waste their time and money. Write letters to the local paper about how the billboards you see are annoying or disgusting. Above all, find some way to waste the corporation's time and money on frivolous complaints about their billboards -- this hits them where it really hurts them, in their profit margin.
Thankfully, the billboard problem has never reared its ugly head in Alaska. This state has laws specifically targeting billboards. The people who live here enjoy the beautiful scenery of this state and do not wish to be confronted with ugly billboards every time they turn around. In fact, the construction and renting/leasing of billboards is illegal, and signage built on private property has to conform with certain regulations on size and placement. All of this is to prevent the construction of billboards. Places like California are probably too far gone to consider enacting laws such as these, and the community there is probably too complacent to worry about advertising saturation, but perhaps other states with less advanced cases of saturation can look into enacting laws modeled on those of Alaska's. I can't describe how refreshing it is to return home to a billboard-free land after having spent time in the advertising saturated lands of America.
Stop counting when you reach a hundred. It won't take long.
This is all fscked up, AFAIC. People are paying companies large sums of money (ever bought a Tommy t-shirt?) for the "privilege" of advertising for them. Shouldn't it be the other way around?
Sounds like an interesting book. I'll have to pick it up tonight.
Interesting. There is a very important thesis in the book Class by Paul Fussell which pertains here.
He presents a paradigm of American society in which there are 12 social classes, which are as much cultures as economic brackets. One of the many things he discusses is the idea of "legible clothing", that is to say, clothing with words printed on it. Displaying the brand names on your clothing is a way of asserting which social class you belong to, or wish to belong to.
In the four lower classes, "impressive" brands are largely inaccessible because of cost. However, when a member of the lower classes can afford clothing of such a brand, s/he gravitates towards clothing which flaunts its brand, in as big, bold letters and icons as it possibly can; this communicates to other members of the same class "I am more wealthy than you".
The upper four classes prefer clothing with either no brands apparent or extremely subtle branding. Wearing prominent logos is vulgar. Also, this turns the identification of the brand into a test of the viewer's class: it allows the wearer to test whether they are dealing with someone familiar enough with, say, Versace gowns as to be able to tell one when they see one.
It is the middle three classes who consume "designer" and "branded" clothing the most. They can afford it, and they are often insecure about their class status: there is nothing worse for someone in the middle classes than to be mistaken for someone in the lower classes. Wearing designer jeans, e.g., back in the 1980s, was a way for middle class school girls especially to differentiate themselves from their lower class classmates.
For an absolutely fascinating (IMHO) look at this, check out this Salon article "Consumed by Consumption".
At any point, the reason I mention this is two-fold (beyond the obvious one that it might amuse you, gentle readers).
First, if you've ever aspired to either climb the class lader or merely become better at your Sherlock Holmes-style disguises, this provides a very nifty little heuristic. Only one part of many, but a vital part.
Second, brand watching -- wrt people's clothing -- doesn't merely tell you the penetration of corporatism into private life. It also is an at-a-glance rough measure of the class demographics in a social environment. Analysts and pundits are always saying things like "the middle class is disappearing" etc. Well, go collect your own qualitative data. See for yourself what the class distrubution is like in your area.
----------------------------------------------
-*- Any technology indistinguishable from magic is insufficiently advanced -*-
How many companies can you identify by their logo alone (omit word logos, like 'Microsoft' and 'IBM'). How many "open-source" software companies can you identify by their logo alone? How many "open-source" web sites? How many games?
The 'no logo' idea is a noble one, but one which will ultimately fail. It's not just marketing, but recognition. Man has been doing it for as long as we've been painting animals on our shields so that other armies will know who we are. Self-identification is one of the key pieces of human nature and what we now call 'logos' are simply another manifestation of our nature.
Too much of the current radical mentality is oriented towards nihilism and violence: even professedly nonviolent radicals speak (or shriek) of "smashing" or "destroying" (rather than "reforming") the regime of which they disapprove. Because of the intensity of their utopian vision, they can see little or nothing in the current state of the world that is worth preserving. From such a view, peaceful and productive reform may seem pointless or even reactionary: a refusal to act "by any means necessary".
(I consider myself an anticorporatist only in that I object to government granting special privileges to corporations, and to the use of these privileges to evade responsibility for human rights violations and the like. I enthusiastically support free trade and investment ("capitalism", falsely so-called), on the grounds, discussed by von Mises, that socialist command economy cannot work. I consider corporate favoritism by government to be a form, not of free trade, but of socialism, as it represents government entanglement in the economy. "Corporatism" was originally the name of the form of command economy favored by the Italian Fascists: the control of the economy by government, for the ostensible benefit of the people, through the conjoinment of government and corporate management.)
Free software has been a significant force for progress and reform in the world. It has been essential to the creation of the Internet, which has dramatically increased the ability of individuals to publish their views to a global audience -- a privilege formerly reserved for the Hearsts and Turners of the world. Free software, in the form of email, netnews, and the Web, has enabled people to criticize governments and corporations, to call for reform, and to organize. Free software has also helped keep proprietary-software makers more honest, by giving users an alternative.
However, free software doesn't break anything. Linus, Alan, Theo, Bruce, Eric, Richard, Larry, Guido, Ian, and company are not found smashing store windows to destroy copies of Windows 2000, nor are they found spray-painting Microsoft billboards. Yet when they do get noticed by radical publications such as Salon, they are discussed in terms of the damage their work may do to Microsoft, not in terms of the productivity it engenders.
Smashing stuff isn't really radical. People have been smashing stuff they don't like since the cave days. Giving people new ways to speak, to work, and to live -- that's radical.
Personally, I don't consider anything that consists of standard clothing with a logo on it to be designer clothing. The term 'designer' implies, to me, that somebody there's an element of design involved beyond 'embroider a logo there, and use green stitching on the top button'. Designer clothing, to me, on the casual side is stuff in the way of A|X or Diesel or what not, that you can identify without a huge logo on it. As for nicer designer clothing, I think most people who have to wear suits can quickly spot the difference between a today's man suit and a Hugo Boss or a Canali. I personally don't understand how two things came about, first of all I don't understand the urge to wear designer clothing just for it's own sake. Who wears those giant logos? They're always the cheapest things made by that designer anyway, so it's not advertising that you have enough money to wear Calvin Klein or something. They say 'I want to wear designer clothing, but all I can afford is this overpriced low-end item that offers neither additional style, nor quality'.
----------------------------
Right when I was about to buy all this stylish merchandise, too. :-)
I've read Atlas' Shrugged, and I also read the article. We must realize that we are living in a society defined completely by material things. That is, our day to day life is molded by what we do, see, wear and eat. Ayn Rand was right, the coat-of-arms of today ARE these symbols. We are divided by symbols and their meaning. Looks at designers, religious symbols, gang symbols - all are means of defining who you are and who/what you choose to associate yourself with. Many of us associate ourselves with geek culture. Caffeine, hardware/software related tshirts - and other symbols that we use to define ourselves by. Just as many of the coat-of-arms represented common ideologies and themes, this holds true today. We use the unrelenting capitalism of our society to define ourselves by. We take these symbols from Mass Culture and adopt them into yourselves - Pop Culture. This semiotical discussion was brough to you by K.Moss, B. Gates, Linus. T and the big H. Anyone interested, John Fiske wrote a great article on semiotics, Pop Culture and Mass Culture and about all this iconography stuff. Try to find a copy online. It's worth the read. CM
..Eschew Obfuscation..
Logos are not simply about branding. They are aspirational, they are a shorthand for what the wearer/user wants others to think of them, and what they would like to think of themselves. If I buy Nike, it's because I want to feel sporty and a bit rebellious because I like their guerilla marketing tactics. If I buy Prada, it's because I want to feel fashionable and to be admired by people who recognise the brand. If somebody doesn't recognise it, then by definition I don't care about impressing them. It makes me feel like an insider. If I use linux instead of M*crosoft, it may be because it's a superior operating system - or it may be because I want to be in with you guys. And you can bet that I'll be buying a tux t-shirt over at Think Geek and will wear that logo with pride. But guess what - Andover get the money! Not Linus or the other open sourcerers! It's not just the simple spread of the brand that marketing spends all that money on, it's building the image to go with it. And we can kid ourselves that we are too sophisticated or cynical to be manipulated by the aspirational aspect - but we do it every time we make a purchasing decision.
Put the blame on meme
I see you've bought into the silly idea that "advertising-supported = free". It's not free, it's just paid for with a different currency. If that's the way you prefer to pay, knock yourself out, but you should at least have some idea of the price you're paying.
First of all, thanks for the review. I actually picked the last book I read based on the book reviews here and I was really pleased. Thanks for the service.
I just wanted to say that I'm actually a fan of branding. It allows us critique and praise products and services by name. It allows us to evaluate and share our evaluations with others very easily. If I walk around wearing a Pop Tarts shirt, I can make a statement about my satisfaction with Pop Tarts, and, indirectly, Kellogs. Here's the catch, though. Kellogs will happily make Pop Tarts shirts for me to buy and wear to help promote the product. But who is going to make the other shirt? Who is going to sell the "Pop Tarts Suck" shirt for those dissatisfied with the product? Kellogs won't. Random T-shirt manufacturers won't because the market is significantly smaller than the "Yankees Suck" crowd. Maybe Quaker will make them for us while pushing their breakfast bars?
Currently, brands have a tendency to perpetuate themselves a little too easily. Obviously Abercrombie & Fitch couldn't have gotten every teen in America to wear a billboard without having made something decent in the first place. But now that they have hit a certain saturation point, the brand will keep itself alive. Everyone wears A&F so I must wear A&F to be more like everyone. Again this is because A&F makes it extremely convenient to say "I like A&F" while there is no easy way to say "I don't give a poop about A&F" or "I abhor A&F".
Maybe technology will find a way for us to easily add logos and crossed out logos to our clothing. Then we will be able to really see the power of the brand to increase ownership and responsibilty of a product. Wear your brands with pride, but try and make your criticism public as well.
Peace. Sway
Peace. Sway
What EXACTLY is the objection to, for instance, people wearing brand names?
The cliqueishness? Because Slashdot has got that in spades. In fact, EVERY community has this property.
The customer exploitation? They make Nike seem cool so you want the stuff and then charging you up the wazoo? But surely the problem here is not Nike, but the purchaser, yes? We're not talking about a monopoly situation: there is more than one show manufacturer.
The ubiquity of advertisements? I can understand this objection, but writing a book or even starting a boycott against a company is pointless. Advertising works. More advertising (than you competitors) works better. Therefore companies are in an arms race to each do more advertising than everyone else.
But I might also note that "corporate pigs" are not the only offenders in these regards. For instance, next time you are outside count the number of "DARE to keep kids off drugs" bumper stickers, t-shirts, painted minivans, etc you see. Many non-profit organizations (or even non-organizations) do the same thing.
--
Wanna hook MAPI clients to your Tru64/AIX/Linux server?
Linux MAPI Server!
http://www.openone.com/software/MailOne/
(Exchange Migration HOWTO coming soon)
This is the same as the peacocks tail, and is the product of sexual selection. The thoery goes, a male with a big tail must be tougher than an apparently equal male with a smaller tail, because life is more difficalt if you have a large tail, therfore to have survived with this handicap you must be a healthy mate.
Now look around you. Do cheap brands make such a big deal of their logos? No. That because they don't carry the prestege of the expensive brands. The (sub conciose) thinking behing it is "Damnit, if I'm paying Prada prices, I want people to know it."
Ironicly the proliferation of a brand reduces its value. Campri Ski anyone? (Or was that a UK thing?)
Thad
Thad
It's one thing to have a reputation and stand by it. It's another to relentlessly brainwash the populace.
Tom Swiss | the infamous tms | my blog
You cannot wash away blood with blood
i really think that Lisp, or better yet, Scheme, is the way to go for teaching kids to program. it teaches algorythms etc, rather than structure (which changes from language to language)
check out www.schemers.org for more information
-------------------------------------------
Start them on object oriented from the get-go. It's syntax is also good at catching "newbie errors".
What I _wouldn't_ worry about is teaching them a "toy language". Of course they'll learn other languages. Do NOT start them on C or C++. Yes, those are languages "professionals" use. So? You don't learn to drive in a formula-1 race car or an eighteen wheeled semitruck, despite the fact that is what the "professionals" use. You don't learn to fly in an F-16 jet fighter. You learn to drive in a Geo Metro with an automatic (or equivelent), and you learn to fly in a piper cub.
Not involving huge quantities of "line noise" or other such punctuation
If you're not part of the solution, you're part of the precipitate.
You need to get your kids started in LOGO. Yes, the little turtle who leaves lines on the screen -- Visualization is key. Let them figure out that they can create interesting drawings with a simple loop. Logo was what got me started in programming. I had a 5.25 floppy disk FULL of logo programs. Geez.. those were the days...
clearhome
pendown
fw 45
rt 160
fw 45
rt 160
da w00t.
da w00t. mtfnpy?
Oh, I heartily disagree. There are certain fundamentals you need to get down before you start toying with the "most powerful" tool available. You don't throw someone into the middle of the Atlantic Ocean to teach them how to swim. People need to be learning procedural programming before they jump into the quagmire that is OOP. I saw a lot of people on this thread telling the guy to start them right out with object oriented fundamentals, Python, Java, C++, etc. This is just totally wrong. I know this because I tried; I have been learning C++ from age ten until present (17) and I still don't have a clue what I'm doing half the time. It's not like I had bad teachers or anything; there are just a few things that kids are too young to get. I don't think I've ever met an 11-year old that could fully grok on the concepts of operator overloading, data hiding, and (especially) inheritance and polymorphism. I'm sure that there are a few that do, but these are /not/ the things to be learning as a first foray into programming. Give the kids BASIC or Logo and allow them to learn at their own pace. Hell - give them Algebra. I can't think of a more valuable skill to know that understanding the significace of variables, functions, return values, and the like.
--
I think there is a world market for maybe five personal web logs.
I was going to say the same thing, but you beat me to it friend.
Folks, mod this guy up another for me!
More detail: Python is an object-oriented language built as such from the ground up, un like C++ which is none the less derived from C and has less syntactical conformity (and I say this where my only difference with the above statement is that I perfer C++ slightly over Python, though Python is a close second.) Not only that, but Python is a great numeric language with native Ultra-Long integer type and a complex number module build in. With the LLNL PyNum Numeric Extensions. Couldn't find a good implementation of the Gamma function over the set of Complex numbers, but I guess your youngins' ern't inta that yet. :)
Another possility if you wanna get retro is do what I and doubtless you did: teach them on the C64! That is, get one of the variety of C64 emulators on the net and let them programme their hearts out in Basic. The great thing about the C64 is that because it uses PET/ASCII with all those graphics character in the characters with the MSB high so it's pretty easy to use graphics without having to use MoveTo, LineTo and the DC (if you do go the Windows route -- though so far all I've suggested exists in Linux-port form and I don't recommend teaching X-Motif just yet! :) The point is, it's much more WYSIWYG and really easy to come up with some cool stuff. For instance, I wrote a character editor for the C64 which was quite a fun project. The advantage is that the entire operating system is Basic so you have to be a programmer from the beginning just to use it. :) Disadvantage: it's a Proceedural, not on OOP language.
A good list of available emulators can be found at http://commodore64.net/emulators/
The other thing I would strongly recomend is Logo. Logo is graphics and geometry application in which the user controls a 'turtle' by simple geometric commands. This is a great tool for learning the [most] basic principals of Graphics which I'm sure your kids will be most interested in because of their love for games. They can use it to draw their own pictures using basic proceedural programming techniques such as loops and recursion.
You can get an MS Windows version of Logo at: http://www.softronix.com/logo.html.
You could also download a Linux port of the Berkley Logo Software from this University of North Carolina at Chapel Hill software archive though you may need to check out Steve Bakers' Software Page if you have any problems with the port.
Anyway, Python DOES have a pretty good graphics library and with TCL/TK you could even teach them a bit about interface design and with PIL you've got Graphics so that's just about everything. Anyway, at least I would choose one or more of those three options and make sure in time they should try to learn them all.
One last note I should make is it's you be very helpful to their overall understanding of programming and logic if they could learn at least one rule-based language down the road, such as Scheme (thank you Professor Romanik! :).
Be Seeing You,
Jeffrey.
Time Lord, Dark Horse: The Techno Mage of Gallifrey
Forget the langage. You can teach kids good programming technique in any language, and kids don't get hung up on the stupider elements of programming systems the way we dinosaurs do. Programming skills aquired in one system can be applied to any other.
What you need is strong motivation. If your kids are anything like I was, that motivation is games. Do you have any games that support scripts or macros? Use 'em! Another poster suggested Lego Mindstorms. Great! I happen to enjoy MUDs, some of which allow extensive player programming. Even for the ones that don't, a specialized MUD client will.
My point is, exploit your kids' desire to excel in their game, or make their own. They'll learn. Faster than you'll believe. It worked for me.
Long ago, I played hack a lot. Then my dad got me the source. Printed out. So, I read the source, and I had the game, and I learned C because it was pretty easy to compare sets of instructions in the source to what the game actually did.
Your milage may vary.
My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
Book
Interpreter with IDE
Gates' Law: Every 18 months, the speed of software halves.
Lego helps you very much to understand how to build and put together components, things can always be adapted, expanded and be made better in some way with intelligent composition of basic pieces and evolve to new structures, buildings, machines, robots, ...
I enjoyed building with lego, not playing.
I'm not Linus, but I'm sure he played Lego too. And some day in the future my children will play Lego too.
ms
Do not confuse yourself, languages like BASIC are NOT good for teaching children. You may have learned it first, but that doesn't make it better.
The only thing that makes BASIC easier for anyone than C is that it is more like (bad) math. But this only helps if you've had lots of (bad) math. It doesn't really help those who haven't had the (bad) math.
What a programmer really needs is Data Structures and Flow Control. Until these things are internallized, you are not a programmer, after they are, you will always be one. BASIC doesn't do either well, so your children will not learn either well. C does both well, so your children will learn both well. (Actuall I would use C++, it's a little more forgiving, but still doesn't let you cheat like perl does (which is something you don't want newbies doing (as the wont fully learn those two lessons)))
Do not underestimate the flexibility of a child's mind. Look at baseball or pokemon stats. Give them a real language. After they learn it, even a little bit, it will stew in their brain. With many cognitive tasks, how LONG you have know something is more important than how WELL you know something, and they will NEVER need to have know BASIC for 20 years. (but if they are 10 year C/C++ veterans when they get to college?)
Do not underestimate how very MUCH time children will spend working on something they find interesting, so even hard tasks are mastered. Think of video games, sports, TV, reading. They HAVE the time, let them work on something real.
Also, C on UNIX is simpler than most things they can do on WinX boexen. File access and piping makes more sense, etc. If they have NEVER programmed, they have no legacy to overcome, so start them on the simpler system.
---
"Elegant, Commented, On Time; Pick any Two"
-- Crutcher --
#include <disclaimer.h>
There's a project out of UBC (University of British Columbia) that has a program for teaching teenagers Java. It involves programming a Virtual Family. A bit reminiscent of the Sims idea... The website is here
Look for links pertaining to 'Virtual Family'. It's intended for Win95/98, and I believe it's still being worked on. I am not sure if you can just 'buy' a copy, I think you may have to get a beta version and give them feedback on it, after using it. (I may be wrong here... info should be on the website).
---
I hope you're not pretending to be evil while secretly being good. That would be dishonest.
And really, it's a toy that evolves with you. If 30 year-old jaded programmers can still get a kick out of it, imagine a kid... He'll probably wear it down before he gets tired of it!
Lego Mindstorms Website
confidence in your code;
do things quickly is what keeps up interest
frustration
I think in all of these respects Python is as good as BASIC. Plus it
has GUI IDE's which really help with polishing I/O, plus one is
learning good programming habits from day one. It doesn't hurt to
have the powerful features there: on the contrary it's nice when one
wants them not to have to learn a new language.
Coding machine language is nice, but it's not so easy now as it was
back then. One of the satifscations of learning Z80 and 6502 was that
you could grasp the architecture of the processor without outside help
and you knew you had mastered the whole instruction set. Not so easy
with multi-level caching, instruction pipelines, stack frames
coprocessor pipelines, memory management, SMP, privileged
modes... have I forgotten anything? Well, the point is, really
grasping a modern PC is a much bigger deal than it was 20 years ago.
Charles
something more structured like C involves having to deal with too many complicated issues of programming theory and structure, and unless you're willing to sit through complicated stuff like X or Windows GUI coding, all you'll get is some boring text program.
There's a very easy library for graphics and sound under C. It's called Allegro, and it has the advantage of being available on most important platforms; it currently works on DOS, Win32, Eunuchs/X11 (even on non-Intel such as linuxppc), and BeOS. You don't have to wade through that WinAPI bullshit; Allegro is a simple layer around GDI or DirectX.
Will I retire or break 10K?
Definetly BASIC, it's simple and does not have a lot of extra syntax/structure to get in the way of learning to write a computer-readable algorithm. Most non-programmers I know had an OK time with BASIC, and most programmers i know started in BASIC. One thing I suggest, however, is using TI-BASIC is a kid is using a TI-83 or higher in their high school math class. I find this to be very versatile for simple games, and good to know for programming math, chemistry, or physics functions.
Now, if you really want them to grow up with a structured language embedded in their brains, BASIC can get in the way when taught later: it has no functions or "black-box" capabilities. I suggest that you stop speaking in English to them, and start conversing in C. This way, even though it is hard and confusing, they will pick it up quickly and will be permanent hackers. but note, under ALL CIRCUMSTANCES, you are NOT to do this with HTML, this can cause brain damage and even cancer!
As a lot of other posts concur, any of the BASIC dirivatives are a good idea. VB, although poor at developing high-availability, cross-platform applications, is just fine for a youngster to start out in.
There are also those *toy* programming languages based on eiffel and Smalltalk put out by Lego and others. Those are great. Hell, Smalltalk is pretty wonderful as it is, and quite easy to pickup.
Just because we as professional developers know of a languages limitations, doesn't mean it isn't *programming*. Remember, what's basic to us, is still quite a bit over their heads!
Unless you had kids just to turn out a team of software engineers, I would start them out with something simple. If you try to through a command line compiler and debugger at them and expect any results, you have another thing coming... especiialy if they are heavy into games and graphical stuff...
This is not just a hunch, I have a degree in education, and know from studying childhood development models that the pre-teen and the "terrible twos" are the two periods of life when the human brain is growing the fastest... and they were too busy learning to talk to write code when they were toddlers. :) You do not want to waste these years.
Give them the most powerful tools they can handle. Kids at this age don't just love the feeling of power, they crave it. They have no control over their voices, bodies, emotions, or sex drive... that's why kids often go for weird or elaborate haircuts at that age (one of the few things they can control is their hair). Put one of these kids in front of a flexible CLI and let them hack away at it! One of the best things my parents ever did for me was buy my my first computer (a Vic20) and insist that I figure it all out for myself. With all the web information out there these days, your kid might even know more than you in a couple years. :)
Information wants to be anthropomorphized.
Since object oriented programming seems to be the major direction in programming and e-commerce, why not start them off with java?
Its no more difficult than any other language to learn (remember, kids have nothing to unlearn), except for the grasping the object concept. And that may actually be easier for them to start with, since it models the real world.
Its also reasonably platform independant (just stay away from j++ *cringes in terror*)
Of course I use Microsoft. Setting up a stable unix network is no challenge
Squeak. Definitely Squeak. Definitely Squeak. My son tried it for his graduation project in Gr. 8, and despite his a _bit_ different interests, loved it. At Disney, they set up a class - 1.5 HRS every week with 4-5-graders. Going well. But, that's where OO the way we know it started (I mean, Imagineering Group - Kay et al.) Wondering, why only 1 post on Squeak out of 50?
I don't know if it's around anymore, but I got a really good start using logo. It's good for learning basic programming skills (loops, etc) as well as applied logic and geometry.
For those who aren't familiar with it, you basically have a cursor (called a Turtle) that draws a line behind it. There are commands to move the turtle, change the color of the line, in a friendly programming environment. I've seen everything from games to really wicked fractals done in Logo.
This was, admittedly, over ten years ago, on an Apple IIe. Anyone know if it still exists?
--Alex
Causation can cause correlation
I love Perl, but starting kids off on it is like teaching them to shoot by giving them a machine gun.
I think the most important characteristics of a beginners programming language are simple, logical syntax, a reasonably small set of instructions and operators, and enough high-level functions to allow kids to do something useful. Specifically, you should be able to run a "hello world program" in a line or two, and you should be able to graphics and other fun stuff like that without knowing too much about OS internals.
Perl's not a terrible language for this (it is interpreted and provides some high-level functionality), but its syntax is only logical if you're used to c, it has an ungodly number functions and operators, and it's not designed to do graphics or interactive functions. (Yes, I'm sure there are modules and such to do pretty much anything, but the whole point is that we're talking about beginners)
I grew up with BASIC on the Apple II. I started in first or second grade, and spent the next 5 years programming games and stuff almost constantly. I moved on to other languages and platforms in high school.
So I still think BASIC is a good choice. Not sure VB is quite the ticket-- I wonder if there are any good free BASIC interpreters.
I guess Perl would be an OK second choice. A close third would be Java, which has some nice graphics capabilities and a less obfuscated and complex syntax.
No, really..
:)
* JBuilder Foundation is free (as in beer) and comes with the JDK. Few parents can justify spending $hundreds on an IDE for their child.
* It will let kids put together a simple GUI just by dragging buttons and stuff around. Immediate sense of accomplishment keeps kids interested. Writing a "Hello World!" program isn't impressive enough to keep their attention. VB will do this, but it's expensive.
* It let's you make a graphical change in the GUI designer, and immediatelly let's you see the changes in code - and vice-versa. This is great for demonstrating how changing X and Y values of an object translates to a GUI layout.
* The code is pretty simple to read (may be my bias, since I'm familiar) when compared to C and even VB. The syntax is pretty straightforward, and the API naming conventions are consistent and English - no modified Hungarian notation here. There are some freaky things (for a kid) like escaping characters in Strings, logical operators, ternary (?:); but there are no pointers. Pointers hurt small heads.
* The IDE color-codes keywords and offers dynamic lookup of methods and parameters, organizes declarations and definitions, supports auto-indentation for readability, but doesn't enforce 'weird' habits. VB will structure their code for them (Capitalizes keywords, automatically normalizes spacing and such BS) but I've found that this just makes people sloppy - some discipline is good. Unlike VB, in JB you see all your code. VB keeps the subroutines visually separate - this breeds bad habits and confusion later, with REAL languages.
* It's something that they can show to their friends on the net, without the complications of VBRUNxxx or missing libs or actually copying the executable. Applets are a neat thing for this. Peer reinforcement is a powerful thing in the teen and pre-teen.
* It's a simple, yet non-trivial language that's a valuable skill (nobody hires Mindstorms developers). Granted, they're kids and it's not yet a priority - but Java is Cish in syntax, and the transition will be easier later; it's something they can use non-trivially NOW. They can do MATH homework with it, they can do hard-science with it. They can even hack together their own mini-ICQ with relatively (to other languages) little effort.
* It's something that will scale as their skills and interests grow. The API is developing and includes built-in support for neat-o things like images, sounds, 2D and 3D graphics; as well as XML, databases, real-time, complex math, crypto.
* It's as simple or as complicated as you want it to be, and the performance (a sore issue for hardened developers) is not a problem for kids writing toy programs. Once they start complaining about the poor performance of the interpreter, it will have done it's job.
Add to this a decent book, with examples, and you should be golden.
-- What you do today will cost you a day of your life.
I think I learned quickest not when I was writing stuff from scratch, but when there was existing code that I was used to running, and started changing it. I remember adding features to other kids' programs on the school computer, speeding up games that I had typed in from COMPUTE!, etc. That way I learned both from doing things myself, and from seeing how other people had done things.
Maybe start with a game, written in something like Python.
And if they get bored with that, give 'em the BSD kernel. ;-)
---
As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
Comment removed based on user account deletion
Between the ages of 17 and 22, I was a camp councelor / teacher at a computer came (think the kids that went there were nerds? Imagine what the means the teachers were ;-) I taught the 'intermediate' level stuff - basicaly, one step up from LOGO, and one step down from Pascal (which was the advanced course.)
My trick was to show them some graphical stuff in basic (things like random lines, minor stuff like a really low-tech computer etch-a-sketch with they number pad where they could also change the numbers.
I would show what was possible, then, begin teaching them the command set nessisary to achieve that small goal (for instance, the random lines demo required teaching them to change the screen mode (this was back in QuickBASIC), the RND statement, line lables, and the goto statement, plus explaining how it worked.
After each time that I explained one of these programs, and showed how it worked, I let them have time to play with it, and teach them more commands to extend thier command set (for instance, teaching them what the circle command was, what all the parameters for the line command (box, fill so they could do filled rectangles), changing colors, etc. I wouldn't implement the new commands for them - I would just tell them what they were, and how they worked, and let them implement it themselves.
As the programs got more advanced, I tought flow control, formating the program correctly so that they could look at it later and understand it, variable types, etc., etc., etc. I rotated back and forth between programing new parts for them to play with, and letting them implement things themselves.
Granted - this was in a teacher-student environment with 20 some odd kids, and someone else helping me out. I'm not sure how well that would work in a one-on-one parent - child relationship. But, the pointer I have that would apply is this: make thier progress very visible. Let them see the results onscreen, so that they have something very visible and tangable to see. Set it up at first so that every minor change produces a change on screen for them to understand. You'd be surprised how excited they can get by very little graphical changes.
Oh, and one more thing - the kids were age range from 9 to 14 or so. That probably also has alot of bearing on how they react, and what works best for them.
Davis Ray Sickmon, Jr - looking for something to read? Check out my three free novels at MidnightRyder.org
I am not exactly sure what age level kids learn algebra these days but I think it is an important step. What I'm really trying to get at is the concept of variables. I know that was at first a hard concept to figure out. If your kids haven't learned algebra then hey maybe it would be a great time to kill two birds with one stone. Finally kids can see where that math pays off!
Now I haven't looked at all the comments frankly since none of them were at the 4 or 5 level. So there is a chance that I could be saying something already said. So here it goes.
Make sure that you give them a good lesson in computer history. A person must have good, strong roots in order to grow strong. Teach them binary. Let them know there is more than one way of counting things. Once they have a good foundation don't be afraid to teach them the 'hard' languages.
How many times would we M$ converts be grateful it we had be taught a real operating system in the first place? I know you say your kids are primarily on windows and playing games but maybe it's time to introduce them to the greater powers of the computer. I started out playing games on the computer too. Then a game came a long named X-Wing. Awesome game. The only problem was when I died my pilot was gone. Everything I worked hard to achieve was gone. That's when I learn the copy command to save my pilot file somewhere else just in case. They've only just scratched the surface and now they are asking you to teach them more. Personally I would not look towards the 'easy' languages that's just seems like scratching a little bit harder at the surface. I rather just get to the root of it and then let the rest fall into place. They can handle it.
I think C/C++ or Java would be a good place to start. But more importantly the underlying principles of programming is what should be concentrated on. Once you know what algorithms are and what variables are does it really matter what language you learned it in first?
Which ever language you do choose I'm sure they'll thank you for it later. :)
Squeak is your answer. It a free version of Smalltalk available on whatever platform you want. It's got excellent support for multimedia stuff, and it's nice and graphical. Kids get very immediate support. Smalltalk is actually very easy for kids to learn (they've introduced it in kindergarden classes) and allows them to define their own language and functions. Furthermore, it would instill in them good OO development practices from the beginning. OO is actually very intuitive to young kids, just not to programmers who've been hacking away at functional programing for n years. ;-)
sigs are a waste of space
Like many of the others, I started out in BASIC on an ancient 8-bit machine. But what really got me started in serious programming was scripting languages and VB.
I realise VB is an incoherent mess, and perhaps Delphi is better (I've never used it) but the biggest advantage of VB is that you can quickly and easily produce visual applications. You can see results, right there on your PC, even with simple projects. Learning something more structured like C involves having to deal with too many complicated issues of programming theory and structure, and unless you're willing to sit through complicated stuff like X or Windows GUI coding, all you'll get is some boring text program.
There may be better ways to do this than VB. Tcl/Tk for example, or tkperl, or even javascript/HTML. But I think the place to start with children is something that produces highly visual GUI output in short order.
I absolutely agree that python is perfect for studying programming - .1% users who participate in
it's easy and at the same time it'll scale down to C. It has been
said that it bridges the gap between RAD languages like perl and
serious languages like C.
One interesting project based on Python is 'computer programming for
everybody' (cp4e). Parent article links to document with details.
In short, the idea is to eliminate difference between a programmer
and a user. Right now there's probably
development and 99.9% users who don't and therefore have only indirect
influence on development. If the language was easy enough for let's say
60% of users to be able to go and make minor changes/tweaks, that would
be quite a revolutionary change. That's what cp4e is trying to accomplish,
in a nutshell.
Python highlights:
* Free, OpenSource
* Simpler and more elegant than Perl (subjectively)
* Mature - started in '89 - before Linux.
* Unix/Win/Mac/etc
* Some big organizations like NASA and Yahoo use it.
* Core philosophy is KISS (keep it simple stupid) vs Perl's 'There Is More Than One Way to Do It'.
-- ATTENTION: do not read this sig. It doesn't say much.
Don't underestimate your kids by teaching them something that you consider sub-par. If they want to learn to program like their old man, there is nothing that should prevent them from programing in a shell account from their windows box. I think it's great that they want to learn, so give them the best tools you know. Believe me, they'll learn faster than you can teach them if they decided they like it!
Python, which also happens to be my personal favorite language, was designed from the ground up to be easy to learn but to teach proper programming fundamentals. In fact, the almighty GvR is actively developing an IDE designed for classroom use.
http://www.python.org is the main home page, and http://www.python.org/cp4e/ is the home page for his educational projects.
How about Mindstorms? Good introduction to the relationship between programming and results.
bun-fhuinneog agam!
It isn't dead, by a long mile.. It's just quiet. There's a free interpreter for most platforms called 'UCBLogo', and its derivative for windows environments, called 'MSWLogo'. I've been using MSWLogo as an environment for introducing elementary school children to procedural thinking and logic, and we plan to use Python for a second phase for students who show a desire to continue learning how to program.
We use Logo, first, because it's got a very high work-to-results ratio for the children. That kind of visual feedback is priceless, for getting them to think in a methodical fashion about a problem. Python requires a bit more of a learning curve before the children get 'interesting' programs that they enjoy, which is why we teach it to them, second.
The idea is, get them addicted, and identify the ones who want to learn more, then switch them onto a professional, albeit gentle, language. I'm still debating whether I'd rather use Pascal than Python, because it's strongly typed, but the quick turnaround for type-it, eval-it environments is nice for teaching.
But I agree with earlier comments. The first rule, is never underestimate your students. The second, is to never slow them down. Once you've given them a foundation, hand them a list of projects to do, and let them move at their own pace in accomplishing them. Younger students prefer praise as a motivator, older students will find their own motivations, and will want a more mentor-like relationship.
Good luck!
Weapons of Mass Analysis
http://www.alice.org
To quote:
The scripting language used by Alice is a slightly modified version of Python, a language itself designed to be used by novices.
I don't have a windows box, so I haven't played with it, but it looks like it would be a good, fun way to ease kids into programming.
Corran
Same goes for anything kids do - expose them to everything and let them decide as they grow.