No, code is not code. Some code is easier to make, others aren't. Some code is easier to convert to other code, while others are impossible.
Simple fact about developing games on the PS3.
Companies like Valve, make the game on the PC, Then they port it to the 360/ps3. So the code is natively 'PC'. 360 = microsoft so OF COURSE Its going to be easy, it uses the exact same propritary code/software that pc gamers have, that works with Windows! Is meant to work on windows! Look at it this way, if 360 has DX9, would you be shocked? I wouldn't. If PS3 did, I'd probably drop dead.
Please, please stop posting about things you have absolutely no understanding of. I think you will find that code IS code, assembly is assembly, C++ is C++, C is C and so on. Sure, the code may have to be modified, reorganised or even re-written to function correctly with specific hardware, but it's all still the same language that compiles to machine code for that system. There's no magical special language that PS3 games are written in that's different from PC and 360; PS3 dev kits will compile C++, 360 dev kits will compile C++, as well as several other languages likely. The mere notion that some code is impossible to port is ridiculous - the only time this would be true would be in trying to implement a function for which the necessary hardware is not present, like trying to code bluetooth into a system with no bluetooth hardware.
Right, now here is the part where you need to read carefully what I'm typing. Aside from DirectX, which Windows and the 360 both have, there is no super secret code shared between PC and 360. It's not a matter of copying the PC source code into a 360 dev kit system and hitting compile, changed have to be made for the 360 too, it's just more straightforward than the PS3. Get this notion out of your head that Microsoft is in control of everything here - they aren't. By your logic, games like Doom and Quake which have native OpenGL renderers port to the PS3 all nice and simple just because the PS3 uses an OpenGL implementation. It doesn't work like that.
Another thing is this. Yes, the ps3 has harder 'architecture' to work with then People who DESIGN games for the PC.
PC, you think of everything as a giant pool of resources, you have X ram, X HDD, X CPU speed, X Vid Graphics, ect ect. Its one giant pool. You now create a game, And try to make it work on a certain set of requirements. And given the way PC/Windows works, This method works, its not meant to be 'optimized' for every pc. Thats impossible, theres to much varation.
And this is why VALVE fails at console game making. They haven't realized, that the reason Sony has won the last 2 generations, is because They HAVE optimized games for there consoles. Look at PS1. My god. NO BODY thought you could do what they did, with the resources of that system! There were people who developed games, that said they PUSHED the ps1 BEYOND what it should have been able to do. The Ps2 was similar, but not to such an extreme level.
The Main difference between Ps3, and 360 is The Ps3 is based on games being optimized in the best way possible for said console, the 360 is more about big pool of resources, and throwing what you got at it and hope the pool doesn't flood. Valve is not used to writing code that allocates Say, Physics to only work on one SPE, and animations on another, He'd rather throw it all at the PS3's single CPU and say 'see, its weak, it can't handel it' with out even touching its real power.
So wait, what? You're saying that code on the 360 isn't optimised because it's more easily ported from PC? And what on earth are you talking about saying that Sony optimises games for their consoles? It's not their job, it's up to the individual developers and teams to do that, they don't finish a game and then say, "Hey Sony, we're done now, come over here and optimise this so it runs better." And how does Valve fail at console games? Last I looked, The Orange Box was a perfectly functional and great set of games on the 360 and the PS3. Last I looked, Left 4 Dead was fully functional and great fun to play on the 360. You're just bitter that a developer has said it's a pain in the ass porting their code to a radically different architecture because it happens to be the console you like. And yeah, I think Valve might have some experience allocating things to cores, saying as Source has has multi-core support for a while now. You clearly aren't a developer, and you obviously don't work for Valve, so how can you say what they have and haven't done?
The 360 is no where near the architecture of the PS3. The 360 is basically a 'tri-core cpu'. Its 3. uhh 1.5ghz? cpus, that all work together in unison. (Not the technical terminology mind you) Again, the 'pool methodology' Think of the 360 as a gaint 50 galon drum.
The Ps3 is 8, 6 galon drums. Course, the cell doesn't work at all like the normal cpus either. They don't 'work together pooling resources', you 'dedicate' resources to specific portions of the CPU.
You don't seem to understand what an architecture is. An architecture, in computer processing, is, simply put, the set of instructions that the processor understands. In this case, the PS3 CPU understands PPC instructions. And oh look, so does the 360 and the Wii. And just to note, the 360 CPU is indeed tri core, but with each core clocked at 3.2GHz, the same frequency as the Cell SPEs. The 360's cores are independent and in fact are modified versions of the PPEs in Cell, as it turns out. As well as that, each core supports two threads, meaning your analogy is completely incorrect. And yeah, dedicating things to specific bits of the CPU is exactly how multi threading on multi core and HyperThreaded CPUs works, so it isn't anything special or new.
Basically developers are finding the problem with developing with the ps3 isn't Starting out on the PS3, thats easy.
Its porting.
In order to port a game from pc to ps3, or 360 to ps3, They can't just go about the 'normal' method of porting a game. They actually have to dive in and manually code the system to work with the ps3! Because they can't just throw it at the ps3 and expect it to understand what to do with it, since its needs to know 'what' to do with it all. However, by making it on the ps3, porting to pc/360 is far far easier
Your logic is incredibly flawed. How does it make any sense that PS3 code could be converted easily to 360 and PC but not vice versa, you've even said yourself that they are totally different. And having to manually code for the PS3? Well I can see that they'd have to make lots of edits in the lower level of things because of how the CPU works, but high level C++ for example is still going to be high level C++ regardless of platform. I'll admit many changes would have to be made, mostly on the CPU and GPU areas obviously, but the same goes for porting to 360, with the exception that the 360 tends to be easier. If by "manually coding for the PS3" you were indeed referring to the low level changes and the conversion of everything from DirectX -> OpenGL and CPU optimisations, then I'd just like to tell you THAT'S EXACTLY THE POINT. This is why they don't want to release on PS3, because it's so (unnecessarily by many people's opinions) different, they feel that it isn't worth their time.
Now for the love of all that is holy stop acting like Valve are incapable nitwits because they don't want to develop for your console.