|This is the talk page for discussing improvements to the Cross-platform article.|
|WikiProject Computing||(Rated Start-class, Mid-importance)|
- 1 Uncategorized Discussion
- 2 Working on cleaning it up a bit…
- 3 The merging of Multiplatform with Cross-Platform
- 4 Cross-platform programming toolkits
- 5 Parrot
- 6 Criteria
- 7 Recent revert
- 8 Phrasing;... Software portability
- 9 Platform independent
- 10 platform agnostic
- 11 Multiple meanings of Platform
- 12 Design strategies
"# Linux, NetBSD, OpenBSD, FreeBSD—open-source, cross-platform operating systems" Is not an operating system a platform? How then can these operating systems be cross-platform. I know that they build on many architectures, but that is a different ballgame. Can this line be removed or clarified?
22.214.171.124 16:44, 8 November 2006 (UTC) John Spencer (firstname.lastname@example.org)
"But as long as web applications limit their functionality to the general available, cross-platform is a rather minor issue. Besides there exists all kinds of quirks and hacks to work around such problems albeit they might not be correct in the future."
How should these sentences be changed? Morios 04:13, 22 February 2006 (UTC)
Not sure if others would consider it an improvement but I have attempted to simplify the language and structure so that more general ideas are at the start and more technical details at the end. Ian Lynch 13:00, 29 July 2006 (UTC)
What is the source of the term "cross-platform"? An established, used for many years, term that I am familiar with is Cross Compiler and that is very different from what is trying to be described here.
This article is, for me, hopelessly confused (but them I'm old and don't adjust quickly to new ideas/vocabulary -- "Digital Zoom" is NOT "zoom", it's "cropping") -- and it's not something that I'm going to attempt to contribute to (I was curious as to what the article I am interested in was linking to; I intend to delete that link!). At least try to make clear when you are writing about:
one object program that runs on multiple platforms one source program that compiles on multiple platforms multiple sources that implement the same algorithm on multiple platforms one server with clients on multiple platforms .....etc
"Application" in this context is vague (the "accounting" application is cross platform - all companies have one and on all kinds of machines).
There is NO "Platform Independent Software". If object, must the correct cpu family, if source, must have the correct compiler, if script, must have the correct script processor, ...
If a web application is cross platform, then ftp must also be cross platform -- they both deliver data to be processed on your machine. Doesn't seem like a useful definition.
And, just a parting thought, what is the difference between Cross Platform and Multiplatform? Might want to address that in this article (and in the Multiplatform article address Cross-Platform!
- I think that the multiplatform article should be merged with Cross-platform. I am going to put it up on the front page. The two words are essentially synonyms for each other, and the multiplatform article does have information that we don’t (yet) have in cross-platform, such as the bit about video game systems (which could probably go without saying, since they are in effect computer platforms, but still…). Mike Trausch (fd0man, Talk Page) 16:09, 10 August 2006 (UTC)
Good luck.Rwwww 20:39, 8 August 2006 (UTC)
"and Android has built-in support for Java." - As far as I know, you can't run java apps directly on android; they need to be converted into dalvik code first. 126.96.36.199 (talk) 00:52, 3 May 2013 (UTC)
Working on cleaning it up a bit…
I have begun work on attempting to cleaning up the page. I have rewritten the first half of it, at least for now, and will likely revisit this tomorrow, because there is still a lot to do here. Just wanted to let people know here that I am not entirely done with it yet. —Mike Trausch (fd0man, Talk Page) 05:23, 10 August 2006 (UTC)
- Suggestions would be appreciated. I have mostly completed what I feel should have been done to this article for a rewrite. I would like outside opinions/review done to see if we can remove the “confusing” template, as I think the only real changes that are left are to make all of the markup in the article consistent. —Mike Trausch (fd0man, Talk Page) 15:56, 10 August 2006 (UTC)
The merging of Multiplatform with Cross-Platform
Multiplatform and Cross-platform essentially describe the same thing, however, Multiplatform does touch on video games explicitly where Cross-platform does not (yet) do so. It seems logical that they should be merged. Ideas? —Mike Trausch (fd0man, Talk Page) 16:14, 10 August 2006 (UTC)
- Unless there are objections, the merge of Multiplatform will be performed tomorrow or at my earliest convienence after tomorrow. No +/- opinions have been left on the merge as of yet, and as I understand Wikipedia policy on the matter, that would mean that it can be completed tomorrow. —Mike Trausch (fd0man, Talk Page) 05:55, 14 August 2006 (UTC)
The 1st sentence now begins "Cross-platform typically refers to application software, computer languages ....".
Application software - that's a product. One thing in one box (the box might contain two or more versions, but its ok to write about attributes of the total box.
Computer languages - a language, such as "C", has dozen's (100s ?) of products.
Can cross platform really have meaning for both "This vendor's application X is cross platform" and "The C programing language is cross platform"?
I'd suggest defining the term only for products. Rwwww 19:06, 11 August 2006 (UTC)
- The problem is that the term does not exist only for products; “cross platform” is more of a methodology in some ways, as well. For example, C is generally considered to be “portable” (which was the original word used for such programs, as well, as I recall—a “portable application”), but ANSI C is considered to be “cross platform” because it is supported on nearly all platforms. Because C generally refers to ANSI C, it could be said that both C (the language, of which there are many implementations) and gcc (The GNU Compiler Collection, which contains a specific implementation of the C language, among others) are cross-platform.
- The problem is that the use of the term creates a lot of ambiguity, but there are a lot of words in the English language that have similar issues with ambiguity. In the end, the context will have to make it clear. I’m also pretty sure that the rewrite I attempted on this article is not perfect, and I am periodically revisiting it to see if there are ways that I can improve upon it and add more to it. *shrugs*
- Hopefully, the merge of Multiplatform with this article will help clear some things up, but the issue of application of the words are still variable—they both are pretty much interchangable, and so that adds to the aforementioned problem of ambiguity. —Mike Trausch (fd0man, Talk Page) 05:46, 14 August 2006 (UTC)
btw, for me,an application X that can be installed on either platform A or platform B is multiplatform. If I had to define cross platform, it would be a product that is part installed on platform A and part on platform B -- and neither part will function without the other. That definition would come out of the process of trying to define this new term, cross product, in some way different that multiproduct. Your problem, of course,is to define the term as it is currently used and my thinking it's an invented term by ad-writers, or for book titles, doesn't help much.Rwwww 19:06, 11 August 2006 (UTC)
- I am very much so not entirely positive of the etymology of the word. I do know that it is used in book titles (for example, Cross-Platform GUI Programming with wxWidgets), web site mentions, and now, in many places where the word portable was used, though note that there is no place here on Wikipedia yet for explaining portable in that context.
- I think that your definition of cross-platform makes sense, by the way, in its own context; though it is not defined that way at least in common usage. Typically those type of applications are referred to using the terminology “client-server model” because it is assumed that the client and the server do not have to be running the same operating system or platform software. For example, HTTP is a client-server protocol that involves two halves: the HTTP server (web server) and the HTTP client (web browser). Client-server protocols are by definition cross-platform because protocol implementations do not rely specifically on operating systems and can (in theory) be implemented in any computer programming language, even if extremely inefficiently. (OTOH, computer languages tend to not always be implementable on all operating systems; for example, it would be impossible to implement PowerPC assembly language to run on Windows—it would run on a virtual CPU, running under Windows. However, even though HyperTalk is an Apple-specific language (specific to HyperCard), it could be ported to other systems, and thus it is cross-platform in theory but not in practice. Complex, eh? —Mike Trausch (fd0man, Talk Page) 05:46, 14 August 2006 (UTC)
Cross-platform programming toolkits
Recently, Mozilla was added into this section (“An open source platform for building Mac, Windows and Linux applications.”). However, I am not sure that a web browsing suite qualifies—if that is the case, then other cross-platform browsers such as Opera would also indeed qualify.
Speaking as a web developer, it is atypical to call a web application that runs on only one family of browsers “cross-platform”, and I am tempted to remove this recently-added text. While web browsers do have standards that they should follow (just as Unix systems do), they aren’t what I would consider to be a platform in and of themselves, at least not in the traditional sense. If an application runs on every available Unix system, that covers a wide range of processor architectures and actual operating systems, while browsers are quite limited in this sense—of course, apps written for Mozilla might be cross-platform in theory, if Mozilla and its offspring were ported to every platform known to exist, but it is not that way in practice. Suggestions or comments? —Mike Trausch Fd0man•Talk to me 18:10, 21 May 2007 (UTC)
- Mozilla (I just fixed the link) refers in this case to the Mozilla application framework, not to the Mozilla family of browsers. This framework is used by the browsers and many other unrelated software. And by the way it does support a wide variety of platforms, among them Linux, Mac OS X, Windows, OS/2, BeOS, Solaris, etc. Ceroklis 00:16, 19 August 2007 (UTC)
The Parrot virtual machine is similar to the Java VM as a cross platform development environment. It is targeting all the platforms that Perl currently runs on and there are many languages being developed to run on top of it so it is likely to be a major player in the future. —Preceding unsigned comment added by Chris97 (talk • contribs) 11:18, 27 March 2008 (UTC)
Looking over the list of topics so far, and the vague criteria listed in this topic, it's apparent that only a small fraction of the qualifying topics have been marked for inclusion. Probably a several thousand topics are now qualifying (the majority of topics dealing with computer programs), and some glaring omissions are made. Tedickey (talk) 00:35, 11 October 2008 (UTC)
This edit made the article internally inconsistent, using the terms "Linux" and "GNU/Linux" interchangeably. This is confusing; we should use one or the other. It should be reverted. Chris Cunningham (not at work) - talk 19:07, 2 March 2009 (UTC)
Phrasing;... Software portability
- "Other well-known desktop computer platforms include Linux/Unix and Mac OS X (both of which are themselves cross-platform)"
- What does it mean when one says that a platform is itself cross-platform?
- "BSD, very cross platform (see NetBSD, for example)"
- What does it mean when a software platform is considered to be very cross platform?
- What is the difference between a software considered cross-platform and a software having a high degree of software portability? Thanks, --Abdull (talk) 20:56, 8 December 2009 (UTC)
- This topic actually means very little, since it's largely a combination WP:OR and promotional edits Tedickey (talk) 21:59, 8 December 2009 (UTC)
- The phrase "Other well-known desktop computer platforms include Linux/Unix and Mac OS X (both of which are themselves cross-platform)" is still there. How can something be cross-platform with itself? It doesn't have two OS's or two hardware systems in one computer. I propose removing the parenthetical phrase. Nerfer (talk) 18:11, 25 February 2014 (UTC)
Platform independent redirects to this article. Looking at the article, all I can find is the "Platform-independent software" section, which is unreferenced. I do recall SourceForge using this term to describe what it now calls "OS Independent (Written in an interpreted language)", which is used for the operating system trove category.
Multiple meanings of Platform
The word Platform has more than one meaning, and therefore so does Cross-Platform. In the article now there are references to hardware platforms (ie chipset architectures) and software platforms (eg operating systems, development environments, etc). So an operating system can be cross-platform on multiple chipsets, an application can run cross-platform on different chipsets using the same OS, or an application can run cross-platform on different operating systems. And that's before we add mobile platforms.
Seems to me one of two things should happen. Either platform should only mean one thing in the article, or there should be different sections for different meanings.
Single-meaning approach. We might start with the definition of computing platform: A computing platform is some sort of hardware architecture and software framework (including application frameworks) that allows software to run. That's clean terminology. If we adopted that definition for this article then a chipset is not a platform but an architecture, and an OS is not a platform but a framework.
Our new definition of cross-platform might be: Cross-platform describes software that creates or enables other software to run on multiple platforms. Let's see how this works out.
- Java runs on different platforms to enable writing cross-platform applications
- Browsers run on different platforms to enable writing cross-platform Web experiences
- Cross-platform development environments generate different execuables for different platforms
Disambiguation approach. Alternatively we can identify the main ways the term is used differently in different situations. Cross-platform compilers generate executables for different hardware platforms (architectures). Cross-platform application development frameworks generate different runtimes for different software platforms (operating systems). Cross-platform runtimes (Java, browsers) interpret the same code for any platform (usually OS) they run on.
Either of these approaches appeal?
Half of the design strategies listed there seem to be one and the same: Graceful degradation, separation of functionality and single codebase all have the similar description and seem to entail having one codebase that determines the platform and acts accordingly.
What am I missing?