Talk:Haxe

From Wikipedia, the free encyclopedia
Jump to: navigation, search
          This article is of interest to the following WikiProjects:
WikiProject Computer science (Rated Start-class, Low-importance)
WikiProject icon This article is within the scope of WikiProject Computer science, a collaborative effort to improve the coverage of Computer science related articles on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
Start-Class article Start  This article has been rated as Start-Class on the project's quality scale.
 Low  This article has been rated as Low-importance on the project's importance scale.
 
WikiProject Computing / CompSci (Rated Start-class, Low-importance)
WikiProject icon This article is within the scope of WikiProject Computing, a collaborative effort to improve the coverage of computers, computing, and information technology on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
Start-Class article Start  This article has been rated as Start-Class on the project's quality scale.
 Low  This article has been rated as Low-importance on the project's importance scale.
Taskforce icon
This article is supported by WikiProject Computer science (marked as Low-importance).
 
WikiProject Free Software / Software / Computing  (Rated Start-class, Mid-importance)
WikiProject icon This article is within the scope of WikiProject Free Software, a collaborative effort to improve the coverage of free software on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
Start-Class article Start  This article has been rated as Start-Class on the project's quality scale.
 Mid  This article has been rated as Mid-importance on the project's importance scale.
Taskforce icon
This article is supported by WikiProject Software.
Taskforce icon
This article is supported by WikiProject Computing.
 

Title[edit]

Why does this show with "haxe" as the title instead of "Haxe" which it should be? -- Tom Jenkins (reply) 08:36, 5 November 2012 (UTC)

Fixed it. It was a tag at the top of the page. -- Tom Jenkins (reply) 09:07, 5 November 2012 (UTC)

Neutrality[edit]

I have edited the article removing and clarifying claims such as "full support for iPhone, Android, Windows, Unix, Mac, etc", since Haxe currently only supports a subset of the full platform API. Please do not remove this clarification. Before my edit, Haxe appeared to be a full-featured multiplatform language which it is currently not. Please do not add biased statements into the article inferring the same.

I've also wikified and improved the organization of content within the article, which was quite a mess. Please improve as necessary. -- Tom Jenkins (reply) 09:30, 5 November 2012 (UTC)

Platforms[edit]

Nicolas Cannesse and friends, please stop adding the JS/NodeJS and other langs to the "full support" category unless you can prove full platform API supported. If it does, add refs to prove it. Currently the API page has 40 JS classes. Is that full support? And what about the 100 NodeJS classes? Unless you can show EVERY function from EVERY class, it does not qualify as full support and therefore Haxe cannot be used as a full replacement to that platform's native language. Saying it has full support is misleading and incorrect. -- Tom Jenkins (reply) 06:44, 6 February 2013 (UTC)


@Tom Jenkins You seem to be under the impression that full support for compiling code to a certain language requires all the APIs of the respective standard library of the target language to be included into the standard library of the source language. You are mistaken.

Haxe provides support for all of JS per definition - each and every function in every prototype that JS or any third-party JS library offers, is usable from haxe directly, without any further work. The same is true for any other dynamic target language. The simple reason is that the Haxe type-system provides support for "Dynamic" instances - those can be any function, object, prototype in JS. What you are talking about are static type definitions ("extern class" definitions in Haxe) for these APIs, but those are just a nice-to-have, not a requirement, let alone their inclusion into the standard library. In fact, by your standards, JS itself doesn't have any support for JS or any JS libraries, because there are no static type definitions in the language.

NodeJS is a third-party platform/API, and haxe usually provides support for third-party APIs in third-party libraries (in the form of collections of extern class definitions). That doesn't make the support go away.

JS is not an OOP language, but a prototyped language. There are no classes in JS. You're demanding that haxe supports things that don't even exist.

Sufficient proof for all this (where's the precedence for demanding proofs, btw?) are the both the compilers source code, and the compilers very trivially observable behavior. If you don't understand that, that's not the problem of those writing the WP article about Haxe.

So before you change the article again - please show me a single piece of JS code that in your opinion can't be written in (or used from) Haxe, and I'll give you the proof that you demand. -- TOderson

What does fully supported mean? In my opinion fully supported means: All language features from Haxe can compiled to the target platform. Also all features from the target platform could be targeted by Haxe. Therefore I would say could say Haxe fully supports the JavaScript target. You could use the whole node.js API without writing a single line of JavaScript and do all the work in Haxe. Also: Haxe never claimed to have a node.js target, it always said JavaScript, which is a language and not a platform. Having a API for HTML DOM in standard library is more or less just a little bit more then actually promised.-- TheHippo0 — Preceding unsigned comment added by TheHippo0 (talkcontribs) 18:48, 14 February 2013 (UTC)