Samx Here
n1udSecurity


Server : Apache
System : Linux webd348.cluster026.gra.hosting.ovh.net 5.15.148-ovh-vps-grsec-zfs-classid #1 SMP Thu Feb 8 09:41:04 UTC 2024 x86_64
User : hednacluml ( 122243)
PHP Version : 8.3.9
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
Directory :  /home/hednacluml/encyclo/articles/d/w/i/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/hednacluml/encyclo/articles//d/w/i/DWIM_87ef.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr" dir="ltr">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
	<!-- headlinks removed -->
	<link rel="shortcut icon" href="../../../../misc/favicon.ico"/>
    <title>DWIM - Wikipédia</title>
    <style type="text/css">/*<![CDATA[*/ @import "../../../../skins/offline/main.css"; /*]]>*/</style>
    <link rel="stylesheet" type="text/css" media="print" href="../../../../skins/common/commonPrint.css" />
    <!--[if lt IE 5.5000]><style type="text/css">@import "../../../../skins/monobook/IE50Fixes.css";</style><![endif]-->
    <!--[if IE 5.5000]><style type="text/css">@import "../../../../skins/monobook/IE55Fixes.css";</style><![endif]-->
    <!--[if IE 6]><style type="text/css">@import "../../../../skins/monobook/IE60Fixes.css";</style><![endif]-->
    <!--[if IE]><script type="text/javascript" src="../../../../skins/common/IEFixes.js"></script>
    <meta http-equiv="imagetoolbar" content="no" /><![endif]-->
    <script type="text/javascript" src="../../../../skins/common/wikibits.js"></script>
    <script type="text/javascript" src="../../../../skins/offline/md5.js"></script>
    <script type="text/javascript" src="../../../../skins/offline/utf8.js"></script>
    <script type="text/javascript" src="../../../../skins/offline/lookup.js"></script>
    <script type="text/javascript" src="../../../../raw/gen.js"></script>        <style type="text/css">/*<![CDATA[*/
@import "../../../../raw/MediaWiki%7ECommon.css";
@import "../../../../raw/MediaWiki%7EMonobook.css";
@import "../../../../raw/gen.css";
/*]]>*/</style>          </head>
  <body
    class="ns-0">
    <div id="globalWrapper">
      <div id="column-content">
	<div id="content">
	  <a name="top" id="contentTop"></a>
	        <h1 class="firstHeading">DWIM</h1>
	  <div id="bodyContent">
	    <h3 id="siteSub">Un article de Wikipédia, l'encyclopédie libre.</h3>
	    <div id="contentSub"></div>
	    	    	    <!-- start content -->
	    <p>En <a href="../../../../articles/i/n/f/Informatique.html" title="Informatique">Informatique</a> <b>DWIM</b> est un sigle pour Do What I Mean. Cela signifie "fait ce que je veux dire". Il est utilisé en informatique pour dénoter la qualité des langages qui permettent d'éviter de spécifier en "long, en large et en travers" l'action à effectuer. En d'autres termes&#160;: on peut spécifier le "quoi" sans spécifier le "comment". Mais souvent, comme dans l'exemple développé ci dessous, c'est le "quoi" lui-même qui est omis et qui doit donc être inféré.</p>
<p>Le DWIM est aussi la qualité des programmes ou parties de programmes qui exploitent le DWIM du langage utilisé. Comme en anglais, où le rôle grammatical des noms est assez souple, DWIM peut aussi utilisé comme <a href="../../../../articles/v/e/r/Verbe.html" title="Verbe">verbe</a>&#160;: "Les <a href="../../../../articles/l/a/n/Langages_de_bas_niveau.html" class="mw-redirect" title="Langages de bas niveau">langages de bas niveau</a> ne DWIMent pas".</p>
<p>En effet, lorsqu'on écrit un programme en <a href="../../../../articles/a/s/s/Assembleur.html" title="Assembleur">assembleur</a>, on doit spécifier des détails de la <a href="../../../../articles/m/i/s/Mise_en_%C5%93uvre.html" title="Mise en œuvre">mise en œuvre</a> comme les <a href="../../../../articles/r/e/g/Registre.html" title="Registre">registres</a> par lesquels transitent les valeurs calculées. Pire, ces détails enferment le programme dans l'<a href="../../../../articles/a/r/c/Architecture_mat%C3%A9rielle.html" title="Architecture matérielle">architecture matérielle</a> choisie et empêchent sa <a href="../../../../articles/p/o/r/Portabilit%C3%A9_%28informatique%29.html" title="Portabilité (informatique)">portabilité</a>.</p>
<p>La conséquence souhaitable du DWIM est d'obtenir des programmes concis mais lisibles.</p>
<p>Le DWIM est la qualité de certains langages puissants mais complexes. Cette qualité est très subjective et son appréciation dépend beaucoup des goûts du programmeur. Typiquement un langage qui utilise des informations contextuelles DWIMe. La complexité du langage augmente aussi la charge cognitive du programmeur qui doit bien en connaître les mécanismes pour comprendre un programme en apparence ambigu.</p>
<p>Les <a href="../../../../articles/l/a/n/Langages_de_haut_niveau.html" class="mw-redirect" title="Langages de haut niveau">langages de haut niveau</a> n'ont pas nécessairement la qualité DWIM.</p>
<p>L'importance du DWIM et les contextes de son usage raisonnable sont controversés. Le DWIM de l'un est souvent l'<a href="../../../../articles/a/s/s/Assombrissement.html" class="mw-redirect" title="Assombrissement">assombrissement</a> de l'autre.</p>
<p><a name="Exemple_Simple" id="Exemple_Simple"></a></p>
<h3><span class="editsection">[<a href="../../../../articles/d/w/i/DWIM_87ef.html" title="Modifier la section&#160;: Exemple Simple">modifier</a>]</span> <span class="mw-headline">Exemple Simple</span></h3>
<p>En <a href="../../../../articles/p/e/r/Perl_5.html" class="mw-redirect" title="Perl 5">Perl 5</a>, la variable $_ est une sorte de <a href="../../../../articles/p/r/o/Pronom.html" title="Pronom">pronom</a> à tout faire. Sa valeur est affectée par un grand nombre d'opérations. Elle est un paramètre implicite de beaucoup de fonctions. C'est donc une forme d'usage implicite du contexte. Pour certains, ce style est acceptable uniquement dans les <a href="../../../../articles/u/n/i/Uniligne.html" title="Uniligne">unilignes</a>.</p>
<pre>
 $_ = "Salut le monde";
 print;  # équivalent de "print $_"
</pre>
<p>Mais cette qualité de DWIM doit être une partie intégrante du langage sinon elle devient rapidement agaçante et fragile. Ainsi Perl 5 n'a pas de mécanisme formel de signature de fonction. En l'absence de <a href="../../../../articles/s/i/g/Signature_de_type.html" title="Signature de type">signature</a>, forme de documentation concise et formelle incluse dans le code lui-même, il faut donc se reporter à la documentation pour savoir que <code>$_</code> est un <a href="../../../../articles/p/a/r/Param%C3%A8tre.html" title="Paramètre">paramètre</a> implicite de la fonction <code>print</code>. Le mécanisme est fragile car il n'anticipe pas que l'usage le plus commun de <code>print</code> utilise un saut de ligne terminal. <a href="../../../../articles/p/e/r/Perl_6.html" title="Perl 6">Perl 6</a> propose une fonction <code>say</code> qui ajoute ce saut de ligne terminal.</p>
<pre>
 print "$_\n";   # Perl 5 : impossibilité d'utiliser le $_ implicite
 say;            # Perl 6 : équivalent à  print "$_\n"
</pre>
<p>Le concepteur de Perl 6 anticipe que <code>say</code> sera plus utilisé que <code>print</code>. C'est pourquoi il a choisi un nom court de trois lettres conformément au <a href="../../../../articles/p/r/i/Principe_de_Huffman_08e1.html" title="Principe de Huffman">principe de Huffman</a>. Comme le DWIM, le principe de Huffman concourt à la concision des programmes Perl.</p>


<!-- 
NewPP limit report
Preprocessor node count: 14/1000000
Post-expand include size: 0/2048000 bytes
Template argument size: 0/2048000 bytes
Expensive parser function count: 0/500
-->
<div class="printfooter">
</div>
	    <div id="catlinks"><div id='catlinks' class='catlinks'><div id="mw-normal-catlinks"><a href="../../../../articles/a/c/c/Cat%C3%A9gorie%7EAccueil_1aae.html" title="Catégorie:Accueil">Catégories</a>&nbsp;:&#32;<span dir='ltr'><a href="../../../../articles/p/r/o/Cat%C3%A9gorie%7EProgrammation_informatique_8260.html" title="Catégorie:Programmation informatique">Programmation informatique</a></span> | <span dir='ltr'><a href="../../../../articles/p/e/r/Cat%C3%A9gorie%7EPerl_4e39.html" title="Catégorie:Perl">Perl</a></span></div></div></div>	    <!-- end content -->
	    <div class="visualClear"></div>
	  </div>
	</div>
      </div>
      <div id="column-one">
	<div id="p-cactions" class="portlet">
	  <h5>Views</h5>
	  <ul>
	    <li id="ca-nstab-main"
	       class="selected"	       ><a href="../../../../articles/d/w/i/DWIM_87ef.html">Article</a></li><li id="ca-talk"
	       class="new"	       ><a href="../../../../articles/d/w/i/Discuter%7EDWIM_3e51.html">Discussion</a></li><li id="ca-current"
	       	       ><a href="http://fr.wikipedia.org/wiki/DWIM">Version actuelle</a></li>	  </ul>
	</div>
	<div class="portlet" id="p-logo">
	  <a style="background-image: url(../../../../misc/Wiki.png);"
	    href="../../../../index.html"
	    title="Accueil"></a>
	</div>
	<script type="text/javascript"> if (window.isMSIE55) fixalpha(); </script>
		<div class='portlet' id='p-navigation'>
	  <h5>Navigation</h5>
	  <div class='pBody'>
	    <ul>
	    	      <li id="n-mainpage"><a href="../../../../index.html">Accueil</a></li>
	     	      <li id="n-thema"><a href="../../../../articles/a/c/c/Portail%7EAccueil_bcc9.html">Portails thématiques</a></li>
	     	      <li id="n-alphindex"><a href="../../../../articles/t/o/u/Special%7EToutes_les_pages_fabc.html">Index alphabétique</a></li>
	     	      <li id="n-randompage"><a href="../../../../articles/p/a/g/Special%7EPage_au_hasard_9c81.html">Un article au hasard</a></li>
	     	      <li id="n-contact"><a href="../../../../articles/c/o/n/Wikip%C3%A9dia%7EContact_929e.html">Contacter Wikipédia</a></li>
	     	    </ul>
	  </div>
	</div>
		<div class='portlet' id='p-Contribuer'>
	  <h5>Contribuer</h5>
	  <div class='pBody'>
	    <ul>
	    	      <li id="n-help"><a href="../../../../articles/s/o/m/Aide%7ESommaire_c9f0.html">Aide</a></li>
	     	      <li id="n-portal"><a href="../../../../articles/a/c/c/Wikip%C3%A9dia%7EAccueil_5272.html">Communauté</a></li>
	     	      <li id="n-recentchanges"><a href="../../../../articles/m/o/d/Special%7EModifications_r%C3%A9centes_b222.html">Modifications récentes</a></li>
	     	      <li id="n-aboutwp"><a href="../../../../articles/a/c/c/Wikip%C3%A9dia%7EAccueil_des_nouveaux_arrivants_0784.html">Accueil des nouveaux arrivants</a></li>
	     	      <li id="n-sitesupport"><a href="http://meta.wikimedia.org/wiki/Faire_un_don:_explication">Faire un don</a></li>
	     	    </ul>
	  </div>
	</div>
		<div id="p-search" class="portlet">
	  <h5><label for="searchInput">Rechercher</label></h5>
	  <div id="searchBody" class="pBody">
	    <form action="javascript:goToStatic(3)" id="searchform"><div>
	      <input id="searchInput" name="search" type="text"
	        accesskey="C" value="" />
	      <input type='submit' name="go" class="searchButton" id="searchGoButton"
	        value="Aller" />
	    </div></form>
	  </div>
	</div>
	<div id="p-lang" class="portlet">
	  <h5>Autres langues</h5>
	  <div class="pBody">
	    <ul>
	      	      <li>
	      <a href="../../../../../en/articles/d/w/i/DWIM_87ef.html">English</a>
	      </li>
	      	      <li>
	      <a href="../../../../../ru/articles/d/w/i/DWIM_87ef.html">Русский</a>
	      </li>
	      	    </ul>
	  </div>
	</div>
	      </div><!-- end of the left (by default at least) column -->
      <div class="visualClear"></div>
      <div id="footer">
    <div id="f-poweredbyico"><a href="http://www.mediawiki.org/"><img src="../../../../skins/common/images/poweredby_mediawiki_88x31.png" alt="Powered by MediaWiki" /></a></div>	<div id="f-copyrightico"><a href="http://wikimediafoundation.org/"><img src="../../../../misc/wikimedia-button.png" border="0" alt="Wikimedia Foundation"/></a></div>	<ul id="f-list">
	  	  	  <li id="f-credits">Cette page a été modifiée pour la dernière fois le 26 décembre 2007 à 22:05 par Utilisateur <a href="../../../../articles/v/o/l/Utilisateur%7EVolkovBot_0e6c.html" title="Utilisateur:VolkovBot">VolkovBot</a>. Basé sur le travail de Utilisateur(s) <a href="../../../../articles/z/e/w/Utilisateur%7EZewan_8edb.html" title="Utilisateur:Zewan">Zewan</a>, <a href="../../../../articles/i/n/i/Utilisateur%7EInike_5c12.html" title="Utilisateur:Inike">Inike</a>, <a href="../../../../articles/s/t/e/Utilisateur%7EStefp_67de.html" title="Utilisateur:Stefp">Stefp</a>, <a href="../../../../articles/j/u/l/Utilisateur%7EJulien.moutinho_bba2.html" title="Utilisateur:Julien.moutinho">Julien.moutinho</a> et <a href="../../../../articles/a/r/g/Utilisateur%7EArglanir_1733.html" title="Utilisateur:Arglanir">Arglanir</a> et Utilisateur(s) non enregistré(s) de Wikipédia.</li>	  <li id="f-copyright"><span style="white-space:normal"><a class="internal" href="http://fr.wikipedia.org/wiki/Wikip%C3%A9dia:Droit_d'auteur" title="Droit d'auteur">Droit d'auteur</a> : Tous les textes sont disponibles sous les termes de la <a class="internal" href="http://fr.wikipedia.org/wiki/Wikip%C3%A9dia:Licence_de_documentation_libre_GNU" title="GFDL">licence de documentation libre GNU</a> (GFDL).<br/>
Wikipedia® est une marque déposée de la <a href="http://wikimediafoundation.org/wiki/Accueil" title="Wikimedia Foundation">Wikimedia Foundation, Inc.</a>, organisation de bienfaisance régie par le paragraphe <a class="internal" href="http://en.wikipedia.org/wiki/501(c)" title="501(c)">501(c)(3)</a> du code fiscal des États-Unis.</span><br/></li>	  <li id="f-about"><a href="../../../../articles/%C3%A0/_/p/Wikip%C3%A9dia%7E%C3%80_propos_5de1.html" title="Wikipédia:À propos">À propos de Wikipédia</a></li>	  <li id="f-disclaimer"><a href="../../../../articles/a/v/e/Wikip%C3%A9dia%7EAvertissements_g%C3%A9n%C3%A9raux_fef1.html" title="Wikipédia:Avertissements généraux">Avertissements</a></li>	  	</ul>
      </div>
    </div>
  </body>
</html>

SAMX