Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
wich computer language is better to right an emulator?
#1
Star 
wich language is the best for an emu java?c++? or c?
i know emulators for psp for example that works on each one and the best is writen in java
but pcsx2 is writen in c++.isnt it?
so if someone could write pcsx2 in java could it have better performance?
could it be worst?
would the coders be able to add speadhacks(i think java cant be speedhacked correct me if wrong)?
it is just an opinion and a good thing for chat Tongue



P.M correct me if i "said" anything wrong
oh and sorry if i am at wrong section Tongue if it is can a mod move it please to the right one?(i am new to these forums Laugh)
Reply

Sponsored links

#2
http://en.wikipedia.org/wiki/Java_%28pro...anguage%29

The first paragraph should be enough Smile

For near the lowest level C and C++ still reigns.
Imagination is where we are truly real
Reply
#3
so that means it would be better if they had wrote it in java?
but they should know both c++ and c?
but doesnt that mean they could now had made the emulator better if was writen in java?It would be easier to get wrighter and so they could add more speedhacks(maybe)and mroe accurate emulation? with less bugs?
also i forgot to add that java is updating becouse it is a program but c++ updates once a year(at leats i think)
Reply
#4
The programming language is just the means to get your idea done.
If your choosen language doesn't support a feature you need, you'll
have to come up with weird / slow workarounds or simply can't do it.

So yea, we choose C / C++, we're fine there.
Recoding it all in a different language would take ages and offer no benefit
as our initial choice of programming language turned out to offer all we needed.
Reply
#5
If it's in java it can't have better performance (providing the same code quality), If you did read that link you know Java has a simpler object model, it means it lacks some capabilities C++ provides. Java has fewer low level facilities, it means it can't do some things only C++, C and the assembly languages can.

For many things Java will be enough, just java was never meant to be the language of choice to write drivers and emulators (of course it's not forbidden). It is perfect for Internet because it was primarily designed to be highly portable, just code once and run it in any machine over there or almost it.

C was designed from scratch to be a language to create Operational Systems, it's very close to the assembler. "Performance and total access to the hardware resources" are it's reason d'être. Java is a "higher level" language, and for this kind of application lower is better.

The mistake in your reasoning lies in the belief the language is the reason for the bugs. Some may be a mistake or distraction from the coder indeed. But the main cause for the bugs being many things about the PS2 hardware are not completely known yet and maybe some not known at all yet.
Imagination is where we are truly real
Reply
#6
hey moderators you can close this topic my question is solved Laugh
Reply
#7
A forum is an open discussion place, not a personal chat.
As such threads should only get closed for some kind of profound reason Tongue2
Reply
#8
Yes, and your doubts are valid and may be the doubts of many. As always is a question of purposes; Java was designed to be near to an universal language able to integrate the most different platforms around the world, and it was successful in it.

It is still powerful enough and is among the best multipurpose languages perform wise, to the extent it is actually used to develop an emulator. Even if that emulator become able to run it's game perfectly, even if it's performance come to surpass PCSX2 it is not a valid comparison still. wii and PS2 are too different machines with too different demands.

Albeit the emulator is done in Java and works it could just be yet more quicker if done in C++ and I'm telling just "could" although probably would. Since Java has at least a layer more than C++ for many APIs (a "need" exactly because the desired universality) that supposition sounds fairly reasonable but only actually redoing the code would prove it. The big question is, why would someone redo the enormous amount of work if Java proves enough to emulate wii?

PS: Best performance can be achieved in Java avoiding certain particularities that makes Java what it is, but it just leaves the Java's core that is close of C++ without it's power, so...
Imagination is where we are truly real
Reply
#9
hey erm... i would like to ask are there any other languages for linux or mac.... and all these staff i only know languages for windows.. Tongue
Reply
#10
(08-18-2010, 09:07 AM)martirio3000 Wrote: hey erm... i would like to ask are there any other languages for linux or mac.... and all these staff i only know languages for windows.. Tongue

Yes, Python among others, it is used in actual game development, NWN2 just as an example. Indeed Almost all those languages (including C and Java) are more Unix oriented than Windows Smile Not to say the professional graphic programs almost all them uses OpenGL, it's very uncommon DX being used to that (outside games development I mean).

PS: DirectX is a simplified version of OpenGL, actually it was born from it. The main reason DX gained it's popularity was because that simplicity enough for games and that did not require totally compliant (and expensive, at least at that time) video cards as OpenGL did. Nowadays DX is nearing OpenGL in many things but is still behind in resources and facilities. The other side of the coin being it, like almost anything from MS, is a watered version, easier to implement and that glues on things and creates "standards"... the less bright side being it's limited to Windows, of course and too.

Another thing that can fool someone to think DX is 'better' being GSDX is more advanced than the Windows port of the OpenGL plugins and because Linux poses some implementation problems by itself, not least the speed it evolves and changes between versions and distros. The ports clearly aren't optimized for Windows. The inverse is valid too, PCSX2 itself being optimized for windows and not that much for Linux.
Imagination is where we are truly real
Reply




Users browsing this thread: 1 Guest(s)