I thought the expansion pack characters made things too easy. I totally *waltzed* through the game with the Assassin, never even coming close to dying or even struggling. Even Duriel at the end of Act 2 was a piece of cake. That just doesn't seem right... the other characters still have a hell of a time in spots, but the new ones seem too powerful (or having all the charms and sockets and gems and jewels and runes makes them too powerful...)
No, you missed the point again. The SWING class library is slow. I've done lots of server-side Java work (no UI), and it's pretty damn fast. In fact, one of our java servers was achieving higher through-put rates than the C++ version it was replacing. I was impressed...
It's also very easy to write code that LOOKS like it should work, but which doesn't. The fact is, while VB (and Vbscript) shield you from what's going on underneath, sometimes you NEED to know what's going on in order to have your code work correctly. For instaince, in Vbscript, there's a WScript object that has a StdIn method member. However, if you call "WScript.StdIn.ReadLine()" over and over, you WILL miss data! You have to use the SET command to assign WScript.Stdin to a variable, as in "set StdIn = WScript.Stdin" first, and then ONLY use that variable from then on. Otherwise data WILL be dropped. Similarly, you MUST know what things are objects and what things are not, as you use the 'set' command to assign objects to variables, and you cannot use 'set' to assign other things to variables. It's all very fractured, inconsistent, and insane if you ask me. A totally crappy language.
I'm glad to see it getting 'cleaned up' some in VB.Net, but frankly, I think that it'll die, with C# taking over on the Wintel platform. Oh, how I will celebrate the day when that abortion of a language called "VisualBasic" actually dies!
Check out the.Net libraries. They pretty much do what you ask. The whole.Net programming environment is light-years ahead of using Win32 APIs to try and get anything done. Or MFC for that matter. The new common language runtime object library is pretty comprehensive and relatively well designed.
Better yet, stop the annoying habit of ASSUMING types when they aren't specified (i.e. in the function parameter case, assuming *int* when nothing is specified). That is one of the most annoying features of C, responsible for lots of bugs and errors, all because some programmer was too damn lazy to write "int main" instead of just "main"...)
It doesn't NECESSARILY make things that much slower. Especially on today's processors. But it does mean more memory must be allocated. In C/C++, you can pass an array or a buffer to a function, and that function might have no idea how BIG the array/buffer is, and has no way to find out (unless coded to take the length as a parameter, in which case it must TRUST the caller).
With ubound/lbound and.length(), the routine can at least ask about the size and take care of things accordingly. You aren't checking on EACH access to a buffer or array element, only once up front.
Add in dynamic class loading, no mucking with 'headers', addition of interfaces, no mucking with linkers, built in thread and synchronization primitives into the language...
And be aware that generics/templates are coming soon to a Java near you. Very interestingly implemented too... completely backwards compatable with the existing container classes (which will be reimplemented with generics to offer type-safety, but which won't break existing code), and their use doesn't explosively grow the size of your code.
And while I do miss destructors, the try/finally helps make up for it:-)
Well, the java static final nonsense is very similar in reality to the const stuff in C++ (as opposed to #defines in C). Yeah, I wish they had a more formal notion of 'constants' in Java, but the static final stuff works just as well from what I've seen. It's just the name that I find annoying. Who thought up the word 'final' for use in that context, anyway? Bleh...
And I'm not bothered about the Java text file handling at all. Precisely because it is so ultimately powerful. Sure, it seems like you might have to jump through a hoop to do the simplest of things, but what if you want to do data transformations as you read... it's so trivial in Java. And there are so many ways of reading text and writing files, really... it's nice to have the flexibility to do anything you really need, by just treating them as streams, and having filters handle the stream as you want (buffered or unbuffered, read by character or by line, do character translation or not, etc, etc). Just build what you want from the available options.
And I haven't used SWING, but I've never heard anything good about it. I don't know why it doesn't utilize native widgets, instead trying to reinvent them all. Bleh. But then I never use Java for GUI programming (except for servlets, where the 'gui' is really a web browser/HTML, so that's quite different).
It is disapointing that the syntax was not changed more radically. I for one am pretty bored with typing semicolons at the end of lines. Using braces for block structure is equally tedious.
And what do you propose as an alternative?
VisualBasic is one of the few langauges I know that doesn't have a line-terminator character. And it does this by adding semantic meanings to carriage-returns. Which I HATE, because it means you can't arbitrarily format your code as you wish (breaking up long logical lines onto multiple physical lines, etc).
I hate languages where white-space is significant. Period.
So I'm curious what you think a BETTER alternative to semi-colons and braces would be?
And lets not forget that Java 1.4 introduces a beta of generics, so people can start working with type-safe collections as soon as this fall... with them being fully incorporated into the language with version 1.5 (18 months later).
And Java has a damn good (and getting better all the time) class library. Especially once you get into J2EE, with the messaging and logging apis available...
All the programmers I know of who have seen the STL have run away screaming from it. And this includes some of the best programmers I've ever seen.
I too can't really stand it. It's beyond convoluted, arcane, and obscure. Only 2% of the C++ development community can probably follow ANY of the code that implements it. And using it is a bitch and a half.
Compare it to the Java standard library -- powerful, easy, straight-forward, and consistent. And once it gets generics in the 1.5 release (1.4 has a beta of them), the Java containers will be not only typesafe, but also much more efficient (won't cause code-bloat).
And in seven years of C++ coding, I've never seen anyone use std:string. Everyone has either already written their own string classes, or are using some other class library that has strings. The STL came along way too late, and it's usage is at best 'spotty' now because of it.
Which is FAR more likely than the thing you came up with. Just because you chose one of the ugliest and most difficult to parse examples, doesn't mean that's the *only* alternative...
And I'm DOUBLY against macros. The language itself should provide the facilities you need, so you don't HAVE to require a macro pre-processor. Like 'typedef' instead of #DEFINE for types, and a real include or import directive rather than #INCLUDE. Real language features for defining constants and generics. Macros cause way WAY too much hardship in maintaining software, and what benefits they do provide can better be provided through actual language features.
I think "Aliens" falls into the category of being better than the original. "Terminator 2" is also pretty good. "Star Trek 2" was also markedly better than the original. You're right, though, there aren't many examples.
But "Episode Two: The Clone Wars" scans quite nicely.
But why not something more general anyway: "Episode Two: Darkness Falls" (followed by Episode Three: Rise of the Empire).
"Attack of the Clones" just scans as a cheesey 50's monster movie, eithe Attack of the Killer Tomatoes, or Attack of the 50-foot woman, or something like that. It's just WRONG...
But you're ignoring whole sections of social commentary in the original. It wasn't JUST about the cold war. It was about race relations, slavery, bigotry, and all sorts of other issues.
Are you saying we have NO social issues to deal with in today's society? I think race and class issues could have been addressed much more sharply, issues with PETA and such, hell, even allegory regarding religion and the place of gays in society could have been used (since that seems to be a rather large issue these days... think the military, boy scouts, etc, etc).
If you're going to update a movie with such strong social commentary such as POTA, it would have been wise to also update the social commentary within it, rather than just losing it almost entirely and turning it into yet another boring action movie with no soul.
In the original POTA (and in Sixth Sense, for example) the surprise ending is breathtaking because it gives new meaning to the entire film we had just watched - it was like, "Wow, that explains everything!" In the new POTA, everything got wrapped up before the big ending and the surprise ending was more like, "Oh, some new developments occurred which I can't logically implied but might give meaning to a sequel, but not to the film I just watched." Not a very good use of a surprise ending.
I think you hit the nail right on the head with that statement. Mod this guy up!
Exactly. What this film utterly lacked was a deeper meaning. An allegorical subtext. And it so desperately needed one. The movie looks utterly irrelavent next to the original. The only improvement is in the excellent ape makeup effects.
In my opinion, Roger Ebert gets it exactly right. Especially right at the end:
Given how famous and familiar Franklin J. Schaffner's 1968 film is, Tim Burton had some kind of an obligation to either top it, or sidestep it. Instead, he pays homage. He calls this version a "reimaging," and so it is, but a reinvention might have been better. Burton's work can show a wild and crazed imagination, but here he seems reined in. He's made a film that's respectful to the original, and respectable in itself, but that's not enough. Ten years from now, it will be the 1968 version that people are still renting.
The movie played it too safe. All of the things that make Burton movies great to see seemed restrained. Virtually any social commentary was pulled back or watered down or ignored. It could have been biting. It could have been interesting. It could have had a point of view, with something to say. Instead about all it said was "check brain at door, have fun for two hours, then forget about it"...
I thought the expansion pack characters made things too easy. I totally *waltzed* through the game with the Assassin, never even coming close to dying or even struggling. Even Duriel at the end of Act 2 was a piece of cake. That just doesn't seem right... the other characters still have a hell of a time in spots, but the new ones seem too powerful (or having all the charms and sockets and gems and jewels and runes makes them too powerful...)
C arrays do NOT know their length... and THAT was what I was comparing them with.
No, you missed the point again. The SWING class library is slow. I've done lots of server-side Java work (no UI), and it's pretty damn fast. In fact, one of our java servers was achieving higher through-put rates than the C++ version it was replacing. I was impressed...
It's also very easy to write code that LOOKS like it should work, but which doesn't. The fact is, while VB (and Vbscript) shield you from what's going on underneath, sometimes you NEED to know what's going on in order to have your code work correctly. For instaince, in Vbscript, there's a WScript object that has a StdIn method member. However, if you call "WScript.StdIn.ReadLine()" over and over, you WILL miss data! You have to use the SET command to assign WScript.Stdin to a variable, as in "set StdIn = WScript.Stdin" first, and then ONLY use that variable from then on. Otherwise data WILL be dropped. Similarly, you MUST know what things are objects and what things are not, as you use the 'set' command to assign objects to variables, and you cannot use 'set' to assign other things to variables. It's all very fractured, inconsistent, and insane if you ask me. A totally crappy language.
I'm glad to see it getting 'cleaned up' some in VB.Net, but frankly, I think that it'll die, with C# taking over on the Wintel platform. Oh, how I will celebrate the day when that abortion of a language called "VisualBasic" actually dies!
Check out the .Net libraries. They pretty much do what you ask. The whole .Net programming environment is light-years ahead of using Win32 APIs to try and get anything done. Or MFC for that matter. The new common language runtime object library is pretty comprehensive and relatively well designed.
Better yet, stop the annoying habit of ASSUMING types when they aren't specified (i.e. in the function parameter case, assuming *int* when nothing is specified). That is one of the most annoying features of C, responsible for lots of bugs and errors, all because some programmer was too damn lazy to write "int main" instead of just "main"...)
No, you miss the point made.
.length(), the routine can at least ask about the size and take care of things accordingly. You aren't checking on EACH access to a buffer or array element, only once up front.
It doesn't NECESSARILY make things that much slower. Especially on today's processors. But it does mean more memory must be allocated. In C/C++, you can pass an array or a buffer to a function, and that function might have no idea how BIG the array/buffer is, and has no way to find out (unless coded to take the length as a parameter, in which case it must TRUST the caller).
With ubound/lbound and
Bullshit.
What about long lines? What about breaking up long lines to be more readable?
I hope to GOD that whitespace never becomes significant in any programming language I have to code in.
Whitespace is significant in VB programs right now, and we all know how much VB *sucks*...
Add in dynamic class loading, no mucking with 'headers', addition of interfaces, no mucking with linkers, built in thread and synchronization primitives into the language...
:-)
And be aware that generics/templates are coming soon to a Java near you. Very interestingly implemented too... completely backwards compatable with the existing container classes (which will be reimplemented with generics to offer type-safety, but which won't break existing code), and their use doesn't explosively grow the size of your code.
And while I do miss destructors, the try/finally helps make up for it
Well, the java static final nonsense is very similar in reality to the const stuff in C++ (as opposed to #defines in C). Yeah, I wish they had a more formal notion of 'constants' in Java, but the static final stuff works just as well from what I've seen. It's just the name that I find annoying. Who thought up the word 'final' for use in that context, anyway? Bleh...
And I'm not bothered about the Java text file handling at all. Precisely because it is so ultimately powerful. Sure, it seems like you might have to jump through a hoop to do the simplest of things, but what if you want to do data transformations as you read... it's so trivial in Java. And there are so many ways of reading text and writing files, really... it's nice to have the flexibility to do anything you really need, by just treating them as streams, and having filters handle the stream as you want (buffered or unbuffered, read by character or by line, do character translation or not, etc, etc). Just build what you want from the available options.
And I haven't used SWING, but I've never heard anything good about it. I don't know why it doesn't utilize native widgets, instead trying to reinvent them all. Bleh. But then I never use Java for GUI programming (except for servlets, where the 'gui' is really a web browser/HTML, so that's quite different).
It is disapointing that the syntax was not changed more radically. I for one am pretty bored with typing semicolons at the end of lines. Using braces for block structure is equally tedious.
And what do you propose as an alternative?
VisualBasic is one of the few langauges I know that doesn't have a line-terminator character. And it does this by adding semantic meanings to carriage-returns. Which I HATE, because it means you can't arbitrarily format your code as you wish (breaking up long logical lines onto multiple physical lines, etc).
I hate languages where white-space is significant. Period.
So I'm curious what you think a BETTER alternative to semi-colons and braces would be?
Check out the proposed implementation of generics for Java, in the 1.4/1.5 specs.
And lets not forget that Java 1.4 introduces a beta of generics, so people can start working with type-safe collections as soon as this fall... with them being fully incorporated into the language with version 1.5 (18 months later).
And Java has a damn good (and getting better all the time) class library. Especially once you get into J2EE, with the messaging and logging apis available...
It builds sure. But it doesn't link and isn't runnable after that step.
All the programmers I know of who have seen the STL have run away screaming from it. And this includes some of the best programmers I've ever seen.
I too can't really stand it. It's beyond convoluted, arcane, and obscure. Only 2% of the C++ development community can probably follow ANY of the code that implements it. And using it is a bitch and a half.
Compare it to the Java standard library -- powerful, easy, straight-forward, and consistent. And once it gets generics in the 1.5 release (1.4 has a beta of them), the Java containers will be not only typesafe, but also much more efficient (won't cause code-bloat).
And in seven years of C++ coding, I've never seen anyone use std:string. Everyone has either already written their own string classes, or are using some other class library that has strings. The STL came along way too late, and it's usage is at best 'spotty' now because of it.
As an example (of overloading), consider the C++ streams library. Imagine having to do:
) ;
put(put(put(put(cout, "Value "), valName), " = "), val);
It's horrible! Instead, we can write:
cout
Yes, that is horrible. But you could also structure it something like this:
cout.put("Value").put(valName).put("=").put(val
Which is FAR more likely than the thing you came up with. Just because you chose one of the ugliest and most difficult to parse examples, doesn't mean that's the *only* alternative...
And I'm DOUBLY against macros. The language itself should provide the facilities you need, so you don't HAVE to require a macro pre-processor. Like 'typedef' instead of #DEFINE for types, and a real include or import directive rather than #INCLUDE. Real language features for defining constants and generics. Macros cause way WAY too much hardship in maintaining software, and what benefits they do provide can better be provided through actual language features.
I think "Aliens" falls into the category of being better than the original. "Terminator 2" is also pretty good. "Star Trek 2" was also markedly better than the original. You're right, though, there aren't many examples.
But "Episode Two: The Clone Wars" scans quite nicely.
But why not something more general anyway: "Episode Two: Darkness Falls" (followed by Episode Three: Rise of the Empire).
"Attack of the Clones" just scans as a cheesey 50's monster movie, eithe Attack of the Killer Tomatoes, or Attack of the 50-foot woman, or something like that. It's just WRONG...
Sorry, but everything I've seen has shown Rambus memory to be no better than DDR SDRAM, and at double the price.
Any woman will tell you, it's not so much the LENGTH of the pipeline, but how WIDE it is...
Personally, I'd like to know what the other ending concepts were...
- Spryguy
But you're ignoring whole sections of social commentary in the original. It wasn't JUST about the cold war. It was about race relations, slavery, bigotry, and all sorts of other issues.
Are you saying we have NO social issues to deal with in today's society? I think race and class issues could have been addressed much more sharply, issues with PETA and such, hell, even allegory regarding religion and the place of gays in society could have been used (since that seems to be a rather large issue these days... think the military, boy scouts, etc, etc).
If you're going to update a movie with such strong social commentary such as POTA, it would have been wise to also update the social commentary within it, rather than just losing it almost entirely and turning it into yet another boring action movie with no soul.
- Spryguy
In the original POTA (and in Sixth Sense, for example) the surprise ending is breathtaking because it gives new meaning to the entire film we had just watched - it was like, "Wow, that explains everything!" In the new POTA, everything got wrapped up before the big ending and the surprise ending was more like, "Oh, some new developments occurred which I can't logically implied but might give meaning to a sequel, but not to the film I just watched." Not a very good use of a surprise ending.
I think you hit the nail right on the head with that statement. Mod this guy up!
- Spryguy
Exactly. What this film utterly lacked was a deeper meaning. An allegorical subtext. And it so desperately needed one. The movie looks utterly irrelavent next to the original. The only improvement is in the excellent ape makeup effects.
- Spryguy
In my opinion, Roger Ebert gets it exactly right. Especially right at the end:
Given how famous and familiar Franklin J. Schaffner's 1968 film is, Tim Burton had some kind of an obligation to either top it, or sidestep it. Instead, he pays homage. He calls this version a "reimaging," and so it is, but a reinvention might have been better. Burton's work can show a wild and crazed imagination, but here he seems reined in. He's made a film that's respectful to the original, and respectable in itself, but that's not enough. Ten years from now, it will be the 1968 version that people are still renting.
The movie played it too safe. All of the things that make Burton movies great to see seemed restrained. Virtually any social commentary was pulled back or watered down or ignored. It could have been biting. It could have been interesting. It could have had a point of view, with something to say. Instead about all it said was "check brain at door, have fun for two hours, then forget about it"...
- Spryguy