Je suis d'accord que le D a tout pour plaire de ce côté là...
Sauf sa communauté qui n'évolue malheureusement pas (peu?).
Je suis d'accord que le D a tout pour plaire de ce côté là...
Sauf sa communauté qui n'évolue malheureusement pas (peu?).
Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
Mes cours/tutoriaux
Je pense que le coeur du problème est dans la définition du mot "langage".
Quand on parle de Java ou C#, on ne parle pas juste de la syntaxe/grammaire mais de tout l'environnement qui va avec : librairies, frameworks, IDE, compilateur, débugueur, runtime, ...
Quand on parle de C/C++, on parle généralement uniquement de la syntaxe/grammaire, du compilo (GCC) et a la rigueur de la librairies standard.
Ca fait une légère différence quand il s'agit de faire un web-service ou une IHM from scratch
Donc si la question est "Souhaiteriez-vous reprogrammer en C/C++, sans librairies, sans frameworks, et sans IDE après des années d'utilisation de Java+JSE+Spring+Hibernate+Eclipse ?", ma réponse est NON.
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.
Ah ? genre quoi ?
Le truc c'est que quand pour x-raison j'ai une exception dans un de mes programmes C# c'est que c'est moi qui est codé un algo comme un boulet, pas prévu un cas ou des considérations un peut plus philosophiques.
Quand j'ai une exception en C/C++, ça arrive souvent pas parce que mon algo est mauvais, mais parce que j'ai fait mon noob sur un p**** de pointeur qui pointais pas sur ce que je voulais ou encore qu'en aillant la vue assembleur je me rend compte que mon programme à fait un jump dans n'importe quoi (erreur noob sur des pointeurs, mais c'est quand même très frustrant quand ce n'est pas le langage qu'on utilise le plus souvent ).
Après, il y a la phase d'apprentissage que je vois autour de moi : c'est compliqué d'expliquer à une personne ce qu'est un pointeur et comment s'en servir quand il n'en a jamais utilisé (et on leur a même pas encore dit qu'on pouvais très bien avoir un pointeur de fonction alors que la notion d'objet est presque acquise )
De la vallée du vent ...
Distribution d'applications .NET avec DreamShield
DreamShield, Le site, forum, blog, wiki & Jeux
Mon blog, Cours et tutoriels pour apprendre C#, forum C#, Offres d’emploi développeur C#
Etant encore étudiant on nous bombarde avec tout sortes de langages, mais je penche pour le c/c++ parce que je le métrise mieux et je vois d'ailleurs pas de grande différence entre ce derniers et java
Si tu vois pas de grande différence entre le C/C++ et le Java, c'est qu'il te reste encore beaucoup de chemin jeune padawan
De la vallée du vent ...
Distribution d'applications .NET avec DreamShield
DreamShield, Le site, forum, blog, wiki & Jeux
Mon blog, Cours et tutoriels pour apprendre C#, forum C#, Offres d’emploi développeur C#
pour répondre à la question, oui, j'aimerais bien utiliser C++ , c'est le premier langage que j'ai appris ça me rappelerait des souvenirs , les segmentations faults et les trucs comme ça
Bien en C++, tu dois tout faire à la main. Ça permet d'avoir un grand contrôle sur ce que tu fais, mais ça t'oblige à avoir une grande rigueur.
En Java/C#, plein de choses sont gérées automatiquement. Ça permet de te concentrer sur l'essentiel, et ce n'est souvent pas gênant. Cependant, lorsque tu as besoin d'avoir plus de contrôle, tu ne peux pas.
Et pour en remettre une couche, je trouve que D apporte une très bonne réponse à ce problème : beaucoup de choses sont gérées automatiquement, mais ces automatismes ne sont pas obligatoires comme en Java/C#.
Par exemple, la mémoire est gérée par défaut par un GC. Mais si tu ne veux pas du GC, tu peux spécifier ton propre allocateur/désallocateur, comme par exemple le couple malloc/free. Mais il faudra dans ce cas penser à désalouer à la main.
ça existe quand même les gestionnaires de mémoire en C/C++ ...
De la vallée du vent ...
Distribution d'applications .NET avec DreamShield
DreamShield, Le site, forum, blog, wiki & Jeux
Mon blog, Cours et tutoriels pour apprendre C#, forum C#, Offres d’emploi développeur C#
Oui je sais, tu peux même faire du GC en C++. En fait, c'est pas compliqué, tu peux tout faire. Mais faut le faire.
il me semble qu'il est question d'integre un Garbage collector en c++ dans la prochaine version.
Sinon pour le retour au c++ (de C# a C++ apres 7 ans de C#), uniquement pour les systems embarques.
Pour le reste dans mon cas, aucun interet.
Cela me permet de me concentrer plus sur l'architecture logiciel.
Après 4 ans de langage C\C++ et quelques grands projet en C#, je pense qu'en C on sens la liberté et la possibilité de "tout faire" au contraire du C# .NET où on a l'impression de faire que de l'intégration et non pas de conception\développement.
Bien évidemment, je pense que c'est surtout lié au type de sujet à traiter car pour moi c'était surtout de la programmation système et beaucoup de réseaux mais il y en a d'autres pour lesquelles le C# .NET serait mieux.
Pour le JAVA, en tant que langage, c'est bon mais dès l'utilisation de ses librairies et l'intégration de ses bib la complexité croit en exponentielle.
Pour Python, je vois que c'est un bon langage pour les administrateurs réseaux et pour le développement orienté réseaux même plus productif que les Socket du C mais je n'ai pas une grande idée pour les autres domaines.
Finalement je conclu que c'est trop liée au type de problème à résoudre et aux exigences de la situation en termes de coût, temps, qualité.
A tous ceux qui disent "faut tout faire soi-même en C++", "on met 40 ans à faire les choses en C++", "on peut pas faire de haut niveau en C++", je dirais une chose : allez réviser le C++, mais le vrai, celui d'aujourd'hui, pas le "C with classes" ou encore "C/C++" (je déteste voir écrit ça, ç'a n'a aucun sens). Ensuite, je veux bien qu'on fasse un débat. Pour ça, on a pas mal de bons articles côté rubrique C++, il y a aussi de bons threads sur le forum pour que vous voyiez de quoi je vous parle.
A bientôt j'espère
Mon blog anglais - Mes articles et critiques de livres - FAQ C++0x, avec liste des nouveautés - Conseils sur le C++ - La meilleure FAQ du monde - Avant de créer des classes que vous réutiliserez, regardez si ça n'existe pas déjà - Le site du comité de normalisation du C++
Le guide pour bien débuter en C++ - Cours et tutoriels pour apprendre C++
Ah tient, je suis concerné
En même temps c'est pas comme si le C++ ne partageais rien avec le C, même s'il est vrai que le C pur n'a pas grand chose à voir avec le C++ ... mais après tout si déjà on part du principe que "C++ = low level", ça doit pas être si grave d'écrire C/C++ à côté ... non ?
De la vallée du vent ...
Distribution d'applications .NET avec DreamShield
DreamShield, Le site, forum, blog, wiki & Jeux
Mon blog, Cours et tutoriels pour apprendre C#, forum C#, Offres d’emploi développeur C#
Bah c'est juste que t'aggraves un peu ton cas
Car C++ permet le low level ET le high level.
Personnellement, j'utilise beaucoup les expressions templates en C++. Je génère des DSELs à la compilation etc. On est loin du low level, non ?
Mon blog anglais - Mes articles et critiques de livres - FAQ C++0x, avec liste des nouveautés - Conseils sur le C++ - La meilleure FAQ du monde - Avant de créer des classes que vous réutiliserez, regardez si ça n'existe pas déjà - Le site du comité de normalisation du C++
Le guide pour bien débuter en C++ - Cours et tutoriels pour apprendre C++
Mais je suis entièrement d'accord, c'est ce que j'ai dit justement vu que "C++ = low level" c'est faux, et donc faux => n'importe quoi, d'où C/C++ n'est pas grave
Pour t'en convaincre
Donc oui, c'est faux de dire que C++ = low level, mais comme apparemment cette assertion ne gêne pas grand monde a priori ...
De la vallée du vent ...
Distribution d'applications .NET avec DreamShield
DreamShield, Le site, forum, blog, wiki & Jeux
Mon blog, Cours et tutoriels pour apprendre C#, forum C#, Offres d’emploi développeur C#
Mon blog anglais - Mes articles et critiques de livres - FAQ C++0x, avec liste des nouveautés - Conseils sur le C++ - La meilleure FAQ du monde - Avant de créer des classes que vous réutiliserez, regardez si ça n'existe pas déjà - Le site du comité de normalisation du C++
Le guide pour bien débuter en C++ - Cours et tutoriels pour apprendre C++
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager