Funny this, where I come from they finally got rid of the draft because they were building alcoholics and junkies instead of characters. There is only so much boredom a human can be forced into until he will become a dependable^H^H^H^Hent citizen.
The poem you refer to is a perfectly legitemate program in whitespace.
Depending on the use of tabs newlines and spaces in the poem, it might actually do something useful as well.
Just to correct myself. After (re-)reading the FA, and a bit more on the GNU website, I came to the conclusion that the FSF seldomly makes the mistake I'm fulminating against. It's mostly in forums like/. and on the site of Prof. Tourzetsky that the freedoms of expressing ones opinion and to share knowledge are compounded in 'Freedom of speech'.
For a long time, I was planning to write down my thoughts on the use of "Free Speech" and why it is a very misleading term that leads to people thinking that code is speech, and should be free. Although I am highly in favour of the FSF, I do think they are wrong with their "freedom as in speech" argument. As I highly doubt I'll ever get to finishing the essay, the essence can be found below.
I'm from Europe, and where I come from we do not enjoy "Free Speech" as such, but a more carefully worded "Freedom of expressing ones opinion". This freedom is essential to our democracy. If you disagree with your leaders, or think you have a better way of running the country, you can express these thoughts without the fear of being imprisoned for these ideas. (The fact that in actuality this freedom is non-existent in Europe if you want to express Nazi sympathies is very saddening in my opinion. Voltaire would surely agree with me here). This freedom is central to what we call our democracy, and it only takes a quick look to what happens in a totalitarian regime to see how valuable it is.
If I read arguments involving "code is speech", I think people are talking about something completely different essentially. They are talking about ownership of code and/or inventions, but I do not think this has anything to do with the freedom of expressing ones opinion. This latter freedom is central to our freedom of being individual human beings that are allowed to think for their own, the former is a dispute about ownership. Even though this dispute is very important, and I think the FSF is on the right track with their stance, it is trivial in comparison with the freedom of expressing ones opinion.
Using freedom of speech as an argument for being able to hack a dvd-encryption scheme is, in my opinion, so far off from the original intent of "free speech" that it more likely to alienate people than to win them. As far as I can tell, even in the US with its careless use of language, most people understand that "Free Speech" means "freedom of expressing ones opinion", and not crying "FIRE" in a crowded theatre, or hacking an XBox. Stating that these things are equivalent is plainly wrong.
So what to do? I think it would intellectually fairer to avoid this "free speech" alltogether when we're talking about issues of copyrights and patents, and aim for what we're really after: freedom to use ideas. Our own ideas, but, to some extent, also other peoples ideas. Ideas should not be locked up, especially when there is a fair chance that someone with a similar need will come up with a similar idea. This is the real goal, and to claim that it has in some way to do with the freedom to express your opinion is dishonest.
I think the grandparent was pointing at the fact that unlike bicycles, ideas do not cost (much) money to put on the streets. Just talk to a few people about the idea, and if it's any good, it'll spread around on its own. Unlike tangible goods, it actually costs money to make ideas not widely available (you need patent offices, lawyers, etc.). So, for tangible goods, reproducing them cost money, for ideas, *not* reproducing them costs money.
So why do you think you have to WRITE STUFF DOWN when you apply for the patent? If all it was so that you could sell your lightbulbs, you should be able to apply for the patent with the invention being completely hidden. Your IP, only to be shown to patent officers under an NDA. Why o why do patents demand that the description of the invention should be publically viewable? Why on earth would the government go through great lengths to protect you selling lightbulbs? Oh, and why is a patent limited in time? You benevolant government would make you much better off by not letting the patent expire at all.
If you think about these questions, you might come to the conclusion that if the main object of patents was to compensate for people's ideas, they're completely pigheadedly set up.
That's not fast! I recently packaged my own LFS distro and installed it on my own computer. Guess what, I went from 0 to 1 users. Beat that for growth!
The displeasure came when we made an infinite loop in the specificiation language. Now they needed a specification language to formally prove their specification language to be correct... Godel striked again.
As someone who's programmed OO-style for a long time now, I can't agree more. The problems with a pure OO-style of programming usually become apparent when you take over a program. OO has really managed to replace the spaghetti code of the days before with a macaroni of little bits of code that work together in a completely intransparent way.
Boy, sometimes I do long for managing a C-based project.
Proving correctness is usually not done because to write the specification for correctness is equivalent to writing the program itself. CS has the nasty habit of biting itself in the tail at so many levels that its sometimes tempted to simply give up.
I remember a class once, where the prof and his assistents where very proud of their formal correctness prover. When a fellow student translated their 'semantic' code to simple lisp and executed it they were not amused.
Can't agree more. OO as it is practised is a complete nightmare. I like to compare compare OO programming to the definition of a lexicon, a vocabulary to reason about the problem you're solving. Nouns for the 'objects' that are being processed, and verbs, 'methods' that work with the objects. Whoever thinks that for every application you need to invent thousands of new nouns ('objects') should be taken out and shot in the foot.
Almost any application has room for no more than 10 new words, 10 objects, and that's it. The rest is pure fluff.
Still don't buy it. I don't think a language should make a vector/matrix/complex a basic type simply to avoid overloading. A language itself should be as simple as possible to make things work: libraries are used to extend the language, and there operator overloading is a must.
Obviously anyone writing application code should use such libraries and not try to build them. Newbies making use of operator overloading should be taken out and shot in the foot. A simple solution for java would be to have a compiler flag like -library. If on, operator overloading is allowed, if off, its generates errors. This will enable vendors to supply serious (tested) libraries for numeric/graphing stuff, while still protecting innocent developers from the evils of expressive code.
Come on, cut the guy some slack. He's obviously using the term the microsoft way, which means 'appropriated'. Innovation is not a verb, that alone should have given you some clue.
Wow, so what you are saying is that unless there is no need for a virtual function to be virtual, the overhead is there. In what way does this invalidate the grandparent who was assuming that virtual function existed for a reason?
Just replying to one in a whole series. Guys, don't you realize that the word 'innovate' when used in the context of MS means 'appropriated'? Give the grandparent a break, it's a good troll.
Ever try to cross-comple a non-trivial C/C++ program? I do that all the time. Just use gcc and it will compile for practically any platform without a glitch.
The grandparent was talking about numeric and operator overloading. It is completely beyond me that a modern language like java does not have one of (a) native numeric libraries or (b) operator overloading to create your own. Have you any idea what an unmaintable mess it makes to be forced to use a lisp style syntax instead of math, or even more errorprone and a hassle, write all the loops by hand?
In many languages nowadays, be it fortran, c++, perl, python, etc. etc. etc. it is possible to use straight math operators on arrays or matrices, which has a clear and concise syntax that everybody that learned math understands. This cuts down on the code to write, the formula is clear and can actually be looked up in the original paper if you care, and, the libraries are usually pretty well optimized. Compare this with java, where, if you use a matrix library, you get some cooked up API that doesn't resemble the way you think about arrays of numbers at all.
Okay, as you seem to claim that operator overloading is absolutely bad always, please explain why:
matrix c = a + b - c;
is bad, and
String c = a + b;
is considered acceptable? Hell, the addition operator on strings isn't even associative.
I for one was crying for generics in Java. I need to program quite a bit in java, and got blisters on my fingers by the amount of code you need to write for even the simplest of things. Currently I still prefer C++ over java (with 8+ years experience in C++, I finally managed to be productive in that language), but this might finally change now java finally delivers some of the productive features most languages had since the early nineties.
Sure, it's market driven. Save for the thug approach, all monopolies are market driven creations. MA Bell won the phone market, IBM the mainframe market. Purely market driven.
This does however not mean that monopolies should be left alone, as at some point such a monopoly will start hurting. This is why there are different sets of rules for monopolists versus competitors in a market. For one, barriers to entry must go. One barrier to entry is the Microsoft tax we're discussing currently. It's been set up when MS was on its way to becoming a monopoly, but now that it is has succeeded, the barrier must go. With such barriers in place, there is simply no possibility of a competitor to enter the market, let alone succeed. It's a simple case of making sure that any PC vendor has access to the same pricing of windows as their competitors. MS can still set the price, but cannot play favours. They lost that privilige once they won.
Funny this, where I come from they finally got rid of the draft because they were building alcoholics and junkies instead of characters. There is only so much boredom a human can be forced into until he will become a dependable^H^H^H^Hent citizen.
Agreed on -r -R, but do try 'tar -x -v -f' for a change, shorthand does not mean it breaks the convention.
The poem you refer to is a perfectly legitemate program in whitespace. Depending on the use of tabs newlines and spaces in the poem, it might actually do something useful as well.
Just to correct myself. After (re-)reading the FA, and a bit more on the GNU website, I came to the conclusion that the FSF seldomly makes the mistake I'm fulminating against. It's mostly in forums like /. and on the site of Prof. Tourzetsky that the freedoms of expressing ones opinion and to share knowledge are compounded in 'Freedom of speech'.
I'm from Europe, and where I come from we do not enjoy "Free Speech" as such, but a more carefully worded "Freedom of expressing ones opinion". This freedom is essential to our democracy. If you disagree with your leaders, or think you have a better way of running the country, you can express these thoughts without the fear of being imprisoned for these ideas. (The fact that in actuality this freedom is non-existent in Europe if you want to express Nazi sympathies is very saddening in my opinion. Voltaire would surely agree with me here). This freedom is central to what we call our democracy, and it only takes a quick look to what happens in a totalitarian regime to see how valuable it is.
If I read arguments involving "code is speech", I think people are talking about something completely different essentially. They are talking about ownership of code and/or inventions, but I do not think this has anything to do with the freedom of expressing ones opinion. This latter freedom is central to our freedom of being individual human beings that are allowed to think for their own, the former is a dispute about ownership. Even though this dispute is very important, and I think the FSF is on the right track with their stance, it is trivial in comparison with the freedom of expressing ones opinion.
Using freedom of speech as an argument for being able to hack a dvd-encryption scheme is, in my opinion, so far off from the original intent of "free speech" that it more likely to alienate people than to win them. As far as I can tell, even in the US with its careless use of language, most people understand that "Free Speech" means "freedom of expressing ones opinion", and not crying "FIRE" in a crowded theatre, or hacking an XBox. Stating that these things are equivalent is plainly wrong.
So what to do? I think it would intellectually fairer to avoid this "free speech" alltogether when we're talking about issues of copyrights and patents, and aim for what we're really after: freedom to use ideas. Our own ideas, but, to some extent, also other peoples ideas. Ideas should not be locked up, especially when there is a fair chance that someone with a similar need will come up with a similar idea. This is the real goal, and to claim that it has in some way to do with the freedom to express your opinion is dishonest.
I think the grandparent was pointing at the fact that unlike bicycles, ideas do not cost (much) money to put on the streets. Just talk to a few people about the idea, and if it's any good, it'll spread around on its own. Unlike tangible goods, it actually costs money to make ideas not widely available (you need patent offices, lawyers, etc.). So, for tangible goods, reproducing them cost money, for ideas, *not* reproducing them costs money.
It might have told you that Eben Moglen is the legal counsel of the FSF, not the EFF.
If you think about these questions, you might come to the conclusion that if the main object of patents was to compensate for people's ideas, they're completely pigheadedly set up.
Why would you need to search for "i" in code set up in this way?
That's not fast! I recently packaged my own LFS distro and installed it on my own computer. Guess what, I went from 0 to 1 users. Beat that for growth!
Try this for a start.
The displeasure came when we made an infinite loop in the specificiation language. Now they needed a specification language to formally prove their specification language to be correct... Godel striked again.
Boy, sometimes I do long for managing a C-based project.
I remember a class once, where the prof and his assistents where very proud of their formal correctness prover. When a fellow student translated their 'semantic' code to simple lisp and executed it they were not amused.
Almost any application has room for no more than 10 new words, 10 objects, and that's it. The rest is pure fluff.
Obviously anyone writing application code should use such libraries and not try to build them. Newbies making use of operator overloading should be taken out and shot in the foot. A simple solution for java would be to have a compiler flag like -library. If on, operator overloading is allowed, if off, its generates errors. This will enable vendors to supply serious (tested) libraries for numeric/graphing stuff, while still protecting innocent developers from the evils of expressive code.
Come on, cut the guy some slack. He's obviously using the term the microsoft way, which means 'appropriated'. Innovation is not a verb, that alone should have given you some clue.
Wow, so what you are saying is that unless there is no need for a virtual function to be virtual, the overhead is there. In what way does this invalidate the grandparent who was assuming that virtual function existed for a reason?
Just replying to one in a whole series. Guys, don't you realize that the word 'innovate' when used in the context of MS means 'appropriated'? Give the grandparent a break, it's a good troll.
this is not a bug in the language, it's a bug in the compiler. Given that this is MSVC such bugs are not at all surprising.
Ever try to cross-comple a non-trivial C/C++ program? I do that all the time. Just use gcc and it will compile for practically any platform without a glitch.
In many languages nowadays, be it fortran, c++, perl, python, etc. etc. etc. it is possible to use straight math operators on arrays or matrices, which has a clear and concise syntax that everybody that learned math understands. This cuts down on the code to write, the formula is clear and can actually be looked up in the original paper if you care, and, the libraries are usually pretty well optimized. Compare this with java, where, if you use a matrix library, you get some cooked up API that doesn't resemble the way you think about arrays of numbers at all.
Okay, as you seem to claim that operator overloading is absolutely bad always, please explain why:
matrix c = a + b - c;
is bad, and
String c = a + b;
is considered acceptable? Hell, the addition operator on strings isn't even associative.
I for one was crying for generics in Java. I need to program quite a bit in java, and got blisters on my fingers by the amount of code you need to write for even the simplest of things. Currently I still prefer C++ over java (with 8+ years experience in C++, I finally managed to be productive in that language), but this might finally change now java finally delivers some of the productive features most languages had since the early nineties.
This does seem to assume these people are productive now. Get real.
This does however not mean that monopolies should be left alone, as at some point such a monopoly will start hurting. This is why there are different sets of rules for monopolists versus competitors in a market. For one, barriers to entry must go. One barrier to entry is the Microsoft tax we're discussing currently. It's been set up when MS was on its way to becoming a monopoly, but now that it is has succeeded, the barrier must go. With such barriers in place, there is simply no possibility of a competitor to enter the market, let alone succeed. It's a simple case of making sure that any PC vendor has access to the same pricing of windows as their competitors. MS can still set the price, but cannot play favours. They lost that privilige once they won.