But besides gaming, are there anything needing such performance boost?
Yeah... it's called "work". Lots of applications are completely CPU bound. Image processing of all kinds... from content creation to rendering animated clips. I'm currently writing some code that has to process large amounts of data that comes out of a database. CPU power and HDD speeds are all it cares about (it reads, then processes, then writes) as there's no output of any kind to the screen (unless you use the switches to output statistics). Plus, just for developers, if you have a large codebase, faster CPUs (and HDDs) mean you can do 'make clean ; make' faster. Sure, lots of people just run Office or somesuch, but there's plenty of use for these new CPUs out there. I'm saving right now for an upgrade around Christmas when things will be more available, potentially price changes, and there's hope AMD will at least have some rumors of what they're going to do to compete.
The sad thing is, so many companies have developed so many engines, all starting from scratch. A lot of redundant effort has been wasted here. This is an area where open source should be doing well, you'd expect an open-source engine with the quality of last-generation's commercial engine, but for some reason this just hasn't happened.
You're kidding, right? If there's one thing that OSS is famous for it's reinventing the wheel, sometimes many times over.
In any case, it hasn't happened because writing engines (and content), even one generation behind, require massive amounts of time and energy. Take a look at the Quake and Quake2 engine codes. Now think about how much time went into research *before* that code was complete, how much time it took to write and debug the code, and how much time it took to QA all of it. They were massive undertakings that required specialized knowledge in physics, graphics, and gameplay in order to create. A wordprocessor, in contrast, would seem to be fairly simple in comparison.
Another thing that may be interesting is how much "beta" debugging will happen with games as opposed to tools in OSS. Where tools are needed and people who need to use them will report issues in the hopes they get fixed, how many people will do the same for games? I'm betting that there will be more people who download a game, get an error, and just delete it for now, maybe coming back in a few months for a look to see if the bug(s) that were found before are then gone.
Two things really... you have to break your tasks down into small tasks with known dependencies to the point you *can* estimate times to do things. Once you get that far, experience (gut feeling) will contribute. After that, you give an optimistic and pessimisitic times to your boss. Example: If all these assumptions hold and these other three things happen on time, then the time estimate is one week. If this, this, or this doesn't pan out as expected, then the time estimate is three weeks.
Check these 64-bit Linux benchmarks and see. They don't have duel cores though, only two dual cores (total of two sockets, four cores). Looks like Woodcrest does pretty good (scaling better than two Opteron 275s in a number of cases).
The coprocessor stuff AMD is doing is a lot of hot air. Different companies talk about "coprocessors" every few years and nothing has *ever* come of it for the consumer and very few things for the typical IT department. The PhysX coprocessor is the first thing that's come close. In many cases, it's usually better to plop down another dual core CPU beside it instead of a specialized coprocessor unless you do the specialized stuff a whole freakin lot.
Which is why these 64-bit Linux benchmarks show that Woodcrest scales as good as (and sometimes better than) Opterons at 4p. The vast majority of x86 servers are in the 4p range. Even Opterons have a worse-than-expected scaling issue past 4p, anyway, if you bother to look around to find the benchmarks.
AnandTech had a preview of the Woodcrest (the new Xeon) processor running 64-bit Linux server type workloads a while back. It compares Woodcrest, Opteron, and the Sun T1. Woodcrest looks quite impressive.
They may be faster, and they may consume less power, but IT is still about cost. Something tells me, that with this great advancement comes a higher price tag than AMD.
Who cares is Intel is a few mips faster?
Well... on many tasks, it's more than a few mips faster. However, this "great advancement" is (or will be) priced quite nicely, if you've actually bothered to look up the price lists that have been available on the web for the past few months. There's your 3rd of the three.
And let me state that again: children's "playing" is running scenarios in a safe environment, exercising your natural curiosity and imagination. E.g., if you watch a small girl enacting a tea party with her dolls, it's actually running a simulation of a social situation. It's exploration and imagination at their finest hour. That's what playing is, and not only in humans. Watch kittens or rabbits play, and you'll see that they too "play" by exercising their respective survival skills. In humans it's exercising your brains, which is _the_ survival advantage that nature gave you.
I guess that if today's (and our future's) survival skills rely on being able to sit still for hours on end while grasping something and repeatedly striking it with your thumbs, many kids born in the 1980s and later will be masters of their universe.
MS has cleary lost a lot of it's mojo. They are not the MS of old. Sure they can still sink billions into products which have no market share till kingdom come but that may not be enough anymore.
I disagree. I think Microsoft has changed somewhat but I think they are still the Microsoft of old (same goals, etc.) It's the rest of the world that has changed the most (and thus, perhaps, why Microsoft has lost a bit of their mojo, as you say). There are *many* more computer users today than there were in 1995 and media regularly runs tech oriented stories so that today, you don't just see the huge stories... you see even smaller interest stories. Users are getting more familiar with computers and in very many areas, almost everyone has access to a computer of some kind and the Internet. More exposure, more media presence, more everything about computers today than ever efore. If you ask around in the USA, Europe, many parts of Asia, etc., the odds are that any computer user has at least heard of Linux, for example, and Apple's Macs have been getting more press now than ever... hell, Apple opens a retail store in NYC and it makes the every-15-minute run on Headline News. Before, no one knew much and if you got a PC, you got Microsoft's DOS or Windows. No one knew any better or anything else. These days, almost everyone knowledge of computers is a lot more broad than it used to be... largely thanks to the Internet and the other, more traditional, media.
Well... running a single application that has multiple parts executed in parallel can be done on a cluster. Many embarassingly parallel applications are easily made into a manager/workers model and run on clusters (or grids). Because it is running one application (with parts of it running in parallel), it is "a collection of computers acting like a single one".
Advance power management inside chips is getting to the point where portions of the chip, not just an FPU or an ALU, but pieces even within those as well as portions of cache, can be turned off when not in use. This means that a chip can use more power when running ProgramX than when running ProgramY, even though both programs may be considered compute intensive. Perhaps ProgramX is heavily integer and ProgramY is heavily FPU, for example. Eventually, power usage of a CPU may even approach that of asynchronous CPUs, where individual gates, if not needed, are never turned on at all which means that running the exact same program with different *data* can show different power usage.
Possibly... AnandTech has some interesting benchmarks for server based stuff running Linux (64-bit Gentoo) here that show Woodcrest doing pretty well. I think most of the nitpicking (DDR2 vs. DDR and the like) is just living in denial. AM2 has shown to be a non-issue for anything except the most memory bandwidth intensive benchmarks, and most of those are synthetics, which are pointless. There are a few HPC benches that show decent gains for AM2 but how many people run particle physics simulations and airflow solvers out there? Most just want more frames in F.E.A.R. or some other game. There have been *lots* of benchmarks of all kinds posted all over the place for Core2 and they are all consistent, even when using DDR2-667, which has both higher latency and only marginal bandwidth gains over DDR400 (basically equivalent).
Throw in the panic induced flailing about that is called 4x4 and you have a recipe that says AMD is sweating bullets, and they should be. I have four Athlon64s (one is an X2) and three AthlonXPs and right now, my next machines are looking very much like they are going to be Core2 based.
We hear plenty of talking about how we don't like RIAA and MPAA and the business model they have... how about offering useful suggestions, instead of just sitting on our asses and bitching?
Obviously, a company (or band) giving the MP3s away for anyone to download isn't going to fly. At the very minimum, bands will need money to eat and pay their electric bills. So, what are some other ideas that would enable actors and musicians to make money while the music is allowed to be free (as in beer)?
Some things to think about: there are a lot of post-production issues that musicians deal with when making an album. Similarly, actors making a movie will have lots of costs... effects, props, etc. Look at the credits in a CD cover or after a movie to see how many people are involved. Cut those people out of the process (to save money) and the quality of the film probably would drop (think the quality of a SciFi movie being like the old Dr. Who series as opposed to Star Wars or Firefly/Serenity type graphics. Donations given after release probably won't cover it, and it quality sucks even more, they won't get any donations. Regardless, we'd have to see artists drop these $10m/movie salaries and drop down to more like $10k/movie salaries, I'd imagine.
So... instead of sitting back and just voicing what we don't like, maybe we can give some ideas on what we think would work.
Yeah... amazing at how the obvious is completely ignored. This price drop is *obviously* to get rid of any inventory of chips that no one would otherwise buy because of the release of Core2. Price drops on P4s have little to do with "regaining marketshare", they are to cut losses of shelved inventory.
64-bit has already been tested some (with some of the few 64b benchmarks out there... Cinebench 9.5, for example). Core 2 did very well.
I'm not a fanboi, I buy what I think is best. That's why I have four Athlon64 machines (one is an X2) and three Athlon XP machines. I'm waiting to see reviews of Core 2, but if they turn out as good as, or better than, the previews, my next machine may very well be a Core 2. I don't care what the brand name is on the chip as long as it's the best for the money when I buy. I'm excited about Core 2 and hope that they are every bit as fast as the previews say. At the very least, the CPU market will show some competition again and that only means "faster for cheaper" for us consumers. Seriously... why are you mad at Intel? Competition between AMD and Intel can only benefit us. It's not like "if Intel wins we are all put into jail" or something. Grow up.
Yes, I have done so and I'm glad I didn't have it.
The problem C# developers experience is the problem of quickly locating classes across multiple projects within one or more solutions. In Java, the forced namespace and file naming convention makes this extremely easy. In C#, you end up using the IDE's poor Find function or the questionable Object Browser. Moving code is also very painful since its not always just an easy case of "cut and paste". You said you prefered not having this defined structure, but what is the actual benefit of not having it?
Particularly, Java makes massive trees both for source and for intermediates and for final output. It's just annoying. The namespace of the object defines where it is in the final assembly. After that, in Java it's just annoying having to traverse all the directories to find stuff.
If you target any components of anything to a future version of an API
Oh, my fault. I see the issue that you were hung on. I should have written it as such:
There is also rumor on the.NET forums that Microsoft will be releasing new byte codes to.NET that will only work on Microsoft Vista.
There. Like I said earlier, this is similar to the change from 1.0 to 1.1. I must stress that this is ofcourse only a rumor though. Java is also suppose to add a new byte code (1) with their release of 1.6 Dolphin. The major difference is the Java change is suppose to be an "add" whereas the supposed.NET change is a "add and replace". Any "replace" will break backwards compatibility.
That's a fairly important point to leave out... it changes the entire conversation:) With your new addition, I would agree that removing bytecodes would be an issue for backwards compatibility. We'll have to see if this is rumor or fact. I imagine that it would cause a huge issue for tons of 3rd party vendors if it happens.
Tie Java to some Linux 2.6 kernel APIs and see if your Java runtime will run on 2.4. 2.4 is not forward compatible with 2.6.
Bytecode is not machine code.
You seem to want your Java 3.0 (when it comes around) apps to run on a Java 1.5 runtime, by your examples
I just compiled a "Hello World" with a Java 1.5 compiler and it runs fine on a Java 1.1 virtual machine. So what? Is this suppose to be impossible?
Again, this stems from your ommission. It was one of the few ways I could think of quickly to tie a Java program with a specific version of an OS. Put in your ommission, and I agree because the Java 1.x standards define the bytecode set. Any removal or addition to the set should result in a major version number bump, IMO. So, within a major version number, there is some idea of forwards compatibility.
NET is no more limited than Java (and vice versa) in this regard.
Again, left something important out. I should have said Microsoft.NET is limited. Mono seems to have better coverage amongst the platforms since they have virtual machines that can run on various platforms and OS's, new and old. I think that developers who use Mono are at an advantage because of this. There's no reason Microsoft couldn't do the same but I fear they use.NET as a way to force people in to upgrading operating systems to make $$$. It could also be that they have no incentive to support any other platform than the most current version of Windows.
Yes, I've used Mono as well (and liked it). Still, it's difficult to say that Microsoft should make CLRs for lots of different platforms. After all, the CLR is a (real) standard, approved and documented by a worldwide standards body and is available for anyone to implement (unlike others...), like the Mono guys do. I'm on the fence about the rest of the forms library and such. I personally think it'd be in Microsoft's best interest to open them up, but I can see good arguments against it, as well.
So, after the addition of a few things that you left out, I think we largely agree (except in places of personal preference sometimes).
Odd, I haven't had this problem and I have a similar system to what you describe (you have no description of your video card, though,
I don't think I have ever had to worry about a graphics card for 2D widget blitting. Why is VS2005 different? I have also noticed this same slowness in another large.NET app called Paint.NET.
You've stated my point. I don't see any blitting slowness on my machine. I use VS2005 as well.
6) Partial classes?... Don't use them if you don't want.
It is not me that is creating these freaks of nature, but rather VS2005 GUI editor. It uses these partial classes for code behinds.
Yes, it uses partials. The few times I've seen them is when it seperates your code from the generated stuff. It's kinda nice actually... it keeps you from mucking around with the generated stuff by not having it in the file that you will be editing. No accidental deletes and such...
I personally dislike Java's strict file naming rules/conventions for a number of reasons.
Work on something of scale in.NET with multipe coders and you will begin to wish you had it. And even though you can enforce certain rules in your area for coders to follow you are not able to enforce these same rules on others who code you may reuse in your project. I think Microsoft left the strict naming out to appease C++/C programmers but didn't fully understand the disadvantages in doing so.
Yes, I have done so and I'm glad I didn't have it. I've had it in Java and, while it wasn't a show-stopper, it was sometimes needlessly annoying. In either case, it isn't a huge issue. I simply dislike it, I don't loathe it and I'm not fanboish towards not having it. I'm not a fanatic over either development platform and I'm not an OS religious fanatic, either. What works for you just *might* not work for everyone.
That's "forward compatibility", not backwards. Backwards compatibility means that Vista will run XP applications. Forwards compatibility means that XP will run Vista applications.
You just pointed out the big difference between Microsoft's.NET and Java:.NET is tied to the OS. That is just silly. Why are they unable to release the runtime (virtual machine) for "older" operating systems like XP? Why should I have to compile code, which is actually just bytecode and not machine code, for two different platforms? I know my Java 1.5 apps still work on Windows 95, 98, Me, 2000, XP, and Vista. Why is.NET so limited?
Nothing prevents it. Microsoft just writes the vm for each machine. What you said was: There is also rumor on the.NET forums that Microsoft will be releasing new API functions to.NET that will only work on Microsoft Vista. If this is true you can kiss backwards capability goodbye.
If you target any components of anything to a future version of an API, you have the same issue. The same goes for Java or anything else. Tie Java to some Linux 2.6 kernel APIs and see if your Java runtime will run on 2.4. 2.4 is not forward compatible with 2.6. However, 2.6 is fairly backwards compatible with 2.4 (a Java program you write on a 2.4 based runtime will most likely work on a 2.6 system). Or... write your Java program to call the 2.6 kernel APIs directly (C interface). Run your Java app, bytecodes and all, on a 2.4 system and see what happens. You seem to want your Java 3.0 (when it comes around) apps to run on a Java 1.5 runtime, by your examples. Odds are, Java 1.5 will not be forward compatible with Java 3.0..NET is no more limited than Java (and vice versa) in this regard. If Microsoft supplies a patch or some kind of runtime that provides the Vista API equivalents back onto the older XP (thus building forward compatibility into XP), then you can do it. The Windows API is changing... if these new APIs are ported back to XP then i
a development IIS instance and SQL Server 2005 Express is included.
Oh gawd they can keep that pile of crap.
I don't know much about the IIS instance, but SQLServer2005 Express is decent for its intended purpose... a development environment.
There are also some major issues I have found with VS2005:
1) It is very slow. I think they wrote the bugger in.NET because you can actually watch the thing redraw itself at times. This from a Pentium 4 with a 1G of memory? I fear the day they upgrade to Vista with this bloated beast in tow.
Odd, I haven't had this problem and I have a similar system to what you describe (you have no description of your video card, though, but I've used it on Intel integrated graphics on a laptop with few issues. Plus, redraw effects are very subjective. Some who see the redraw actually see it complete in a second, which may be an issue for some but not for others. Anecdotal evidence is fun!
2) ADO 2.0 looks promising but there seems to be a huge lack of vendor support. Oracle support is still in beta mode.
In my experience, Oracle support for Windows development environments has *always* been in beta mode.
3) The database wizard seems to only support Microsoft database connectors and Oracle. There is no way to add new ones.
I haven't tried, so what you say may be true.
4) Visual Studio hides files from the programmers view. I know they did this to make it "easy on the eyes" for novice programmers but it plays hell when your working as a team with a version control system. And when you delete projects or solutions you will find out that they are actually STILL on the harddrive. Its more of a "remove from view" option than true removal.
This depends on which you use. There's a "remove from project" and there's a "delete". "Remove from project"... removes it from the project (removes the entries from the makefile) and that's it... just like it says. The "delete file" option deletes the file (you can look to see that it was moved to the trash can even, if you want.
5) No Subversion support. There is a plugin called Ankh that does okay but it is limited. I have no idea of any support for CVS.
It doesn't support CVS. This isn't necessarily an issue with the product. Perhaps you should talk to the 3rd party suppliers of those products to ask for plugins, instead?
6) Partial classes? What the f***! This wouldn't be so bad if.NET used Java's strict file naming convention but now I find that I am looking for these "other parts" all over the place.
Don't use them if you don't want. I personally don't like using them, either, so I don't use them. I personally dislike Java's strict file naming rules/conventions for a number of reasons.
Mono looks more promising and has a larger selection of languages. It also works on multiple platforms whereas Microsoft's implementation will only work on Windows. There is also rumor on the.NET forums that Microsoft will be releasing new API functions to.NET that will only work on Microsoft Vista. If this is true you can kiss backwards capability goodbye.
That's "forward compatibility", not backwards. Backwards compatibility means that Vista will run XP applications. Forwards compatibility means that XP will run Vista applications. There are few systems that support forwards compatibility. Did Linux 2.4 support forwards compatibility with all 2.6 APIs, for example?
Even then... punchs/kicks tend to leave bruises and cuts which heal and you move on. Joint locks/breaks can cause much longer lasting injury... Think about how long it takes to recover from a blown knee or a broken elbow... you'll never be the same.
And, you're right about the expert/novice comparison. A novice has little/no control and will typically use too much uncontrolled power, particularly if they get mad (which will happen easily) and will have almost no defense to protect themselves. Someone trained (or just very experienced) a bit will use more appropriate amounts of power as well as being in control enough to not go too far with techniques and shouldn't get angry (lose control to emotions) as easily.
...or that he was a Nexus 6.5 or a Nexus 7, or a Nexus X - an experimental prototype even more advanced than the Nexus 6... which would mean that he was a replicant all along, just a real good one.
The fact is that most scientists use high-level software (MATLAB, Femlab,...) to do their simulations. Altough theses scientists may be interested by any potential speed-up to their workflow, they are not willing to invest any bit of their time to translate all their codebase to asm-optimized C. Thus, the ball is in the hands of software developpers, not scientists.
Isn't this the same argument as the Itanium proponents used?...It's up to the compiler writers to make good compilers so the code runs well...
Yeah... that's what I was thinking... it can already be done with mp3, just not directly. You still have to have the proprietary DRM to download the music. But then, you burn a playable CD (at lower quality, though) and then rip the CD into mp3.
I personally don't think any company should be prevented from downloading music from them in a proprietary format as long as there is an (eventual) way to get it into mp3 from their software (even at a reduced quality, as long as the quality is no worse than a 'standard' 64kb mp3 quality).
But besides gaming, are there anything needing such performance boost?
Yeah... it's called "work". Lots of applications are completely CPU bound. Image processing of all kinds... from content creation to rendering animated clips. I'm currently writing some code that has to process large amounts of data that comes out of a database. CPU power and HDD speeds are all it cares about (it reads, then processes, then writes) as there's no output of any kind to the screen (unless you use the switches to output statistics). Plus, just for developers, if you have a large codebase, faster CPUs (and HDDs) mean you can do 'make clean ; make' faster. Sure, lots of people just run Office or somesuch, but there's plenty of use for these new CPUs out there. I'm saving right now for an upgrade around Christmas when things will be more available, potentially price changes, and there's hope AMD will at least have some rumors of what they're going to do to compete.
The sad thing is, so many companies have developed so many engines, all starting from scratch. A lot of redundant effort has been wasted here. This is an area where open source should be doing well, you'd expect an open-source engine with the quality of last-generation's commercial engine, but for some reason this just hasn't happened.
You're kidding, right? If there's one thing that OSS is famous for it's reinventing the wheel, sometimes many times over.
In any case, it hasn't happened because writing engines (and content), even one generation behind, require massive amounts of time and energy. Take a look at the Quake and Quake2 engine codes. Now think about how much time went into research *before* that code was complete, how much time it took to write and debug the code, and how much time it took to QA all of it. They were massive undertakings that required specialized knowledge in physics, graphics, and gameplay in order to create. A wordprocessor, in contrast, would seem to be fairly simple in comparison.
Another thing that may be interesting is how much "beta" debugging will happen with games as opposed to tools in OSS. Where tools are needed and people who need to use them will report issues in the hopes they get fixed, how many people will do the same for games? I'm betting that there will be more people who download a game, get an error, and just delete it for now, maybe coming back in a few months for a look to see if the bug(s) that were found before are then gone.
Two things really... you have to break your tasks down into small tasks with known dependencies to the point you *can* estimate times to do things. Once you get that far, experience (gut feeling) will contribute. After that, you give an optimistic and pessimisitic times to your boss. Example: If all these assumptions hold and these other three things happen on time, then the time estimate is one week. If this, this, or this doesn't pan out as expected, then the time estimate is three weeks.
Check these 64-bit Linux benchmarks and see. They don't have duel cores though, only two dual cores (total of two sockets, four cores). Looks like Woodcrest does pretty good (scaling better than two Opteron 275s in a number of cases).
The coprocessor stuff AMD is doing is a lot of hot air. Different companies talk about "coprocessors" every few years and nothing has *ever* come of it for the consumer and very few things for the typical IT department. The PhysX coprocessor is the first thing that's come close. In many cases, it's usually better to plop down another dual core CPU beside it instead of a specialized coprocessor unless you do the specialized stuff a whole freakin lot.
Which is why these 64-bit Linux benchmarks show that Woodcrest scales as good as (and sometimes better than) Opterons at 4p. The vast majority of x86 servers are in the 4p range. Even Opterons have a worse-than-expected scaling issue past 4p, anyway, if you bother to look around to find the benchmarks.
AnandTech had a preview of the Woodcrest (the new Xeon) processor running 64-bit Linux server type workloads a while back. It compares Woodcrest, Opteron, and the Sun T1. Woodcrest looks quite impressive.
They may be faster, and they may consume less power, but IT is still about cost. Something tells me, that with this great advancement comes a higher price tag than AMD.
Who cares is Intel is a few mips faster?
Well... on many tasks, it's more than a few mips faster. However, this "great advancement" is (or will be) priced quite nicely, if you've actually bothered to look up the price lists that have been available on the web for the past few months. There's your 3rd of the three.
And let me state that again: children's "playing" is running scenarios in a safe environment, exercising your natural curiosity and imagination. E.g., if you watch a small girl enacting a tea party with her dolls, it's actually running a simulation of a social situation. It's exploration and imagination at their finest hour. That's what playing is, and not only in humans. Watch kittens or rabbits play, and you'll see that they too "play" by exercising their respective survival skills. In humans it's exercising your brains, which is _the_ survival advantage that nature gave you.
I guess that if today's (and our future's) survival skills rely on being able to sit still for hours on end while grasping something and repeatedly striking it with your thumbs, many kids born in the 1980s and later will be masters of their universe.
Ms is the "me too!" guy from the usenet. Everytime anybody else comes up with something Ms comes in afterwards and says "Me too!".
;)
Sounds like today's Sony and the PS3
MS has cleary lost a lot of it's mojo. They are not the MS of old. Sure they can still sink billions into products which have no market share till kingdom come but that may not be enough anymore.
I disagree. I think Microsoft has changed somewhat but I think they are still the Microsoft of old (same goals, etc.) It's the rest of the world that has changed the most (and thus, perhaps, why Microsoft has lost a bit of their mojo, as you say). There are *many* more computer users today than there were in 1995 and media regularly runs tech oriented stories so that today, you don't just see the huge stories... you see even smaller interest stories. Users are getting more familiar with computers and in very many areas, almost everyone has access to a computer of some kind and the Internet. More exposure, more media presence, more everything about computers today than ever efore. If you ask around in the USA, Europe, many parts of Asia, etc., the odds are that any computer user has at least heard of Linux, for example, and Apple's Macs have been getting more press now than ever... hell, Apple opens a retail store in NYC and it makes the every-15-minute run on Headline News. Before, no one knew much and if you got a PC, you got Microsoft's DOS or Windows. No one knew any better or anything else. These days, almost everyone knowledge of computers is a lot more broad than it used to be... largely thanks to the Internet and the other, more traditional, media.
Well... running a single application that has multiple parts executed in parallel can be done on a cluster. Many embarassingly parallel applications are easily made into a manager/workers model and run on clusters (or grids). Because it is running one application (with parts of it running in parallel), it is "a collection of computers acting like a single one".
Advance power management inside chips is getting to the point where portions of the chip, not just an FPU or an ALU, but pieces even within those as well as portions of cache, can be turned off when not in use. This means that a chip can use more power when running ProgramX than when running ProgramY, even though both programs may be considered compute intensive. Perhaps ProgramX is heavily integer and ProgramY is heavily FPU, for example. Eventually, power usage of a CPU may even approach that of asynchronous CPUs, where individual gates, if not needed, are never turned on at all which means that running the exact same program with different *data* can show different power usage.
Possibly... AnandTech has some interesting benchmarks for server based stuff running Linux (64-bit Gentoo) here that show Woodcrest doing pretty well. I think most of the nitpicking (DDR2 vs. DDR and the like) is just living in denial. AM2 has shown to be a non-issue for anything except the most memory bandwidth intensive benchmarks, and most of those are synthetics, which are pointless. There are a few HPC benches that show decent gains for AM2 but how many people run particle physics simulations and airflow solvers out there? Most just want more frames in F.E.A.R. or some other game. There have been *lots* of benchmarks of all kinds posted all over the place for Core2 and they are all consistent, even when using DDR2-667, which has both higher latency and only marginal bandwidth gains over DDR400 (basically equivalent).
Throw in the panic induced flailing about that is called 4x4 and you have a recipe that says AMD is sweating bullets, and they should be. I have four Athlon64s (one is an X2) and three AthlonXPs and right now, my next machines are looking very much like they are going to be Core2 based.
We hear plenty of talking about how we don't like RIAA and MPAA and the business model they have... how about offering useful suggestions, instead of just sitting on our asses and bitching?
Obviously, a company (or band) giving the MP3s away for anyone to download isn't going to fly. At the very minimum, bands will need money to eat and pay their electric bills. So, what are some other ideas that would enable actors and musicians to make money while the music is allowed to be free (as in beer)?
Some things to think about: there are a lot of post-production issues that musicians deal with when making an album. Similarly, actors making a movie will have lots of costs... effects, props, etc. Look at the credits in a CD cover or after a movie to see how many people are involved. Cut those people out of the process (to save money) and the quality of the film probably would drop (think the quality of a SciFi movie being like the old Dr. Who series as opposed to Star Wars or Firefly/Serenity type graphics. Donations given after release probably won't cover it, and it quality sucks even more, they won't get any donations. Regardless, we'd have to see artists drop these $10m/movie salaries and drop down to more like $10k/movie salaries, I'd imagine.
So... instead of sitting back and just voicing what we don't like, maybe we can give some ideas on what we think would work.
...are there any P4 based Macs?
I think you'll find these drops are to get rid of inventory and to clear the shelves for Core2 parts.
Yeah... amazing at how the obvious is completely ignored. This price drop is *obviously* to get rid of any inventory of chips that no one would otherwise buy because of the release of Core2. Price drops on P4s have little to do with "regaining marketshare", they are to cut losses of shelved inventory.
64-bit has already been tested some (with some of the few 64b benchmarks out there... Cinebench 9.5, for example). Core 2 did very well.
I'm not a fanboi, I buy what I think is best. That's why I have four Athlon64 machines (one is an X2) and three Athlon XP machines. I'm waiting to see reviews of Core 2, but if they turn out as good as, or better than, the previews, my next machine may very well be a Core 2. I don't care what the brand name is on the chip as long as it's the best for the money when I buy. I'm excited about Core 2 and hope that they are every bit as fast as the previews say. At the very least, the CPU market will show some competition again and that only means "faster for cheaper" for us consumers. Seriously... why are you mad at Intel? Competition between AMD and Intel can only benefit us. It's not like "if Intel wins we are all put into jail" or something. Grow up.
Yes, I have done so and I'm glad I didn't have it.
.NET forums that Microsoft will be releasing new byte codes to .NET that will only work on Microsoft Vista.
.NET change is a "add and replace". Any "replace" will break backwards compatibility.
:) With your new addition, I would agree that removing bytecodes would be an issue for backwards compatibility. We'll have to see if this is rumor or fact. I imagine that it would cause a huge issue for tons of 3rd party vendors if it happens.
.NET is limited. Mono seems to have better coverage amongst the platforms since they have virtual machines that can run on various platforms and OS's, new and old. I think that developers who use Mono are at an advantage because of this. There's no reason Microsoft couldn't do the same but I fear they use .NET as a way to force people in to upgrading operating systems to make $$$. It could also be that they have no incentive to support any other platform than the most current version of Windows.
The problem C# developers experience is the problem of quickly locating classes across multiple projects within one or more solutions. In Java, the forced namespace and file naming convention makes this extremely easy. In C#, you end up using the IDE's poor Find function or the questionable Object Browser. Moving code is also very painful since its not always just an easy case of "cut and paste". You said you prefered not having this defined structure, but what is the actual benefit of not having it?
Particularly, Java makes massive trees both for source and for intermediates and for final output. It's just annoying. The namespace of the object defines where it is in the final assembly. After that, in Java it's just annoying having to traverse all the directories to find stuff.
If you target any components of anything to a future version of an API
Oh, my fault. I see the issue that you were hung on. I should have written it as such:
There is also rumor on the
There. Like I said earlier, this is similar to the change from 1.0 to 1.1. I must stress that this is ofcourse only a rumor though. Java is also suppose to add a new byte code (1) with their release of 1.6 Dolphin. The major difference is the Java change is suppose to be an "add" whereas the supposed
That's a fairly important point to leave out... it changes the entire conversation
Tie Java to some Linux 2.6 kernel APIs and see if your Java runtime will run on 2.4. 2.4 is not forward compatible with 2.6.
Bytecode is not machine code.
You seem to want your Java 3.0 (when it comes around) apps to run on a Java 1.5 runtime, by your examples
I just compiled a "Hello World" with a Java 1.5 compiler and it runs fine on a Java 1.1 virtual machine. So what? Is this suppose to be impossible?
Again, this stems from your ommission. It was one of the few ways I could think of quickly to tie a Java program with a specific version of an OS. Put in your ommission, and I agree because the Java 1.x standards define the bytecode set. Any removal or addition to the set should result in a major version number bump, IMO. So, within a major version number, there is some idea of forwards compatibility.
NET is no more limited than Java (and vice versa) in this regard.
Again, left something important out. I should have said Microsoft
Yes, I've used Mono as well (and liked it). Still, it's difficult to say that Microsoft should make CLRs for lots of different platforms. After all, the CLR is a (real) standard, approved and documented by a worldwide standards body and is available for anyone to implement (unlike others...), like the Mono guys do. I'm on the fence about the rest of the forms library and such. I personally think it'd be in Microsoft's best interest to open them up, but I can see good arguments against it, as well.
So, after the addition of a few things that you left out, I think we largely agree (except in places of personal preference sometimes).
Odd, I haven't had this problem and I have a similar system to what you describe (you have no description of your video card, though,
.NET app called Paint.NET.
...
.NET with multipe coders and you will begin to wish you had it. And even though you can enforce certain rules in your area for coders to follow you are not able to enforce these same rules on others who code you may reuse in your project. I think Microsoft left the strict naming out to appease C++/C programmers but didn't fully understand the disadvantages in doing so.
.NET and Java: .NET is tied to the OS. That is just silly. Why are they unable to release the runtime (virtual machine) for "older" operating systems like XP? Why should I have to compile code, which is actually just bytecode and not machine code, for two different platforms? I know my Java 1.5 apps still work on Windows 95, 98, Me, 2000, XP, and Vista. Why is .NET so limited?
.NET forums that Microsoft will be releasing new API functions to .NET that will only work on Microsoft Vista. If this is true you can kiss backwards capability goodbye.
.NET is no more limited than Java (and vice versa) in this regard. If Microsoft supplies a patch or some kind of runtime that provides the Vista API equivalents back onto the older XP (thus building forward compatibility into XP), then you can do it. The Windows API is changing... if these new APIs are ported back to XP then i
I don't think I have ever had to worry about a graphics card for 2D widget blitting. Why is VS2005 different? I have also noticed this same slowness in another large
You've stated my point. I don't see any blitting slowness on my machine. I use VS2005 as well.
6) Partial classes?
Don't use them if you don't want.
It is not me that is creating these freaks of nature, but rather VS2005 GUI editor. It uses these partial classes for code behinds.
Yes, it uses partials. The few times I've seen them is when it seperates your code from the generated stuff. It's kinda nice actually... it keeps you from mucking around with the generated stuff by not having it in the file that you will be editing. No accidental deletes and such...
I personally dislike Java's strict file naming rules/conventions for a number of reasons.
Work on something of scale in
Yes, I have done so and I'm glad I didn't have it. I've had it in Java and, while it wasn't a show-stopper, it was sometimes needlessly annoying. In either case, it isn't a huge issue. I simply dislike it, I don't loathe it and I'm not fanboish towards not having it. I'm not a fanatic over either development platform and I'm not an OS religious fanatic, either. What works for you just *might* not work for everyone.
That's "forward compatibility", not backwards. Backwards compatibility means that Vista will run XP applications. Forwards compatibility means that XP will run Vista applications.
You just pointed out the big difference between Microsoft's
Nothing prevents it. Microsoft just writes the vm for each machine. What you said was: There is also rumor on the
If you target any components of anything to a future version of an API, you have the same issue. The same goes for Java or anything else. Tie Java to some Linux 2.6 kernel APIs and see if your Java runtime will run on 2.4. 2.4 is not forward compatible with 2.6. However, 2.6 is fairly backwards compatible with 2.4 (a Java program you write on a 2.4 based runtime will most likely work on a 2.6 system). Or... write your Java program to call the 2.6 kernel APIs directly (C interface). Run your Java app, bytecodes and all, on a 2.4 system and see what happens. You seem to want your Java 3.0 (when it comes around) apps to run on a Java 1.5 runtime, by your examples. Odds are, Java 1.5 will not be forward compatible with Java 3.0.
a development IIS instance and SQL Server 2005 Express is included.
.NET because you can actually watch the thing redraw itself at times. This from a Pentium 4 with a 1G of memory? I fear the day they upgrade to Vista with this bloated beast in tow.
.NET used Java's strict file naming convention but now I find that I am looking for these "other parts" all over the place.
.NET forums that Microsoft will be releasing new API functions to .NET that will only work on Microsoft Vista. If this is true you can kiss backwards capability goodbye.
Oh gawd they can keep that pile of crap.
I don't know much about the IIS instance, but SQLServer2005 Express is decent for its intended purpose... a development environment.
There are also some major issues I have found with VS2005:
1) It is very slow. I think they wrote the bugger in
Odd, I haven't had this problem and I have a similar system to what you describe (you have no description of your video card, though, but I've used it on Intel integrated graphics on a laptop with few issues. Plus, redraw effects are very subjective. Some who see the redraw actually see it complete in a second, which may be an issue for some but not for others. Anecdotal evidence is fun!
2) ADO 2.0 looks promising but there seems to be a huge lack of vendor support. Oracle support is still in beta mode.
In my experience, Oracle support for Windows development environments has *always* been in beta mode.
3) The database wizard seems to only support Microsoft database connectors and Oracle. There is no way to add new ones.
I haven't tried, so what you say may be true.
4) Visual Studio hides files from the programmers view. I know they did this to make it "easy on the eyes" for novice programmers but it plays hell when your working as a team with a version control system. And when you delete projects or solutions you will find out that they are actually STILL on the harddrive. Its more of a "remove from view" option than true removal.
This depends on which you use. There's a "remove from project" and there's a "delete". "Remove from project"... removes it from the project (removes the entries from the makefile) and that's it... just like it says. The "delete file" option deletes the file (you can look to see that it was moved to the trash can even, if you want.
5) No Subversion support. There is a plugin called Ankh that does okay but it is limited. I have no idea of any support for CVS.
It doesn't support CVS. This isn't necessarily an issue with the product. Perhaps you should talk to the 3rd party suppliers of those products to ask for plugins, instead?
6) Partial classes? What the f***! This wouldn't be so bad if
Don't use them if you don't want. I personally don't like using them, either, so I don't use them. I personally dislike Java's strict file naming rules/conventions for a number of reasons.
Mono looks more promising and has a larger selection of languages. It also works on multiple platforms whereas Microsoft's implementation will only work on Windows. There is also rumor on the
That's "forward compatibility", not backwards. Backwards compatibility means that Vista will run XP applications. Forwards compatibility means that XP will run Vista applications. There are few systems that support forwards compatibility. Did Linux 2.4 support forwards compatibility with all 2.6 APIs, for example?
Even then... punchs/kicks tend to leave bruises and cuts which heal and you move on. Joint locks/breaks can cause much longer lasting injury... Think about how long it takes to recover from a blown knee or a broken elbow... you'll never be the same.
And, you're right about the expert/novice comparison. A novice has little/no control and will typically use too much uncontrolled power, particularly if they get mad (which will happen easily) and will have almost no defense to protect themselves. Someone trained (or just very experienced) a bit will use more appropriate amounts of power as well as being in control enough to not go too far with techniques and shouldn't get angry (lose control to emotions) as easily.
...or that he was a Nexus 6.5 or a Nexus 7, or a Nexus X - an experimental prototype even more advanced than the Nexus 6... which would mean that he was a replicant all along, just a real good one.
The fact is that most scientists use high-level software (MATLAB, Femlab, ...) to do their simulations. Altough theses scientists may be interested by any potential speed-up to their workflow, they are not willing to invest any bit of their time to translate all their codebase to asm-optimized C. Thus, the ball is in the hands of software developpers, not scientists.
...It's up to the compiler writers to make good compilers so the code runs well...
Isn't this the same argument as the Itanium proponents used?
Yeah... that's what I was thinking... it can already be done with mp3, just not directly. You still have to have the proprietary DRM to download the music. But then, you burn a playable CD (at lower quality, though) and then rip the CD into mp3.
I personally don't think any company should be prevented from downloading music from them in a proprietary format as long as there is an (eventual) way to get it into mp3 from their software (even at a reduced quality, as long as the quality is no worse than a 'standard' 64kb mp3 quality).
Wow... it's nice to know that they are at least looking at things better.