Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Haxe 3.0 : prochain langage open source universel ?
Il permet de compiler en JavaScript, Flash, PHP, C++, C# et Java

Le , par imikado

113PARTAGES

9  0 
Que pensez-vous d'Haxe
Je viens de publier un billet de blog sur ce langage à part qu'est Haxe, sa version 3.0 est parue en mai dernier.

Haxe est un langage de programmation open source pouvant être compilé pour les langages populaires comme JavaScript, Flash, PHP, C++, C# ou Java, ce qui suppose qu’une application Haxe pourra soutenir iOS, Android, Windows Phone et autres.

Le but de Haxe est de proposer un langage universel, permettant de « coder une fois » et déployer son application partout.

Le langage vante sa syntaxe très proche de « Java, PHP, JavaScript ou ActionScript », ses fonctionnalités modernes que n’importe « quel langage de programmation devrait avoir de nos jours », et son typage strict permettant d’intercepter les erreurs rapidement.

L’intérêt est donc là : un langage à apprendre pour développer tout type d’application différente. D’après moi, « si les écoles d’informatique pouvaient enseigner ce langage, cela donnerait une meilleure valeur ajoutée à leurs élèves qui deviendraient de fait plus polyvalents. »

Le billet : http://blog.developpez.com/ducodeetd...out-ou-presque

Le site: http://haxe.org/

Et vous :

Connaissez-vous Haxe ? Que pensez-vous de cette plateforme ?

Allez-vous l’adopter ? Si non, pourquoi ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de pcaboche
Rédacteur https://www.developpez.com
Le 26/07/2013 à 18:37
Citation Envoyé par SylvainPV Voir le message
Par contre je ne comprends pas une chose, ils mettent en avant sur leur page d'accueil le typage fort, et le premier snippet que je vois est rempli de var
Il ne faut pas confondre "typage fort" et "inférence de type".

Prennons des exemples :

- typage faible et dynamique :

Je peux écrire ceci :
Code : Sélectionner tout
1
2
3
var a = 42;

a = "toto";
J'ai une variable 'a', j'y stocke un flottant. Par la suite, je décide d'y stocker une chaine. Peu importe, puisque le type de 'a' est déterminé à l'évaluation (lorsque j'utilise ma variable).
(exemple : Javascript)

- typage fort, mais pas d'inférence de type:

Je suis obligé d'indiquer le type de variable lors de la déclaration :
Code : Sélectionner tout
int a = 42;
(exemple: C)

- typage fort, inférence de type :

Je ne suis pas obligé de spéficier explicitement le type de variable, celui-ci est inféré à la déclaration :

Code : Sélectionner tout
1
2
3
4
5
var a = 42;
// 'a' est de type 'int', car 42 est de type 'int' (inférence de type)

a = "toto";
// cause une erreur car 'a' est de type 'int' (typage fort)
(exemple : C# 3.0)

Remarque : hormis les commentaires, le premier et le dernier morceau de code sont exactement identiques (mais le dernier provoque une erreur à cause du typage). Le mot clef 'var' n'est pas synonyme de "typage dynamique".
13  1 
Avatar de dk
Membre actif https://www.developpez.com
Le 26/07/2013 à 16:35
C'est l'outil développé et utilisé par motion-twin si je ne m'abuse ? J'ai jamais vraiment compris quelle était la valeur ajoutée pour eux. Pourquoi avoir créé un langage au lieu de faire de la génération à partir du c++ ou java ? (voire lisp & consorts). Et si le but c'est de coder une seule fois et déployer dans plusieurs contextes, il me semble que le java ne s'en sort pas trop mal de ce côté là.

En tout cas non, ce n'est pas un langage que j'utiliserai, parce que ce n'est pas un standard, et si on s'en sert pour générer du code dans des domaines complexes, il y aura forcément des problèmes qui nécessiteront un niveau de compétence élevé dans le langage concerné, ne serait-ce que pour une question d'optimisation. Donc autant directement coder dans le dit langage.
6  0 
Avatar de Astraya
Membre expérimenté https://www.developpez.com
Le 26/07/2013 à 17:44
J'ai déjà travailler avec Haxe, venant du C++.

1 - Performance plus que douteuse.

2 - De nombreux bug.

3 - Faire du code pour flash c'est cool, mais passer par l'usine d'adobe bogué au possible c'est moins cool.

4 - Au demande du client c'est souvent vendu pour faire du flash. alors pourquoi ne pas le faire en flash? Surtout que pour envoyé le resultat sur Android ou iOS il faut passer du swf à un .apk ou format iOS. Donc dans tout les cas, on est bai*é comme dirait l'autre.

5 - Faire du portable pour bureau? .NET pour Windows ( 99% des clients potentiels ). QT.. D'autres solutions pas plus coûteuse satisfaisant le client...

6 - A trop vouloir en faire, on le fait a moitié...

PS: l'IDE est FlashDevelop
4  0 
Avatar de a028762
Membre confirmé https://www.developpez.com
Le 26/07/2013 à 18:18
Ah, le fantasme du code universel ! Présent chez tous les informaticiens depuis ... 40ans que je pratique et sans doute bien avant ...
Pas une seconde j'y crois ... pour les raisons exposées par mes collègues informaticiens sur les autres posts :
Bonne journée quand même
4  0 
Avatar de gl
Rédacteur https://www.developpez.com
Le 27/07/2013 à 20:52
Citation Envoyé par pcaboche Voir le message

- typage faible et dynamique :

Je peux écrire ceci :
Code : Sélectionner tout
1
2
3
var a = 42;

a = "toto";
J'ai une variable 'a', j'y stocke un flottant. Par la suite, je décide d'y stocker une chaine. Peu importe, puisque le type de 'a' est déterminé à l'évaluation (lorsque j'utilise ma variable).
Là tu montre du typage dynamique. Pas une chose qui relève d'une faiblesse du typage. De même les exemples de typages forts sont en fait plus des exemples de typage statique.
Ce sont deux notions dissociées.

Sinon +1 sur la différence typage fort et inférence de type.
4  0 
Avatar de SylvainPV
Rédacteur/Modérateur https://www.developpez.com
Le 26/07/2013 à 17:30
J'ai regardé un peu la syntaxe (http://haxe.org/doc/snip/arraymapfilter)
ça me fait énormément penser à du Javascript, ce qui ne me déplaît pas. Par contre je ne comprends pas une chose, ils mettent en avant sur leur page d'accueil le typage fort, et le premier snippet que je vois est rempli de var
4  1 
Avatar de schglurps
Futur Membre du Club https://www.developpez.com
Le 26/07/2013 à 17:01
Intéressant. Au lieu d'adopter l'approche Java : "Write once, run everywhere", la philisophie Haxe est plutôt : "Write once, target any language" (enfin presque). Je suppose qu'Haxe cible surtout ceux qui développent à longueur de journée des applis pour smartphones ou des sites HTML 5 : il permet de se passer d'outils tels que CoffeeScript, certains écueils (surtout par rapport au Javascript) sont évités grâce au type strict et un même langage permet d'à peu près tout faire.

A suivre !
2  0 
Avatar de imikado
Rédacteur https://www.developpez.com
Le 26/07/2013 à 17:08
Citation Envoyé par dk Voir le message
C'est l'outil développé et utilisé par motion-twin si je ne m'abuse ? J'ai jamais vraiment compris quelle était la valeur ajoutée pour eux. Pourquoi avoir créé un langage au lieu de faire de la génération à partir du c++ ou java ? (voire lisp & consorts). Et si le but c'est de coder une seule fois et déployer dans plusieurs contextes, il me semble que le java ne s'en sort pas trop mal de ce côté là.
1. java ne permet pas de générer du flash
2. haxe permet egalement de générer du java
3. compiler vers du c++ peut donner un binaire très performant

Citation Envoyé par dk Voir le message

En tout cas non, ce n'est pas un langage que j'utiliserai, parce que ce n'est pas un standard, et si on s'en sert pour générer du code dans des domaines complexes, il y aura forcément des problèmes qui nécessiteront un niveau de compétence élevé dans le langage concerné, ne serait-ce que pour une question d'optimisation. Donc autant directement coder dans le dit langage.
Une connaissance minimum dans le langage compilé final peut etre en effet un plus et permettre d'optimiser si nécessaire le code généré

N'oublions pas que le projet Haxe est utilisé depuis quelques années maintenant, et on déjà du essuyer des plâtres
3  1 
Avatar de erwanlb
Inactif https://www.developpez.com
Le 26/07/2013 à 18:17
Quand je vois ça dans la même phrase :

"JavaScript", typage strict

J'ai un peu de mal à croire en cette solution....
2  0 
Avatar de _skip
Expert éminent https://www.developpez.com
Le 29/07/2013 à 9:26
Citation Envoyé par DelphiManiac Voir le message
Je ne pense pas que le langage actuellement soit la pierre angulaire d'un projet, les bibliothèques et framework que supporte ce langage sont à priori bien plus important, sauf à vouloir tout re-coder.

La question serait donc d'après moi, quel sont les framework que mets à disposition ce langage qui soient multi plateforme : windows / linux / mac / android / ios.
Je trouve ce post extrêmement pertinent.
Ce qui guide le choix d'un langage c'est aussi souvent l'écosystème présent et les librairies à disposition. Sans compter les problèmes liés aux capacités des langages (par exemple le parallélisme, certains permettent de manipuler des threads, d'autres demandent à l'utilisateur de faire du multiprocessing) il faudra imaginer que la moindre dépendance vers une librairie spécifique cassera sans doute la portabilité. Donc celui qui s'attend à pouvoir faire du .Net, java ou php avec sa stack préféré et pouvoir passer d'une techno à l'autre avec un seul code, il va sûrement se manger le mur.

Bref ça fait penser à ces outils qui sont hyper prometteurs sur le papier mais dont assez peu de projets réels peuvent vraiment bénéficier.
2  0