298 votes

Quelle est la popularité de C++ pour la création de sites web/applications web ?

Je ne sais pas pourquoi cette question me taraude, mais je reviens sans cesse à la charge : pourquoi ne pas créer des sites Web en C++ ? Jusqu'à présent, je n'en connais aucun (sauf une rumeur concernant Yahoo). La plupart utilisent PHP, Java ou ASP.NET. Certains sont construits sur Ruby ou Python, mais même ceux-là sont minoritaires.

En même temps, en regardant StackOverflow, il semble que le C++ soit toujours un langage très populaire avec de nombreux projets écrits dans ce langage. Pourquoi pas pour les pages web ?

Alors - que savez-vous sur ce sujet ? Existe-t-il des sites Web écrits en C++ ? Existe-t-il des frameworks/bibliothèques qui aident à faire cela ? L'avez-vous déjà fait ? Si oui, avez-vous rencontré des problèmes fondamentaux et le recommanderiez-vous à d'autres ?

156voto

mhenry1384 Points 3608

Je suis avant tout un programmeur C++, et je n'entends donc pas dénigrer le C++ lorsque je dis que C# et Java sont des langages beaucoup plus modernes, mieux adaptés à 99 % du développement d'applications que vous souhaitez réaliser. L'inconvénient de C#/Java/etc. est que les utilisateurs ont besoin de runtimes volumineux installés sur leurs PC, et si vos utilisateurs ne les ont pas, ils devront les installer. Il est donc généralement préférable d'écrire les applications grand public en C++, où il y aura peu de dépendances et où Mamie n'aura pas à se demander comment installer le .NET framework 3.0.

Pour les applications web, l'utilisateur n'utilisera qu'un navigateur web et vous pouvez donc écrire dans la plate-forme linguistique de votre choix. Alors pourquoi ne pas écrire dans un langage moderne et meilleur ?

(Encore une fois, avant que les programmeurs C++ ne me sautent dessus, laissez-moi dire que je suis principalement un programmeur C++ depuis plus de 15 ans. Il serait stupide d'ignorer que les langages modernes sont bien plus faciles et meilleurs pour la plupart des développements d'applications).

74voto

user52875 Points 1959

Je recommande d'utiliser le webtoolkit C++ Wt (prononcé Witty), à l'adresse suivante http://www.webtoolkit.eu/ .

Ce cadre (avec serveur d'application intégré) vous permet de concevoir des applications web en termes de widgets et de connexions signal/slot, et laisse une grande partie des éléments web entre les mains de la bibliothèque. Les applications qui en résultent sont orientées objet, strictement typées et parfaitement maintenables. La bibliothèque détecte automatiquement les capacités du navigateur et utilise la bonne méthode pour rendre le site, évitant ainsi les bogues de navigateur.

Je n'ai pas l'intention de lancer une guerre des langages, mais Wt est écrit dans un style C++ moderne, qui ne doit pas nécessairement entraîner des fuites de mémoire et autres mésaventures qui ont toujours été associées aux applications C++. Je suis d'accord avec la validité de votre affirmation : pourquoi ne pas écrire les applications web en C++ ? Le C++ est aussi bon que n'importe quel autre langage. Ce n'est pas une question de performance, c'est une question de style.

72voto

linuxeasy Points 2349

Simplement, j'ai acquis beaucoup d'intérêt pour C++ après avoir réalisé le problème de performance avec PHP . (Je suis avant tout un PHP programmeur).

Les avantages que j'ai vus

  • Proche du langage matériel (ce qui augmente les performances).

  • Supporte grandement la POO (Oui, il suffit de lire mieux livres pour vous l'expliquer).

  • Extrêmement léger, il nécessite moins de ressources serveur (ce qui vous fait économiser beaucoup d'argent).

  • En ce qui concerne la gestion de la mémoire, ce n'est vraiment pas un problème. Il y a des choses en C++ qui vous permettent de gérer la mémoire automatiquement (pointeurs intelligents & share_ptr spécifiquement).

J'ai commencé par Cadre de développement Web CppCMS .

Il m'a fallu un peu d'apprentissage pour m'habituer au C++, mais j'y suis enfin arrivé :)

Le C++ vous demande simplement d'être un peu plus organisé. Oui, plus organisé que Java, parce que vous ne pouvez pas être négligent en créant des objets, vous devez les supprimer. Mais comme déjà mentionné, les pointeurs intelligents en C++ vous aident à le faire automatiquement.

Si cela vous semble excessif, cela en vaut la peine. Si vous envisagez d'utiliser le développement Web C++, pensez aux aspects à long terme. Pour les objectifs à court terme, des langages comme PHP (ou tout autre langage de développement Web) font l'affaire.

À propos de CppCMS :

  • Supporte des constructions comme l'échange entre le code C++ et le code HTML, comme l'utilisation de <?php ?> entre les balises html. Vous pouvez utiliser votre texte html brut entre le langage de modélisation de ce cadre. Ceci est particulièrement avantageux lorsque vous donnez votre code à des concepteurs d'interface utilisateur.

  • Prend en charge la compilation séparée des vues, de sorte qu'une modification des vues ne nécessitera pas la compilation de l'ensemble du projet. De même, si vous modifiez uniquement les fichiers de logique commerciale de base, vous n'aurez pas à recompiler les fichiers de vues. C'est comme le concept des Servlets et des fichiers JSP de Java.

  • Il est multiplateforme :)

my2c.

34voto

John D. Cook Points 19036

Une grande partie du développement web se résume à l'interrogation de bases de données et à la manipulation de chaînes de caractères. Ces deux opérations sont plus faciles à réaliser dans un langage dynamique qu'en C++. La principale raison d'utiliser C++ serait l'efficacité, bien que la plupart des sites n'aient pas besoin d'une telle efficacité.

Les sites Web peuvent être écrits dans d'autres langages mais faire appel à des composants écrits en C++, par exemple pour le traitement des chiffres. Mais la logique principale d'un site est rarement écrite en C++.

28voto

Dimitri C. Points 6455

Je pense que la seule raison de ne pas construire une application web en C++ est une manque de bibliothèques pour cela (les bibliothèques bien connues, bien sûr). Je ne vois pas quel type de manipulation de chaînes, de mise en réseau ou d'accès aux bases de données ne pourrait pas être fait en C++.

L'un des grands avantages du choix du C++ est que, si vous avez déjà beaucoup de code C/C++ dans votre entreprise, il est possible d'en tirer parti. évite d'introduire une nouvelle langue qui est livré avec son propre IDE, sa bibliothèque standard, ses bibliothèques personnalisées, les bizarreries et les limitations du langage de programmation, les bizarreries des bibliothèques, les profileurs, etc...

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X