IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langages de programmation Discussion :

Les langages "C-compatibles"


Sujet :

Langages de programmation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 22
    Par défaut Les langages "C-compatibles"
    Bonjours,
    j'utilise linux et je constate que 95% des libs de mon pc ont été écrite en c.
    Je sais que le c malgré son age et sa complexité reste LA référence en matière de programmation mais je trouve quand même qu'avec les progres qui ont été fait en matière de parseur et de théorie du langage on doit avoir des langages plus évolué capable de faire la même chose que c.
    Ma question est donc quels sont les langages compilés capable de produire des libs utilisable en c et capable d'utilisé des lib c nativement ?
    En tête de liste C++ évidement mais à part ça ?

  2. #2
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Par défaut
    Bonjour,

    Citation Envoyé par WorkInProgress Voir le message
    j'utilise linux et je constate que 95% des libs de mon pc ont été écrite en c.
    Comment constates-tu ceci ? En regardant dans /lib, ou /usr/lib, ou quelque chose du genre ?

    Donc si je fais un programme, c'est pour l'exemple, en Java, qui n'a donc besoin "que" de la JVM, il n'a besoin d'aucune lib, et donc tu ne le vois pas.

    Je sais que le c malgré son age et sa complexité reste LA référence en matière de programmation mais je trouve quand même qu'avec les progres qui ont été fait en matière de parseur et de théorie du langage on doit avoir des langages plus évolué capable de faire la même chose que c.
    C'est quoi un langage plus évolué ? On peut dire qu'il est plus simple de faire quelque chose avec un langage plutôt qu'un autre, mais plus évolué...

    Ma question est donc quels sont les langages compilés capable de produire des libs utilisable en c et capable d'utilisé des lib c nativement ?
    En tête de liste C++ évidement mais à part ça ?
    C++ n'est pas un sur-ensemble de C :
    void ma_fonction (void)
    {
    int new = 0;

    fprintf (stdout, "Ceci ne fonctionne pas en C++, car new y est un mot-cle, et il ne peut valoir %d\n", new);
    }
    Néanmoins, il est vrai que les libs C++ sont le plus souvent écrites avec un extern C, pour des problèmes de classe de nommage si mes souvenirs sont bons (mais je ne fais pas de C++, donc c'est à vérifier).

    Après, tu as des interfaces plus ou moins lourdes pour exécuter du code C dans pas mal de langages, comme le JNI pour Java (Java Native Interface).
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 22
    Par défaut
    J'ai dit 95% mais c'est bien sur une façon de parler, je ne sais pas quelle est la proportion réelle mais elle est grande. J'utilise archlinux donc je regarde toujours de quoi dépend les paquets que j'installe. Je vois bien si un logiciel est écris en java ou en c (ou autre langage compilé en .so) ou en python. Globalement sur les dépots on voit surtout ces trois types de paquets.
    L'exemple que tu donne porte sur la syntaxe du code or moi je m'interesse au produit post-compilation.
    Ce que je cherche à savoir c'est : existe il des langages que l'on peut compilé en asm puis en .so/.dll et en .o de sorte que les fonction compilé dans ce langages soit nativement utilisable dans du code c et inversement (et si oui lequels). Pour l'instant je ne cherche pas à savoir si ces langages sont plus évolué ou non.

    Pour exemple à ce propos C est un langage plus évolué que FORTRAN.

  4. #4
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Par défaut
    Citation Envoyé par WorkInProgress Voir le message
    Ce que je cherche à savoir c'est : existe il des langages que l'on peut compilé en asm puis en .so/.dll et en .o de sorte que les fonction compilé dans ce langages soit nativement utilisable dans du code c et inversement (et si oui lequels).
    Oui, à condition de respecter certaines règles. Pour le C++ par exemple, il est nécessaire que le code de la librairie soit défini en "extern C".
    Pour Java, tu peux charger du code C compilé via les JNI (Java Native Interface), même si les tests de performance ne sont pas forcément en faveur de cette méthode -- dépendant de ce que tu fais bien sur.

    Pour l'instant je ne cherche pas à savoir si ces langages sont plus évolué ou non. Pour exemple à ce propos C est un langage plus évolué que FORTRAN.
    Même question que précédemment : qu'est-ce qu'un langage évolué ? En quoi le C est-il plus évolué que Fortran pour toi ?
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 22
    Par défaut
    Je parle de langage COMPILE. Java est hors sujet.
    On s'en fout de ma définition de langage évolué ma question c'est quels langages se compile dans le même format binaire que le c mais apparement tu ne cherche pas du tout à répondre alors laisse tomber.

  6. #6
    Invité de passage
    Homme Profil pro
    aucune
    Inscrit en
    Février 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Février 2015
    Messages : 1

Discussions similaires

  1. MyISAM & les accès concurrentiels: le "miracle"
    Par twkjp dans le forum Outils
    Réponses: 3
    Dernier message: 09/09/2005, 17h02
  2. [cr 8.5] comment exploiter les données d'un "array"
    Par kikidrome dans le forum SAP Crystal Reports
    Réponses: 12
    Dernier message: 09/06/2005, 14h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo