C++ est-il devenu un langage de script ?
Un d�veloppeur estime que la norme C++ 11 a transform� le langage de programmation
� C++ est devenu un langage de script �, titre un d�veloppeur du nom de Jussi Pakkanen, dans un billet de blog.
Sous ce titre, qui pourrait provoquer le courroux de certains utilisateurs du langage, Jussi Pakkanen apporte une analyse objective, qui n�est pas d�nu�e de tout sens. � Avec la sortie de C++ 11, quelque chose d�extraordinaire s�est produit. L�accent mis sur les biblioth�ques utilisables, les types et autres subtilit�s ont transform� conceptuellement C++ en un langage de script �, introduit celui-ci.
Pour se situer dans le contexte, Pakkanen estime qu�un langage de script diff�re d�un langage compil� comme C par les crit�res suivants :
- pas de gestion manuelle de la m�moire ;
- la syntaxe et les fonctionnalit�s complexes expressives peuvent �tre mises en �uvre en seulement quelques lignes de code ;
- des puissantes fonctions de manipulation de chaines ;
- une grande biblioth�que standard.
Avec C++ 11, toutes ces exigences deviennent r�elles pour C++. Pour appuyer ses propos, Pakkanen pr�sente un bout de code permettant de lire toutes les lignes d�un fichier pour les enregistrer dans un fichier diff�rent (cas concret o� se d�marquent les langages de script).
Code c++ : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 #include<string> #include<vector> #include<algorithm> #include<fstream> using namespace std; int main(int argc, char **argv) { ifstream ifile(argv[1]); ofstream ofile(argv[2]); string line; vector<string> data; while(getline(ifile, line)) { data.push_back(line); } sort(data.begin(), data.end()); for(const auto &i : data) { ofile << i << std::endl; } return 0; }
S�il fallait faire la m�me chose en C, cela devrait prendre beaucoup plus de lignes de code et il serait difficile d�obtenir un r�sultat pareil, selon Pakkanen. De plus :
- chaque ligne de code est claire, compr�hensible et expressive ;
- pas de fuites de m�moire ;
- compilation avec optimisation �O3 proche des performances de Python VM ;
- meilleures performances que n�importe quel langage de script � non-JITted �.
Ces changements n�ont pas pour objectif de faire dispara�tre les langages de script, ironise Jussi Pakkanen, avant de conclure que � C++ peut d�sormais �tre utilis� dans les sc�narios pour lesquels le langage n��tait pas pr�vu � la base �.
Source : blog de Jussi Pakkanen
Et vous ?
Qu�en pensez-vous ? C++ 11 fait-il de C++ un langage de script ? Pourquoi ?
Partager