Articles précédents : Développeur
- [4] Web Component Development with Zope 3
- [104] Le langage D 1.00 est disponible !
- [87] Google Web Toolkit sous licence Apache 2.0
- [53] Java Standard Edition 6 est sorti
- [15] IBM libère un framework pour le Web sémantique
- [11] LibreSource passe en version 2.0
- [44] O.S.T.D.C. une introduction au Développement en équipe
- [10] Cooki3d : une première version GNU/GPL
- [18] Nomination pour les Trophées du Libre
- [48] D-Bus 1.0, future fondation de nos bureaux
Liens connexes
- Projet Fortress : sources (490 hits)
- Page recherche concernant Fortress chez Sun (222 hits)
- Spécification au format PDF (180 hits)
- Message annonçant l'ouverture du dépôt (73 hits)
- Fortress sur Wikipedia (615 hits)
Dépêche modérée par
Dépêche éditée par
Développeur : Première implémentation du langage Fortress
Posté par mouftard (). Modéré le 11 janvier 2007.Annoncé pour la première fois en mai 2005, Fortress n'était jusque là qu'une série de spécifications disponibles sur le site du projet; ce n'est maintenant plus le cas, le dépôt subversion d'un prototype d'implantation ayant été ouvert. Techniquement, il s'agit d'un interprète écrit en Java pour la machine virtuelle de Sun. La majorité du code est sous licence BSD.
Cette version ne fournit qu'un coeur minimal du langage et devrait servir de base pour, à long terme, la création d'un compilateur industriel complet.
Projet Fortress : sources (490 hits)
Page recherche concernant Fortress chez Sun (222 hits)
Spécification au format PDF (180 hits)
Message annonçant l'ouverture du dépôt (73 hits)
Fortress sur Wikipedia (615 hits)
> Lire la dépêche (19 commentaires, moyenne: 3,1).
Syntaxiquement, Fortress essaye de coller le plus possible à la notation mathématique usuelle, afin de séduire les scientifiques qui forment son coeur de cible. Il supporte, en plus de l'ASCII, l'Unicode dans les fichiers sources. Fortement lié à l'éditeur, cela permet par exemple d'utiliser le symbole de la multiplication pour signifier cette dernière, etc... C'est un aspect qui fera probablement débat chez les programmeurs. On peut également noter la gestion native des unités de mesure et des conversions entre ces dernières, dans le but de faciliter la programmation scientifique.
Fortress est orienté objet de façon assez particulière. La spécification distingue les traits, qu'on pourrait qualifier d'interfaces (au sens Java) pouvant proposer une implémentation de leurs méthodes, à l'image des type classes d'Haskell. Les objets sont de deux genres distincts : une définition d'un objet unique héritant ("étendant") un ou plusieurs traits, ou bien une définition de famille d'objets paramétrés par un ou plusieurs types (devenant en cela une source de polymorphisme). Le typage est statique et utilise si possible un algorithme d'inférence.
À l'image des macros de la famille Lisp ou bien d'OCaml et son camlp4, les auteurs de bibliothèques peuvent intégrer des sous-langages spécialisés en enrichissant sa syntaxe.
La spécification détaille de très (trop ?) nombreuses autres capacités intéressantes, incluant la programmation par contrats, composants, gestion de la documentation et des tests, gestion de la concurrence et du parallélisme (les boucles for étant par exemple implicitement parallèles) ou encore le polymorphisme paramétrique à l'instar des langages de la famille ML.
Fortress est donc un projet très ambitieux, mais très différent du Fortran (et de bien des langages actuels). L'avenir nous dira s'il arrivera à remplacer son aîné, ou au moins à se tailler une part du lion.
rien à voir ou presque
Je voulais savoir si il existait des design pattern "globaux". De ce que j'ai pu lire sur les designs patterns, il concerne en général la micro architecture (singleton, usine, etc...). Ce que je cherche c'est l'architecture global (genre 3 tier par exemple).
C'est histoire de voir "de haut" les flux de données, les types de traitement, le volume de traitement, etc...
Je ne pense pas qu'il y a 50 façon différentes d'écrire un (gros) programme. Il doit bien y avoir des points commun optimisable et à mettre dans une librairy.
Les deux autres
A noter que Fortress est le langage que Sun pousse en avant dans le programme de supercomputing de la DARPA (l'agence de recherche militaire des USA).
C'est un très gros programme (High Productivity Computing Systems program ou HPCS) qui concerne le hardware (ordinateur petaflop avant 2010) et le software (langage permettant d'exploiter facilement cette puissance).
En 2002 il y a eu la première phase : Les concurrents étaient IBM, Cray ,SGI et Sun (phase d'exploration et minuscule contrat de 3 millions de dollars chacun).
En 2003 c'est SGI qui a giclé (et les autres ont eu un contrat de 146 millions de dollars chacun).
Récemment (en 2006) une sélection a eu lieu et seuls IBM et Cray restent en lice avec un contrat de 500 millions chacun.
Même si Sun a perdu le contrat de la DARPA ils continuent à travailler sur leur langage Fortress mais bien entendu il est plus probable que ce soit l'un des deux autres langages, celui d'IBM ou celui de Cray, qui l'emporte finalement.
Le langage pour superordinateurs d'IBM est le X10 et celui de Cray est Chapel.
Page de présentation de ces 3 langages :
http://crd.lbl.gov/~parry/hpcs_resources.html
Liens sur la compétition entre les langages :
http://www.hpcwire.com/hpc/827250.html
http://www.ddj.com/article/printableArticle.jhtml;jsessionid(...)
-
[^]Re: Les deux autres
Posté par Nicolas Boulay () le 11/01/2007 à 09:55. (lien). Évalué à 10.Au US, les créateurs de langage reçoivent 3 millions d'euro pour faire des pré-études.
En France, le créateur du langage lisaac doit justifier de son utilité à ces supérieurs pour avoir un ingénieur d'application...-
[^]Re: Les deux autres
-
[^]Re: Les deux autres
Posté par alexissoft (Jabber id, page perso, ) le 11/01/2007 à 12:04. (lien). Évalué à 2.Sauf qu'aux US on offre pas des euros.
-
[^]Re: Les deux autres
Posté par alice_liddell () le 11/01/2007 à 13:01. (lien). Évalué à 2.Bon ben je fais mon baluchon et je vais leur proposer de faire une pré-étude sur une version fonctionnelle du Whitespace.
http://fr.wikipedia.org/wiki/Whitespace
-
[^]Re: Les deux autres
Posté par MetalX () le 11/01/2007 à 14:24. (lien). Évalué à 4.Merci quand même de ne pas tout mélanger...
D'un côté, un projet poussé par des militaires avec des budgets en milliards de dollars, faisant appel à des multinationales privées; de l'autre, un chercheur qui décide de créer un langage dans son coin. ( Je caricature, mais bref... )
Enfin, j'imagine que j'ai marché dans le troll.-
[^]Re: Les deux autres
Posté par Nicolas Boulay () le 11/01/2007 à 15:06. (lien). Évalué à 1.C'était seulement la forme d'un troll.
Les but sont différents mais les moyens d'y arriver conceptuellement ont l'air d'être proche. Donc les marchés potentiels sont énormes. Mais il y a personne pour mettre de l'argent la dedans.
-
-
-
[+] [^]Re: Les deux autres
Posté par Nicolas Boulay () le 11/01/2007 à 09:58. (lien). Évalué à -1.On peut même mettre cette annonce en parrallèle avec les problèmes des anti-minatec.... qui ne veulent pas des sous de l'armée.
'dredi
Fortress est un nouveau langage (...) dans le domaine du calcul à haute performance (...). Techniquement, il s'agit d'un interprète écrit en Java (...).
Y'aurai pas anguille sous roche ? Si on compare Java classique à OCaml par exemple :
http://shootout.alioth.debian.org/gp4/benchmark.php?test=all(...)
-
[^]Re: 'dredi
Mouais....
Vu la qualité discutable du premier et le nanare qu'est Fortress II (normal avec Christophe Lambert), je ne donne pas cher de la peau de celui là....
.
.
.
.
.
.
.
"plus là"
Fortran 2003
Dans le milieu du calcul scientifique, Fortran est bien implenté. Je vois des chercheurs partir vers le C ou le C++ mais en général, je leur déconseille. Les chercheurs ne sont pas toujours des as de la programmation, normal, et le fortran, malgré des défauts, est relativement bien adapté à la problématique.
La question que je me pose est quel est l'apport significatif de Fortress par rapport à Fortran 2003 (f2k). En effet, le fortran depuis le F90 à montrer que lui aussi savait évoluer tout en privilégiant dans le design la performance et le calcul parallèle. Aujourd'hui, avec le fortran 2003, on peut faire de l'objet avec de l'héritage simple. Il est clair que ce n'est pas un langage avec autant de fonctionalité que le java ou le C++ mais il ne faut pas oublier l'objectif premier aujourd'hui qui est de pouvoir paralléliser et vectoriser relativement facilement un code.
-
[^]Re: Fortran 2003
Posté par patrick_g (page perso, ) le 13/01/2007 à 08:07. (lien). Évalué à 3.Je crois que le but de Fortress est de masquer la complexité diabolique de la programmation parallèle en proposant un langage conçu spécialement pour ça.
-
[^]Re: Fortran 2003
Posté par Troy McClure (page perso, ) le 14/01/2007 à 19:13. (lien). Évalué à 1.certes, mais: http://www.fortranstatement.com/
-
[^]Re: Fortran 2003
Posté par Sytoka Modon (page perso, ) le 14/01/2007 à 21:01. (lien). Évalué à 2.Je viens de lire cette page. Je ne suis pas un as de la programmation moi non plus mais je ne suis pas du tout d'accord avec ce qui est dis sur cette page. Je n'ai pas le courage ce soir de reprendre point par point les arguments avancés mais la plupart me paraissent complètement erronés.
J'ai utilisé pas mal de langage et pour faire du calcul tensoriel sur des équations différentielles, le Fortran est bien, pas parfait car à l'époque, je faisais du F95 avec ensuite des extensions du F98 et qu'il manquait clairement des points ajoutés dans le F2k.
Le seul langage qui m'a donné envie de tout ré-écrire, c'était Sather, mais malheureusement, Sather est mort. Sather était un langage objet inspiré d'Eiffel mais avec un soucis de calcul dans le design. D'ailleurs, il y avait deux versions en parallèle : Sather et pSather (version parallèle).
Les autres langages soit n'avancent pas (pour cette problèmatique), soit sont bien trop touffus et compliqué. A l'époque, je me suis mis à Fortran à reculons et au bout d'une demi-journée, en ni connaissant rien, j'avais déjà compris et modifier le code pour mes besoins. Mes apprentissages du C, C++, Perl, Ada... ont été bien plus long.
-




Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.