It is more like running a splitter and a cable and stealing your neighbors cable TV. Or running an extension cord to a backyard outlet and stealing power. Or perhaps a cordless phone. People accept that they have to pay for electricity, phone, but the internet should be free? why?
If you want to compare it to using someone else's power, I'd say it's more like finding a power outlet in a public place with a big label on it "For Public Use... You May Use This".
If you don't secure your wireless network, then that is what you are setting up. Someone comes along, picks up your signal, follows the standard process of asking the router if they're allowed to use it, and the router tells them they are.
You chose not to take the "For Public Use" sign off your signal...
I'm not ignoring your point, I'm just disagreeing with it. I agree that my choice of indenting should not affect yours. However, I disagree about the choice of "how" that should come to pass.
You said "Spaces are for spacing, tabs are for indenting: 1 tab per level of indentation". I merely pointed out that there can be such a thing as 1.5 indentation. Thus, your indentation scheme does not work for everyone.
Personally, I'm a big fan of "4 space per indentation level, 8 spaces for continued lines". However, if the code I'm editting doesn't use that scheme, I either hit C-M-\ to reformat it so it does... or just live with what the author has chosen. Perferably, the lead on a given project will decide what indentation scheme to use, and everyone will use that.
However, to say that one particular scheme is the best for everyone is naive, imo. Different people like different things. Thats the reason noone has won this particular argument in the past... and many thousands have fought it.
So, the : is used to specify a block indent? How is that different from a {? Also, what happens if you want to indent differently for continued lines than you do for blocks?
It seems to me that differnt people like things different ways. Forcing one style on people doesn't seem to do anything but reduce everyone to the lowest common denominator... one person's style.
Feel free to argue the case with the thousands upon thousands of people that already argue one way or the other.
How about the people that say a full indent is for block levels, and 1.5 indent is for continued lines?
There's lots of ways to look at the issue, and lots of people arguing for each way. The only ones that are "wrong", in my opinion, are the ones that believe their way is the only "right" way.
You're entering religious war territory here...
I think spaces should be used for indentation, and the tab key should tell my editor to move to the correct indentation of the current line.
There's a lot of people that agree with you, and a lot of people that agree with me, and a lot of people that have other opinions. I think the only thought that tends to be consitant is that you shouldn't mix tabs and spaces; you should use one OR the other for indenting, but not both.
My issue with using indentation as a block delimiter is in the time it takes to do it. When programming in Tcl (my language of choice), I just hit tab and the code is indented to where it should be. If I add an open or close curly, the indentation knows where to go next (in order to be the most readable to me).
How do Python programmers handle having to indent every line? I assume tab will (generaly) indent to whereever you were last indented to. Do you need to backspace/space mutliple times each time you switch to a new block level?
You're making his point there. Human time is expensive, CPU time (generally) is not. The feature you mention saved Human time, not CPU time.
As an example more in keeping with the argument, consider a program that has to parse log data and aggregate counts. It could be written in langauge X and take 30 minutes to run, or it could be written in Y and take 3 minutes to run. If log data comes in once an hour, then both languages work "fast enough".
Now, if it takes 3 months to write the code in X, and 3 weeks to write it in Y (a realistic estimate for something like C vs common dynamic languages)... it's obviously a huge win to write it in Y. The fact that many languages Y tend to more maintainable than the comparatible X is an added bonus.
Tcl has Starkits and Starpacks. A Starkit is a package of all the code for a particular program, but still requires the Tcl executable to run it. A Starpack is the Tcl executable + a Starkit in one executable file.
Oddly, I find Tcl to be one of the most easily maintained languages. There's very, very few special cases in the language. Yes, it's possible to write hard to understand code in Tcl, but that's true about every language... and you have to go out of your way (much more so than most languages) in Tcl to write ugly/hard to understand code.
its based on the assumption that like good little boys and girls we are all going to accept technology lock down
Perhaps like adding something to a DVD player so DVD makers can force most everyone to watch the ads at the beginning of the DVD, rather than fast forward?
Nah, you're right... its impossible for the billion dollar companies to force a technology lockdown;)
Actually, Tk isn't that bad, if you take the time to add some polish... its just that many people using it don't bother to do so, and wind up with the default "motif-style" look.
In addition, Tk/Tcl 8.5 should include the Tile package, which greatly enhances the look of Tk widgets, and adds various new features.
IIRC, RMS is on record as saying that had Linux existed when he was writing the GPL and the first GNU progs, he would have made it a term of the license that GPL software only be run on GPL OSs.
Thats because RMS doesn't stand for Open Source Software, he stands for Free Software. From what he's said in the past, all he wants is for all software to be open source, regardless of who or what it hurts. If there's two choices for a given piece of software, one closed and one open, the open source is the only choice anyone should be allowed... and the author of the closed source software is evil incarnate... even if the closed program is significantly better than the open one AND free to use.
He's on a crusade... and, imo, not a very righteous one.
Very well stated. Admittedly, anyone who hasn't seen the vast majority of seasons 1-3 will likely have a hard time grasping how well the whole ending worked (even with your explanation)... But I agree that it was a perfect, and the only acceptable, ending to the plotline.
I'm not ignoring your point, I'm just disagreeing with it. I agree that my choice of indenting should not affect yours. However, I disagree about the choice of "how" that should come to pass. You said "Spaces are for spacing, tabs are for indenting: 1 tab per level of indentation". I merely pointed out that there can be such a thing as 1.5 indentation. Thus, your indentation scheme does not work for everyone. Personally, I'm a big fan of "4 space per indentation level, 8 spaces for continued lines". However, if the code I'm editting doesn't use that scheme, I either hit C-M-\ to reformat it so it does... or just live with what the author has chosen. Perferably, the lead on a given project will decide what indentation scheme to use, and everyone will use that. However, to say that one particular scheme is the best for everyone is naive, imo. Different people like different things. Thats the reason noone has won this particular argument in the past... and many thousands have fought it.
So, the : is used to specify a block indent? How is that different from a {? Also, what happens if you want to indent differently for continued lines than you do for blocks? It seems to me that differnt people like things different ways. Forcing one style on people doesn't seem to do anything but reduce everyone to the lowest common denominator... one person's style.
Feel free to argue the case with the thousands upon thousands of people that already argue one way or the other. How about the people that say a full indent is for block levels, and 1.5 indent is for continued lines? There's lots of ways to look at the issue, and lots of people arguing for each way. The only ones that are "wrong", in my opinion, are the ones that believe their way is the only "right" way.
You're entering religious war territory here... I think spaces should be used for indentation, and the tab key should tell my editor to move to the correct indentation of the current line. There's a lot of people that agree with you, and a lot of people that agree with me, and a lot of people that have other opinions. I think the only thought that tends to be consitant is that you shouldn't mix tabs and spaces; you should use one OR the other for indenting, but not both.
My issue with using indentation as a block delimiter is in the time it takes to do it. When programming in Tcl (my language of choice), I just hit tab and the code is indented to where it should be. If I add an open or close curly, the indentation knows where to go next (in order to be the most readable to me). How do Python programmers handle having to indent every line? I assume tab will (generaly) indent to whereever you were last indented to. Do you need to backspace/space mutliple times each time you switch to a new block level?
You're making his point there. Human time is expensive, CPU time (generally) is not. The feature you mention saved Human time, not CPU time. As an example more in keeping with the argument, consider a program that has to parse log data and aggregate counts. It could be written in langauge X and take 30 minutes to run, or it could be written in Y and take 3 minutes to run. If log data comes in once an hour, then both languages work "fast enough". Now, if it takes 3 months to write the code in X, and 3 weeks to write it in Y (a realistic estimate for something like C vs common dynamic languages)... it's obviously a huge win to write it in Y. The fact that many languages Y tend to more maintainable than the comparatible X is an added bonus.
You forgot one option... look at the automated test suite. Automated tests are living documentation. If they pass, they're accurate.
Tcl has Starkits and Starpacks. A Starkit is a package of all the code for a particular program, but still requires the Tcl executable to run it. A Starpack is the Tcl executable + a Starkit in one executable file.
Oddly, I find Tcl to be one of the most easily maintained languages. There's very, very few special cases in the language. Yes, it's possible to write hard to understand code in Tcl, but that's true about every language... and you have to go out of your way (much more so than most languages) in Tcl to write ugly/hard to understand code.
its based on the assumption that like good little boys and girls we are all going to accept technology lock down Perhaps like adding something to a DVD player so DVD makers can force most everyone to watch the ads at the beginning of the DVD, rather than fast forward? Nah, you're right... its impossible for the billion dollar companies to force a technology lockdown ;)
Actually, Tk isn't that bad, if you take the time to add some polish... its just that many people using it don't bother to do so, and wind up with the default "motif-style" look. In addition, Tk/Tcl 8.5 should include the Tile package, which greatly enhances the look of Tk widgets, and adds various new features.
IIRC, RMS is on record as saying that had Linux existed when he was writing the GPL and the first GNU progs, he would have made it a term of the license that GPL software only be run on GPL OSs.
Thats because RMS doesn't stand for Open Source Software, he stands for Free Software. From what he's said in the past, all he wants is for all software to be open source, regardless of who or what it hurts. If there's two choices for a given piece of software, one closed and one open, the open source is the only choice anyone should be allowed... and the author of the closed source software is evil incarnate... even if the closed program is significantly better than the open one AND free to use.
He's on a crusade... and, imo, not a very righteous one.
Very well stated. Admittedly, anyone who hasn't seen the vast majority of seasons 1-3 will likely have a hard time grasping how well the whole ending worked (even with your explanation)... But I agree that it was a perfect, and the only acceptable, ending to the plotline.