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

C Discussion :

Après une initiation au C? [Débat]


Sujet :

C

  1. #21
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 391
    Par défaut
    qu'est-ce que tu veux dire par là? OOo C'est du java, non?

    Enfin, la JVM elle-même est peut-être développée en C++, mais bon , suffit d'un maillon dans la chaîne pour tout ralentir...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  2. #22
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Le Furet
    Complètement pipeau. J'ai testé OpenOffice, depuis plusieurs versions, sur plusieurs machines, car je cherche un remplaçant à Word depuis longtemps, et ça reste très lent.
    Beuh ? C'est lent à charger, mais ensuite l'exécution est correcte.
    (OpenOffice 1.1.5). Ca fait maintenant plus d'un an que je me suis débarassé de Word.

  3. #23
    Gfx
    Gfx est déconnecté
    Expert confirmé
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Par défaut
    Avant de revenir au sujet du topic, je tiens a apporter des precisions :
    - OpenOffice.org a des morceaux en Java mais c'est minime ;
    - La JVM de Sun (HotSpot) est ecrite en C ;
    - On peut ecrire une JVM en Java, il suffira de la compiler en code natif pour eviter la dependance avec une autre JVM.

    Le developpement Java apporte de nombreux avantages par rapport au C... dans certaines conditions. Je ne vais pas revenir sur ces avantages (notamment la gestion de la memoire) mais il est important de comprendre que les critiques faites a l'egard de Java sont pour la plupart fausses aujourd'hui. C'etait, il est vrai, lent il y a 10 ans mais il n'y a plus aucun probleme aujourd'hui. Dans certains cas precis, les JVM modernes vont meme plus vite que le C. C'est le cas du calcul pur et des allocations/desallocations memoire. Pour d'autres operations Java reste plus lent que le C mais largement assez rapide pour la plupart des applications.

    Il convient ensuite de distinguer les environnements d'execution Java. J'ai developpe du Java sur des desktops, des serveurs, des PDA, des telephones mobiles, des Lego et meme des cartes a puce. Etant donne la difference importante entre les JVM et les API utilisees il n'est pas possible de generaliser et dire "Java c'est lent" ou "Java est assez rapide". En fait je trouve que ca se passe mieux dans les petits systemes embarques que les grosses machines ^^

    J'utilise Java parce que j'adore sa bibliotheque graphique Swing qui me permet de faire de jolies interfaces et de les distribuer sous Windows, MacOS X et Linux. J'utilise neanmoins encore le C de temps en temps pour ecrire des extensions natives a mon code Java, des outils qu'il serait difficile de faire en Java (hooks systemes, plugins pour certaines applis, etc.) ou encore quand le C est tout simplement la solution. Par exemple lorsque je programmais sur GameBoy Advance.

    A mon avis il est important de connaitre au moins trois types de langages :
    - Un langage bas niveau, proche de la machine et offrant les meilleures performances directes avec un acces total au systeme. Je parle du C (Linux, Windows) ou de l'Objective-C (MacOS X) ;
    - Un langage haut niveau, de preference multi-plateformes, pour realiser des applications completes plus rapidement, notamment lorsqu'elles ont des interfacesgraphiques. Je pense a Java ou a C# ;
    - Un langage de script dynamique pour rediger encore plus rapidement des petits outils pour tous les jours. J'utilise enormement Python pour creer des generateurs de code, pour prototyper des applications, automatiser des taches. Je me sers aussi de Python en integrant un interpreteur dans mes applications pour ecrire certaines parties plus rapidement. Vous pouvez aussi regarder du cote de Ruby ou Perl.

    Bref, un langage ne suffit pas a mon avis, meme si Java (et C# dans une moindre mesure) permet de developper des cartes a puce, des serveurs, des robots, des telephones... (Il existe une specification temps reel pour Java, deja utilisee par des entreprises comme Boeing).

    Quoi qu'il en soit, evitez de vous reposer sur des idees recues ou des observations datant d'il y a 10 ans. Le tout est de pouvoir mener ses projets a bien de la maniere la plus efficace. Ce ne sont que des outils, sachons choisir celui qui nous semble le plus adapte au travail.

  4. #24
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    C'est vrai que je critiquais surtout Java pour sa lenteur, surtout remarqué dans des applications desktop (je ne sais pas si c'est encore le cas) et pour sa gourmandise au niveau des ressources, je ne sais pas comment ca a évolué depuis y'a 1 ou 2 ans.

    C'est vrai aussi qu'en générale je suis assez sectaire, mais je conseil aussi Python qui est très simple à apprendre et qui est assez souple d'utilisation, puis il est dynamique ce qui lui apporte un plus par rapport à d'autre langages interprétés. Faudrais que je m'y remette aussi un jour

    gfx, je n'avais pas du tout pensé au fait d'intégrer Python en tant qu'interpreteur dans une application, c'est une approche très intéressante. D'ailleurs ce que j'aime dans Python, c'est la possibilité de faire des ajouts codés en C vu que Python est créé en C !
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  5. #25
    Gfx
    Gfx est déconnecté
    Expert confirmé
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Par défaut
    Comme je le disais j'utilise Java tous les jours pour developper des interfaces graphiques, ce qui est le plus gourmand en ressources. Je reconnais que la bibliotheque n'est pas la plus facile a utiliser mais quand on connait deux/trois principes de base (expliques dans des tutoriaux) on obtient des performances tout a fait normales.

    En gros le probleme de beaucoup d'applications Java est qu'elles bloquent le thread responsable de redessiner l'interface. C'est une erreur courante et facile a faire mais ce n'est pas le langage et sa JVM qui sont fautifs. Il y a aujourd'hui pas mal d'applications Java qui te surprendrait )

  6. #26
    Inactif  

    Homme Profil pro
    Ingénieur test de performance
    Inscrit en
    Décembre 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur test de performance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 986
    Par défaut
    Citation Envoyé par Gfx
    ... Dans certains cas precis, les JVM modernes vont meme plus vite que le C.
    troll: Comment une JVM écrite en C peut-elle être plus rapide que le C...

    J'ai appris le C, puis je me suis tournée vers le C++. Pour de gros programmes, je me sens plus à l'aise avec le C++: développement plus rapide, modification du code plus aisée, maintenance plus facile.

  7. #27
    Gfx
    Gfx est déconnecté
    Expert confirmé
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Par défaut
    troll: Comment une JVM écrite en C peut-elle être plus rapide que le C...
    C'est extremement simple, un compilateur statique (donc un compilateur C) a des options d'optimisations limitees au contexte du code source. La JVM fait une compilation dynamique et peut effectuer des optimisations qu'un compilateur statique ne peut pas faire. De fait une JVM est capable de produire du code plus rapide qu'un compilateur C. Rappellons que les JVM modernes ne se contentent plus d'interpreter le bytecode Java mais le convertissent en code natif (x86 par exemple) lors de l'execution.

    De la meme maniere allouer un nouvel objet en Java est beaucoup plus rapide qu'en C++ car les JVM utilise un tas et il leur suffit de deplacer un pointeur. Cette operation est beaucoup plus rapide que les malloc() du C ou les new du C++. Voir cette URL pour plus d'informations : http://www-128.ibm.com/developerworks/java/library/j-jtp09275.html?ca=dgr-lnxw01JavaUrbanLegends

    Cela ne veut pas dire que Java sera toujours plus rapide que du C mais c'est possible et cela arrive dans certains cas. Quoi qu'il en soit Java est loin d'etre aussi lent que ce qu'on lit dans beaucoup de discussions. Bref, prenez le temps de connaitre ce que vous critiquez ;-)

    je me sens plus à l'aise avec le C++: développement plus rapide, modification du code plus aisée, maintenance plus facile.
    Essaye C# ou Java et tu diras la meme chose mais par rapport au C++

  8. #28
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 277
    Par défaut
    Citation Envoyé par Gfx
    Essaye C# ou Java et tu diras la meme chose mais par rapport au C++
    Ca, par contre, je veux bien le croire

  9. #29
    Inactif  

    Homme Profil pro
    Ingénieur test de performance
    Inscrit en
    Décembre 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur test de performance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 986
    Par défaut
    Citation Envoyé par Gfx
    Essaye C# ou Java et tu diras la meme chose mais par rapport au C++
    Je ne connais pas très bien ces langages. Je suis sur, effectivement, que ce sont de très bons langages parce qu'ils sont orientés objets. Et pratiquant le C++, je trouve beaucoup d'avantage aux LOO.

    Je vais essayer de ne pas trop dévier du sujet. Concernant le troll, c'était une "boutade". Ton argument est très valable, mais je suppose que ce type de gestion de la mémoire n'a pas que des avantages dans le java par rapport au C++.

    Je ne me suis jamais tourné vers ces deux langages, parce que le C++ me convient très bien pour le type d'application que je développe. Il me permet une gestion plus fine de ce que je code. Et il me semble que pour le C# ou le java, on est dépendant d'un système sous-jacent (jvm). Déjà être dépendant de l'OS, c'est parfois chiant, alors ...
    Mais ceci concerne mon cas, et je conçois très bien que pour d'autres situations, il n'y a que des avantages.

    Pour le C, je trouve que ce langage demande une attention trop importante pour le développement de gros projet. Je suis admiratif devant les personnes qui développent des systèmes d'exploitaion en C.

    Bien sur le développement d'OS est quelque chose de très particulier, mais concernant des applications classiques, je pense que l'on est aussi efficace avec les LOO pour un temps de développement plus rapide.

    Un avantage par exemple, c'est que lors d'ajout ou de modification de code, je peut maîtriser plus finements les interactions par rapport à l'ensemble de l'application, sans avoir à connaître précisément le fonctionnement de l'ensemble du code. En C on peut avoir plus facilement des surprises désagréables. Pour les tableaux, on doit toujours faire attention aux débordements possibles. Pour les variables globlales, ou les pointeurs si on n'utilise pas les globales, il faut être sur de leur contenu à tout moment.

    Comme toujours, ceci est dépendant du type d'application, chaque langage est adapté pour telles situations.

    Le langage C a déjà été remplacé dans certains développements mais il ne disparaitra pas encore. Comme cela a été discuté dans un autre post, tant que des développeurs utiliseront le C, celui-ci perdurera.

    Si je n'avais pas connu le C ou l'assembleur, je pense que je n'arriverais pas à développer efficacement en C++ et surement aussi pour les langages de dernières générations. Pour avoir de bonnes bases en programmation, le C ou des langages similaires me semblent incontournables, ne serait-ce que d'un point de vue algorithmique.

    J'ai souvent entendu dire: "si tu sais programmer en C, tu seras capable de programmer dans tous les langages".

    Et soyons fou: "il y a un peu de C dans tous les langages...".

  10. #30
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par moldavi
    J'ai souvent entendu dire: "si tu sais programmer en C, tu seras capable de programmer dans tous les langages".
    Oui tout à fait d'accord, et surtout que leur apprentissage s'en passera que mieux, ce que j'ai pu constater quand j'avais un peu étudier Python
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  11. #31
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Bonjour,
    Citation Envoyé par afrikha
    je ne sais pas si les téléphones portables sont considérés comme des systèmes embarqués mais en tout cas ils utilisent largement java.
    ça rejoint l'idée que le C perd du terrain en se retrouvant contonné à l'embarqué
    Cours chez le marchand de portable et regarde ceux qui utilise Java, ça n'a pas grand chose à voir avec de l'embarqué : c'est devenu des mini-PC.
    Je croi que c'est ici que j'ai lu qu'après l'assembleur, le second langage mis en place sur une architecture était le C et sur certain ça s'arrête là.
    Et puis va demander à Linus de réécrire son noyau en Java

    Et le C apprend au programmeur une chose essentiel qui peu passer à la trappe avec d'autres langages : un ordinateur fait ce qu'on lui demande.ça implique qu'il faut être rigoureux dans ce que l'on écrit et si ça peut parraitre une perte de temps (initialiser un pointeur à NULL, tester les retours des fonctions...) quand on passe sous un autre langage le code marche du premier coup (on apprend à ne plus faire l'apprenti socier, à comprendre ce que l'on veut faire avant de taper bêtement su code).

    S'il y a un langage qui est menacé, à mes yeux, c'est plus le C++ avec le C# puisqu'il sont tous les deux orientés object alors que le C n'a rien d'un LOO donc difficile de comparer. Et d'ailleurs je n'arrive pas à trouver un langage comparable au C (itératif et portable au niveau des sources).

    Et puis il semble que vous avez oublié une chose importante qui commence à prendre de l'empleur dans les developpement en C : GTK+!
    Eh oui, déjà il s'agit d'une bibliothèque graphique portable et surtout elle contient la glib qui propose un nombre impressionant de fonctions qui manque au C lorsque que l'on développe sur un système type PC. Le tout en utilisant une organisation objet (comme quoi on peut ce passer du C++ ).

    Pour le sondage, je n'ai pas répondu puisque j'ai longtemps fait que du C et je me mais de plus en plus au Perl pour la manipulation de fichiers texte surtout. Donc pas de C++ ni Java : j'ai beaucoup de mal à penser en OO.

  12. #32
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Dernier point appréciable : lorsque le C à été créé, il n'était pas encore question d'argent à la grande différence de maintenant avec Java et C# (surtout dans le second cas).
    Je ne connais pas exactememt les statu juridique de ses deux langages, mes je croi que C# est soumis à des brevets (ce qui, je crois pose problème à certains developpeurs gnome).

    Et je vien de lire ceci :
    Citation Envoyé par [url=http://mail.gnome.org/archives/gnome-fr-list/2004-September/msg00057.html
    Débat au sujet de l'intégration de mono dans gnome ?.?[/url]]En fait pour l'instant, la "politique" du desktop Gnome actuellement est
    de ne pas inclure d'application qui ne soit pas code en C.
    Donc je pense que le C à encore de beau jour devant lui. Le projet GNU conseille fortement d'utiliser le C pour la création de logiciel : Which Languages to Use

  13. #33
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par gege2061
    Je ne connais pas exactememt les statu juridique de ses deux langages, mes je croi que C# est soumis à des brevets (ce qui, je crois pose problème à certains developpeurs gnome).
    C# fait l'objet d'une norme ECMA (européenne) publiée.

    http://www.jaggersoft.com/csharp_standard/toc.htm

  14. #34
    Gfx
    Gfx est déconnecté
    Expert confirmé
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Par défaut
    Le langage oui mais pas (toutes) les API.

  15. #35
    Gfx
    Gfx est déconnecté
    Expert confirmé
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Par défaut
    GTK+ est bien mais pour avoir essaye pas mal de toolkits graphiques je suis convaincu d'une chose, un langage oriente objet est beaucoup plus adapte pour le realisation de GUI qu'un langage procedural. J'ai beau preferer de loin Gnome a KDE, QT est, je trouve, bien plus agreable que GTK+ pour le developpement.

  16. #36
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Et pourtant, GTK est concu d'après les règles de la POO, même si cela est pour un langage procédural !
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  17. #37
    Gfx
    Gfx est déconnecté
    Expert confirmé
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Par défaut
    Heu certes mais je trouve que cela reste moins pratique et moins simple qu'avec un langage oriente objet. J'aime beaucoup le C pour plein de raisons mais pas pour faire des interfaces graphiques.

  18. #38
    LLB
    LLB est déconnecté
    Membre émérite
    Inscrit en
    Mars 2002
    Messages
    968
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 968
    Par défaut
    Citation Envoyé par moldavi
    J'ai souvent entendu dire: "si tu sais programmer en C, tu seras capable de programmer dans tous les langages".
    Je ne suis pas tout à fait d'accord. Certains langages sont très différents du C, et connaître le C n'aide pas à les comprendre. Par exemple, Lisp.

    Et le C apprend au programmeur une chose essentiel qui peu passer à la trappe avec d'autres langages : un ordinateur fait ce qu'on lui demande.ça implique qu'il faut être rigoureux dans ce que l'on écrit et si ça peut parraitre une perte de temps (initialiser un pointeur à NULL, tester les retours des fonctions...)
    Oui, c'est bien pour l'apprentissage. Mais pour une utilisation sérieuse, c'est dommage que le langage autorise l'utilisation de pointeurs non initialisés, qu'il fasse peu de vérifications[1]. Pour les retours des fonctions, je trouve plus agréable d'avoir un système d'exceptions, qu'une fonction qui retourne un code d'erreur.
    De plus, si on manque un peu de rigueur en écrivant en C, il y a des risques au niveau de la sécurité (buffer overflows, par exemple).

    Bien sûr le C a ses avantages (cités dans les autres messages), mais c'est en partie pour des raisons historiques (mises en avant dans le lien "Which Languages to Use") qu'il est utilisé.

    [1] par exemple, en C il est très facile de faire compiler un code. Mais beaucoup d'erreurs se remarquent seulement à l'exécution (segmentation faults, etc.). Utiliser les bonnes options de gcc aide (-W -Wall, etc.), mais ne suffit pas. Un langage comme OCaml fait beaucoup de vérifications à la compilation (le typage très fort, ca aide), du coup je n'ai jamais eu de plantage à l'exécution (hors boucles infinies).

  19. #39
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par LLB
    Oui, c'est bien pour l'apprentissage. Mais pour une utilisation sérieuse, c'est dommage que le langage autorise l'utilisation de pointeurs non initialisés, qu'il fasse peu de vérifications[1]. Pour les retours des fonctions, je trouve plus agréable d'avoir un système d'exceptions, qu'une fonction qui retourne un code d'erreur.
    De plus, si on manque un peu de rigueur en écrivant en C, il y a des risques au niveau de la sécurité (buffer overflows, par exemple).
    C'est le choix de la performance. Un langage 'managé' est forcément plus lourd en taille et en temps d'exécution. Le C est délibérément un langage pour programmeurs avertis.

    "C is a sharp tool"...

    Par contre, le temps de développement est un peu plus long, c'est sûr.

  20. #40
    Gfx
    Gfx est déconnecté
    Expert confirmé
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Par défaut
    Le C est délibérément un langage pour programmeurs avertis.
    Cela ne suffit pas. Je me considere comme un developpeur averti et je fais le choix du C quand je le considere justifie. On n'a pas toujours besoin des gains en performances et memoire apportes par le C.

    Ces langages sont des outils, il faut choisir celui adapte a la tache et il n'y a pas une reponse universelle. Attendez vous d'ailleurs a voir enormement d'applications ecrites en .NET/C# avec l'arrivee de Vista. On voit deja des applis de bonne taille en faire usage (World Wind de la NASA par exemple).

    On n'est plus il y a 15 ans, on peut aujourd'hui faire des concessions sur les perfs d'un logiciel pour faciliter le developpement.

Discussions similaires

  1. [Nombre]formater le nombre de décimal après une virgule.
    Par PascalCmoa dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 09/03/2007, 10h40
  2. Mauvais résultat aprés une formule de calcul complexe
    Par poufouille dans le forum Bases de données
    Réponses: 3
    Dernier message: 10/12/2004, 00h12
  3. est ce que d'apres une base de données en access,
    Par loveflower dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 26/10/2004, 16h12
  4. Réponses: 6
    Dernier message: 30/08/2004, 15h48
  5. [interbase]Se logger après une première installation
    Par Ultra-FX dans le forum InterBase
    Réponses: 3
    Dernier message: 13/09/2002, 11h44

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