I was typing a long reply in which I summized that VS is not that excelent compared to others in in doing "Code/syntax highlighting, structure/layout, designing graphical aspects and others". Then I remembered the parent article and I will just say that there are development environments that do (a much) better job at the things you mentioned.
But I agree that these things are very important for programmers and designers, especially beginning ones. And I think we are only seeing the top of the iceberg here. Why use ASCII if we can do much better graphically? Why do I still see unaltered HTML markup while typing my Java classes? Why is it not laying out code according to company standards by default? Why does it not show a nice graphical representation of complex expressions in a view? Such things will only ease development, and do little to harm the starting programmer.
In my favourite IDE (Eclipse) there are now guides that learn you how to use the IDE and how to program. Why not let the IDE help with programming, and put a complete course in it? Neh, the main article is a bit too negative to my taste as well.
Slashdot, don't try to be smarter than the author. If I want plain old text, *GIVE* me plain old text. That was obviously the "smaller than" operator I was talking about.
I cannot see *any* overloading in the examples that make sense. Comparing Lava lamps for size? The ugly shift Sting operator? And what happens if there is a "compareTo()" with an ugly side effect? Will the programmer really check out the implementation of '' like he might have done with the "compareTo()" method?
I hate it when writers are trying to explain something, and then use the most awfull programming constructs to show you how to use the feature. Even if the bad code is unrelated, it still teaches the readers how to do things wrong. In this case, it demonstrates how not to use operator overloading and why it should be avoided. Unfortunately, that was not the writers intention.
Back in the days, I could have endless discussions on C++ constructs. In C++ you can do almost anything, especially if you count in the preprocessor (and you have to, or #include won't work:). This makes for a very complex language. And although I miss the discussions, I am pretty glad I don't have to explain all this to the first new programmer that walks through the door. Because if it's there, people *ARE* going to use it. And even if you do understand it, the next programmer through the door won't understand a thing of it.
There is this lovely D language (there is, trust me). You can do almost anything in it. It's features as a language are endless - the author made a very, very long list. It should therefore never be used.
In Java, only basic types (and the ugly String concatenation) can be added up. Not very OO that, you should only be adding up "Numeric" objects, but that's a compromise. Other classes can't provide operator overloading, and I am very glad about that. If you are using many calculations with non-basic types, then these calculations will probably be part of your business logic. Calculate them in a language designed to do calculations, and then add them to your Java or.NET front-end.
Yes, that's the one exception. And one that one you should be very carefull with. Since Strings are immutable in Java, if you do "a" + "b" + "c", it will first create 3 Strings. Then it will add "a" and "b", creating a new String. Now *that* String will be formed into *another* new String by concatenating "c". That's quickly building up to the creation of a lot of String class instances. See "Effective Java" by Joshua Bloch.
The String is a pretty ugly hack, and the "+" operator should never have been used for it. Simply said, you are concatenating the Strings, not adding them up (for C++ fans, it's *not* the same as shifting a basicstring either.) The new java 1.5 provides the format and printf funtions which are much nicer. And the StringBuilder class has been around for a while, in case you really need to add up many String's.
Most of the time the concatenation is used for wrapping purposes anyway, and the language should have provided some sort of support for strings on multiple lines really.
Overloading of mathematical operators should only be available for instances that implement a certain interface, call it "Numeric" for instance. If it should be available at all. Note that not allowing operator overloading has the additional advantage of making very fast parsers. The new Java IDE's are all parsing as you type, so the Java language is really suited for this. Using this in.NET is just at its beginning, and it will be much harder to implement efficiently.
"I've been out of the Java loop for almost 2 years ago, but last time I worked with it your choices in IDEs were basicly, crap, and crappier."
Yes. And then there was Eclipse. Lovely to code in, even if you are basically just wanting to use a text editor. Free, fast, lots of free and commercial plugins, SWT (*not* swing), great UI etc. etc. Try it out, if only to see what you can do with the AST. Microsoft only introduced a (still very very weak) type of refactoring support in 2005 beta. Well, not even _close_ guys.
It's not that geared to visual editing yet, but that is getting in gear as well, with the AST doing it's best again (automatic updates between any code (including generated code) and the IDE. And Microsoft VS 2005? "Code fragments", making it harder, not easier to do the same thing. Yuk.
Anyway, I don't care too much if my IDE is sucks up memory and resources. I've got no problem fitting 1 GB of memory and a fast HDD in my P4 at work. I am not the end user - only final testing takes place on slower machines if I think the difference in computer speed is significant. As long as the response times are ok (and yes, bloated interfaces are a problem as well).
Could be usefull for debugging though. And if everything goes through your mail server anyway. Problem is of course *if* you could send it out to your (or someone elses) private email address. Then you could spy without any of your collegues noticing anything. Except for the options in the "silent BCC" setting I suppose:)
Anyway, I understood the server does automatic backups as well, browsing through their rather nice but sparse information sources.
The bug related to a "rare conjunction" of circumstances "whereby v4.02 failed to properly compensate for an (here it comes, ed.) unusual memory allocation error generated by a company's mail server and consequently appended a partial message to another email.
"Neither the original message or the appended partial message were ever exposed outside the company's firewall and the bug did not generate any external risk. Customers using v4.02 may obtain this fix from RIM or install v4.03."
Funny that, not a Java problem. But you might be right in assuming they use Java for much else. Of course it could have been in a JNI (Java Native Interface) implementation - if you are going to use.dll's you are prone to use unsafe C and C++ as well. Note that Java just as easy talks to COM and.NET if necessary. So it might not be easy to fix by "just using java" I admit.
To still produce unmanaged software. Sounds like pointer problems or buffer overruns to me. This is an expensive way to find out though. Java or.NET for me (for enterprise applications).
* The first 100TB Rack is operational in Amsterdam http://www.eu.archive.org/ * The second 80TB rack is operational in San Francisco * Loaded with movies and music
Like all good things, Java and.NET have the drawback that they require more cycles and memory. For that the developers get a better interface, and you will get more stability and hopefully, cheaper products. Furthermore, it makes it easy to use objects from the user interface (see the new Microsoft scripting language for instance) - in other words, more features. Fortunately the Java VM and the.NET framework are getting faster by the minute, making an upgrade a bit less necessary (try Java 1.4 or earlier and 1.5 next to each other for fun).
The other thing that can take a long time are file operations like PAR2, (un)rarring and video recording/playback. If you are a usenet user then you will know what I am talking about. Faster and more reliable storage is number #1 on my wishlist though. Current harddrives are really *really* bad at multitasking.
Besides that, the replacement of a motherboard and many components (which might even entail reinstalling your operating system (if it is Windows and you are unlucky) will keep most people from upgrading this way. And replacing a CPU alone is no small feat either, with the current fans and stuff attached to it. I had a great time removing my CPU without damaging my motherboard (and without getting silver paste all over my clothes, that stuff stays fluid forever), most users would not opt for this. Come to think of it, I would not either.
Yeah, true to form. This is like saying putting the output of a CLI implementation is the same as creating a GUI application. Starting that even in the slashdot crowd, only a few people will understand that sentence. An OS build out of runtime objects is something incredibly powerfull, and I am afraid that Linux will be miles behind if it takes the form I think it will.
I concur. The problem with the mini-itx is definately not with the DC-DC convertor boards. My 53 Wat power supply is not a problem either. It is running in server mode with a WD 250 GB HDD attached, no problem. I could use it with an additional CD-ROM as well, but I don't know what happens if I would use that combination for too long. Anyway, 15 + 20 is 35 W, so it would have some room left for a DVD-ROM drive.
Now I am going to get one without a fan, because fans *are* a pain in the butt. You can easilly run a VIA epx without any casing by the way, but don't try to lock one up inside a closed cabinet, especially not with a HDD next to it. Pretty cheap solution, all in all.
So what. We'll tap the information directly from the LCD interface. That's digital. And otherwise, we'll put a high res camera and point it at the screen. Even with current camera's, you could make near perfect copies with that. Problem is of course that copying will then rely on persons that are capable and willing to do so. Expect a decrease in home copies and a strong increase in pirated copies solf for cash.
If I believe the article this thing is about shoe-box sized and sports a 3.5" drive. That's not that small, and the drive would suck for shock absorption. A 10 GB drive will probably be as fast as a speedy 2.5" as well. I really (really, really) can't seen *any* advantage of this PC. I'd spend a bit more and choose an Apple Mini or VIA based system any time.
Actually, while the Web TV was a pretty stupid idea for CRT screens, with the current LCD TV's it would make much more sense. Especially since many people have multiple PC's in the house.
Then again, you could just wait for the Blu-Ray drives to come out. They feature a Java environment as well as network connectivity. While this may be bad for copyright issues, it's great for building a nice Java frontend (including motion video:) for the TV. You'll probably get TV screens with build in Blu-Ray + web applications soon enough. That *might* even seriously threaten Microsoft on the long run.
Even now it would not be too hard to build a nice Media PC including DVD drive and 2"5 inch HDD into high end LCD TV's (that's about 3 cheap components, guys). I've got no idea why I haven't seen these in the stores yet. It could just sell some aditional TV's in a pretty competitive market.
"And getting either further off topic, the argument can be made that socialism and environmentalism are the new religions of Europe, with fundamentalisms and lunacies all their own."
Aw, first you make an exelent speech about how Americans view religion in comparison to the beliefs shown by Europe's media. And then you end with a sentence to make it plain that you've been completely indoctrinated by your own government & media. At most it can be said that the average European is slightly more worried about the current state of affairs (unfortunately).
Are you suggesting that instead of inventing this, they should have gone to university to cure cancer? Have you? Hey, maybe they are even running some cancer fighting program on their computer. Are you?
Joe 1: Hey let's go and make a device to make sure our mugs get filled on time! Joe 2: Neh, let's quit our current studie, join some classes on advanced cancer treatment and find a cure for cancer! Joe 1: For heavens sake, stay off the beer!
Or actually: Heinrich 1: Wir... (ok, ran out of German words:)
"No matter how you look at it the automobile is only an interim step on our evolutionary path to independence from gravity."
This implies that the car is a step better than walking in handling gravity. Unfortunately the average car is only pretty good at plummeting. The author would be better off staying away from Dukes of Hazard series and movies in my opinion.
News for *NERDS* stuff that matters.
Well, at least you looked it up yourself.
I was typing a long reply in which I summized that VS is not that excelent compared to others in in doing "Code/syntax highlighting, structure/layout, designing graphical aspects and others". Then I remembered the parent article and I will just say that there are development environments that do (a much) better job at the things you mentioned.
But I agree that these things are very important for programmers and designers, especially beginning ones. And I think we are only seeing the top of the iceberg here. Why use ASCII if we can do much better graphically? Why do I still see unaltered HTML markup while typing my Java classes? Why is it not laying out code according to company standards by default? Why does it not show a nice graphical representation of complex expressions in a view? Such things will only ease development, and do little to harm the starting programmer.
In my favourite IDE (Eclipse) there are now guides that learn you how to use the IDE and how to program. Why not let the IDE help with programming, and put a complete course in it? Neh, the main article is a bit too negative to my taste as well.
Slashdot, don't try to be smarter than the author. If I want plain old text, *GIVE* me plain old text. That was obviously the "smaller than" operator I was talking about.
I cannot see *any* overloading in the examples that make sense. Comparing Lava lamps for size? The ugly shift Sting operator? And what happens if there is a "compareTo()" with an ugly side effect? Will the programmer really check out the implementation of '' like he might have done with the "compareTo()" method?
I hate it when writers are trying to explain something, and then use the most awfull programming constructs to show you how to use the feature. Even if the bad code is unrelated, it still teaches the readers how to do things wrong. In this case, it demonstrates how not to use operator overloading and why it should be avoided. Unfortunately, that was not the writers intention.
Back in the days, I could have endless discussions on C++ constructs. In C++ you can do almost anything, especially if you count in the preprocessor (and you have to, or #include won't work :). This makes for a very complex language. And although I miss the discussions, I am pretty glad I don't have to explain all this to the first new programmer that walks through the door. Because if it's there, people *ARE* going to use it. And even if you do understand it, the next programmer through the door won't understand a thing of it.
.NET front-end.
There is this lovely D language (there is, trust me). You can do almost anything in it. It's features as a language are endless - the author made a very, very long list. It should therefore never be used.
In Java, only basic types (and the ugly String concatenation) can be added up. Not very OO that, you should only be adding up "Numeric" objects, but that's a compromise. Other classes can't provide operator overloading, and I am very glad about that. If you are using many calculations with non-basic types, then these calculations will probably be part of your business logic. Calculate them in a language designed to do calculations, and then add them to your Java or
Yes, that's the one exception. And one that one you should be very carefull with. Since Strings are immutable in Java, if you do "a" + "b" + "c", it will first create 3 Strings. Then it will add "a" and "b", creating a new String. Now *that* String will be formed into *another* new String by concatenating "c". That's quickly building up to the creation of a lot of String class instances. See "Effective Java" by Joshua Bloch.
.NET is just at its beginning, and it will be much harder to implement efficiently.
The String is a pretty ugly hack, and the "+" operator should never have been used for it. Simply said, you are concatenating the Strings, not adding them up (for C++ fans, it's *not* the same as shifting a basicstring either.) The new java 1.5 provides the format and printf funtions which are much nicer. And the StringBuilder class has been around for a while, in case you really need to add up many String's.
Most of the time the concatenation is used for wrapping purposes anyway, and the language should have provided some sort of support for strings on multiple lines really.
Overloading of mathematical operators should only be available for instances that implement a certain interface, call it "Numeric" for instance. If it should be available at all. Note that not allowing operator overloading has the additional advantage of making very fast parsers. The new Java IDE's are all parsing as you type, so the Java language is really suited for this. Using this in
ps. Java developers: try this:
System.out.println("equal" == "equal");
System.out.println("eq" + "ual" == "equal");
Having fun yet?
"I've been out of the Java loop for almost 2 years ago, but last time I worked with it your choices in IDEs were basicly, crap, and crappier."
Yes. And then there was Eclipse. Lovely to code in, even if you are basically just wanting to use a text editor. Free, fast, lots of free and commercial plugins, SWT (*not* swing), great UI etc. etc. Try it out, if only to see what you can do with the AST. Microsoft only introduced a (still very very weak) type of refactoring support in 2005 beta. Well, not even _close_ guys.
It's not that geared to visual editing yet, but that is getting in gear as well, with the AST doing it's best again (automatic updates between any code (including generated code) and the IDE. And Microsoft VS 2005? "Code fragments", making it harder, not easier to do the same thing. Yuk.
Anyway, I don't care too much if my IDE is sucks up memory and resources. I've got no problem fitting 1 GB of memory and a fast HDD in my P4 at work. I am not the end user - only final testing takes place on slower machines if I think the difference in computer speed is significant. As long as the response times are ok (and yes, bloated interfaces are a problem as well).
Could be usefull for debugging though. And if everything goes through your mail server anyway. Problem is of course *if* you could send it out to your (or someone elses) private email address. Then you could spy without any of your collegues noticing anything. Except for the options in the "silent BCC" setting I suppose :)
Anyway, I understood the server does automatic backups as well, browsing through their rather nice but sparse information sources.
The bug related to a "rare conjunction" of circumstances "whereby v4.02 failed to properly compensate for an (here it comes, ed.) unusual memory allocation error generated by a company's mail server and consequently appended a partial message to another email.
a shes-blackberry
3 75,39233646,00.htm
.dll's you are prone to use unsafe C and C++ as well. Note that Java just as easy talks to COM and .NET if necessary. So it might not be easy to fix by "just using java" I admit.
"Neither the original message or the appended partial message were ever exposed outside the company's firewall and the bug did not generate any external risk. Customers using v4.02 may obtain this fix from RIM or install v4.03."
Source:
http://www.vnunet.com/vnunet/news/2144770/bbc-squ
and for additional info another link, since I was googling (googelen is an official dutch word now by the way):
http://news.zdnet.co.uk/internet/security/0,39020
Funny that, not a Java problem. But you might be right in assuming they use Java for much else. Of course it could have been in a JNI (Java Native Interface) implementation - if you are going to use
To still produce unmanaged software. Sounds like pointer problems or buffer overruns to me. This is an expensive way to find out though. Java or .NET for me (for enterprise applications).
* The first 100TB Rack is operational in Amsterdam http://www.eu.archive.org/
* The second 80TB rack is operational in San Francisco
* Loaded with movies and music
My MP3 collection suddenly pales....
Like all good things, Java and .NET have the drawback that they require more cycles and memory. For that the developers get a better interface, and you will get more stability and hopefully, cheaper products. Furthermore, it makes it easy to use objects from the user interface (see the new Microsoft scripting language for instance) - in other words, more features. Fortunately the Java VM and the .NET framework are getting faster by the minute, making an upgrade a bit less necessary (try Java 1.4 or earlier and 1.5 next to each other for fun).
The other thing that can take a long time are file operations like PAR2, (un)rarring and video recording/playback. If you are a usenet user then you will know what I am talking about. Faster and more reliable storage is number #1 on my wishlist though. Current harddrives are really *really* bad at multitasking.
Besides that, the replacement of a motherboard and many components (which might even entail reinstalling your operating system (if it is Windows and you are unlucky) will keep most people from upgrading this way. And replacing a CPU alone is no small feat either, with the current fans and stuff attached to it. I had a great time removing my CPU without damaging my motherboard (and without getting silver paste all over my clothes, that stuff stays fluid forever), most users would not opt for this. Come to think of it, I would not either.
"...I've found in my own little "tests" that heavy-duty rendering and long-term CPU processes are really where the benchmark tests are at..."
:)
Ah, I'll start rendering immediately. I've clearly not used my processor in full up to now
They already got that one. Not that there is much in it. But it's there :)
Yeah, true to form. This is like saying putting the output of a CLI implementation is the same as creating a GUI application. Starting that even in the slashdot crowd, only a few people will understand that sentence. An OS build out of runtime objects is something incredibly powerfull, and I am afraid that Linux will be miles behind if it takes the form I think it will.
Great article, but who is Yeap?
I concur. The problem with the mini-itx is definately not with the DC-DC convertor boards. My 53 Wat power supply is not a problem either. It is running in server mode with a WD 250 GB HDD attached, no problem. I could use it with an additional CD-ROM as well, but I don't know what happens if I would use that combination for too long. Anyway, 15 + 20 is 35 W, so it would have some room left for a DVD-ROM drive.
Now I am going to get one without a fan, because fans *are* a pain in the butt. You can easilly run a VIA epx without any casing by the way, but don't try to lock one up inside a closed cabinet, especially not with a HDD next to it. Pretty cheap solution, all in all.
So what. We'll tap the information directly from the LCD interface. That's digital. And otherwise, we'll put a high res camera and point it at the screen. Even with current camera's, you could make near perfect copies with that. Problem is of course that copying will then rely on persons that are capable and willing to do so. Expect a decrease in home copies and a strong increase in pirated copies solf for cash.
If I believe the article this thing is about shoe-box sized and sports a 3.5" drive. That's not that small, and the drive would suck for shock absorption. A 10 GB drive will probably be as fast as a speedy 2.5" as well. I really (really, really) can't seen *any* advantage of this PC. I'd spend a bit more and choose an Apple Mini or VIA based system any time.
Actually, while the Web TV was a pretty stupid idea for CRT screens, with the current LCD TV's it would make much more sense. Especially since many people have multiple PC's in the house.
:) for the TV. You'll probably get TV screens with build in Blu-Ray + web applications soon enough. That *might* even seriously threaten Microsoft on the long run.
Then again, you could just wait for the Blu-Ray drives to come out. They feature a Java environment as well as network connectivity. While this may be bad for copyright issues, it's great for building a nice Java frontend (including motion video
Even now it would not be too hard to build a nice Media PC including DVD drive and 2"5 inch HDD into high end LCD TV's (that's about 3 cheap components, guys). I've got no idea why I haven't seen these in the stores yet. It could just sell some aditional TV's in a pretty competitive market.
"And getting either further off topic, the argument can be made that socialism and environmentalism are the new religions of Europe, with fundamentalisms and lunacies all their own."
Aw, first you make an exelent speech about how Americans view religion in comparison to the beliefs shown by Europe's media. And then you end with a sentence to make it plain that you've been completely indoctrinated by your own government & media. At most it can be said that the average European is slightly more worried about the current state of affairs (unfortunately).
Are you suggesting that instead of inventing this, they should have gone to university to cure cancer? Have you? Hey, maybe they are even running some cancer fighting program on their computer. Are you?
:)
Joe 1: Hey let's go and make a device to make sure our mugs get filled on time!
Joe 2: Neh, let's quit our current studie, join some classes on advanced cancer treatment and find a cure for cancer!
Joe 1: For heavens sake, stay off the beer!
Or actually:
Heinrich 1: Wir... (ok, ran out of German words
"No matter how you look at it the automobile is only an interim step on our evolutionary path to independence from gravity."
This implies that the car is a step better than walking in handling gravity. Unfortunately the average car is only pretty good at plummeting. The author would be better off staying away from Dukes of Hazard series and movies in my opinion.
Sorry, I meant sorry you are right :)
I'm getting way too sleepy to post to slashdot. Sorry.