No, free speech is a right (along with the rest of the stuff listed in the Bill of Rights). Copyright is a privilege of Congress, for the explicit purpose of "promot[ing] the progress of science and the useful arts" and nothing else.
It was the right of fathers in ancient Rome to kill his child if he wanted to. Should we honor that "right" too?
You don't have any right to other people's work.
On the contrary, they don't have the right to steal their work from the Public Domain! So there! See, I can jabber on about "rights" too!
You're assuming that your particular ideology is the Gospel Fucking Truth, and deluding yourself into thinking that anyone who disagrees -- even when they're reasoning from a different set of axioms -- is a hypocrite. Here's a newsflash: that makes you the asshole, not me!
See, that's the thing: I completely understand your argument. No really, I do!
The thing is, though, that I simply don't care. It's not my problem when creators of Imaginary Property can't find a working business model for themselves. They're perfectly welcome to go find something else to do with their lives. It's also not my fault that they want to delude themselves into thinking that they can stop the copying. No matter what DRM or legal measures they try to go to, it's just not going to happen. And that's nto some "hippie idealism;" that's just a pragmatic statement of fact. They can either acknowledge it and deal with it, or they can thrash and die.
It's not about "the law," though. Laws are reflection of society, not the other way around -- you don't avoid doing something because it's against the law, you make it against the law because it was a bad thing to do in the first place. But because of this, laws don't always get it right. It used to be illegal to aid an escaping slave, for example. But does that make such an action wrong? Of course not (unless you're a KKK member)! Laws should be followed when they are just, but when they are unjust they should be broken.
By your logic, ambulance drivers should lose their driver's licenses and soldiers should be jailed for murder.
It is a case of "Do as we say, not as we do".
Wanna bet? Here's "what we say:"
"We want users of information to be able to freely modify and share it without restriction."
Copyright holders of proprietary information (like the RIAA) try to prevent it from being free to modify and share without restriction, so we oppose them. "What we do" is completely consistent with "what we say" in this case.
Copyright holders of Free information (like the FSF) try to force it to be free to modify and share without restriction, so we support them. "What we do" is also completely consistent with "what we say" in this case too!
"Slashdotters" want the software to be freely distributed, freely used, and freely modified. Corporations use copyright to prevent that, so Slashdotters are against them. The FSF uses copyright to promote that, so Slashdotters support it. That's not hypocritical at all: in all cases Slashdotters are trying to work towards the same goal. You only thought it was hypocritical because you weren't looking at the whole issue.
None of the Linksys products run IOS, which IIRC was originally based on a BSD kernel a couple decades ago. Perhaps he means that some Linksys products have included libraries from IOS somehow, but I don't see how that would make those libraries then fall under GPL.
Or maybe he means that some Cisco-branded hardware that the FSF doesn't know about is running GPL'd software too! It seems reasonable to me that that could have happened; after all, why would Cisco want to keep making two completely separate lines of hardware when they could just integrate them and then differentiate between high-end and low-end by branding only?
The really weird thing is that the WRT54G, with Linux, cost $50 years ago. The new WRT54G, with less hardware, cost -- guess what -- $50 today! Or, alternatively, the WRT54GL costs more than $50. Isn't hardware supposed to get cheaper and better over time, rather than worse or more expensive?
... and get paid less than you would have if you'd gone to through a dumbed-down (or not, either way) 4-year program that got you that nice CS degree.
Actually, out of the three of my friends who majored in electrical engineering [technology], only one of them has a job in his field. The other two have IT/website backend/light Java-type jobs. Guess which one went to DeVry (while the other two went to GA Tech).
Now, I don't know how that actually translates to salary, per se, but I'd bet the DeVry guy's job is at least as good as either of the other guys'.
(By the way, all degrees were Bachelor's degrees, but the DeVry guy earned his in 3 years while the other two struggled through in 5, and the DeVry guy got a full scholarship.)
The bottom line is that if you want job training, you are not better off at a University. It's the same in all fields: getting a mechanical engineering degree is a waste of time if you want to be an auto mechanic. And there's nothing wrong with being a mechanic (or, analogously, an "IT guy" or a "programmer"); in fact, there are a lot more of those sorts of jobs around than there are for engineers and computer scientists! The real problem here is that both schools and students have completely the wrong expectation of what a university computer science program is all about.
Obviously it doesn't solve the underlying problem, but try calling up your phone company and telling them to disable text messages for your account. I did (along with disabling Internet), and it worked out great. (Besides, what kind of idiot wants to sit there typing out a message when he inherently has the ability to just call the person anyway?!)
In my case, I was first taught functional programming, even though it was in C++. It appeared that this was to get us used to taking a problem, and finding a way to solve it using a series of commands...
If you think functional programming involves a series of commands, you have no fucking clue what you're talking about whatsoever.
You know, I just realized: The fact that you answered "both" (referring to imperative and OO) when asked what programming paradigm to start with perfectly illustrates why you're wrong!
All CS students are going to learn imperative and OO anyway. But if they don't learn functional programming first, then they have no clue what a huge chunk of computer science they're missing!
Functional programming, while closer to the underlying math, is so different from the instructions the machine actually executes that students may finish the class and still not have a clear idea how what they wrote directs the machine.
But that's okay, because they can take a computer architecture class (with C!) later.
Most students are engineering majors who might take two programming courses, ever. Throwing Scheme at them to teach good coding practice in C or Java is like teaching someone to drive a semi by putting them on a scooter.
Oh yes, I completely agree. However, you're missing the point! Scheme -- or any "CS 101"-type class is not about teaching "good coding practice in C or Java!" It's about teaching people to think in algorithms. Not only does it take way more than two classes to learn "good programming practices" anyway, but your boss can teach you that when you have your first code review. But understanding the fundamentals of algorithms, including recursion and such, is much more fundamental.
Besides, how would Python or Matlab teach good C or Java programming practices anyway?
Anyhow, it seems probable you went to the same university I did (a largish one in a southern city with a flying insect mascot, not to name names), in which case, the problem with starting the kids off on Python, Matlab, or Java had more to do with the department than the languages.
Good guess. However, I thought the department did perfectly well with Scheme, although I admit that a lot of non-CS students hated it. I still think they were better off for it.
For object orientation being second, it is not just a programming style, it is also an essential facet of design.
Object orientation is only an essential facet of design if your design is object-oriented.
Yes, it sounds like a tautology, but it's not. Object orientation is not necessarily the best way to solve some problems. For example, I just wrote a structural analysis problem in non-object-oriented Matlab because the point of the thing was to compile all the data into some big matrices and then solve them. The design of the program came straight from the equations in the text book. Similarly, something like a compiler is perhaps best implemented in non-object-oriented LISP.
My first language was not Scheme -- I learned bits of LOGO and [Q|Visual|Ti-calulator] Basic as a kid. However, my first course at University was taught in Scheme, and it was by far the best computer science class I've ever had. Since then, my school has tried teaching freshmen Python, Java, and Matlab and they've all sucked horribly in comparison.
(LISP, ML, Haskell, etc. would probably be just fine too.)
If designing buildings was like programming, architects would have to deal with all new materials every few months (can't use the old ones), they'd have customers insisting that walls are best placed leaning 10 degrees out of true...
Software Engineering has apparently been said to be the hardest form of Engineering around because it's so hard to wright a program of significant size which is bug free. If structural engineers building bridges had as many bugs in their work as software engineers have in theirs, the world would be a very unsafe place.
I'm a comp sci and civil engineering double major. This has taught me two important things (that are relevant to this discussion):
There is no such thing as "Software Engineering." No matter how much UML and waterfall development plans and black-box testing you do, you do not go through an engineering process when making software. It doesn't exist, at least not yet. Sorry.
Be very, very afraid, because the world is an unsafe place, and is getting worse by the day. Why? Because pretty much the same thing is happening in the civil engineering field as is happening in computer science! The curriculum is being dumbed-down to the point where soon a Master's degree will be the "entry-level" one, and will be required to get a P.E. license. This isn't because the requirements for the license have gotten any harder; it's because the stuff that people who got their Bachelor's a decade or so ago learned is now being taught at the graduate level! The fact that there's a lot of emerging technology (pre-stressed concrete, fiber-reinforced polymers, building information modeling, etc.) only exacerbates the problem. And buildings being built today were designed using structural analysis software that works by accident if it does at all, by people who almost certainly didn't know how to use it properly (because describing a structure in such a program is quite a lot like programming, which my fellow CE-but-not-CS students are notoriously bad at).
By the way, I think you meant "write," not "wright" (unless you indeed meant to use the present tense of "wrought," but I don't think that form of the word actually exists).
The two major issues to be solved with that are that you need double-precision hardware (I can't remember if the Nvidia 9000 series supports that or not) and, more importantly, you need to write GPU algorithms for solving sparse matrices.
If the US did that, then the rest of the world would cease continuing to loan us money. And if that happened, our economy would collapse [worse than it's doing already].
No, free speech is a right (along with the rest of the stuff listed in the Bill of Rights). Copyright is a privilege of Congress, for the explicit purpose of "promot[ing] the progress of science and the useful arts" and nothing else.
It was the right of fathers in ancient Rome to kill his child if he wanted to. Should we honor that "right" too?
On the contrary, they don't have the right to steal their work from the Public Domain! So there! See, I can jabber on about "rights" too!
You're assuming that your particular ideology is the Gospel Fucking Truth, and deluding yourself into thinking that anyone who disagrees -- even when they're reasoning from a different set of axioms -- is a hypocrite. Here's a newsflash: that makes you the asshole, not me!
Look, if you're going to be willfully stupid and refuse to understand what I'm telling you, then you might as well not reply at all.
So what?
See, that's the thing: I completely understand your argument. No really, I do!
The thing is, though, that I simply don't care. It's not my problem when creators of Imaginary Property can't find a working business model for themselves. They're perfectly welcome to go find something else to do with their lives. It's also not my fault that they want to delude themselves into thinking that they can stop the copying. No matter what DRM or legal measures they try to go to, it's just not going to happen. And that's nto some "hippie idealism;" that's just a pragmatic statement of fact. They can either acknowledge it and deal with it, or they can thrash and die.
It's not about "the law," though. Laws are reflection of society, not the other way around -- you don't avoid doing something because it's against the law, you make it against the law because it was a bad thing to do in the first place. But because of this, laws don't always get it right. It used to be illegal to aid an escaping slave, for example. But does that make such an action wrong? Of course not (unless you're a KKK member)! Laws should be followed when they are just, but when they are unjust they should be broken.
By your logic, ambulance drivers should lose their driver's licenses and soldiers should be jailed for murder.
Wanna bet? Here's "what we say:"
Copyright holders of proprietary information (like the RIAA) try to prevent it from being free to modify and share without restriction, so we oppose them. "What we do" is completely consistent with "what we say" in this case.
Copyright holders of Free information (like the FSF) try to force it to be free to modify and share without restriction, so we support them. "What we do" is also completely consistent with "what we say" in this case too!
"Slashdotters" want the software to be freely distributed, freely used, and freely modified. Corporations use copyright to prevent that, so Slashdotters are against them. The FSF uses copyright to promote that, so Slashdotters support it. That's not hypocritical at all: in all cases Slashdotters are trying to work towards the same goal. You only thought it was hypocritical because you weren't looking at the whole issue.
Or maybe he means that some Cisco-branded hardware that the FSF doesn't know about is running GPL'd software too! It seems reasonable to me that that could have happened; after all, why would Cisco want to keep making two completely separate lines of hardware when they could just integrate them and then differentiate between high-end and low-end by branding only?
The really weird thing is that the WRT54G, with Linux, cost $50 years ago. The new WRT54G, with less hardware, cost -- guess what -- $50 today! Or, alternatively, the WRT54GL costs more than $50. Isn't hardware supposed to get cheaper and better over time, rather than worse or more expensive?
Actually, out of the three of my friends who majored in electrical engineering [technology], only one of them has a job in his field. The other two have IT/website backend/light Java-type jobs. Guess which one went to DeVry (while the other two went to GA Tech).
Now, I don't know how that actually translates to salary, per se, but I'd bet the DeVry guy's job is at least as good as either of the other guys'.
(By the way, all degrees were Bachelor's degrees, but the DeVry guy earned his in 3 years while the other two struggled through in 5, and the DeVry guy got a full scholarship.)
The bottom line is that if you want job training, you are not better off at a University. It's the same in all fields: getting a mechanical engineering degree is a waste of time if you want to be an auto mechanic. And there's nothing wrong with being a mechanic (or, analogously, an "IT guy" or a "programmer"); in fact, there are a lot more of those sorts of jobs around than there are for engineers and computer scientists! The real problem here is that both schools and students have completely the wrong expectation of what a university computer science program is all about.
"Liberty" is a noun. We need an adjective. Try again.
If what you care about is being "useful in industry," then go to DeVry or ITT or one of those other vocational schools that advertise on TV.
Obviously it doesn't solve the underlying problem, but try calling up your phone company and telling them to disable text messages for your account. I did (along with disabling Internet), and it worked out great. (Besides, what kind of idiot wants to sit there typing out a message when he inherently has the ability to just call the person anyway?!)
If you think functional programming involves a series of commands, you have no fucking clue what you're talking about whatsoever.
You know, I just realized: The fact that you answered "both" (referring to imperative and OO) when asked what programming paradigm to start with perfectly illustrates why you're wrong!
All CS students are going to learn imperative and OO anyway. But if they don't learn functional programming first, then they have no clue what a huge chunk of computer science they're missing!
But that's okay, because they can take a computer architecture class (with C!) later.
Oh yes, I completely agree. However, you're missing the point! Scheme -- or any "CS 101"-type class is not about teaching "good coding practice in C or Java!" It's about teaching people to think in algorithms. Not only does it take way more than two classes to learn "good programming practices" anyway, but your boss can teach you that when you have your first code review. But understanding the fundamentals of algorithms, including recursion and such, is much more fundamental.
Besides, how would Python or Matlab teach good C or Java programming practices anyway?
Good guess. However, I thought the department did perfectly well with Scheme, although I admit that a lot of non-CS students hated it. I still think they were better off for it.
First of all, who the fuck cares?! If you want a vocational certification, go to DeVry or something!
Second, just off the top of my head, AutoCAD is written in LISP. Counterexample, bitch! Eat it!
Wow, how fucking useless can you get?! I'll bet half the students wrap their C code in a class and think they're done.
Now, if they had to write their programs in LISP and Java (or LISP and C), then they'd be getting somewhere!
Object orientation is only an essential facet of design if your design is object-oriented.
Yes, it sounds like a tautology, but it's not. Object orientation is not necessarily the best way to solve some problems. For example, I just wrote a structural analysis problem in non-object-oriented Matlab because the point of the thing was to compile all the data into some big matrices and then solve them. The design of the program came straight from the equations in the text book. Similarly, something like a compiler is perhaps best implemented in non-object-oriented LISP.
My first language was not Scheme -- I learned bits of LOGO and [Q|Visual|Ti-calulator] Basic as a kid. However, my first course at University was taught in Scheme, and it was by far the best computer science class I've ever had. Since then, my school has tried teaching freshmen Python, Java, and Matlab and they've all sucked horribly in comparison.
(LISP, ML, Haskell, etc. would probably be just fine too.)
Ahem...
(I agree with your fundamental point, by the way; I just thought that particular choice of analogy was amusing.)
I'm a comp sci and civil engineering double major. This has taught me two important things (that are relevant to this discussion):
By the way, I think you meant "write," not "wright" (unless you indeed meant to use the present tense of "wrought," but I don't think that form of the word actually exists).
I'm honestly surprised there's not a fork of vi called "diVIne."
The two major issues to be solved with that are that you need double-precision hardware (I can't remember if the Nvidia 9000 series supports that or not) and, more importantly, you need to write GPU algorithms for solving sparse matrices.
If the US did that, then the rest of the world would cease continuing to loan us money. And if that happened, our economy would collapse [worse than it's doing already].
Oh, wow, thanks!
Man, this is such a surprise! I have so many people to thank... my parents, God, -- and oh yes, Satan!
(Note: that was a quote; I'm not actually a satanist.)