Yes and it was such a subtle insight as well. I wonder how he ever picked up on it. Maybe the quote "However, if you don't want to lose your freedom, you had better not follow him (Torvalds)" could provide some clues to his deep inner thoughts.
Free Software assumes that anybody who even uses your software has the right to look at the source code. Open Source does not.
For example: Say I develop software for an ATM machine and I release the source code to everybody who bought the software. Open source has no requirement that the owners of the ATM provide the source code to the people using it. Free Software does.
Wow, you really have an Axe to grind with Joel. Did you ever consider that most people are linking his article because it supports our point, not because everybody is a mindless 'Joel' fanboy?
That works fine for functions. What about classes? How do I know the types of member variables without opening the header file to check? By "types" I don't necessarily mean the data type, but also information about how it should be used. An annotation. It is common in web applications to have strings input by users that need to be cleaned before they are put into a database. You can differentiate these by giving it a prefix like str_ucFirstName and you know that anything marked with uc should never be written into the database. Compiler tools generally can't spot this sort of thing.
I disagree. Refactoring is a very trivial problem to solve as well. Hungarian notation is generally only used for private and local variables and in that case "refactoring" just means doing a search-and-replace.
I actually got into the habit of doing this by working with a blind co-worker who couldn't easily use most the tools that modern IDEs provide. I've actually found it improved my productivity to not have to rely on these kinds of tools and have all the information I need on the screen at one time.
If you are going to outsource code, do it to someplace COLD. The Netherlands, Finland, Sweden, Russia, etc. All of those countries seem to have unusually large supply of good coders. The only problem is that you end up with functions like b0rk(B0rk *bork) { }
Why any person can't leverage the botnet for their own use? What it the "key" that allows the creator(s) to have exclusive access? If it essentially works like a peer-to-peer network couldn't you essentially "poison" the network with a few rouge nodes?
Make no mistake - Apple makes it's money through branding. There are plenty of cheaper MP3 players that function just as well (and sometimes better) than the iPod, but Apple is a designer label and the chumps pay accordingly.
It shares half a shelf with the Standard ML and Haskell books. The other half taken up by the shrink wrapped "The Art of Computer Programming" that has been sitting on there since the store opened.
How is that any different than what Java does? What do you think the Java Runtime Environment does to create windows -- It calls the Win32 API (on windows platforms).
All you are doing is listing old technologies. How does.NET "Pretty them up" ? While.NET can use COM dlls, it only does so through.NET wrappers, you make it sound as if.NET is built on top of these technologies. It is not.
My theory is that the colder it is, the more kids tend to play inside =)
According to the TopCoder algorithm competition stats:
1 Russian Federation 2930.06
2 China 2843.33
3 Poland 2842.79
4 Ukraine 2557.06
5 Japan 2483.83
6 Canada 2426.56
7 United States 2320.98
8 Slovakia 2291.73
9 South Korea 2226.98
10 Belarus 2206.81
Let's just hope the next war isn't fought with robots.
You are correct. It seems that condition only applies to those who are distributing the software.
Right. You assumed that. Nobody actually argued that something was correct because Joel said so.
You never directly addressed any of the arguments in the article.
If you are so against logical fallacy you should probably stop using the ad hominem argument.
Yes and it was such a subtle insight as well. I wonder how he ever picked up on it. Maybe the quote "However, if you don't want to lose your freedom, you had better not follow him (Torvalds)" could provide some clues to his deep inner thoughts.
Boycott sham-poo. Use real poo, which is of course free-poo but NOT Open-poo.
Free Software assumes that anybody who even uses your software has the right to look at the source code. Open Source does not.
For example: Say I develop software for an ATM machine and I release the source code to everybody who bought the software. Open source has no requirement that the owners of the ATM provide the source code to the people using it. Free Software does.
Wow, you really have an Axe to grind with Joel. Did you ever consider that most people are linking his article because it supports our point, not because everybody is a mindless 'Joel' fanboy?
You are clearly obsessed with this man.
That works fine for functions. What about classes? How do I know the types of member variables without opening the header file to check? By "types" I don't necessarily mean the data type, but also information about how it should be used. An annotation. It is common in web applications to have strings input by users that need to be cleaned before they are put into a database. You can differentiate these by giving it a prefix like str_ucFirstName and you know that anything marked with uc should never be written into the database. Compiler tools generally can't spot this sort of thing.
It's not a waste of time. Actually typing code is maybe 1% of the total time it takes to develop something and it can easily save hours in analysis.
See http://www.joelonsoftware.com/articles/Wrong.html for more details.
Also, sometimes it's just not possible, because not all languages have a modern IDE that supports it.
But it was very rarely wrong and when it was, we fixed it, and it helps a lot more than the red underline and pop up windows he couldn't see.
Surely you realize that modern programming environments are not accessible to everyone for various reasons?
I disagree. Refactoring is a very trivial problem to solve as well. Hungarian notation is generally only used for private and local variables and in that case "refactoring" just means doing a search-and-replace.
I actually got into the habit of doing this by working with a blind co-worker who couldn't easily use most the tools that modern IDEs provide. I've actually found it improved my productivity to not have to rely on these kinds of tools and have all the information I need on the screen at one time.
I'm actually a fan of Hungarian notation. It's nice to be able to know both the scope and type of a variable just by looking at it.
No =) I should have guessed that google had already done it though.
It would make a great plugin for google earth. Instead of zooming in on earth from space, you could zoom into space from earth.
If you are going to outsource code, do it to someplace COLD. The Netherlands, Finland, Sweden, Russia, etc. All of those countries seem to have unusually large supply of good coders. The only problem is that you end up with functions like b0rk(B0rk *bork) { }
Yeah I know, that whole post was a train wreck. 'essentially' should never be used twice in the same sentence either or in that context.
Why any person can't leverage the botnet for their own use? What it the "key" that allows the creator(s) to have exclusive access? If it essentially works like a peer-to-peer network couldn't you essentially "poison" the network with a few rouge nodes?
Almost an hour has passed and not one person has claimed to have a screenshot and posted an ASCII goatse.
All the people who have screens that are scratched beyond legibility would disagree.
That can be said of just about any Apple product.
Make no mistake - Apple makes it's money through branding. There are plenty of cheaper MP3 players that function just as well (and sometimes better) than the iPod, but Apple is a designer label and the chumps pay accordingly.
It shares half a shelf with the Standard ML and Haskell books. The other half taken up by the shrink wrapped "The Art of Computer Programming" that has been sitting on there since the store opened.
How is that any different than what Java does? What do you think the Java Runtime Environment does to create windows -- It calls the Win32 API (on windows platforms).
All you are doing is listing old technologies. How does .NET "Pretty them up" ? While .NET can use COM dlls, it only does so through .NET wrappers, you make it sound as if .NET is built on top of these technologies. It is not.