@article{JavaTechnique2024, title = {{Java (technique)}}, year = {2024}, month = dec, journal = {Wikip{\'e}dia}, urldate = {2025-05-03}, abstract = {Java est une technique informatique d{\'e}velopp{\'e}e initialement par Sun Microsystems puis acquise par Oracle {\`a} la suite du rachat de l'entreprise. D{\'e}fini {\`a} l'origine comme un langage de programmation, Java a {\'e}volu{\'e} pour devenir un ensemble coh{\'e}rent d'{\'e}l{\'e}ments techniques et non techniques. Ainsi, la technologie Java regroupe : des standards (la plateforme Java) d{\'e}finis sous forme de sp{\'e}cification par le Java Community Process (JCP), en trois {\'e}ditions : Java SE (standard edition), Java EE (enterprise edition), s'appuyant sur Java SE, Java ME (micro edition), ind{\'e}pendante des deux pr{\'e}c{\'e}dentes ; des logiciels (langages informatiques, biblioth{\`e}ques, frameworks, serveurs d'application, outils d'aide au d{\'e}veloppement), dont : des impl{\'e}mentations (concurrentes) de ces sp{\'e}cifications, un {\'e}cosyst{\`e}me d'autres logiciels s'appuyant sur tout ou partie de ces standards, voire leur faisant concurrence ; des communaut{\'e}s d'entreprises, organisations {\`a} but non lucratif (fondations, Java User Groups, universit{\'e}s) et ind{\'e}pendants, membres ou non du JCP, poss{\'e}dant tout ou partie des marques, brevets, parts de march{\'e} li{\'e}s {\`a} la technologie Java. Java est un des termes les plus connus du monde de l'informatique et de l'Internet. Sa notori{\'e}t{\'e} est telle que Sun, avant d'{\^e}tre achet{\'e} par Oracle Corporation, a d{\'e}cid{\'e} de l'utiliser pour son symbole boursier au Nasdaq, symbole qui {\'e}tait SUNW {\`a} l'origine, et est devenu JAVA. Java est utilis{\'e} dans une grande vari{\'e}t{\'e} de plateformes depuis les syst{\`e}mes embarqu{\'e}s et les t{\'e}l{\'e}phones mobiles, les ordinateurs individuels, les serveurs, les applications d'entreprise, les superordinateurs, etc.}, copyright = {Creative Commons Attribution-ShareAlike License}, langid = {french}, annotation = {Page Version ID: 220847226}, file = {/home/anhgelus/Zotero/storage/ZUEV4X8H/Java_(technique).html} } @misc{MostUsedLanguages2024, title = {Most Used Languages among Software Developers Globally 2024}, year = {2024}, month = jul, journal = {Statista}, urldate = {2025-05-03}, abstract = {As of 2024, JavaScript and HTML/CSS were the most commonly used programming languages among software developers around the world, with more than 62 percent of respondents stating that they used JavaScript and just around 53 percent using HTML/CSS.}, howpublished = {https://www.statista.com/statistics/793628/worldwide-developer-survey-most-used-languages/}, langid = {english}, file = {/home/anhgelus/Zotero/storage/S2NIZPMG/worldwide-developer-survey-most-used-languages.html} } @article{ParadigmeProgrammation2025, title = {{Paradigme (programmation)}}, year = {2025}, month = jan, journal = {Wikip{\'e}dia}, urldate = {2025-05-03}, abstract = {Le paradigme de programmation est la fa{\c c}on (parmi d'autres) d'approcher la programmation informatique et de formuler les solutions aux probl{\`e}mes et leur formalisation dans un langage de programmation appropri{\'e}. Ce n'est pas de la m{\'e}thodologie contenant une m{\'e}thode ; cette derni{\`e}re organise le traitement des probl{\`e}mes reconnus dans l'{\'e}cosyst{\`e}me concern{\'e} pour aboutir {\`a} la solution conceptuelle et programme ex{\'e}cutable.}, copyright = {Creative Commons Attribution-ShareAlike License}, langid = {french}, annotation = {Page Version ID: 222561462}, file = {/home/anhgelus/Zotero/storage/9ESBWCFG/Paradigme_(programmation).html} } @inproceedings{pereiraEnergyEfficiencyProgramming2017, title = {Energy Efficiency across Programming Languages: How Do Energy, Time, and Memory Relate?}, shorttitle = {Energy Efficiency across Programming Languages}, booktitle = {Proceedings of the 10th {{ACM SIGPLAN International Conference}} on {{Software Language Engineering}}}, author = {Pereira, Rui and Couto, Marco and Ribeiro, Francisco and Rua, Rui and Cunha, J{\'a}come and Fernandes, Jo{\~a}o Paulo and Saraiva, Jo{\~a}o}, year = {2017}, month = oct, series = {{{SLE}} 2017}, pages = {256--267}, publisher = {Association for Computing Machinery}, address = {New York, NY, USA}, doi = {10.1145/3136014.3136031}, urldate = {2025-05-03}, abstract = {This paper presents a study of the runtime, memory usage and energy consumption of twenty seven well-known software languages. We monitor the performance of such languages using ten different programming problems, expressed in each of the languages. Our results show interesting findings, such as, slower/faster languages consuming less/more energy, and how memory usage influences energy consumption. Finally, we show how to use our results to provide software engineers support to decide which language to use when energy efficiency is a concern.}, isbn = {978-1-4503-5525-4}, file = {/home/anhgelus/Zotero/storage/ZHQPWXF7/Pereira et al. - 2017 - Energy efficiency across programming languages how do energy, time, and memory relate.pdf} } @article{Platon2025, title = {{Platon}}, year = {2025}, month = mar, journal = {Wikip{\'e}dia}, urldate = {2025-05-03}, abstract = {Platon (en grec ancien : {$\Pi\lambda\acute{\alpha}\tau\omega\nu$} / Pl{\'a}t{\^o}n /pl{\'a}.tɔːn/), n{\'e} en 428 / 427 av. J.-C. et mort en 348 / 347 av. J.-C. {\`a} Ath{\`e}nes, est un philosophe antique de la Gr{\`e}ce classique, contemporain de la d{\'e}mocratie ath{\'e}nienne et des sophistes qu'il critiqua vigoureusement. Il reprit le travail philosophique de certains de ses pr{\'e}d{\'e}cesseurs, notamment Socrate dont il fut l'{\'e}l{\`e}ve, ainsi que Parm{\'e}nide, H{\'e}raclite et Pythagore, afin d'{\'e}laborer sa propre pens{\'e}e. Celle-ci explore la plupart des champs importants, c'est-{\`a}-dire la m{\'e}taphysique, l'{\'e}thique, l'esth{\'e}tique et la politique. Il eut notamment comme {\'e}l{\`e}ve Aristote {\`a} l'Acad{\'e}mie qu'il a lui-m{\^e}me fond{\'e}e {\`a} Ath{\`e}nes. Son {\oe}uvre, compos{\'e}e presque exclusivement de dialogues, produit les premi{\`e}res formulations classiques des probl{\`e}mes majeurs de l'histoire de la philosophie. Chaque dialogue de Platon est l'occasion d'interroger un sujet donn{\'e}, par exemple le beau ou le courage. Il y d{\'e}veloppe une m{\'e}thode qu'il appelle dialectique ou ma{\"i}eutique. Il voua la majeure partie de son activit{\'e} {\`a} la philosophie premi{\`e}re, mais il se consacra aussi aux apparences et aborda l'histoire naturelle dans laquelle il voulut {\'e}tablir deux principes : l'un subissant, comme la mati{\`e}re, appel{\'e} r{\'e}cepteur universel ; l'autre agissant, comme une cause, qu'il rattache {\`a} la puissance du dieu et du Bien. Platon d{\'e}veloppe une r{\'e}flexion sur les Id{\'e}es commun{\'e}ment appel{\'e}e th{\'e}orie des formes ou th{\'e}orie des Id{\'e}es, dans laquelle la r{\'e}alit{\'e} sensible est consid{\'e}r{\'e}e comme un ensemble d'objets participant de leurs mod{\`e}les immuables. La Forme supr{\^e}me est le principe du Bien, englobant les arch{\'e}types du Juste, du Bon et du Beau. La philosophie politique de Platon consid{\`e}re que la Cit{\'e} juste doit {\^e}tre construite selon le mod{\`e}le du Bien en soi. Dans La R{\'e}publique, il d{\'e}veloppe en cons{\'e}quence l'id{\'e}e du philosophe roi. La pens{\'e}e de Platon n'est pas monolithique. Une partie de ses dialogues aboutissent {\`a} des apories philosophiques : apportant une solution aux probl{\`e}mes pos{\'e}s, ils ne constituent pas une r{\'e}ponse unique et d{\'e}finitive. Un long d{\'e}bat a donc agit{\'e} les commentateurs pour d{\'e}terminer si Platon professait une philosophie dogmatique ou sceptique. Il est g{\'e}n{\'e}ralement consid{\'e}r{\'e} comme l'un des premiers philosophes grecs, sinon comme l'inventeur de la philosophie, au point que Whitehead a pu dire : << La philosophie occidentale n'est qu'une suite de notes de bas de page aux dialogues de Platon >>. Th{\'e}ophraste, parlant des philosophes, dit de Platon qu'il fut le premier par la renomm{\'e}e et le g{\'e}nie, tout en {\'e}tant le dernier dans la chronologie.}, copyright = {Creative Commons Attribution-ShareAlike License}, langid = {french}, annotation = {Page Version ID: 223756163}, file = {/home/anhgelus/Zotero/storage/XWD9LJQT/Platon.html} } @book{platonPhedon1991, title = {{Ph{\'e}don}}, author = {Platon}, year = {1991}, month = mar, publisher = {Flammarion}, address = {Paris}, urldate = {2025-05-03}, abstract = {D{\'e}couvrez l'ouvrage Ph{\'e}don}, isbn = {978-2-08-070489-4}, langid = {french}, annotation = {Traduction par Monique Dixsaut}, file = {/home/anhgelus/Zotero/storage/JISTAEBE/phedon.html} } @book{platonSophiste2022, title = {{Le Sophiste}}, author = {Platon}, year = {2022}, month = sep, series = {{Les Dialogues de Platon}}, publisher = {Vrin}, address = {Paris}, urldate = {2025-05-03}, abstract = {D{\'e}couvrez l'ouvrage Le Sophiste {\textbar} Collection Les Dialogues de Platon}, isbn = {978-2-7116-3060-8}, langid = {french}, annotation = {Traduction de Monique Dixsaut}, file = {/home/anhgelus/Zotero/storage/IQPTXNJJ/le-sophiste.html} } @book{platonTheetete2016, title = {{Th{\'e}{\'e}t{\`e}te}}, author = {Platon}, year = {2016}, month = jun, publisher = {Flammarion}, address = {Paris}, urldate = {2025-05-03}, abstract = {D{\'e}couvrez l'ouvrage Th{\'e}{\'e}t{\`e}te}, isbn = {978-2-08-138670-9}, langid = {french}, annotation = {Traduction par Michel Narcy}, file = {/home/anhgelus/Zotero/storage/44QMZJQN/theetete.html} } @article{ProgrammationOrienteeObjet2025, title = {{Programmation orient{\'e}e objet}}, year = {2025}, month = jan, journal = {Wikip{\'e}dia}, urldate = {2025-05-03}, abstract = {La programmation orient{\'e}e objet (POO), ou programmation par objet, est un paradigme de programmation informatique. Elle consiste en la d{\'e}finition et l'interaction de briques logicielles appel{\'e}es objets ; un objet repr{\'e}sente un concept, une id{\'e}e ou toute entit{\'e} du monde physique, comme une voiture, une personne ou encore une page d'un livre. Il poss{\`e}de une structure interne et un comportement, et il sait interagir avec ses pairs. Il s'agit donc de repr{\'e}senter ces objets et leurs relations ; l'interaction entre les objets via leurs relations permet de concevoir et r{\'e}aliser les fonctionnalit{\'e}s attendues, de mieux r{\'e}soudre le ou les probl{\`e}mes. D{\`e}s lors, l'{\'e}tape de mod{\'e}lisation rev{\^e}t une importance majeure et n{\'e}cessaire pour la POO. C'est elle qui permet de transcrire les {\'e}l{\'e}ments du r{\'e}el sous forme virtuelle. La programmation par objet consiste {\`a} utiliser des techniques de programmation pour mettre en {\oe}uvre une conception bas{\'e}e sur les objets. Celle-ci peut {\^e}tre {\'e}labor{\'e}e en utilisant des m{\'e}thodologies de d{\'e}veloppement logiciel objet, dont la plus connue est le processus unifi{\'e} (<< Unified Software Development Process >> en anglais), et exprim{\'e}e {\`a} l'aide de langages de mod{\'e}lisation tels que le Unified Modeling Language (UML). La programmation orient{\'e}e objet est facilit{\'e}e par un ensemble de techniques d{\'e}di{\'e}es : les langages de programmation : Ada, AS3, C++, Common Lisp, C\#, Dart, Eiffel, Fortran 2003, Haxe, Java, JavaScript, Kotlin, LOGO, Lua, Matlab, Objective-C, Object Pascal, Perl, PHP, Python, R, Raku, Ruby, Scala, Simula, Smalltalk, Swift, Vala, VB.NET ; les outils de mod{\'e}lisation qui permettent de concevoir sous forme de sch{\'e}mas semi-formels la structure d'un programme (Objecteering (en), UMLDraw, Rhapsody, DBDesigner{\dots}) ; les bus distribu{\'e}s (DCOM, CORBA, RMI, Pyro{\dots}) ; les ateliers de g{\'e}nie logiciel ou AGL (Visual Studio pour des langages Dotnet, NetBeans ou Eclipse pour le langage Java). Il existe actuellement deux grandes cat{\'e}gories de langages {\`a} objets : les langages {\`a} classes, que ceux-ci soient sous forme fonctionnelle (Common Lisp Object System), imp{\'e}rative (C++, Java) ou les deux (Python, OCaml) ; les langages {\`a} prototypes (JavaScript, Lua).}, copyright = {Creative Commons Attribution-ShareAlike License}, langid = {french}, annotation = {Page Version ID: 221726719}, file = {/home/anhgelus/Zotero/storage/IIY7EPIS/Programmation_orientée_objet.html} } @article{PythonLangage2025, title = {{Python (langage)}}, year = {2025}, month = may, journal = {Wikip{\'e}dia}, urldate = {2025-05-03}, abstract = {Python (prononc{\'e} /pi.t{\~ɔ}/) est un langage de programmation interpr{\'e}t{\'e}, multiparadigme et multiplateformes. Il favorise la programmation imp{\'e}rative structur{\'e}e, fonctionnelle et orient{\'e}e objet. Il est dot{\'e} d'un typage dynamique fort, d'une gestion automatique de la m{\'e}moire par ramasse-miettes et d'un syst{\`e}me de gestion d'exceptions ; il est ainsi similaire {\`a} Perl, Ruby, Scheme, Smalltalk et Tcl. Le langage Python est plac{\'e} sous une licence libre proche de la licence BSD et fonctionne sur la plupart des plateformes informatiques, des smartphones aux ordinateurs centraux, de Windows {\`a} Unix avec notamment GNU/Linux en passant par macOS, ou encore Android, iOS, et peut aussi {\^e}tre traduit en Java ou .NET. Il est con{\c c}u pour optimiser la productivit{\'e} des programmeurs en offrant des outils de haut niveau et une syntaxe simple {\`a} utiliser. Il est {\'e}galement appr{\'e}ci{\'e} par certains p{\'e}dagogues qui y trouvent un langage o{\`u} la syntaxe, clairement s{\'e}par{\'e}e des m{\'e}canismes de bas niveau, permet une initiation ais{\'e}e aux concepts de base de la programmation. Selon l'Index TIOBE, notamment en raison de son efficacit{\'e} pour l'apprentissage automatique, sa popularit{\'e} va croissante ; et en 2022 n'a toujours pas montr{\'e} de signe de ralentissement.}, copyright = {Creative Commons Attribution-ShareAlike License}, langid = {french}, annotation = {Page Version ID: 225320605}, file = {/home/anhgelus/Zotero/storage/KGM73G3C/Python_(langage).html} } @article{Ruby2025, title = {{Ruby}}, year = {2025}, month = mar, journal = {Wikip{\'e}dia}, urldate = {2025-05-03}, abstract = {Ruby est un langage de programmation libre. Il est interpr{\'e}t{\'e}, orient{\'e} objet et multi-paradigme. Le langage a {\'e}t{\'e} standardis{\'e} au Japon en 2011 (JIS X 3017:2011), et en 2012 par l'Organisation internationale de normalisation (ISO 30170:2012).}, copyright = {Creative Commons Attribution-ShareAlike License}, langid = {french}, annotation = {Page Version ID: 224093127}, file = {/home/anhgelus/Zotero/storage/LJP5V966/Ruby.html} }