• [^] # Re: Logiciel libre et java

    Posté par (site web personnel) . En réponse à la dépêche Brèves Java. Évalué à 2.

    Je vais répondre à tes 2 réponses à la fois :-)

    Même l'assembleur possède une API.
    Je parlais plus généralement d'API en tant que bibliothèques de fonctions... Ce n'est pas pour moi de simples interfaces, il y a du code derrière et des algorithmes (c'est ce qui fait pour la grosse différence entre l'assembleur et les classes du JDK ;) ). Considérer les instructions matérielles comme un API me semble donc sortir du contexte, puisque constituant notre socle commun. On pourrait alors étendre les limites du langages aux limites des instructions de la JVM, qui sont encore plus handicapantes que les possibilités du langage.

    Java peut simuler une machine de Turing. donc Java peut faire ce que peut faire n'importe quel ordinateur.
    Cette machine sera virtuelle et non physique, et n'aura donc accès à aucun périphérique autre que les ressources mises à dispositions par la JVM ou par l'intermédiaire d'API écrits dans d'autres langages (Comme qui dirait, En théorie c'est faisable, mais dans la pratique celà ne marchera jamais). Java est un langage, on ne le compare pas à aux fonctionnalités d'une machine, mais plutôt aux possibilités d'expressions offertes par sa grammaire.

    Ce que je veux dire, c'est que certains éléments sont infaisables en Java car inexprimable à l'aide de sa syntaxe. C'est pourquoi certaines fonctionnalités doivent être codés dans un autre langages. Ce n'est pas insurmontable dans l'ensemble, puisque le langage Java n'a pas cette ambition d'exploiter toutes les possibilités offerte par une machine, mais celà est plutôt embêtant dans le sens où ces insuffisances demandent à être comblées par des API "natifs", et c'est là que le bas blaisse, Java ne facilite vraiment pas l'intégration de ces API, JNI n'est vraiment pas flexible et demande beaucoup d'adaptation.