Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. Other Discussions
  3. IT & Infrastructure
  4. platform independence....!!

platform independence....!!

Scheduled Pinned Locked Moved IT & Infrastructure
csharpannouncementjavadotnetvisual-studio
24 Posts 6 Posters 11 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D Dave Kreskowiak

    Richard MacCutchan wrote:

    Java goes some way towards this but still requires the manufacturer to provide a Java VM.

    Thus making the runtime environment itself platform dependant, so, based on your view of the compilers for C/C++, is Java really platform independant? I don't think so. So far, the only "language" that I know of that is truely independant is Math. 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.

    A guide to posting questions on CodeProject[^]
    Dave Kreskowiak Microsoft MVP Visual Developer - Visual Basic
         2006, 2007, 2008
    But no longer in 2009...

    L Offline
    L Offline
    Lost User
    wrote on last edited by
    #15

    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.

    D 1 Reply Last reply
    0
    • L Lost User

      Eddy Vluggen wrote:

      Woman and man are also almost the same thing

      A trollism, which I will ignore.

      Eddy Vluggen wrote:

      A compiled executable is machinecode that's assembled for a specific architecture.

      Not if it's Java, which produces an object like byte code which will run under a Java VM on any architecture. This is the whole philosophy behind the Java language. I used this extensively in the last commercial project that I worked on.

      Eddy Vluggen wrote:

      Their goal is to make a profit, and they will serve the needs and demands of that market.

      I agree completely; and if the demands of the market are for platforms that support a Java-like implementation, then the manufacturers will fall over themselves to provide it.

      L Offline
      L Offline
      Lost User
      wrote on last edited by
      #16

      Richard MacCutchan wrote:

      A trollism, which I will ignore.

      Not a trollism, but an extreme example to show that details do mind. The devil is always is the details :)

      L 1 Reply Last reply
      0
      • L Lost User

        Richard MacCutchan wrote:

        A trollism, which I will ignore.

        Not a trollism, but an extreme example to show that details do mind. The devil is always is the details :)

        L Offline
        L Offline
        Lost User
        wrote on last edited by
        #17

        Whatever, I think this discussion has run its course.

        1 Reply Last reply
        0
        • L Lost User

          Eddy Vluggen wrote:

          A language is not confined to it's compiler.

          I don't understand this statement; how can it not be?

          Eddy Vluggen wrote:

          not every language is compiled,

          Well, if it isn't compiled it needs an interpreter; almost the same thing.

          Eddy Vluggen wrote:

          Worse, you cannot even simply copy your executable to an AmigaDOS-based system. It would convert some of the bits to the encoding of it's own FileSystem, crippling the original executable.

          But the whole point of platform independence is that you can copy the object (executable) to any platform and run it as is. That's why the platform has to implement some form of VM, either through software or hardware.

          Eddy Vluggen wrote:

          It's not the responsibility of the hardware-manufacturer or the OS-developer to embed native support for any language.

          No, it's not their responsibility, but if they want to offer the facilities required by the market then it's in their interests to do it.

          P Offline
          P Offline
          PIEBALDconsult
          wrote on last edited by
          #18

          Richard MacCutchan wrote:

          But the whole point of platform independence is that you can copy the object (executable) to any platform and run it as is.

          That may be just one narrow definition and I don't believe it's achievable. Unless I'm mistaken... The only platform Java runs on is the Java VM.

          L 1 Reply Last reply
          0
          • H Hum Dum

            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:

            P Offline
            P Offline
            PIEBALDconsult
            wrote on last edited by
            #19

            Generally, "platform" refers to the computer hardware and any software (operating system) running on it. Each layer of the platform provides an abstraction of the platform that supports it. Application Framework (VM) Operating System BIOS Hardware

            Hum Dum wrote:

            Java is platform independent

            Hum Dum wrote:

            why cant C# have this?

            All high-level languages are platform independent. You just need a way (compiler/interpreter) to translate the high-level language to machine code.

            1 Reply Last reply
            0
            • P PIEBALDconsult

              Richard MacCutchan wrote:

              But the whole point of platform independence is that you can copy the object (executable) to any platform and run it as is.

              That may be just one narrow definition and I don't believe it's achievable. Unless I'm mistaken... The only platform Java runs on is the Java VM.

              L Offline
              L Offline
              Lost User
              wrote on last edited by
              #20

              PIEBALDconsult wrote:

              That may be just one narrow definition and I don't believe it's achievable.

              Only time will tell on that. But if you consider what's achievable today compared to ten years ago ...

              PIEBALDconsult wrote:

              Unless I'm mistaken... The only platform Java runs on is the Java VM.

              Yes as far as I know you are right. The key being that you can take a Java executable and run it anywhere that has a Java VM - which actually means quite a lot of places. All the other "portable" languages still need to be compiled and linked on the native platform. If you have ever worked on developing an application which is supposed to run on any platform you will know what a lot of work this entails. Switch to Java and you only need to have one development system.

              1 Reply Last reply
              0
              • H Hum Dum

                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:

                L Offline
                L Offline
                Luc Pattyn
                wrote on last edited by
                #21

                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

                H 1 Reply Last reply
                0
                • L Lost User

                  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.

                  D Offline
                  D Offline
                  Dave Kreskowiak
                  wrote on last edited by
                  #22

                  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...

                  L 1 Reply Last reply
                  0
                  • L Luc Pattyn

                    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

                    H Offline
                    H Offline
                    Hum Dum
                    wrote on last edited by
                    #23

                    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...... :) :)

                    1 Reply Last reply
                    0
                    • D Dave Kreskowiak

                      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...

                      L Offline
                      L Offline
                      Lost User
                      wrote on last edited by
                      #24

                      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.

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • World
                      • Users
                      • Groups