To be fair, there are some that I just have to respect. Naughty Dog, for one. So, if you filter out all the crap, I'd argue you have 5 or 10, tops, but those 5 or 10 are worth more than several thousand femarketroids.
I only saw a couple that I could actually respect. Game designer for Jak 3, ea_spouse, and head of PMS. Everyone else seemed to be VP this, Marketing that. This is not helping the steriotypes.
Marijuana is a weird drug that for the purposes of this dicussion has been set up as a strawman.
It's been called a "gateway" drug, and I think that for the purposes of discussion, it's useful to remember that it often is not a gateway drug -- often, people never try anything harder.
I realize that some have a longstanding belief that the war on drugs has been a bad thing. I grew up in a home where one of parents used, in this case prescription drugs.
Ah, so you have a longstanding belief that drugs are a bad thing.
I am somewhat sick of the misnomer "would someone thing of the children", but sometimes its valid. Here is one place.
A parent who would use is probably going to be a lousy parent anyway. Taking away the drugs will not help the children. In this case, you need to take away the children.
MySpace may very well aggravate you, but it does not result in physiological changes to your brain chemistry, nor does it result in physical dependence. It's a ridiculous argument.
We have plenty of legal drugs, then. Caffeine, for one. Arguably, it doesn't make you dangerous, but I wonder how many people who drink 4 or 5 Jolts a day would react if it was suddenly illegal, thus costing 100-200 times what it does now?
Great, maybe the people that wear seatbelts don't want to subsidize in the form of premiums those that don't?
It's an interesting question, but ultimately, I think it's far too dangerous to start limiting what harm people can do to themselves. There will always be other alternatives, anyway. There's a very, very dangerous, yet legal, alternative to getting high that is practiced among teenagers today -- maybe you've heard of The Choking Game? No substances, nothing but your own body. Cut off your oxygen and blood to the brain, giving you a lightheaded feeling, but let it all back before you die, giving you a rush.
I am not arguing that the choking game is a good idea, or that people should be allowed to do it. I'm arguing that it's probably a much higher cost to society to make and enforce laws about every little thing like this. Fall back on education -- make sure that before a kid gets on a bike, they know how important it is to wear a helmet. Let insurance companies make decisions based on whether you were wearing a seatbelt.
And let idiots get selected out. We do not need little warning labels and guard rails on everything.
And as someone else mentioned, we didn't legalize alcohol to appease the Mafia, we did it to completely destroy their business model, thus destroying their social structure. It would be kind of like if we defeated Hitler through attrition -- no one would call sanctions "appeasement".
I trust the FSF as it stands now, but it's dangerous to trust any institution over time. Who knows what the FSF will look like in 50 or 100 years? By then I might try to public-domain my work...
To me, this is why throwing CS Freshman at Java is a Bad Idea. Throw 'em at an 8080 assembler with 16k or RAM. Things like Java can come along, but later.
No, Java is bad for many other reasons, but the flaw in your own argument is that 8080 assembler will teach bad habits. Always teach loops before you teach gotos, or your students will use gotos to build loops.
No, what you should do is evaluate their code carefully -- look for memory leaks, wastes of CPU, and so on. Make sure you teach them to optimize their code, and grade them poorly if it runs too slowly -- benchmark them. From time to time, give them a much older computer than they're used to -- if the school requires a 2 ghz computer with a gig of RAM, give them a 200 mhz computer with 32 megs of RAM, a 2 gig hard drive, and Linux, and say "Make it work here."
And yes, make them learn assembly, so they know why some things are faster than others at a high level, and have a vague understanding of what's actually going on. Teach them about things like why to sometimes prefer wasting memory to save speed (caching some intensive computations), and why to sometimes use less memory, at the expense of speed -- nobody likes swapping, and even cache misses will kill your performance.
Because computers come with twice as much memory as the ones before. You say that as if it were a bad thing.
It is a bad thing. If you could keep just a tiny bit under Moore's Law, at least the new computers would feel faster.
You're half-right about optimizing. Yes, it's a bad thing to over-optimize. It's also a bad thing to just shrug at IDEs that require at least a gig of RAM to run reasonably.
IMO, the key is balance. Exercising only the mind or only the body is unhealthy in a child, and in an adult.
DDR and Big Brain Academy.
Problem solved.
But seriously, what we need to do is just stop having so many damned kids that we have to live in huge, corrupt cities where there's no backyard or open fields for the kids to explore. Suburbia exists for a reason. Small towns exist for a reason.
It's only within the last century that people have decided that putting certain, arbitrary mind-altering substances except alcohol and caffeine in you is not only bad, but that it makes you dangerous too.
Fixed it for you.
The laws are not there because of soccer moms. Soccer moms are simply a means to an end for those in control.
The junkies are not the only problem, if you think about it. Yes, junkies are and always will be a problem -- look at alcohol. But when we outlawed alcohol, we created the Mafia. When we made it legal again, the Mafia had less power. So now, if we legalize all of these drugs, the violence disappears.
At least by keeping them illegal, we have some way to discourage new users.
Oh, BS. I dare you, find me a single person who says "Oh, I would totally be a crack addict, I'd shoot heroin all the time if it was legal!"
Oh, and think about marijuana. Let's try this: marijuana vs alcohol. Is one significantly more dangerous than the other? Really? There are plenty of people (not me) who smoke a little marijuana now and then, maybe drink a little beer, but will never touch more dangerous drugs.
But I like your logic:
Legalizing drugs hurts the people that use them and everyone around them.
Oh cool! Legalizing MySpace hurts the people that use them and everyone around them! Can we make MySpace illegal already?
Grow up. We live in a society that assumes that as adults, we can make our own decisions. Laws are not there to protect us from ourselves. Laws are there to protect us from each other. We should not be legally required to wear a seatbelt in a car or a helmet on a bike. We should be legally required to take Driver's Education before getting a license to drive.
The only exceptions are the laws that exist to protect children from abusive or negligent parents -- children must wear seatbelts.
Prohibition on alcohol created the Mafia and organized crime.
After prohibition, the Mafia has never been nearly as powerful.
It's not about whether there are addicts, it's about what kind of social conditions revolve around addicts. Think about it -- you're likely addicted to caffeine right now. You're absolutely addcited to oxygen. So what's the problem -- is it that addiction == wrong? No, it's that addiction to something illegal means you now need a different social structure to support the addiction.
When was the last time you heard of a wino killing to get his fix?
More to the point: Legalizing them means we don't spend resources trying to solve a problem that isn't our problem anyway. I honestly cannot think of a single person I know who makes their choice about whether or not to do drugs based on the fact that they are illegal. All the law does is impoverish those who are addicted, without giving them a way to solve the problem -- likely making them of even less use to society.
Our society ignores social ills by denying that they exist and using tools to pretend that reality is something else.
So you're saying he should send his kids out to play with the whores and crackheads, just to acknowledge that they exist?
Your point is valid, but so is his. We shouldn't have to send our children out into the problems of the world in order to clean them up. Cleaning shit up is our job.
Living through the TV and computer has given me a far better life than he's describing.
I work in computers, I can work 5 hours a day or less and have more than enough money for rent, utilities, broadband Internet, more than enough food (even if it's Ramen), and still have enough left over that my student loans won't crush me.
Because I don't like trusting the FSF with so much. I can understand the GPL being the way it is, but really, how long can it continue to be the FSF?
Actually, I believe this is why some software works the way it does -- Gentoo asks that you sign over the copyright to any ebuilds you submit to the Gentoo Foundation. That way, if they want to change the license of the distro later, they can do it. I like this better -- right now, Linux can't switch to the GPLv3, because everyone owns their own contributions, and they included a note that said "GPLv2, but not later", whereas most GPL'd stuff is GPLv3 or later. A single "no" from a developer would wreak havok if they ever attempted it.
Thank God they put in that clause, or the FSF could wake up one day and release the GPLv4, which says "This code is now completely public domain." Or something like that. No, I don't like the single point of failure. The upgrade clause is nice, if we have a mechanism whereby a few people can actually switch to a new license.
At least that way, if Gentoo decides to relicense everything as proprietary, we still have Ubuntu -- and anyone can fork the Gentoo code anyway.
Similarly, I would not like the FSF to be able to go around and sue the shit out of everyone infringing on these patents. Just have MS sign something that says "These patents are hereby public domain..."
Except that 99% of game adaptations are pure crap, and they're starting with games that were good enough to be noticed, probably the top 90th percentile -- we should be expecting at least 70-80% of them to be decent. Instead, well, 99% suck, and that's why our index is "probability of suck".
When a movie is good, it gets noticed. Or, sometimes, when it's so bad it's funny, like Snakes on a Plane or Texas Chainsaw Massacre. Game adaptations NEVER get noticed for being good -- they ONLY get noticed for being mediocre. Christ, even fucking comic book adaptations are good sometimes. People liked Spiderman, Daredevil, Superman Returns. But while some people got a laugh out of Tomb Raider, most of what you hear about it is how much it sucked.
Which means Hollywood seems to have an even lower respect for gamers than they do comic book nerds.
gcj can compile Java source or bytecode into a native binary..NET (and Mono) can both do ahead-of-time native compilation, even if you only have a bytecode (assembly) to start with, but by doing this, you lose a lot of run-time optimization. I know this is true for Mono, I'm not sure to what extent it's true for.NET or Java. It would be nice if we could cache information used by a running VM, but still do all the nice things that a VM does for you.
But we should be doing lazy loading anyway, if it's possible to do it reasonably.
Ok, what are the weaknesses of Azureus? The main one I see is performance...
Java could, in theory, perform very well. In theory, it could perform faster than C. Remember, a VM does not necessarily mean slower, and there is something to be said for the portability -- Java was supposed to be AJAX, 10 years earlier.
I'm even more amused by LISP's parentheses, but I can live with them. I think of Ruby as exciting not because it's new, but because it's most of what I like about LISP without the ugliness. I mentioned Scheme because I seemed to remember it having a bytecode engine.
But the real problem seems to be the same problem as with everyone's pet language. In theory, LISP could do everything I want, but I can't find a single implementation of LISP or Smalltalk that does it. Well, that's not true -- I can find one or two, but they're either commercial or in a state worse than Parrot.
CMUCL seems nice in that it can call C, but its bytecode is 50 times slower than its compilation, and at a first glance, I don't see how to go from bytecode to a compiled form.
SBCL doesn't seem to want to tell me what kind of compiler it has. Do we compile to native? Bytecode? Does it just run the macros and dump the preprocessed output?
CLISP compiles to bytecode, but that bytecode is then interpreted. That's a performance hit -- 50 times slower, if it's at all like CMUCL.
ABCL is awesome in that it's about arming bears, but it looks to be in fairly early development. Also, they do not seem to understand what the LGPL is, which is frightening.
There are advantages to having a common JIT engine, though.
I've been sitting on the sidelines, watching all of this, wishing desperately for a clear winner. I'm looking for:
Bytecode. I don't want to have to compile separately for every platform I'd support, but I want to be able to go proprietary.
Fast. Faster-than-C if possible. I'll accept some performance loss, but not too much. Ahead-of-time compilation is a huge plus -- I have seen Java apps take forever to start, and I don't want my program to feel like Eclipse.
Dynamic. I want to be able to replace chunks of my code at runtime. Depending on the language, this could be easier or harder, but most seem to allow some level of reflection.
Popular. In general, you can call any Java library from any JVM language, and the same is true for these other platforms.
Open source. I may want to go proprietary, but I still want the ability to dig around under the hood. Even if it's not my bug, I should be able to fix it.
Stable. Duh, but really, there are so many of these that I've looked at that work beautifully in theory, but completely fall apart in practice, due to being fairly pre-alpha.
Here's what I've come up with:
Java: Mature, has lots of interesting languages, a decent security model, and may soon become open source. Makes it incredibly hard to call out to native code, though, compared to some alternatives. Java itself is ugly, though, and the JVM is designed for it.
.NET: Reasonably mature, backed by MS so not going away soon, feels native on Windows. May be hard to reverse-engineer, so it's good for proprietary code. Actually has a working open-source implementation (mono). Makes it very easy to call out to native code. C# is Java's bastard cousin, and it's hard to pick a clear winner, but C# does appear to be quite a bit less ugly at first glance.
Python: Mature in the cpython form. Psyco is interesting, but doesn't work on anything other than 32-bit x86. Pypy is also interesting, but doesn't work for me on amd64. Makes it easy to call native C code. May be easy to reverse-engineer.
Parrot: Not stable at all. It's designed specifically for scripting languages, which is good, because I like Ruby. The best part is, it will be Perl6's engine, which means if Python and Ruby are ported, my Ruby code will be able to call CPAN modules. But at the moment, not even the spec is completely done.
Scheme/Lisp/Erlang/others. Every one of these I've looked at has one fatal flaw: It's not JIT'ed, or compiled. Erlang can be compiled, but then you lose one killer feature: even if they're just bytecode-compiled, compiled functions cannot be replaced at runtime, the way other Erlang functions can.
I'm willing to accept some performance hit, and I'm even willing to accept severe obscurity -- if Erlang fulfilled every requirement other than popularity, it would be perfect. There have been cases where a few good LISP programmers can hack circles around anyone else in any other language, and I'll gladly trade popularity for massive efficiency of a few people.
Unfortunately, right now I'm stuck between.NET and Java. Ruby.NET is, unfortunately, written in C#, does not follow the spec, doesn't give very useful information when it crashes, and doesn't seem to be that much faster, at first glance. At least it's a compiler. The JDK, though, is proprietary and closed, and doesn't look as well done as.NET in a few places -- it's child's play to make a.NET binding to a C library, compared to what you have to go through in Java. But then, Java's already done the main ones...
Common sense tells me that I should just pick one and go, but if I pick the wrong one, I'll be playing catch-up for years, so instead, I just go back to my day job and use PHP.
The hell we can't. You didn't say a thing about source.
Does it run an entirely open source Linux? I don't exactly trust Sony after how they bastardized Linux for the PS2.
To be fair, there are some that I just have to respect. Naughty Dog, for one. So, if you filter out all the crap, I'd argue you have 5 or 10, tops, but those 5 or 10 are worth more than several thousand femarketroids.
Perhaps, but it's also a classic. That should count for something.
Seconded. Bonus is that Lucas doesn't get to write it, it's already been done right. The Luke/Leah relationship was just plain weird.
I only saw a couple that I could actually respect. Game designer for Jak 3, ea_spouse, and head of PMS. Everyone else seemed to be VP this, Marketing that. This is not helping the steriotypes.
It's been called a "gateway" drug, and I think that for the purposes of discussion, it's useful to remember that it often is not a gateway drug -- often, people never try anything harder.
Ah, so you have a longstanding belief that drugs are a bad thing.
A parent who would use is probably going to be a lousy parent anyway. Taking away the drugs will not help the children. In this case, you need to take away the children.
We have plenty of legal drugs, then. Caffeine, for one. Arguably, it doesn't make you dangerous, but I wonder how many people who drink 4 or 5 Jolts a day would react if it was suddenly illegal, thus costing 100-200 times what it does now?
It's an interesting question, but ultimately, I think it's far too dangerous to start limiting what harm people can do to themselves. There will always be other alternatives, anyway. There's a very, very dangerous, yet legal, alternative to getting high that is practiced among teenagers today -- maybe you've heard of The Choking Game? No substances, nothing but your own body. Cut off your oxygen and blood to the brain, giving you a lightheaded feeling, but let it all back before you die, giving you a rush.
I am not arguing that the choking game is a good idea, or that people should be allowed to do it. I'm arguing that it's probably a much higher cost to society to make and enforce laws about every little thing like this. Fall back on education -- make sure that before a kid gets on a bike, they know how important it is to wear a helmet. Let insurance companies make decisions based on whether you were wearing a seatbelt.
And let idiots get selected out. We do not need little warning labels and guard rails on everything.
And as someone else mentioned, we didn't legalize alcohol to appease the Mafia, we did it to completely destroy their business model, thus destroying their social structure. It would be kind of like if we defeated Hitler through attrition -- no one would call sanctions "appeasement".
Which is not legally binding.
I trust the FSF as it stands now, but it's dangerous to trust any institution over time. Who knows what the FSF will look like in 50 or 100 years? By then I might try to public-domain my work...
No, Java is bad for many other reasons, but the flaw in your own argument is that 8080 assembler will teach bad habits. Always teach loops before you teach gotos, or your students will use gotos to build loops.
No, what you should do is evaluate their code carefully -- look for memory leaks, wastes of CPU, and so on. Make sure you teach them to optimize their code, and grade them poorly if it runs too slowly -- benchmark them. From time to time, give them a much older computer than they're used to -- if the school requires a 2 ghz computer with a gig of RAM, give them a 200 mhz computer with 32 megs of RAM, a 2 gig hard drive, and Linux, and say "Make it work here."
And yes, make them learn assembly, so they know why some things are faster than others at a high level, and have a vague understanding of what's actually going on. Teach them about things like why to sometimes prefer wasting memory to save speed (caching some intensive computations), and why to sometimes use less memory, at the expense of speed -- nobody likes swapping, and even cache misses will kill your performance.
It is a bad thing. If you could keep just a tiny bit under Moore's Law, at least the new computers would feel faster.
You're half-right about optimizing. Yes, it's a bad thing to over-optimize. It's also a bad thing to just shrug at IDEs that require at least a gig of RAM to run reasonably.
It's mostly not the behaviors, but the laws against the behaviors that create problems. Go read up on prohibition and the Mafia.
DDR and Big Brain Academy.
Problem solved.
But seriously, what we need to do is just stop having so many damned kids that we have to live in huge, corrupt cities where there's no backyard or open fields for the kids to explore. Suburbia exists for a reason. Small towns exist for a reason.
Fixed it for you.
The laws are not there because of soccer moms. Soccer moms are simply a means to an end for those in control.
The junkies are not the only problem, if you think about it. Yes, junkies are and always will be a problem -- look at alcohol. But when we outlawed alcohol, we created the Mafia. When we made it legal again, the Mafia had less power. So now, if we legalize all of these drugs, the violence disappears.
Oh, BS. I dare you, find me a single person who says "Oh, I would totally be a crack addict, I'd shoot heroin all the time if it was legal!"
Oh, and think about marijuana. Let's try this: marijuana vs alcohol. Is one significantly more dangerous than the other? Really? There are plenty of people (not me) who smoke a little marijuana now and then, maybe drink a little beer, but will never touch more dangerous drugs.
But I like your logic:
Oh cool! Legalizing MySpace hurts the people that use them and everyone around them! Can we make MySpace illegal already?
Grow up. We live in a society that assumes that as adults, we can make our own decisions. Laws are not there to protect us from ourselves. Laws are there to protect us from each other. We should not be legally required to wear a seatbelt in a car or a helmet on a bike. We should be legally required to take Driver's Education before getting a license to drive.
The only exceptions are the laws that exist to protect children from abusive or negligent parents -- children must wear seatbelts.
I think you need to read some fucking history.
Prohibition on alcohol created the Mafia and organized crime.
After prohibition, the Mafia has never been nearly as powerful.
It's not about whether there are addicts, it's about what kind of social conditions revolve around addicts. Think about it -- you're likely addicted to caffeine right now. You're absolutely addcited to oxygen. So what's the problem -- is it that addiction == wrong? No, it's that addiction to something illegal means you now need a different social structure to support the addiction.
When was the last time you heard of a wino killing to get his fix?
More to the point: Legalizing them means we don't spend resources trying to solve a problem that isn't our problem anyway. I honestly cannot think of a single person I know who makes their choice about whether or not to do drugs based on the fact that they are illegal. All the law does is impoverish those who are addicted, without giving them a way to solve the problem -- likely making them of even less use to society.
So you're saying he should send his kids out to play with the whores and crackheads, just to acknowledge that they exist?
Your point is valid, but so is his. We shouldn't have to send our children out into the problems of the world in order to clean them up. Cleaning shit up is our job.
Living through the TV and computer has given me a far better life than he's describing.
I work in computers, I can work 5 hours a day or less and have more than enough money for rent, utilities, broadband Internet, more than enough food (even if it's Ramen), and still have enough left over that my student loans won't crush me.
As in, public-domain them?
Because I don't like trusting the FSF with so much. I can understand the GPL being the way it is, but really, how long can it continue to be the FSF?
Actually, I believe this is why some software works the way it does -- Gentoo asks that you sign over the copyright to any ebuilds you submit to the Gentoo Foundation. That way, if they want to change the license of the distro later, they can do it. I like this better -- right now, Linux can't switch to the GPLv3, because everyone owns their own contributions, and they included a note that said "GPLv2, but not later", whereas most GPL'd stuff is GPLv3 or later. A single "no" from a developer would wreak havok if they ever attempted it.
Thank God they put in that clause, or the FSF could wake up one day and release the GPLv4, which says "This code is now completely public domain." Or something like that. No, I don't like the single point of failure. The upgrade clause is nice, if we have a mechanism whereby a few people can actually switch to a new license.
At least that way, if Gentoo decides to relicense everything as proprietary, we still have Ubuntu -- and anyone can fork the Gentoo code anyway.
Similarly, I would not like the FSF to be able to go around and sue the shit out of everyone infringing on these patents. Just have MS sign something that says "These patents are hereby public domain..."
Except that 99% of game adaptations are pure crap, and they're starting with games that were good enough to be noticed, probably the top 90th percentile -- we should be expecting at least 70-80% of them to be decent. Instead, well, 99% suck, and that's why our index is "probability of suck".
When a movie is good, it gets noticed. Or, sometimes, when it's so bad it's funny, like Snakes on a Plane or Texas Chainsaw Massacre. Game adaptations NEVER get noticed for being good -- they ONLY get noticed for being mediocre. Christ, even fucking comic book adaptations are good sometimes. People liked Spiderman, Daredevil, Superman Returns. But while some people got a laugh out of Tomb Raider, most of what you hear about it is how much it sucked.
Which means Hollywood seems to have an even lower respect for gamers than they do comic book nerds.
...if they fire Ken Kutaragi and hire college students. Here's your caffeine, here's your beer, let's go, people!
Not quite the same way.
.NET (and Mono) can both do ahead-of-time native compilation, even if you only have a bytecode (assembly) to start with, but by doing this, you lose a lot of run-time optimization. I know this is true for Mono, I'm not sure to what extent it's true for .NET or Java. It would be nice if we could cache information used by a running VM, but still do all the nice things that a VM does for you.
gcj can compile Java source or bytecode into a native binary.
But we should be doing lazy loading anyway, if it's possible to do it reasonably.
Ok, what are the weaknesses of Azureus? The main one I see is performance...
Java could, in theory, perform very well. In theory, it could perform faster than C. Remember, a VM does not necessarily mean slower, and there is something to be said for the portability -- Java was supposed to be AJAX, 10 years earlier.
I'm even more amused by LISP's parentheses, but I can live with them. I think of Ruby as exciting not because it's new, but because it's most of what I like about LISP without the ugliness. I mentioned Scheme because I seemed to remember it having a bytecode engine.
But the real problem seems to be the same problem as with everyone's pet language. In theory, LISP could do everything I want, but I can't find a single implementation of LISP or Smalltalk that does it. Well, that's not true -- I can find one or two, but they're either commercial or in a state worse than Parrot.
If I'm missing something, please let me know.
There are advantages to having a common JIT engine, though.
I've been sitting on the sidelines, watching all of this, wishing desperately for a clear winner. I'm looking for:
Here's what I've come up with:
I'm willing to accept some performance hit, and I'm even willing to accept severe obscurity -- if Erlang fulfilled every requirement other than popularity, it would be perfect. There have been cases where a few good LISP programmers can hack circles around anyone else in any other language, and I'll gladly trade popularity for massive efficiency of a few people.
Unfortunately, right now I'm stuck between .NET and Java. Ruby.NET is, unfortunately, written in C#, does not follow the spec, doesn't give very useful information when it crashes, and doesn't seem to be that much faster, at first glance. At least it's a compiler. The JDK, though, is proprietary and closed, and doesn't look as well done as .NET in a few places -- it's child's play to make a .NET binding to a C library, compared to what you have to go through in Java. But then, Java's already done the main ones...
Common sense tells me that I should just pick one and go, but if I pick the wrong one, I'll be playing catch-up for years, so instead, I just go back to my day job and use PHP.