platform independence....!!
-
Platform independence, What it actually means......?? Java is platform independent, but the word platform compromise what? Is it CPU only or is it CPU+OS? when you said java is PI, but then you have to install OS specific JDK OR JRE. Java has OS(linux, win etc) specific jre, then why cant C# have this? Now you say MONO is there, but that still under hit n try loop. Cant MS create an OS specific framework and release. it helps it to gain more users. In market people still prefers java over c#, after creating all these VS version, .net framework's, blah blah....(which only putting loads on cpu, ram etc, OS getting heavy and more heavy, every program consumption increasing) Even after all these MS OS & technologies are under heat and exploitation. Open source.....?? Is this is the new era? :confused::confused::confused::confused:
Hi, a platform depends on the product you are looking at. if you sell helicopters, a platform would be a solid surface large enough to let a helicopter take of and land; and the helicopter would be platform independent if it has normal size and weight, and no special requirements. if you sell an operating system such as Windows, it would be a PC-like piece of hardware with some mandatory peripherals; and your OS would be platform independent if an instance of your product would fit a variety of such platforms without failure. most frequently, the term is used for applications; then the platform is a computer system (hardware, operating system, and maybe some middleware such as a database or a virtual machine), and the application is whatever you choose it to be; it would be platform-independent if it could run on a variety of platforms (not all conceivable platforms, but some of quite different nature). Most applications either target a single platform, or they target a couple of platforms by offering several instances (e.g. Oracle is available for most platforms, however it is almost the same functionality rebuild and repackaged for each platform). Most applications are bound to their platform by their delivery form (it takes Windows to run a Windows EXE) and by the platform functionality they build on (e.g. the Win32 API). There have been several initiatives to ease development for multiple platforms and/or to improve platform independence. One was standardizing programming languages; one was having (some kind of) UNIX on all kinds of hardware; another one the introduction of virtual machines (most notably the Java VM). Programming languages have evolved; C was NOT platform independent, they never fixed the size of variable types (e.g. all the spec says is sizeof(short)<=sizeof(int)<=sizeof(long)); the C specification has an appendix containing a list of open specs, things to be specified by the manufacturer! More recent languages (Java, C#) did a better job at specifying the language. Operating systems have evolved; attempts to provide Windows for other than x86 architectures weren't really successful; efforts to standardize UNIX (such as Posix) were not that great either. Recent efforts such as JVM and the .NET Framework are another step to a standard platform. Platform independence is linked to standards; it takes several companies to agree on a series of things. However companies also try to make a profit, and to distinguish themselves from their competitors, so as soon as a standar
-
Dave Kreskowiak wrote:
based on your view of the compilers for C/C++, is Java really platform independant?
Well I haven't stated what my view of C/C++ is! And yes I agree that Java is still not totally independent but it is closer than anything else at the moment. The key here is not what the source language looks like but whether the object code is truly portable to every platform.
Dave Kreskowiak wrote:
the only "language" that I know of that is truely independant is Math.
I don't know what that has to do with this subject.
Dave Kreskowiak wrote:
No computer language that I can think of can exist without a seperate implementation of something on each type of CPU to get the resulting code to run.
I have never disputed this. The point is that platform independence will only truly exist when the manufacturers provide a common implementation for some object code which any source language can be compiled to. At present we have Java and MSIL, both a small step towards this goal. Whether we ever get to true platform independence for all languages is anyone's guess.
Richard MacCutchan wrote:
Dave Kreskowiak wrote: the only "language" that I know of that is truely independant is Math. I don't know what that has to do with this subject.
Out of all the languages that we have, both human and digital, Math is the only one that is truely platform independant.
Richard MacCutchan wrote:
I have never disputed this. The point is that platform independence will only truly exist when the manufacturers provide a common implementation for some object code which any source language can be compiled to. At present we have Java and MSIL, both a small step towards this goal. Whether we ever get to true platform independence for all languages is anyone's guess.
This probably never going to happen in a capitalistic marketplace. What's to differentiate one chip makers product from another? All they have to work with is architecture and instruction set differences, and that's drien as much by marketing ad by consumer demand. Those differences alone kill the idea of platform independance. What's going to make one chip run faster than the competitions if you both have to run the exact same code the exact same way? If you can't change the architecture enough to differentiate your chip from the other guys in any meaningful way, what's the point of even making the chip? And that doesn't even include the chipsets under the CPU. The chipsets themselves have the same problem. A server chipset doesn't provide the same functionality as a desktop or laptop chipset. How does each of these maintain the exact same run specifications of platform independant code while still offering different features such as power management for laptops and throughput for servers?
A guide to posting questions on CodeProject[^]
Dave Kreskowiak Microsoft MVP Visual Developer - Visual Basic
2006, 2007, 2008
But no longer in 2009... -
Hi, a platform depends on the product you are looking at. if you sell helicopters, a platform would be a solid surface large enough to let a helicopter take of and land; and the helicopter would be platform independent if it has normal size and weight, and no special requirements. if you sell an operating system such as Windows, it would be a PC-like piece of hardware with some mandatory peripherals; and your OS would be platform independent if an instance of your product would fit a variety of such platforms without failure. most frequently, the term is used for applications; then the platform is a computer system (hardware, operating system, and maybe some middleware such as a database or a virtual machine), and the application is whatever you choose it to be; it would be platform-independent if it could run on a variety of platforms (not all conceivable platforms, but some of quite different nature). Most applications either target a single platform, or they target a couple of platforms by offering several instances (e.g. Oracle is available for most platforms, however it is almost the same functionality rebuild and repackaged for each platform). Most applications are bound to their platform by their delivery form (it takes Windows to run a Windows EXE) and by the platform functionality they build on (e.g. the Win32 API). There have been several initiatives to ease development for multiple platforms and/or to improve platform independence. One was standardizing programming languages; one was having (some kind of) UNIX on all kinds of hardware; another one the introduction of virtual machines (most notably the Java VM). Programming languages have evolved; C was NOT platform independent, they never fixed the size of variable types (e.g. all the spec says is sizeof(short)<=sizeof(int)<=sizeof(long)); the C specification has an appendix containing a list of open specs, things to be specified by the manufacturer! More recent languages (Java, C#) did a better job at specifying the language. Operating systems have evolved; attempts to provide Windows for other than x86 architectures weren't really successful; efforts to standardize UNIX (such as Posix) were not that great either. Recent efforts such as JVM and the .NET Framework are another step to a standard platform. Platform independence is linked to standards; it takes several companies to agree on a series of things. However companies also try to make a profit, and to distinguish themselves from their competitors, so as soon as a standar
Luc Pattyn wrote:
And finally, platform independence can never be guaranteed
As simple as this :laugh: :laugh:
Luc Pattyn wrote:
However companies also try to make a profit, and to distinguish themselves from their competitors
Nature of human race....!! Eats own species in race of survival :doh: Now Just today NASA declare there is water on MOON, Bad for MOON...... :) :)
-
Richard MacCutchan wrote:
Dave Kreskowiak wrote: the only "language" that I know of that is truely independant is Math. I don't know what that has to do with this subject.
Out of all the languages that we have, both human and digital, Math is the only one that is truely platform independant.
Richard MacCutchan wrote:
I have never disputed this. The point is that platform independence will only truly exist when the manufacturers provide a common implementation for some object code which any source language can be compiled to. At present we have Java and MSIL, both a small step towards this goal. Whether we ever get to true platform independence for all languages is anyone's guess.
This probably never going to happen in a capitalistic marketplace. What's to differentiate one chip makers product from another? All they have to work with is architecture and instruction set differences, and that's drien as much by marketing ad by consumer demand. Those differences alone kill the idea of platform independance. What's going to make one chip run faster than the competitions if you both have to run the exact same code the exact same way? If you can't change the architecture enough to differentiate your chip from the other guys in any meaningful way, what's the point of even making the chip? And that doesn't even include the chipsets under the CPU. The chipsets themselves have the same problem. A server chipset doesn't provide the same functionality as a desktop or laptop chipset. How does each of these maintain the exact same run specifications of platform independant code while still offering different features such as power management for laptops and throughput for servers?
A guide to posting questions on CodeProject[^]
Dave Kreskowiak Microsoft MVP Visual Developer - Visual Basic
2006, 2007, 2008
But no longer in 2009...Dave Kreskowiak wrote:
Out of all the languages that we have, both human and digital, Math is the only one that is truely platform independant.
True, but hardly relevant to this discussuin.
Dave Kreskowiak wrote:
This probably never going to happen
I agree entirely with your comments; but it's still a good aspiration.