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

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

    Richard MacCutchan wrote:

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

    Woman and man are also almost the same thing, but I'd hate to make a mistake in discriminating between the two on the wrong occasion. A compiled executable is machinecode that's assembled for a specific architecture. You won't be able to run machinecode from the Intel platform on a Motorola machine, without doing any modifications. You might find a compiler that's able to compile the same language, but that means that you cannot use any native libraries. The second option is interpreted; you don't distribute machinecode, but sourcecode. Then the computer executes these instructions ad hoc. The third option would be to distribute something that resembles sourcecode, but is actually compiled and optimized for a generic environment. That's your VM.

    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's why the platform has to implement some form of VM, either through software or hardware.

    Words don't have goals, but meanings. You'll find that it means "not depending on the platform". A platform has no obligation whatsoever to provide various Virtual Machines.

    Richard MacCutchan wrote:

    The ultimate goal is that all manufacturers will have built in support for Java runtime code (or similar) on their systems.

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

    I are Troll :)

    L 1 Reply Last reply
    0
    • L Lost User

      Dave Kreskowiak wrote:

      The language is defined by its specification documents.

      Yes, I understand that. However, in the context of our discussion I was stating that while you can run a Pascal program on many different platforms, you will still require the compiler and libraries, in order to create the executable. True platform independence means that you can create an executable on one platform, but run it on any other, without the need of the language compiler or libraries. Java goes some way towards this but still requires the manufacturer to provide a Java VM. The ultimate goal is that all manufacturers will have built in support for Java runtime code (or similar) on their systems.

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

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

      P L 2 Replies Last reply
      0
      • 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...

        P Offline
        P Offline
        Pete OHanlon
        wrote on last edited by
        #12

        Plain English. Write once. Run nowhere.

        "WPF has many lovers. It's a veritable porn star!" - Josh Smith

        As Braveheart once said, "You can take our freedom but you'll never take our Hobnobs!" - Martin Hughes.

        My blog | My articles | MoXAML PowerToys | Onyx

        L 1 Reply Last reply
        0
        • L Lost User

          Richard MacCutchan wrote:

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

          Woman and man are also almost the same thing, but I'd hate to make a mistake in discriminating between the two on the wrong occasion. A compiled executable is machinecode that's assembled for a specific architecture. You won't be able to run machinecode from the Intel platform on a Motorola machine, without doing any modifications. You might find a compiler that's able to compile the same language, but that means that you cannot use any native libraries. The second option is interpreted; you don't distribute machinecode, but sourcecode. Then the computer executes these instructions ad hoc. The third option would be to distribute something that resembles sourcecode, but is actually compiled and optimized for a generic environment. That's your VM.

          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's why the platform has to implement some form of VM, either through software or hardware.

          Words don't have goals, but meanings. You'll find that it means "not depending on the platform". A platform has no obligation whatsoever to provide various Virtual Machines.

          Richard MacCutchan wrote:

          The ultimate goal is that all manufacturers will have built in support for Java runtime code (or similar) on their systems.

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

          I are Troll :)

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

          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 1 Reply Last reply
          0
          • P Pete OHanlon

            Plain English. Write once. Run nowhere.

            "WPF has many lovers. It's a veritable porn star!" - Josh Smith

            As Braveheart once said, "You can take our freedom but you'll never take our Hobnobs!" - Martin Hughes.

            My blog | My articles | MoXAML PowerToys | Onyx

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

            Pete O'Hanlon wrote:

            Write once. Run nowhere.

            I was taught that that was C++.

            1 Reply Last reply
            0
            • 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