Sure, if you could snap your fingers and get every pickup truck, minivan, delivery van, and SUV off the road, things would get incrementally safer for the average driver of a passenger car....but how much safer?
Let me start by sharing your criticism of the study, but having said that...
I have driven for several years in the Philippines, and there you learn to just dread 18-wheeler trucks. I have also driven for many years in the United States, where 18-wheelers are some of the most predictable and courteous users of the road. When people oppose SUVs, a large part of what they're opposing is an SUV "culture", not just the machine itself.
Indeed, we've had trucks on the roads for decades, but there were fewer of them (which means I'm less likely to be hit by one), and they were more necessary. For many opponents, myself included, most SUVs on the road represent unnecessary risk to other drivers. Aside from SUVs, I also dislike the larger and larger pick-up trucks that have shinier paint jobs than my car and never seem to carry anything in the back. Again, that represents an unnecessary additional risk of death and injury to me.
In other words, there is an objective (SUVs are a real danger to cars in collisions) and a subjective (SUVs are unnecessary and SUV drivers are reckless) aspect to this. (Before that ticks off anybody, the parts in parentheses in the previous sentence are just examples of value judgements.) Personally, if I could snap my fingers and get rid of the "vanity" SUVs and trucks, I'd do it as long as it actually helps, no matter how little.
Funny, I remember some of my monitors getting thinner and lighter too, had something to do with LCD's...
LCDs are indeed a revolutionary step from CRTs, but after its introduction what has been happening? It gets bigger and has better resolution year after year.
Hmm, I also remember buying a newfangled device to fix my printouts. It seems they were all coming out in one color.
Similarly, color printers were also revolutionary, after which we get smaller dots that print faster.
Congratulations on missing the point. Revolutions come once in a while, and while many revolutionary products are also very good products, not all good products are, or need to be, revolutionary. Many times, it's an evolutionary step that crosses a threshold and makes the result a smash hit.
It's funny that the same human brain that created this breakthrough can't match its capacity, but it is still smart enough to create a device that can.
Just like we have nutcrackers that can do what our fingers alone cannot. The more we understand our brains, the less astonishing it would seem to beat it. Remember, we already have cheap machines that can outplay almost every last human at chess, as well as even cheaper machines that can multiple big numbers faster than any human can*.
* note that human-calculator races tend to compare the speed of mental arithmetic with the speed of pressing buttons, not the speed of electronic calculation itself.
Just because something is inherently analog doesn't mean that you can't use digital units as an approximation. For example, NTSC television is analog, but we can say it's roughly 640x480x24, which is already an overestimate. Now, if you take the human ear as an example, we know roughly what frequencies it can hear, which is how we came up with the so-called CD-quality audio of 16 bit amplitude at 44 KHz. CDs are, of course, a commercial estimate, so a scientific one that satisfies even the most sensitive human ear is probably higher, but the concept remains the same.
It never ceases to amaze me how Apple continually seems to succeed in coming up with gadgets that sell like hotcakes but that really are only redesigns or recombinations of already existing ideas.
To put it bluntly, that's just because your expectation of what sort of innovation a good product should contain is abnormally high. All Dell ever seems to do is make things cheaper. All monitor manufacturers seem to do is to make bigger monitors with better resolutions. All printer manufacturers seem to do is to print smaller dots faster. The thing is, at some point the incremental improvements cross a threshold of usability and become hits. For example, once we got 1024x768 monitors and 300 dpi printers, the computer became a viable tool for desktop publishing. Similarly, my 128 MB Rio MP3 player was a mere toy, but once somebody found a way to hold hundreds or thousands of songs, the product was a very different gadget. We can't all be inventing revolutions like zippers and velcro every year, you know.
If you want a continuing service (program information on your TiVo, broadcast content, cellular phone, etc), then you should be prepared to pay a continuing fee, or subscription. Radio and TV were never free: they were and are paid for by sponsors or advertisers in exchange for your corresponding purchases. So the question is, are things really "going to subscription" or are you just wanting more continuing services than before?
Then, again, there's quite a lot to learn about this language:
It is compiled.
Several C interpreters are available. Try googling for them.
It relies on external libs for "advanced" processing (we can bet then for a short primitive types list)
Nonsense. There's nothing you can tell from C's printf() call that suggests external libraries. If you know Pascal, then you'll know that writeln() looks just the same, but is very much internal. In fact, writeln() itself cannot be implemented in Pascal.
at list it seem to be strongly procedural
The general classification of a language (procedural, functional, etc) does not count as "a lot" about a language.
we can bet it is "loosely OO if at all"
I don't even know what this means. Please explain.
etc.
No, please name them. The first two things you concluded are "wrong" and "accidentally right", so please name the other things you've "learned" from looking at the hello world examples.
Not to minimize the usefulness of the Internet, you nonetheless forgot about books and magazines. A good book, some magazines, and a laptop can produce a self-taught programmer. That's how I and probably anybody else over 30 learned to write code. Now, was that the most efficient way? Probably not, but it does work.
Answer one question for me. Can you rip the CD you burn to MP3 and transfer it to another file format and player? Can you play your iTunes music CD in the car?
That's two questions.:) But yes, the audio CD created by iTunes is a conformant audio CD with no DRM restrictions. You can also burn MP3 CDs, which some stereos support. Once you've burned it to audio CD, you can rip it like any other audio CD.
If you care about more than that, then you should do some research into lossy compression algorithms and how re-encoding can affect audio quality. All your other worries are predicated on not being able to burn audio CDs, so I won't address them anymore.
If anything, the cost of discarding or recycling something is still too abstract. It might already have been factored into the purchase price or local taxes, but if we had to spend a bit of money for each thing we put in the bin, we might think twice and make fuller use of the stuff we buy.
While anybody can point at useless eye candy, a lot of "bloat" actually comes from things that are useful. For example, one improvement of modern desktop operating systems is font handling. Compared to Microsoft Word for DOS, anti-aliased TrueType fonts are slow and fat, but you'll probably miss them if they weren't there now. Similarly, a color display uses gobs more memory than monochrome ones, but would you really want to go back? Point is, lots of people notice bigger and slower software, but few know whether it was essential or non-essential features that result in most of the "bloat".
Secondly, just because you don't use the feature doesn't mean nobody else does. Modern software development means that mass production is key to profitability (and low prices for you), and that means writing big software that pleases as many customers as possible. I don't know about you, but most people are not willing to pay for custom software that do exactly what they need.
Live performances and the resulting life on the road are tiring. While they can be the primary source of income for many musicians, it is also a huge timesink that takes away from their time to write new songs, raise a family, etc. I can easily imagine that some musicians would want to avoid or limit the number of their live performances (while others thrive on them). Perhaps your black-and-white conclusions are hasty.
Funny how geeks are adamant that nobody should tell them how to dress (or, in extreme cases, how to smell), yet be very irritated by an equally insignificant stylistic choice. Where the "{" is placed, in almost every usual case, is irrelevant to the readability of the code.
I would suggest reserving your indignation at something that actually makes code less readable. Having pet peeves of this sort threatens to win the battle but lose the war.
Yes, it is. The question is, are people willing to pay more money for the same thing? If the answer is still "yes", then the next question is how can we let the content authors make more money without hampering things we care about, such as the freedom to manipuate the content we buy and the eventual richness of the public domain.
Put another way, there's make more money while pissing off geeks, and there just might also be make more money without pissing off geeks. The challenge - if it's all the same to them - is to move them towards the latter. So the discussion is still worth having.
Well that's a good start, with good intentions, but you need to have a standard definition of what constitutes good function names and good variable names. If you have 5 different programmers on a project, you'll have 5 different opinions on what good names are.
So what if they are not all uniformly named? Has anybody actually seen a code base where it's possible to call a random function in a class without looking at documentation or the header file? As long as it's an informative name - and code reviews should flag bad ones - you should save your fight for something that actually matters.
Guidelines on naming, on the other hand, is a great idea. Clubbing smart developers over the head for this is pointless.
if you take the time to get your code to where Checkstyle likes it, you'd be amazed how easy it is for humans to read.
One of the myths of software engineering, IMO, is that code is hard to read. For a competent programmer, code is *not* hard to read, in the sense that it's pretty easy to figure out what the code is doing. The problem is what the code is attempting to do, and possibly why. This is why brace styles, spaces versus tabs, and other "low level" coding standards do very little except to annoy. I've worked at several companies, each with different coding conventions, and I follow most of them. Unfortunately, I've found little relationship between maintainability and adherence to coding standards.
I dunno about you but all of my GSM motorola phones have been USB connected...
They are USB capable, yes, but the phone-side connector for the cables tend to be proprietary. Note also that you write "all of my GSM Motorola phones". I've been with AT&T, Sprint, and now T-Mobile, having used an Audiovox, a Nokia, a Toshiba, and now a Siemens.
Maybe you just don't show around enough?
I take the "free" phone they offer, which I suspect is a rather common thing.
You're kidding right? I have DB9 serial cables from when I was 12 still in my "box of wires".
I'm not kidding at all. Every phone I've ever owned has used a different connector.
You don't plan on buying er... renting... er licensing more than 10 tracks per decade?
I see from the rest of your post that you think the cable will last a decade. My experiences indicate that the cable (just like the chargers) will not last longer than the phone does, which is probably more like two years. In fact, my current phone (which I hate) doesn't even support the standard handsfree minijack.
In the plumbing case, do you know how much a snake costs? I do, about 100$. And they rust. What does a plumber cost for an hour? Don't know? About 65-85$. You do the math.
In the music downloading case, do you know how much a USB cable costs? I do, about 30$. And they break. What does a download cost for a song? Don't know? About 3$. You do the math.
As for the car case. In the "ideal" world your car mechanic is supposed to be a professional [and in many cases I suspect they are]. So the idea is when you go in for your "once every few months or whatever" oil change you get the car looked at.
Right, so if something weird happens to the downloaded song, you go to the Sprint Store and ask the experts.
Don't get me wrong. I think it's absolutely awful that these things are locked away by the carriers even from those who can easily do it themselves. I'm just pointing out that the majority of their customers don't care that they can't do it themselves, just like people would pay for plumbing, oil changing, cooking, and other services, and it's not fair to call them names for this choice.
I apologize for forgetting that I was posting in HTML, which lopped off the less than (<)character. Actually, what I had meant to cite as examples was the difference between writing "for (i = 0; i < max; i++)" and "for (i = 1; i <= last; i++)". The former is a common C idiom that one would not necessarily learn without reading other people's code.
Others are willing to pay hundreds of dollars per hour because they are too retarded to unclog their own plumbing. Still others pay $50 several times a year because they are too retarded to change the oil in their own engine. I hear some are so retarded they even pay other people to cook their food for them!
We're all retards at one thing or another, friend. Please be kind.
if we pirate the video, you're not going to automatically go hungry and not be able to support your family?
I know and sympathize with the point you're trying to make, but economics is not so simple. Sure, pirating an existing work isn't going to deprive a salaried employee of royalties they don't get anyway, but if it hurts profits enough for those who do, there might not be a next video. Or, they might not be able to afford so many employees.
The flip side of "economics is not so simple" is, of course, the fact that stopping piracy doesn't necessarily increase revenue for the copyright owners. Slashdot readers should be already well aware of this.
haven't you noticed how many seem to assume these days that everyone is going to heaven?
I think this sums your point up nicely, and I don't disagree that the real life Christian is quite a ways from the "real" Christian. Jesus Christ is a, to put it mildly, tough act to follow, and anybody who nonchalantly assumes they are headed for heaven is probably delusional. The point I was trying to make, however, is that if you really are Christian then His teachings (in totality) bind you. If they do not bind you, then you are hardly Christian. Indeed, today you usually have a choice whether to be Christian or not, but as I said once you make that choice you surrender the right to make up your own mind about what is moral or not, unless you want to be one of those "Christians" who pick and choose what to follow.
Put another way, to "real" Christians the religion is a form of external control. To those who would risk fire in hell, not so much. But that's no different than a man in a police state who doesn't fear torture, is it?
You are conflating the coercive obedience imposed by authority with the voluntary obedience of someone following a respected teacher. They are not at all the same thing.
I think you are confusing the following of a respected teacher (think Confucius or Plato) with the following of a religion (think Jesus or Mohammed). Both may influence your behavior, but the latter does not theoretically involve synthesis, only faith that it is the right path.
Don't get me wrong. I understand well that many Christians actually only practice the portion of teachings they agree with. For example, there are plenty of Christian soldiers not turning the other cheek when shot at. There are also plenty of Christians who practice birth control, or even abortion on occasion, not to mention failing to love their neighbors. What I'm pointing out is that none of this should have happened in theory, because faith requires full acceptance of the teachings. The fact that some Christians choose to disobey certain teachings (and may be punished either on earth or after death) indicates to me that religion is a form of external control on their behavior.
One final example: let's say there was a man in North Korea who happily embraces government control of his life choices. Does that mean there is no external control because he is willing? I don't think so. Like this hypothetical man, the hypothetical Christian gives up the right to synthesize his own moral belief in favor of an externally provided set of Christian behavioral guidelines.
The only thing that teaches you how to code, is to CODE, CODE and CODE SOME MORE. In addition to that, it wouldnt hurt to learn from others, from books, from classrooms, user groups, etc, what programming is all about.
Learning from other people's code, from books, and from classes are not only something you do "in addition", but a vital part of the process. Writing code is, at its core, about communication your intentions both to the computer and to another programmer, so if you never communicate in any way with any other programmer you are unlikely to learn how to do the latter.
For example, in C the idiomatic way of writing a loop is "for (i = 0; i max; i++)". It is entirely possible to write "for (i = 1; i = max; i++)" instead, but deviating from that idiom means that another C programmer is a little more likely to misread and misunderstand your code. It's also entirely possible to #define your way into a completely foreign dialect of C, but the pitfalls of that will not be readily apparent unless you communicate with other programmers.
Let me start by sharing your criticism of the study, but having said that...
I have driven for several years in the Philippines, and there you learn to just dread 18-wheeler trucks. I have also driven for many years in the United States, where 18-wheelers are some of the most predictable and courteous users of the road. When people oppose SUVs, a large part of what they're opposing is an SUV "culture", not just the machine itself.
Indeed, we've had trucks on the roads for decades, but there were fewer of them (which means I'm less likely to be hit by one), and they were more necessary. For many opponents, myself included, most SUVs on the road represent unnecessary risk to other drivers. Aside from SUVs, I also dislike the larger and larger pick-up trucks that have shinier paint jobs than my car and never seem to carry anything in the back. Again, that represents an unnecessary additional risk of death and injury to me.
In other words, there is an objective (SUVs are a real danger to cars in collisions) and a subjective (SUVs are unnecessary and SUV drivers are reckless) aspect to this. (Before that ticks off anybody, the parts in parentheses in the previous sentence are just examples of value judgements.) Personally, if I could snap my fingers and get rid of the "vanity" SUVs and trucks, I'd do it as long as it actually helps, no matter how little.
LCDs are indeed a revolutionary step from CRTs, but after its introduction what has been happening? It gets bigger and has better resolution year after year.
Hmm, I also remember buying a newfangled device to fix my printouts. It seems they were all coming out in one color.
Similarly, color printers were also revolutionary, after which we get smaller dots that print faster.
Congratulations on missing the point. Revolutions come once in a while, and while many revolutionary products are also very good products, not all good products are, or need to be, revolutionary. Many times, it's an evolutionary step that crosses a threshold and makes the result a smash hit.
Just like we have nutcrackers that can do what our fingers alone cannot. The more we understand our brains, the less astonishing it would seem to beat it. Remember, we already have cheap machines that can outplay almost every last human at chess, as well as even cheaper machines that can multiple big numbers faster than any human can*.
* note that human-calculator races tend to compare the speed of mental arithmetic with the speed of pressing buttons, not the speed of electronic calculation itself.
Just because something is inherently analog doesn't mean that you can't use digital units as an approximation. For example, NTSC television is analog, but we can say it's roughly 640x480x24, which is already an overestimate. Now, if you take the human ear as an example, we know roughly what frequencies it can hear, which is how we came up with the so-called CD-quality audio of 16 bit amplitude at 44 KHz. CDs are, of course, a commercial estimate, so a scientific one that satisfies even the most sensitive human ear is probably higher, but the concept remains the same.
To put it bluntly, that's just because your expectation of what sort of innovation a good product should contain is abnormally high. All Dell ever seems to do is make things cheaper. All monitor manufacturers seem to do is to make bigger monitors with better resolutions. All printer manufacturers seem to do is to print smaller dots faster. The thing is, at some point the incremental improvements cross a threshold of usability and become hits. For example, once we got 1024x768 monitors and 300 dpi printers, the computer became a viable tool for desktop publishing. Similarly, my 128 MB Rio MP3 player was a mere toy, but once somebody found a way to hold hundreds or thousands of songs, the product was a very different gadget. We can't all be inventing revolutions like zippers and velcro every year, you know.
If you want a continuing service (program information on your TiVo, broadcast content, cellular phone, etc), then you should be prepared to pay a continuing fee, or subscription. Radio and TV were never free: they were and are paid for by sponsors or advertisers in exchange for your corresponding purchases. So the question is, are things really "going to subscription" or are you just wanting more continuing services than before?
It is compiled.
Several C interpreters are available. Try googling for them.
It relies on external libs for "advanced" processing (we can bet then for a short primitive types list)
Nonsense. There's nothing you can tell from C's printf() call that suggests external libraries. If you know Pascal, then you'll know that writeln() looks just the same, but is very much internal. In fact, writeln() itself cannot be implemented in Pascal.
at list it seem to be strongly procedural
The general classification of a language (procedural, functional, etc) does not count as "a lot" about a language.
we can bet it is "loosely OO if at all"
I don't even know what this means. Please explain.
etc.
No, please name them. The first two things you concluded are "wrong" and "accidentally right", so please name the other things you've "learned" from looking at the hello world examples.
How much can you learn looking at C's
and C++'s ? Sure, you can learn a bit about any computer language by looking at an example, but now a whole lot.Not to minimize the usefulness of the Internet, you nonetheless forgot about books and magazines. A good book, some magazines, and a laptop can produce a self-taught programmer. That's how I and probably anybody else over 30 learned to write code. Now, was that the most efficient way? Probably not, but it does work.
That's two questions. :) But yes, the audio CD created by iTunes is a conformant audio CD with no DRM restrictions. You can also burn MP3 CDs, which some stereos support. Once you've burned it to audio CD, you can rip it like any other audio CD.
If you care about more than that, then you should do some research into lossy compression algorithms and how re-encoding can affect audio quality. All your other worries are predicated on not being able to burn audio CDs, so I won't address them anymore.
If anything, the cost of discarding or recycling something is still too abstract. It might already have been factored into the purchase price or local taxes, but if we had to spend a bit of money for each thing we put in the bin, we might think twice and make fuller use of the stuff we buy.
Secondly, just because you don't use the feature doesn't mean nobody else does. Modern software development means that mass production is key to profitability (and low prices for you), and that means writing big software that pleases as many customers as possible. I don't know about you, but most people are not willing to pay for custom software that do exactly what they need.
Live performances and the resulting life on the road are tiring. While they can be the primary source of income for many musicians, it is also a huge timesink that takes away from their time to write new songs, raise a family, etc. I can easily imagine that some musicians would want to avoid or limit the number of their live performances (while others thrive on them). Perhaps your black-and-white conclusions are hasty.
I would suggest reserving your indignation at something that actually makes code less readable. Having pet peeves of this sort threatens to win the battle but lose the war.
Yes, it is. The question is, are people willing to pay more money for the same thing? If the answer is still "yes", then the next question is how can we let the content authors make more money without hampering things we care about, such as the freedom to manipuate the content we buy and the eventual richness of the public domain.
Put another way, there's make more money while pissing off geeks, and there just might also be make more money without pissing off geeks. The challenge - if it's all the same to them - is to move them towards the latter. So the discussion is still worth having.
So what if they are not all uniformly named? Has anybody actually seen a code base where it's possible to call a random function in a class without looking at documentation or the header file? As long as it's an informative name - and code reviews should flag bad ones - you should save your fight for something that actually matters.
Guidelines on naming, on the other hand, is a great idea. Clubbing smart developers over the head for this is pointless.
if you take the time to get your code to where Checkstyle likes it, you'd be amazed how easy it is for humans to read.
One of the myths of software engineering, IMO, is that code is hard to read. For a competent programmer, code is *not* hard to read, in the sense that it's pretty easy to figure out what the code is doing. The problem is what the code is attempting to do, and possibly why. This is why brace styles, spaces versus tabs, and other "low level" coding standards do very little except to annoy. I've worked at several companies, each with different coding conventions, and I follow most of them. Unfortunately, I've found little relationship between maintainability and adherence to coding standards.
They are USB capable, yes, but the phone-side connector for the cables tend to be proprietary. Note also that you write "all of my GSM Motorola phones". I've been with AT&T, Sprint, and now T-Mobile, having used an Audiovox, a Nokia, a Toshiba, and now a Siemens.
Maybe you just don't show around enough?
I take the "free" phone they offer, which I suspect is a rather common thing.
I'm not kidding at all. Every phone I've ever owned has used a different connector.
You don't plan on buying er... renting ... er licensing more than 10 tracks per decade?
I see from the rest of your post that you think the cable will last a decade. My experiences indicate that the cable (just like the chargers) will not last longer than the phone does, which is probably more like two years. In fact, my current phone (which I hate) doesn't even support the standard handsfree minijack.
All analogies are.
In the plumbing case, do you know how much a snake costs? I do, about 100$. And they rust. What does a plumber cost for an hour? Don't know? About 65-85$. You do the math.
In the music downloading case, do you know how much a USB cable costs? I do, about 30$. And they break. What does a download cost for a song? Don't know? About 3$. You do the math.
As for the car case. In the "ideal" world your car mechanic is supposed to be a professional [and in many cases I suspect they are]. So the idea is when you go in for your "once every few months or whatever" oil change you get the car looked at.
Right, so if something weird happens to the downloaded song, you go to the Sprint Store and ask the experts.
Don't get me wrong. I think it's absolutely awful that these things are locked away by the carriers even from those who can easily do it themselves. I'm just pointing out that the majority of their customers don't care that they can't do it themselves, just like people would pay for plumbing, oil changing, cooking, and other services, and it's not fair to call them names for this choice.
I apologize for forgetting that I was posting in HTML, which lopped off the less than (<)character. Actually, what I had meant to cite as examples was the difference between writing "for (i = 0; i < max; i++)" and "for (i = 1; i <= last; i++)". The former is a common C idiom that one would not necessarily learn without reading other people's code.
We're all retards at one thing or another, friend. Please be kind.
I know and sympathize with the point you're trying to make, but economics is not so simple. Sure, pirating an existing work isn't going to deprive a salaried employee of royalties they don't get anyway, but if it hurts profits enough for those who do, there might not be a next video. Or, they might not be able to afford so many employees.
The flip side of "economics is not so simple" is, of course, the fact that stopping piracy doesn't necessarily increase revenue for the copyright owners. Slashdot readers should be already well aware of this.
I think this sums your point up nicely, and I don't disagree that the real life Christian is quite a ways from the "real" Christian. Jesus Christ is a, to put it mildly, tough act to follow, and anybody who nonchalantly assumes they are headed for heaven is probably delusional. The point I was trying to make, however, is that if you really are Christian then His teachings (in totality) bind you. If they do not bind you, then you are hardly Christian. Indeed, today you usually have a choice whether to be Christian or not, but as I said once you make that choice you surrender the right to make up your own mind about what is moral or not, unless you want to be one of those "Christians" who pick and choose what to follow.
Put another way, to "real" Christians the religion is a form of external control. To those who would risk fire in hell, not so much. But that's no different than a man in a police state who doesn't fear torture, is it?
I think you are confusing the following of a respected teacher (think Confucius or Plato) with the following of a religion (think Jesus or Mohammed). Both may influence your behavior, but the latter does not theoretically involve synthesis, only faith that it is the right path.
Don't get me wrong. I understand well that many Christians actually only practice the portion of teachings they agree with. For example, there are plenty of Christian soldiers not turning the other cheek when shot at. There are also plenty of Christians who practice birth control, or even abortion on occasion, not to mention failing to love their neighbors. What I'm pointing out is that none of this should have happened in theory, because faith requires full acceptance of the teachings. The fact that some Christians choose to disobey certain teachings (and may be punished either on earth or after death) indicates to me that religion is a form of external control on their behavior.
One final example: let's say there was a man in North Korea who happily embraces government control of his life choices. Does that mean there is no external control because he is willing? I don't think so. Like this hypothetical man, the hypothetical Christian gives up the right to synthesize his own moral belief in favor of an externally provided set of Christian behavioral guidelines.
Learning from other people's code, from books, and from classes are not only something you do "in addition", but a vital part of the process. Writing code is, at its core, about communication your intentions both to the computer and to another programmer, so if you never communicate in any way with any other programmer you are unlikely to learn how to do the latter.
For example, in C the idiomatic way of writing a loop is "for (i = 0; i max; i++)". It is entirely possible to write "for (i = 1; i = max; i++)" instead, but deviating from that idiom means that another C programmer is a little more likely to misread and misunderstand your code. It's also entirely possible to #define your way into a completely foreign dialect of C, but the pitfalls of that will not be readily apparent unless you communicate with other programmers.