Aller au contenu

Utilisateur:Silex6/Bac à sable - archive 2 - 2012

Une page de Wikipédia, l'encyclopédie libre.

Berkeley Sockets[modifier | modifier le code]

[1]

[2] Berkeley Sockets Interface est une interface de programmation lancée par l'université de Berkeley au début des années 1980 et inclue dans leur Berkeley Software Distribution (abr. BSD).

La notion sur laquelle est construite cette interface sont les socket (en français les prises de courant).

30 ans après son lancement, cette interface est proposée dans quasiment tout les langages de programmation populaires (Java, C#, C++, ...).

[3]

[4]

[5]

[6]

[7]

[8]

[9]

un socket est une abstraction d'une prise par laquelle une application peut envoyer et recevoir des données. Cette prise permet à l'application de se brancher sur un réseau et communiquer avec d'autres applications qui y sont branchées. Les informations écrites sur une prise depuis une machine sont lues sur la prise d'une autre machine, et inversément. Il existe différents modèles de prises, en fonction des protocoles réseau; le plus fréquent sont les socket TCP/IP.

la première interface de programmation mettant en oeuvre les socket a été développée par l'université de Berkeley pour leur Unix, dans les années 1980. C'est un des premiers produits open source de l'histoire.

[10] API functions

la fonction socket de cette API sert à créer un certain type de prise. Le type de prise sera choisi en fonction de la technologie de communication à utiliser (par exemple TCP/IP). L'API permet à un logiciel serveur de servir plusieurs clients simultanément, sur les systèmes d'exploitation Unix le programme serveur utilisera la fonction fork pour chaque demande d'un client.

[11] Une connexion est établie entre le client et le serveur en vue de permettre la communication. la fonction connect permet à un client de demander la connexion à un serveur, et la fonction accept permet à un serveur d'accepter cette connexion. Une fonction close permet de terminer la connexion. Lorsqu'un des deux interlocuteurs termine la connexion, l'autre est immédiatement avisé. Le programme serveur utilisera la fonction listen pour informer le logiciel sous-jacent qu'il est prêt à recevoir des connexions.

Une fois la connexion établie, les fonctions send et recv servent respectivement à envoyer et à recevoir des informations. Une fonction auxiliaire gethostbyname permet d'obtenir l'adresse IP d'une machine en interrogeant le DNS, adresse qui sera utilisée par d'autres fonctions de l'API.

Autoroute suisse A16[modifier | modifier le code]

autoroute suisse A16 dite Transjurane, est une autoroute en construction, qui permet d'aller de Bienne à Belfort (en France). L'autoroute part de Bienne, et traverse le massif du Jura, puis continue jusqu'à la frontière ou elle rejoint la RN19 qui vient de Belfort.

Cette autoroute de 85 km de est en construction depuis 1987. Le premier tronçon a été ouvert à la circulation en 1998, et les travaux devraient être terminés d'ici 2016.

Cette autoroute ne faisait pas partie du réseau de routes nationales lancé en 1960, et a été ajouté en 1984 sur demande de la population du canton du Jura. L'objectif est d'encourager le développement économique du canton du Jura, dont les localités sont cloisonnées entre les montagnes et isolées par le fait que les voies de communications actuelles tendent à contourner le massif plutôt que le traverser.

[12] Le coût de la construction est devisé à 6.3 milliards de francs suisse.

L'autoroute comporte une dizaine de tunnels.

[13]

Depuis 1958 c'est le gouvernement fédéral de la Suisse qui a la compétence d'établir le réseau des routes nationales. En 1960 un arrêté national fixe un réseau de 1840 km d'autoroutes à travers tout le pays. L'autoroute A16 n'en fait pas partie[1].

En 1964, sous pression des autorités locales de la région du massif du Jura, le gouvernement fédéral de la Suisse charge l'ingénieur Jean Eckert de concevoir une route destinée à désenclaver le Jura. Le projet initial, prévoit une route à trois voies passant par les localités de Porrentruy, Delémont et Moutier[1].

Au début des années 1970, une commission nationale chargés de la planification des routes nationales conclut que la Transjurane n'est pas nécessaire. C'est suite à une pétition que le projet de la Transjurane est relancé en 1973, en même temps qu'est déclarée l'autonomie régionale du canton du Jura[1].

Lors de la votation de 1982, 71% de la population du canton du Jura accepte la construction de la Transjurane. Les localités directement touchées par le projet ont voté massivement en sa faveur. Deux ans plus tard le projet est intégré au réseau des autoroutes nationales[1].

La construction démarre en 1987 avec la percée d'un tunnel à travers le mont Terri. Le tronçon Delémont-Porrentruy est mis en service en 1998[1].

[14]

En 2012 65% du tracé est ouvert à la circulation. 3 tronçons sont encore en construction.

[15]

Component Object Model[modifier | modifier le code]

Histoire[modifier | modifier le code]

OLE est une technique lancée par Microsoft en 1991, dans le but de partager des informations entre plusieurs applications. La version 1.0 de OLE est basée sur la technique de Dynamic Data Exchange (abr. DDE), tandis que OLE 2.0 est basée sur la technique COM[2].

initialement ActiveX était une technique utilisée dans les navigateurs web, puis le nom ActiveX a été utilisé pour faire référence à différentes techniques basées sur COM[2].

En 2010 l'utilisation de COM est déconseillée, cette technique étant dépassée par Microsoft .NET[3].

Fonctionnalités[modifier | modifier le code]

Component Object Model est une spécification créée par Microsoft, qui décrit comment un programme exécutable peut être emballé dans un objet par un programmeur, permettant l'utilisation de l'objet par d'autres programmeurs[4]. La spécification COM décrit une interface de programmation ainsi qu'un procédé de communication entre les objets qui est indépendant des langages de programmation[5].

Un des objectifs de COM est de faciliter la création de programmes par assemblage de composants, où chaque composant peut être mis à jour ou amélioré indépendamment des autres. Ceci est rendu possible par le fait que tout les composants peuvent être assemblés selon la même technique[3]. COM unifie la manière dont les composants mettent à disposition leurs fonctionnalités et la manière dont les autres programmes vont les rechercher et s'en servir[3]. Les programmes qui adhèrent à la spécification COM pourront être réutilisés dans plusieurs langages de programmation,[2] tels que C, Visual Basic, Java, Delphi, FoxPro ou COBOL[2].

Construction[modifier | modifier le code]

Un objet COM est essentiellement un programme qui met en oeuvre une ou plusieurs interface de programmation. Chaque interface est une liste de fonctions. Toutes les interfaces sont dérivées de l'interface nommée IUnknown[3]. Les objets COM peuvent être mis en oeuvre par des fichiers .exe ou .dll de Microsoft Windows[5].

L'interface IUnknown comporte trois fonctions: QueryInterface, AddRef et Release. La fonction QueryInterface permet à un programme de demander au composant COM les caractéristiques d'une interface qu'il met en oeuvre. Les fonctions AddRef et Release servent à informer le composant qu'un programme est en train de s'en servir[3]. Plusieurs programmes peuvent se servir simultanément d'un composant COM. Un composant COM est exécuté dès qu'un programme s'en sert, et s'arrête automatiquement lorsqu'il n'est plus utilisé par aucun programme[3].

Techniques apparentées[modifier | modifier le code]

COM sert de fondations des technologies OLE et ActiveX[5]. Et cette technologie est disponible dans divers langages de programmation. Les contrôles de Microsoft Foundation Classes (abr. MFC) sont des objets COM[6] et Active Template Library est un ensemble de modèles pour créer des objets COM en langage C++[2]. DCOM et COM+ sont des logiciels de service qui étendent les possibilités d'utilisation des objets COM.

Java RMI, IBM SOM, et CORBA sont des technologies similaires à COM. CORBA offre des fonctionnalités semblables à COM/DCOM. Il existe des logiciels de pont qui permettent d'utiliser un objet COM comme s'il s'agissant d'un objet CORBA ou inversément[7].

Depuis 2003 la technologie .Net remplace la technologie COM, elle offre bon nombre de ses avantages tout en corrigeant certains problèmes. .Net et Visual Studio offrent diverses possibilités d'utilisation conjointe des technologies COM et .Net. un objet COM peut être utilisé dans un programme en .Net, pas le biais d'un wrapper qui lui donnera l'apparence d'un objet .Net. Et vice-versa: un objet en .Net peut être utilisé pour mettre en oeuvre un composant COM par le biais d'un wrapper qui lui donnera l'apparence d'un composant COM.

Selon Steve Texeira, dans son livre Delphi 6, « Microsoft n'est pas très clair concernant les différences entre COM, OLE et Active X » [5].

Distributed COM[modifier | modifier le code]

DCOM est un middleware qui permet une utilisation distribuée des objets COM: Il rends possible à un programme de se servir d'un objet COM exécuté par un autre ordinateur. Il permet en particulier au programmeur de se servir de l'objet sans tenir compte du fait qu'il est sur un autre ordinateur, DCOM traitant automatiquement les communications entre les deux ordinateurs, y compris l'application du protocole Remote Procedure Call, l'authentification, la sérialisation et l'utilisation de la mémoire cache[8].

COM+[modifier | modifier le code]

COM+ est une suite intégrée de logiciels composée de COM, DCOM et Microsoft Transaction Server. Ce dernier met en oeuvre un environnement d'exécution pour les composants COM avec des fonctionnalités de regroupement des threads et des connexions aux bases de données, ainsi que des fonctionnalités d'exécution automatique des composants COM[9]. COM+ comporte un dispositif de contrôle d'accès à base de rôles[9], une console permet de manipuler un catalogue de composants. Une fois ajoutés au catalogue, ceux-ci peuvent être utilisés depuis un autre ordinateur, et un service se chargera d'arrêter l'exécution d'un composant en cas d'inactivité prolongée[10]. COM+ est incorporé dans Windows 2000[9].

OLE[modifier | modifier le code]

OLE (pour Object Linking and Embedding) vise à permettre d'incorporer un document dans un autre document. Cette fonctionnalité utilise initialement la technique de communication entre programmes Dynamic Data Exchange (abr. DDE).

La version 2.0 de OLE n'utilise plus la technique de communication DDE[11] et la fonctionalité est assurée par le partage d'un bloc de données entre différentes applications, le bloc en question est un objet COM. Un conteneur OLE est une application qui peut manipuler des blocs de données OLE, et un serveur OLE est une application qui peut produire des blocs OLE[5].

OLE 2.0 introduit une nouvelle fonctionnalité - Automation - qui permet à un programme de demander à un autre programme d'effectuer des opérations[11].

ActiveX[modifier | modifier le code]

ActiveX est un buzzword[12] qui fait référence à une technologie destinée à transformer des pages web en applications qui, selon l'auteur, sont plus rapides que celles utilisant des applet Java. Dans les faits les objets ActiveX sont des objets COM avec quelques fonctionnalités de plus qui permettent de les utiliser sur le web[13]. Le nom ActiveX a été choisi pour se distancer de la fonction de liaison et incorporation d'objet (anglais Object Linking and Embedding abr. OLE) parce que l'objectif des contrôles ActiveX n'a plus rien à voir. Techniquement il n'y a pas de différence entre un objet COM et un objet ActiveX[6]: l'objet met en oeuvre les interfaces IUnknown et IDispatch[11], la fonction QueryInterface et la fonction DllRegisterServer[14].


Un composant ActiveX est un objet COM qui met en oeuvre une interface nommée IDispatch[11].

Un objet ActiveX est en essence un objet COM.

Automation[modifier | modifier le code]


[16]

[17]

[18] COM in depth

[19]

[20]

[21]

[22]

[23]

[24]

[25]

[26]

[27]

[28]

[29]


[30]

[31]

Un objet COM peut être mis en oeuvre in-process ou out-of-process. En in-process l'objet COM est mis en oeuvre par une bibliothèque logicielle placée dans l'espace d'adressage de l'application qui l'utilise. En out-of-process l'objet COM est mis en oeuvre par un programme exécutable - et sera placé dans un espace d'adressage dédié[9].

[32]

Développé par Microsoft et DEC, populaire sur Windows, COM est également disponible sur les systèmes d'exploitation OpenVMS Tru64 ainsi que d'autres Unix[15].

[33] com beyond microsoft

DCOM est un ORB : un logiciel moteur qui permet à des objets qui s'exécutent sur un ordinateur d'échanger des services avec des objets exécutés par un autre ordinateur. L´ORB fait appel à un ORB exécuté par l'autre ordinateur. [34]

[35]

Affaire de l'étude de Rind, Tromovitch et Bauserman[modifier | modifier le code]

[36] [37]

L'étude réalisée par les docteurs Rind, Tromovitch et Bauserman est au sujet des abus sexuels sur mineurs et les séquelles présumés sur les victimes. Cette étude publiée en 1998 dans le journal de la société américaine de psychologie, effectue un rapprochement de 59 enquêtes effectuées précédemment auprès de collégiens qui ont été victimes ou non d'abus sexuels, leur appréciation personnelle de l'événement et les signes cliniques de traumatisme (alcoolisme, dépression, anorexie, paranoïa...), en vue d'en déterminer les conséquences à long terme.

Le titre de l'étude est A Meta-Analytic Examination of Assumed Properties of Child Sexual Abuse Using College Samples (traduction: méta examen des caractéristiques supposées des abus sexuels sur la base d'enquêtes dans des collèges). Les auteurs sont Bruce Rind du département de psychologie de l'université de Philadelphie, Philip Tromovitch, de l'université de Pennsylvanie, Et Robert Bauserman, de l'université du Michigan.

Les résultats ont été publiés dans le bulletin de la société américaine de psychologie. La conclusion des auteurs est que « le point de vue selon lequel les abus sexuels sont par nature destructeurs, et causent un traumatisme sévère aux garçons comme au filles est propre à la culture américaine et ce point de vue n'est pas soutenu par les résultats de l'étude »[16].

L'étude a provoqué de nombreuses réactions dans la presse et sur la scène politique. Elle a été condamnée à l'unanimité par les membres de la chambre des représentants - le gouvernement des États-Unis.

L'étude[modifier | modifier le code]

Selon les auteurs, il ressort des échos donnés dans les médias et la littérature professionnelle que les abus sexuels sont traumatisants, le dommage causé est généralisé et durable, et les abus sexuels sont très mal vécus par toutes les personnes qui l'ont subi; sont vécus par les garçons comme les filles comme une expérience très négative[16]. L'étude réalisée par Rind, Tromovich et Bauserman entends vérifier si la manière dont sont vécus les abus sexuels corresponds à cette description[16].

Selon les auteurs l'appellation abus sexuel est ambiguë du fait que le mot abus peut signifier autant une violation des normes sociales que du tort causé à une victime, or une violation des normes sociales n'a pas forcément une conséquence négative pour la victime[16].

La méthode[modifier | modifier le code]

L'étude de Rind, Tromovitch et Bauserman effectue un rapprochement et une consolidation (méta-analyse) des résultats de 59 enquêtes indépendantes réalisées entre 1975 et 1995. Ces enquêtes effectuées dans des collèges portent sur des abus sexuels, les impacts selon le collégien et un des symptômes que sont l'alcoolisme, la dépression nerveuse, l'anorexie, la phobie, la paranoïa et le suicide[16]. Des enquêtes ou il existe d'un coté des résultats de référence qui concernent des collégiens qui n'ont pas vécu d'abus sexuel, et de l'autre des résultats concernant des collégiens qui en ont vécu[16].

L'étude de Rind, Tromovitch et Bauserman se base sur la consolidation de trois ensembles : les différences d'équilibre des collégiens selon s'il ont été victimes ou non d'abus sexuels, ainsi qu'en fonction de leur situation familiale, et les différences de situation familiale entre les collégiens victimes ou non d'abus sexuels[16]. Le but du troisième ensemble est de déterminer si les différences d'équilibre des victimes d'abus sexuels peuvent être confondues avec celles dues à leur situation familiale et donc que la relation entre l'orientation et les abus sexuels est infondée[16].

Un des constats de cette étude est que les 59 enquêtes utilisées n'ont pas la même définition du mot abus sexuel. 70% des enquêtes tiennent compte de la différence d'âge entre l'enfant / adolescent et l'adulte, mais ne tiennent pas compte de la volonté ou non du plus jeune de participer[16]. Les 59 enquêtes n'ont également pas la même définition de enfant, fixant l'âge limite entre 16 et 18 ans (75% des études), ou alors 14 ans (25% des études)[16].

Un tiers des 59 enquêtes utilisées comporte une décomposition en catégories de ce qui est considéré comme abus sexuel[16]. Les catégories diffèrent d'une enquête à l'autre (par exemple exhibitionnisme, caresses, attouchements, masturbation, fellation, tentative de copulation, et pénétration)[16]. Rind, Tromovitch et Bauserman ont établi un barème de séverité pour chaque catégorie. Ce barème tient compte également de la proximité de la relation entre les personnes (parents biologiques, membres de la famille, ou non), de la fréquence des abus, et de l'usage de la force ou de menaces[16].

Les résultats[modifier | modifier le code]

Selon les résultats de cette étude 51% des abus subis par les garçons et 39% des abus subis par les filles seraient de l'ordre des caresses, 46% des victimes d'abus sexuels l'auraient été à plusieurs reprises et 23% des abus sexuels sur des garçons et 41% des abus sur les filles auraient été faits sous contrainte[16].

Toujours selon cette étude, 14% des garçons et 27% des filles dans les collèges auraient vécu au moins une fois quelque chose qui est considéré comme un abus sexuel par une ou plusieurs des 59 enquêtes[16]. Selon cette étude il existe une corrélation de moins de 1% entre la désorientation (signes cliniques de traumatisme) et le fait d'avoir subi un abus sexuel, et une corrélation 9 fois plus élevée entre la situation familiale et la désorientation[16]. Toujours selon cette étude, le traumatisme subi n'est pas généralisé et durable, et il n'est pas vécu de la même manière par les filles que par les garçons[16].

Selon les auteurs, le facteur de corrélation très bas s'explique par le fait que dans des études comparables effectuées dans des milieux cliniques il existe une forte proportion de cas d'incestes, alors que ceux-ci ne représentent que 16% des cas d'abus recensés lors d'enquêtes dans les collèges[16].

L'étude comporte également une statistique en fonction des caractéristiques de l'abus sexuel - durée, fréquence, présence de contraintes et pénétration. Le résultat de cette statistique est une prévalence élevée (12%) de signes cliniques dans les cas ou il y a eu contrainte, une prévalence de près de 2% dans les cas d'inceste, et une prévalence inférieure à 1% pour les autres cas[16].

Selon cette étude, parmi les événements classifiés comme abus sexuel 10% des événements vécus par les filles, et 27% des événements vécus par les garçons auraient été rapportés par les "victimes" comme étant une expérience positive[16]. 70% des événements vécus par les filles et 33% des événements vécus par les garçons auraient été rapportés comme étant une expérience négative[16].

Selon cette étude, une expérience traumatisante à long terme est peu rapportée, un abus sexuel est plus souvent rapporté comme une expérience momentanément traumatisante[16]. Le facteur de corrélation très bas entre la désorientation et le fait d'avoir vécu un abus sexuel ne soutient pas le fait que plus de 50% des filles considèrent tel événement comme une expérience négative[16].

Les réactions[modifier | modifier le code]

Dans leur étude, les auteurs concluent que le point de vue selon lequel « les abus sexuels sont par nature destructeurs, et cause un traumatisme sévère aux garçons comme au filles » est propre à la culture américaine. Cette description n'est pas soutenue par les résultats de l'étude, et ceci tient selon les auteurs à « la manière dont la notion d'abus sexuel est construite par les rechercheurs ». Les auteurs suggèrent d'utiliser l'appellation neutre « sexualité adulte-enfant », et de réserver le mot abus sexuel aux cas d'expériences dommageables - jugées négatives par l'enfant. Ils suggèrent également de faire la distinction entre les enfants et les adolescents, arguant que pour ces derniers « il existe des formes socialement condamnées qui rentrent dans le cadre "normal" de la sexualité humaine ».

[38] Spiegel

Le docteur Spiegel, de l'institut de psychiatrie de l'université de Stanford critique la méthode d'analyse utilisée par les docteurs Rind, Tromovich et Bauserman. Selon lui le fait d'utiliser comme population des collégiens introduit un biais en faveur de ceux qui sont sortis indemnes d'un abus sexuel, en excluant les cas qui sont si profondément affectés qu'ils ne peuvent plus se rendre dans les écoles[17]. Selon lui seule une analyse exhaustive incluant les cas les plus graves (maladies mentales, drogues et échec scolaires) peut répondre de manière correcte à la question des impacts à long terme des abus sexuels[17]

Le docteur Spiegel critique également la palette d'enquêtes choisies. Une des enquêtes ne concerne pas les abus sexuels, mais les « enfants qui ont eu contact avec des pervers ». Selon lui « le fait d'inclure les résultats d'une telle enquête atténue le lien entre le vécu et les conséquences »[17]. Il met en avant le fait, reconnu par les auteurs, que « les principales enquêtes utilisées ne s'intéressent pas au syndrome post-traumatique » - qui fait suite à une situation choquante[17].

Selon le docteur Spiegel, « étant donné que l'étude porte sur des cas relativement bénins, il n'est pas surprenant de trouver un lien entre la situation familiale et l'équilibre mental »[17]. Il critique également l'affirmation des docteurs Rind, Tromovich et Bauserman selon laquelle « il est possible qu'un enfant aie eu envie, ou du moins consenti à un acte sexuel avec un adulte » arguant que la relation enfant-adulte est par nature inégale, il conclut que « c'est le cas pour des enfants qui n'ont ni la connaissance ni la capacité physique de refuser une telle proposition »[17].

[39]

Avec comme motifs de protéger le bien-être des enfants, en raison des critiques à l'égard de cette étude, et dans le but d'éviter que des groupes d'intérêt s'en servent pour justifier les abus sexuels: la chambre des représentants des États-Unis adopte une résolution qui condamne la publication de Rind, Tromovich et Bauserman. Ils demandent au président de condamner toute publication qui suggère que les relations sexuelles entre enfants et adultes sont autre chose que destructives et punissables, et demandent d'encourager la poursuite de la recherche dans ce domaine[18].

[40]

Dans un article signé du docteur 'Ben Sorotzkin' et posté sur le site web du NARTH, l'auteur se dit « surpris d'un article qui sur des bases scientifiques remet en question l'interdiction des adultes d'entreprendre une activité sexuelle avec des enfants ».

[41]

[42]

[43]


[44]

l'étude a été condamnée par la National Association for Research & Therapy of Homosexuality (abr. NARTH) - une association non-lucrative qui vise au traitement de l'homosexualité. Selon une lettre publiée sur leur site web: « depuis des siècles, la société occidentale, de par ses racines judéo-chrétiennes, considère la sexualité adulte-enfants comme quelque chose de légalement, moralement, et psychologiquement tabou. Les pédophiles sont considérés comme des criminels devant le juge, comme honteux par les théologiens et dérangés selon les professionnels de la santé mentale. Mais aujourd'hui la situation est en train de changer... ».[19]

L'association américaine de psychologie, qui a publié cette étude, c'est tout d'abord distancé de ses auteurs, indiquant que les conclusions faites par les auteurs ne correspondaient pas aux positions de l'association.

[45] Par une lettre ouverte, la société d'étude en sexologie (Society for the Scientific Study of Sex, abr. SSSS) demande à l'association américaine de psychologie de soutenir les travaux des docteurs Rind, Tromovich et Brauserman, et de soutenir le besoin des scientifiques de « conduire des recherches en sexualité humaine hors de toute contrainte due à des considérations politiques », arguant que « seules les recherches scientifiques désintéressées, scrupuleusement honnêtes peuvent espérer apporter des réponses ».[20]

[46]

Sous la pression du gouvernement, l'association américaine de psychologie recherche un organisme indépendant volontaire pour examiner l'étude de Rind, Tromovich et Bauserman. Elle fait appel à la American Association for the Advancement of Science. Cette association exprime ses regrets face à la politisation de l'étude, et se dit « déconcertée par les commentaires fait dans les médias, qui révèle une mauvaise compréhension et une mauvaise représentation des résultats de cette étude », et indique que « après examen il n'y a aucun signe évident d'application impropre de méthodes scientifiques ou d'autres pratiques questionnables »[21].

L'étude a été condamnée à plusieurs reprises par Laura Schlessinger (Dr. Laura) sur sa chaine de radio, ou elle la qualifie de « recherche poubelle » (anglais junk study)[21].

[47]

En 2000 le docteur français Philippe Esterie commente l'étude et les réactions qu'elle a provoqué. Après une longue dissertation concernant la prise en charge des abus sexuels par la justice, la société et la recherche (aux États-Unis et en France en particulier), il conclut: « Comment le rapport Bauserman a t-il été accueilli aux E.U. ? Très fraîchement, comme on pouvait s'y attendre ! Des attaques virulentes ont été portées contre la très puissante A.P.A. qui publie la revue où l'article de Bauserman avait paru. Les médias, à l'instar du fameux docteur Laura – une Ménie Grégoire yankee – y sont allés de leurs hoquets courroucés, "on croit rêver", "ça me rend malade", accusant tout simplement l'A.P.A. de complicité avec les violeurs d'enfants... Les attaques étaient si violentes que les journaux ont pu parler d'une véritable croisade menée contre les auteurs du rapport. ».

« Le Congrès eut une réaction très américaine : il demanda comment une recherche qui aboutit à des conclusions aussi incorrectes avait pu être financée. Des députés s'insurgèrent à l'idée que les deniers publics aient pu servir à obtenir des résultats aussi désagréables, fussent-ils scientifiquement incontestables. En réalité, aucun fonds n'a été investi dans cette étude. Les chercheurs l'ont menée bénévolement durant leur temps libre. »

Ensuite de quoi il expose son point de vue concernant l'étude de Rind, Tromovitch et Bauserman, qu'il juge « scientifiquement irréprochable »: « Le rapport remet en cause des théories infondées sur la définition de l'abus et sur ses conséquences. », « Il permet de recentrer l'attention sur les abus réels », « Il devrait, en toute logique, interdire que des relations consenties entre un adulte extérieur à la famille et un adolescent soient assimilées à des viols et traitées sur le même plan » et « Il devrait interdire aussi que des condamnations en justice soient fondées sur la théorie notoirement fausse voulant que l'abus sexuel cause systématiquement des dommages irréparables ».

[48]

[49]

[50]

[51]

[52]

[53]

[54]

NAMBLA ??

HyperFile[modifier | modifier le code]

[55]

HyperFileSQL est un moteur de base de données lancé en 1988 par la société française PC SOFT[22] et incorporé en standard de l'environnement de développement WinDev, du même auteur. Il est prévu pour être utilisé dans les logiciels créés avec WinDev[23], dans lesquels il peut être incorporé gratuitement et ne nécessite aucune maintenance[22]. Il existe en trois éditions: classic, serveur, et mobile[23], qui fonctionnent sur les systèmes d'exploitation Windows, Linux[23], Mac OS et iOS[22].

Fonctionnalités[modifier | modifier le code]

HyperFile comporte une interface de programmation qui permet aux programmes créés avec WinDev de manipuler des fichiers des données, avec les mécanismes classiques des SGBD: utilisation d'indexes, inscription des opérations dans un journal, transactions, vérification de l'intégrité référentielle et verrouillage[24]. L'interface de programmation permet également de manipuler des vues et des requêtes, répliquer, et crypter des données[25]. L'édition serveur permet de manipuler des procédures stockées[24] et permet d'autoriser ou d'interdire certaines opérations en fonction de l'utilisateur[22].

HyperFile peut être utilisé dans des fermes de serveurs (anglais cluster)[22]. l'édition mobile est destinée à être utilisée dans les logiciels pour smartphones créés avec WinDev Mobile[26]. Le langage SQL reconnu par HyperFile est conforme à la norme ANSI SQL-92[22]. Une fonctionnalité de HyperFile permet l'adaptation automatique du schéma de la base de données lors de l'installation d'une nouvelle version de l'application qui l'utilise (application créée avec WinDev)[22].

Lorsqu'il est utilisé dans un réseau informatique, les opérations de manipulation des bases de données sont effectués par l'ordinateur client pour l'édition classic et par le serveur pour l'édition serveur[23].

La taille maximale que peuvent théoriquement atteindre les bases de données est de 4 millions de téraoctets[22]. Les bases de données peuvent comporter des déclencheurs (anglais trigger)[22], des BLOBs (exemple: images ou vidéos) et permettent la recherche plein texte à l'aide d'index prévus à cet effet[22]. Les bases de données sont conformes au standard Unicode qui permet d'utiliser tout les alphabets existants dans le monde (chinois, cyrillique, arabe, ...)[22]. Les bases de données HyperFile peuvent être manipulées via ODBC[27].

Les logiciels créés avec WinDev tiennent compte des erreurs constatées par HyperFile (conflits de modification, non respect de l'intégrité référentielle, ...)[22]. Le générateur d'interface graphique de WinDev permet de créer des formulaires adaptés à une base de données HyperFile[22]. Le schéma d'une base de données HyperFile est créé à l'aide de l'outil de conception de WinDev[22].

[56]


[57]

[58]

[59]


Google Desktop[modifier | modifier le code]

[60]

Google Desktop est un moteur de recherche de bureau qui était distribué gratuitement par Google entre 2004 et 2011. Il permet à l'utilisateur de rechercher dans son ordinateur personnel des couriels, des fichiers, de la musique, de la vidéo, et des pages web. Google Desktop fonctionne sur les systèmes d'exploitation Windows[28].

[61]

Google Desktop Enterprise Edition est une version destinée aux collectivités. Elle offre les mêmes fonctionnalités que la version standard, et peut être utilisée pour effectuer des recherches à travers le réseau d'une entreprise[29],[30].

En 2011, Google abandonne Google Desktop, après avoir constaté que des outils similaires à Google Desktop sont incorporés dans la plupart des systèmes d'exploitation contemporains, et que la tendance est à se servir de plus en plus d'applications web et d'outils d'informatique en nuage[31].

Fonctionnalités[modifier | modifier le code]

Google Desktop permet à l'utilisateur de rechercher dans son ordinateur[32]:

La recherche basique se fait sur la base du nom du fichier. La recherche approfondie de Google Desktop se fait sur la base du contenu des fichiers, des courriers électroniques et des pages web[29].

Effectuer des recherches avec Google Desktop est semblable à ce qui se fait avec le moteur de recherche Internet de Google. Lorsque Google Desktop est opérationnel, un lien Desktop est affiché au sommet de la page du moteur de recherche Internet, ce qui permet de rechercher dans son ordinateur personnel[29],[32]. Une icône située en bas à droite de l'écran indique que Google Desktop est opérationnel. A partir de cette icône il est possible de lancer une opération de recherche, ou de démarrer / arrêter la maintenance de l'index[32].

Lorsqu'une demande de recherche est faite au moteur Google.com, Google Desktop intercepte cette demande, effectue la recherche sur l'ordinateur, puis consolide les résultats en les ajoutant à ceux qui sont obtenus par le moteur Google.com[34].

Google Desktop comporte également des widgets qui permettent de consulter les couriels sur Gmail, lire des nouvelles provenant de médias comme Forbes, Reuters, BusinessWeek, PC World ou ZDNet, ainsi que prendre des notes[32].

La première fois qu'il est utilisé, Google Desktop construit un index du contenu de l'ordinateur pendant que celui-ci est inactif[32]. Cet index est destiné à aider Google Desktop à trouver les réponses aux demandes de recherche[32].

L'index de recherche est retravaillé lorsque l'ordinateur est inactif pendant plus de 30 secondes. Google Desktop parcoure alors le contenu des disque durs; une opération qui peut prendre entre 15 minutes et plusieurs heures selon la quantité de fichiers, la vitesse et la disponibilité de l'ordinateur[35].

considéré comme gourmand en ressources, Google Desktop peut nécessiter entre 1 et 5 Go d'espace disque, principalement pour son index[29].

[62]


[63]

[64]

[65]

[66]

[67] 2005

[68] 2005-2011

Gecko (moteur de rendu)[modifier | modifier le code]

Gecko est un logiciel moteur qui interprète des pages web. Lancé par la fondation Mozilla en 1998, Open source et gratuit, il est incorporé dans diverses applications telles que Netscape Navigator, Firefox, Thunderbird, AOL Explorer ou Camino.

Gecko offre les fondations nécessaire pour afficher des pages web à l'écran[36]. L'objectif de Gecko est un moteur portable qui respecte les standards du web et les recommandations du W3C. Il fonctionne sur les systèmes d'exploitation Windows, Linux et Mac OS X[37]. Il est écrit en langage de programmation C++ et distribué sous les licences MPL, GPL et LGPL[38].

Histoire[modifier | modifier le code]

Gecko est né en 1998[39], lorsque Netscape publie le code source de son navigateur web Netscape Navigator, le rendant ainsi open source[39]. Netscape crée alors la fondation Mozilla, dans le but de continuer à développer Navigator[39]. Gecko fait alors partie intégrante de Netscape Navigator[40].

Le projet Gecko (initialement appelé NG Layout) vise la re-écriture du moteur de Netscape Navigator: Les fonctionnalités que devaient offrir un navigateur avaient tellement évolué depuis sa naissance que la construction du moteur de Netscape, qui était pertinente au début de son existence, était devenue invalide[41]. La re-écriture du moteur a permis d'obtenir un navigateur qui offre les mêmes possibilités avec moins de code source, étant ainsi rapide, plus simple à maintenir et à faire évoluer[41].

Six mois après la publication en open source, l'objectif de la fondation Mozilla a été alors de travailler sur des changements en profondeur en vue de faire face à des problèmes qui ne pouvaient pas être contrés par de simples patches[41]. Un des objectifs de Gecko a été dès le départ le strict respect des standards du web, ainsi que les recommandations du W3C[42].

En 2002 est mis sur le marché Mozilla 1.0, motorisé par Gecko, il est reconnu comme étant celui qui a la meilleure prise en charge du standard CSS[43]. La même année Netscape passe de la version 4 à la version 6 de son produit Netscape Navigator, et la nouvelle version est motorisée par Gecko[43].

En 2003 America Online rachète la société Netscape[39]. La fondation Mozilla devient alors une association sans but lucratif indépendante[39],[42].

Fonctionnalités[modifier | modifier le code]

Le moteur Gecko sont les fondations qu'une suite de navigateurs web utilisent pour afficher des pages web[39]. Il s'occupe, à partir du code HTML d'une page web, de faire quelque chose que l'utilisateur peut voir et interagir avec[39].

les fonctions offertes par Gecko sont notamment: recevoir les documents selon différents protocoles réseau, analyser le document HTML, disposer le contenu sur la page, le dessiner en respectant les polices et les feuilles de style, décoder et afficher des images, créer des widgets, assurer des communications cryptées et certifiées, permettre la manipulation du contenu par programmation en langage Javascript ou Java[36].

Gecko se charge d'examiner le code HTML d'une page web, en extraire sa structure, permettre sa manipulation par programme via le DOM, puis dessiner la page web, tracer les éléments de formulaire et placer les images au bon endroit[42]. Il calcule l'emplacement ou un élément doit être placé sur la page, puis le dessine. Le moteur Gecko sert non seulement à dessiner le contenu d'une page web, mais également l'interface graphique: les ascenseurs, les barres d'outils et les menus[36].

Gecko vise le strict respect des standards du web et des recommandations du W3C. Les standards reconnus par Gecko sont notamment HTTP, FTP, SSL, Unicode, JPEG, GIF[36], HTML, XHTML, XML, CSS, Javascript, ECMAScript, DOM, MathML, RDF, XSLT, SVG, PNG[38], RSS, Atom, Ajax[37], XUL[42].

Gecko fonctionne sur les systèmes d'exploitation Windows, Linux et Mac OS X[37]. Des projets sont en cours pour porter Gecko sur d'autres plateformes telles que Solaris, HP/UX, AIX, Irix, OS/2, OpenVMS, BeOS et Amiga[36].

Gecko est sous la forme d'un composant logiciel XPCOM, une technologie portable similaire à Microsoft COM, et proposée par la fondation Mozilla. Il existe un adapteur pour l'utiliser comme un composant ActiveX - une autre technologie dérivée de COM[36].

Conformément à un cahier des charges établi pour Navigator 6.0, le mot Gecko se retrouve dans la signature (User-Agent) des navigateurs web qui l'utilisent[40].

Utilisations[modifier | modifier le code]

Gecko est le cœur de Firefox[40]. Il est incorporé dans AOL Explorer, Camino, Netscape Navigator les versions 6 à 8, Mozilla Suite, SeaMonkey[39], Galeon, Sunbird, Thunderbird, NVU et Fennec[44]. Symphony OS est une distribution Linux avec un environnement de bureau motorisé par Gecko. Il existe également une version invisible de Gecko, qui transforme des page web en documents Postscript qui peuvent alors être imprimés[42].

Des fournisseurs d'accès Internet ou des constructeurs incorporent Gecko dans leurs produits[36].


[69] [70] [71] [72] [73] [74] [75] [76] [77] [78]

GCompris[modifier | modifier le code]

[79]

GCompris est un logiciel ludique et éducatif destiné aux enfants de 2 à 10 ans. Il propose plus de 100 activités ludiques et pédagogiques telles que de la géographie, l'explication du cycle de l'eau, de l'électricité, des exercices de mathématiques, des casse-têtes, des puzzles, ainsi que la découverte du fonctionnement d'un ordinateur. C'est un logiciel libre créé par Bruno Coudoin en 2000[45], il fonctionne sur les systèmes d'exploitation Windows, Linux, BSD et Mac OS X il est inclus dans plusieurs distributions Linux et est distribué sous licence GNU GPL[46].

Il est inclu dans plusieurs distributions Linux.

Utilisation[modifier | modifier le code]

La présentation de GCompris est volontairement simple, sobre et attractive pour les enfants[47]: un écran très simple, avec une barre de navigation du coté gauche. Lorsque l'enfant clique sur une image de la barre de navigation, une série d'images apparaissent au centre de l'écran, lui permettant de choisir une activité[48]. Dans certaines activités des explications sont données par oral[48].

GCompris permet d'entraîner les tout petits aux puzzles, à l'utilisation de l'ordinateur, la reconnaissance de forme, la lecture et les maths[48].

GCompris est traduit en plus de 50 langues[49] de toutes les régions du monde: notamment l'arabe, le chinois, l'estonien, le grec, le gujarati, l'hébreu, le kinyarwanda, le malais, le népalais, le polonais, le serbe, le thaï, et le vietnamien[48].

L'édition pour Linux offre gratuitement 114 activités[48],[50]. L'édition gratuite pour Windows offre 36 activités[50]. Il existe un édition payante pour Windows qui offre la totalité des 114 activités[48],[50].

Un module d'administration peut être téléchargé sur le site officiel[50]. Il peut être utilisé par les enseignants, dans le but de proposer aux élèves uniquement des activités adaptées à leur âge et leur niveau de connaissance, par création de profil types, et de classes (groupes d'élèves). Une fonction permet également de voir les résultats des exercices de chaque élève[49].

Histoire[modifier | modifier le code]

Le développement de GCompris a commencé en 2000. Il a été motivé par le manque de logiciels libres destinés aux enfants, et la volonté de promouvoir Linux dans les écoles. Le produit a été testé par les enfants de l'auteur[45].

GCompris est soutenu officiellement par la Free Software Foundation[45]. De nombreuses personnes ont apporté leur contribution à GCompris. Ils ont apporté notamment des traductions, des images, de nouvelles activités, et des paquets pour les différentes distributions Linux[45].

GCompris est disponible sur les live CD Linux Edubuntu, Kaella, Knoppix, Freeduc[49] et Mandriva[51]. Il est utilisé dans les écoles: Il a été distribué à 300 écoles de l'île Maurice, il est utilisé à l'école maternelle de Dijon, l'école Schaller de Bruxelles, le collège de Lausanne en Suisse, ou l'institut médico-social de Étalle en Belgique[52].

GCompris est incorporé dans l'ordinateur XO-1 destiné aux enfants du programme One Laptop per Child. Cet ordinateur permet d'utiliser les modules géographie, jeu d'échecs, sudoku, tangram, poids et mesure, et découverte de l'électricité de GCompris[53].


[80]

[81]

[82]

[83]

[84]

[85]

[86]

[87]

[88]

Notes et références[modifier | modifier le code]

  1. a b c d et e « a16.ch - Le réseau routier jurassien et la Transjurane »
  2. a b c d et e (en)Andrew W. Troelsen,Developer’s Workshop to COM and ATL 3.0, Jones & Bartlett Publishers - 2012, (ISBN 9781449683221)
  3. a b c d e et f (en)Peter Walsh,Advanced 3D Game Programming with DirectX 10.0,Jones & Bartlett Learning - 2010, (ISBN 9781598220544)
  4. (en)Don Jones,Managing Windows With Vbscript and Wmi,Addison-Wesley Professional - 2004, (ISBN 9780321213341)
  5. a b c d et e (en)Steve Teixeira et Xavier Pacheco,Delphi 6 - Sams Developer's Guides, Sams Publishing - 2002, (ISBN 9780672321153)
  6. a et b « support.microsoft.com - Différence entre les contrôles OLE et ActiveX »
  7. (en)Jason Pritchard,Com and CORBA Side by Side: Architectures, Strategies, and Implementations,Addison-Wesley Professional - 1999, (ISBN 9780201379457)
  8. (en)R Rock-Evans,Dcom Explained,Digital Press - 1998, (ISBN 9781555582166)
  9. a b c et d (en)Peishu Li,Visual Basic and COM+ programming,Que Publishing - 2000, (ISBN 9780789724588)
  10. (en)Juval Löwy,COM and .NET: Component Services,O'Reilly Media, Inc. - 2001, (ISBN 9780596001032)
  11. a b c et d (en)Dave Roth,Win32 Perl Programming: The Standard Extensions,Sams Publishing - 2001, (ISBN 9781578702169)
  12. (en)James D. Foxall,McSd in a Nutshell: The Visual Basic Exams,O'Reilly Media - Inc., 2000, (ISBN 9781565927520)
  13. (en)InfoWorld,19 mai 1997,Vol. 19 -N° 20, (ISSN 0199-6649)
  14. « microsoft.com - Introduction to ActiveX Controls »
  15. (en)Gene Cronin et Terence P. Sherlock,Com Beyond Microsoft: Designing and Implementing Com Servers on Compaq Platforms,Digital Press - 2000, (ISBN 9781555582265)
  16. a b c d e f g h i j k l m n o p q r s t u v et w « IPCE - A Meta-Analytic Examination of Assumed Properties of Child Sexual Abuse Using College Samples »
  17. a b c d e et f (en)« IPCE - Real effects of real child sexual abuse - David Spiegel »
  18. (en)« US Government, congress resolution 107, July 1999 »
  19. (en)« IPCE - The NARTH web page - The Problem of Pedophilia - Adult-Child Sex Is Not Necessarily "Abuse," Say Some Psychologists »
  20. (en)« Letters to the APA from Concerned Members of the Scientific Community »
  21. a et b (en)« condemnation of a scientific article: A chronolgy and refutation of the attacks »
  22. a b c d e f g h i j k l m et n « PC-SOFT - HyperFileSQL - eBook »
  23. a b c et d PC Soft,WinDev 11: Liste des fonctionnalités,Editions ENI - 2007, (ISBN 9782746037786)
  24. a et b François Pelletier,WinDev 14: les fondamentaux du développement avec WinDev, présentation de WinDev mobile,Editions ENI - 2009, (ISBN 9782746049802)
  25. Eni,Etats et requêtes: Pour les utilisateurs d'applications développées avec WinDev, Volume 2, Editions ENI - 2006, (ISBN 9782746034716)
  26. Joëlle Musset,WinDev 9: Liste des fonctionnalités,Editions ENI - 2005, (ISBN 9782746029699)
  27. « Prosygma.com - Configurer une connexion ODBC HyperFile »
  28. (en)Heinz Duthel,Google Inc. Services - Google Tools - What Is Google?,Lulu.com - 2008, (ISBN 9781409218104)
  29. a b c et d (en)Greg Holden,Go Google: 20 Ways to Reach More Customers and Build Revenue With Google Business Tools,AMACOM Div American Mgmt Assn - 2008, (ISBN 9780814480595)
  30. « google support - Quelle est la différence entre Google Desktop pour les entreprises et la version monoposte grand public du logiciel ? »
  31. (en)« Google blogs - Google Desktop Update »
  32. a b c d e et f (en) Ted Coombs et Roderico DeLeon,Google Power Tools Bible,John Wiley & Sons - 2008, (ISBN 9780470377444)
  33. « google support - Types de fichiers pris en charge »
  34. (en)Rael Dornfest - Tara Calishain,Google Hacks: Tips & Tools for Smarter Searching,O'Reilly Media, Inc. - 2004, (ISBN 9780596008574)
  35. (en)Sarah Milstein, Jude Biersdorfer, Rael Dornfest et Matthew MacDonald,Google: The Missing Manual,O'Reilly Media, Inc. - 2006, (ISBN 9780596100193)
  36. a b c d e f et g (en)« Mozilla - Gecko FAQ »
  37. a b et c (en)Anthony Holdener,Ajax: The Definitive Guide,O'Reilly Media, Inc. - 2008, (ISBN 9780596528386)
  38. a et b (en)Leslie Sikos,Web Standards: Mastering HTML5, CSS3, and XML,Apress - 2011, (ISBN 9781430240419)
  39. a b c d e f g et h (en)Richard York,Beginning CSS: Cascading Style Sheets for Web Design,John Wiley & Sons - 2007, (ISBN 9780470175071)
  40. a b et c (en)Nicholas C. Zakas,Professional JavaScript for Web Developers,John Wiley & Sons - 2011, (ISBN 9781118233092)
  41. a b et c Jean-Philippe Retaillé,Refactoring des applications Java/J2EE,Editions Eyrolles - 2005, (ISBN 9782212115772)
  42. a b c d et e Jonathan Protzenko,XUL - Les Cahiers du programmeur,Editions Eyrolles - 2005, (ISBN 9782212116755)
  43. a et b (en)Keith Schengili-Roberts,Core Css: Cascading Style Sheets,Prentice Hall Professional - 2004, (ISBN 9780130092786)
  44. Michael Bolin,Closure: The Definitive Guide,O'Reilly Media Inc. - 2010, (ISBN 9781449381875)
  45. a b c et d « interlug.fr - La création d'un Logiciel Libre, un témoignage de Bruno Coudoin »
  46. « gcompris.net - site officiel »
  47. « gcompris.net - présentation »
  48. a b c d e et f « eduactional-freeware.com - GCompris »
  49. a b et c « gcompris.net - manuel »
  50. a b c et d « friportail.ch - GCompris »
  51. « Mandriva wiki - GCompris »
  52. « gcompris.net - les écoles utilisant GCompris »
  53. Sdenka Zobeida SALAS PILCO, Sdenka Zobeida, Salas Pilco, L'Ordinateur XO dans la Classe

Framework (logiciel)[modifier | modifier le code]

Introduction[modifier | modifier le code]

Framework est un logiciel intégré bureautique commercialisé par Ashton-Tate entre 1984 et 1991. Il offre à la fois les possibilités d'un traitement de texte, d'un gestionnaire de fichiers, d'un tableur et d'un outil de manipulation de graphiques et de bases de données, ainsi qu'un outil de télécommunications et un langage de programmation[1],[2].

Framework fonctionne sur les ordinateurs IBM PC équipés du système d'exploitation PC-DOS ou MS-DOS et met en oeuvre une interface graphique. Son prix catalogue en 1985 est de 700$[2]. Son principal concurrent est Lotus Symphony[1],[2].

Fonctionnalités[modifier | modifier le code]

Framework offre les fonctionnalités de tableur, de manipulation de bases de données, de télécommunication, de traitement de texte. Il comporte une fonction de publipostage et de correction d'orthographe. Permet la création d'esquisses et de diagrammes, et comporte un langage de programmation[2].

Inspiration du Xerox Star et du Apple Lisa, Framework met en oeuvre une interface graphique - DOS avec lequel il est utilisé, n'en comporte pas[1]. Le traitement de texte de Framework comporte un dictionnaire et un vérificateur d'orthographe. Il permet la création automatique de lettres et d'étiquettes par publipostage à partir d'une lettre-type et d'une base de données[2].

Le module de bases de données permet de consulter le contenu des fichiers du logiciel DBase - du même éditeur, et de l'utiliser pour créer des lettres-type avec l'aide du module de traitement de texte[2]. Le module de communication de Framework permet d'envoyer ou de recevoir des fichiers et des messages, et d'effectuer des appels téléphone[2]. Framework était réputé facile à apprendre, la version II l'était encore plus que la précédente[2].

Les cadres (anglais frame) sont une notion centrale de Framework[1]. Il permet de travailler avec plusieurs cadres en même temps. Un cadre peut contenir un autre cadre. Les changements effectués sur un des cadres peuvent être automatiquement répercutés sur les autres cadres. Par exemple la modification des chiffres utilisés pour créer un graphique camembert provoquera automatiquement la modification du graphique. Framework offrait des fonctionnalités introuvables chez ses concurrents[1]. A partir d'un cadre de Framework il était possible d'exécuter des commandes DOS. Framework met en oeuvre un langage de programmation, qui permet d'effectuer des calculs complexes tels que ceux des domaines des assurances ou de l'industrie[1].

Sa fonction d'esquisse crée les grandes lignes d'une structure dans laquelle l'utilisateur peut alors placer un paragraphe de texte, un tableau issu du tableur ou une image issue de l'outil de graphique. Chaque esquisse peut être une présentation de gestion de projet, comportant une analyse de coût, des notices et des projections[1].

Framework était vendu avec une volumineuse documentation - une pile de brochures de 3 cm d'épaisseur. Il y avait un livre Getting Started (traduction: prêt au départ). Quick reference guide (référence rapide), Learning Framework et Using Framework II (apprendre, et utiliser Framework)[2].

Ashton-Tate, son éditeur, publie également plusieurs livres à son sujet: Framework - An introduction, Framework - On-the-job applications, Framework - An introduction to programming, Framework - A programmer's reference et Framework - A developper's handbook[3].

Le dispositif de protection contre la copie de Framework faisait des incriptions cachées sur le disque dur ou est installé Framework ainsi que sur la disquette qui a servi à l'installation. Ce mécanisme empêche deux installations successives de Framework, ce qui causait des problèmes techniques en cas de panne, ou en cas de sauvegarde et récupération du disque dur[2].

Histoire[modifier | modifier le code]

Framework a été créé par Robert M. Carr de la société Forefront en juillet 1984. Un an après son lancement, Forefront est rachetée par la société Ashton-Tate[4]. Celle-ci espère que Framework se vendra aussi bien sinon mieux que son produit phare DBase[1],[5].

Ashton-Tate remporte un succès avec la commercialisation de Framework[6] et, en septembre 1985, met sur le marché Framework II[7].

Framework est sponsorisé par le constructeur automobile Lotus[8]. Il était réputé être le meilleur intégré bureautique, et Ashton-Tate, son producteur, était un des leaders du domaine (avec Microsoft et Lotus Software). Ce type de logiciel n'a cependant pas connu le succès espéré et à disparu dans les années 1990[9].

Bien que largement soutenu par les magazines d'informatique, Framework n'a jamais été très populaire auprès des consommateurs[10].

En 1991, Ashton-Tate, leader du marché des logiciels de gestion de base de données et rachetée par son concurrent Borland et Framework est alors retiré de leur catalogue au profit de son concurrent Quattro-Pro[11].


[89]

[90]

[91]

[92]

[93]


[94]

[95]


[96]

[97]

Finder[modifier | modifier le code]

Finder est le programme de manipulation de fichiers incorporé dans les ordinateurs Macintosh depuis leur début en 1984. C'est un élément central de l'interface graphique de Mac OS. Il démarre automatiquement à la mise en marche de l'ordinateur et ne peut pas être arrêté.

[98]

Description[modifier | modifier le code]

Finder a été créé par Bruce Horn peu avant qu'il quitte Apple en 1982[12]. C'est un programme central de Mac OS[13] qui permet à l'utilisateur de manipuler des fichiers, des répertoires et des programmes[14]. Il est incorporé dans les ordinateurs Macintosh depuis 1984[15] et sert d'interface graphique[14]. Brique essentielle de l'environnement de bureau de Mac OS, il est constamment en exécution[16] et ne peut pas être arrêté, mais il peut être rendu invisible[14].

Finder permet en particulier de déplacer des fichiers, de les dupliquer, créer des alias, visualiser le contenu ou les métadonnées[17]. Les fichiers peuvent être présentés sous forme d'icônes, ou sous forme d'une liste à colonnes, et il est possible de les trier dans l'ordre alphabétique, chronologique, du plus petit au plus grand, ainsi que d'aligner les pictogrammes[14]. Une des métadonnées est le type de contenu du fichier, et l'application qui est à l'origine. Cette métadonnée, si absente, et déduite de l'extension du fichier[18].

Finder permet également d'ouvrir des documents, de les imprimer, et de graver des CD ou des DVD[19] ainsi que d'envoyer des fichiers dans la corbeille[20]- La corbeille permet de stocker des fichiers à jeter, en attente de leur destruction définitive[21]. Elle sert également à éjecter les supports de stockage amovibles (CD, DVD, clés USB)[21].

Dans Finder les fichiers sont appelés des documents, les répertoires sont appelés des dossiers et les programmes sont appelés des applications. Le but de cette nomenclature est d'aider le profane à se servir de l'ordinateur en utilisant des notions bien connues de la vie courante[19].

Finder affiche le contenu du répertoire Bureau sous forme d'icônes à l'arrière-plan de l'environnement de bureau[19]. Bureau est en fait un répertoire invisible nommé Desktop[18].

Diverses options permettent de modifier la présentation (choix des colonnes, taille des caractères et des icônes, espacement, etc)[14]. Finder permet facilement de manipuler le contenu des emplacements dédiés aux fichiers téléchargés, aux documents, ou aux applications[21]. Il permet de manipuler des fichiers situés sur un autre ordinateur, et partagés par une technologie telle que NFS, AFP ou SMB[18]. Il permet également de forcer l'arrêt d'un programme, de suspendre l'activité, de redémarrer ou d'éteindre l'ordinateur[21].

Le dock est une rangée d'icônes en bas de l'écran de l'environnement de bureau. Une des icônes représente Finder, et contrairement aux autres icônes, celle-ci ne peut pas être retirée du dock[19]. À partir de Finder il est possible de faire appel au moteur de recherche Spotlight[22].


[99]

[100]

[101]

[102]

[103] infoworld, 1984

[104]

[105]

[106]

[107]

[108]

Java Runtime Environment[modifier | modifier le code]

L'environnement d'exécution Java (abr. JRE pour Java Runtime Environment) est un logiciel qui permet l'exécution des programmes écrits en langage de programmation Java[23]. Il est distribué gratuitement par Oracle Corporation, fonctionne sur les systèmes d'exploitation Windows, Mac OS X et Linux[24]. Il se compose d'une machine virtuelle, de bibliothèques logicielles utilisées par les programmes Java et d'un plugin pour permettre l'exécution de ces programmes depuis les navigateurs web[23].

Selon les principes de la technologie Java, lancée par Sun Microsystems en 1995, JRE simule la présence de la machine virtuelle java - un ordinateur fictif. Il joue le rôle d'un émulateur et imite le comportement de cette machine fictive qui exécute des programmes Java[25]. JRE est souvent considéré comme une plateforme informatique au même titre qu'un système d'exploitation. Même si ce n'est pas un système d'exploitation, il offre exactement les mêmes fonctionalités par l'intermédiaire de ses bibliothèques[26] et permet ainsi l'exécution des programmes écrits en langage Java sur de nombreux types d'appareils: ordinateurs personnels, mainframe, téléphone mobiles. Et ceci quelles que soient les caractéristiques de la plateforme informatique sous-jacente qui exécute le JRE[25].

[109]

[110]

[111]

Le logiciel frère de JRE est JDK (Java Development Kit), distribué par Oracle Corporation, il est destiné aux programmeurs, et comporte la machine virtuelle, les bibliothèques ainsi que des commandes permettant la création de programmes en langage Java. JRE quand à lui, est destiné aux utilisateurs des programmes en langage Java[26].

[112]

Android, la plateforme pour les téléphones mobiles créée par Google, comporte une machine virtuelle et une bibliothèque logicielle similaire à JRE[27], qui est incorporée dans les appareils par les fabricants[24].

[113] [114]

Machine virtuelle[modifier | modifier le code]

La machine virtuelle Java (abr. JVM pour Java Virtual Machine) est une simulation logicielle d'une véritable machine[28]. La principale tâche de la machine virtuelle est de charger en mémoire les fichiers exécutable et d'exécuter le bytecode - les instruction machine de la machine virtuelle. Il existe plusieurs modes d'exécution du bytecode[29].

Dans le mode le plus simple - inteprétation, la machine virtuelle interprète le bytecode: décode une instruction de bytecode à la fois et exécute l'operation correspondante[29].

Le mode HotSpot de la machine virtuelle traduit les instructions depuis du bytecode vers le langage machine de la machine qui exécute le JRE; ensuite de quoi les instructions traduites sont exécutés. Les instructions traduites sont conservées en vue de limiter le nombre d'opérations de traduction. Dans ce mode l'exécution des programmes Java est plus rapide mais nécessite une plus grande quantité de mémoire[29].

Dans le mode adaptive compiler la machine virtuelle traduit uniquement les instructions fréquemment exécutées, utilisant alternativement les techniques de l´interprétation ou de HotSpot selon les besoins[29].

La machine virtuelle est également équipée d'un ramasse-miettes (anglais garbage collector) qui permet de libérer la mémoire qui n'est plus utilisée par le programme Java[29]. [115]

[116]

Bibliothèques[modifier | modifier le code]

Les bibliothèques logicielles mettent en oeuvre une interface de programmation (anglais application programming interface - abr. API). C'est un ensemble standardisé de fonctions, associées à des classes d'objets et groupées par sujet (package)[30].

[117]

Dans son édition de 2002, JRE comporte 135 packages qui fournissent des fonctionnalités exploitées par les programmes Java pour[31]:

[118]

Depuis 1998 il existe plusieurs choix de bibliothèques, plus ou moins riches. Les bibliothèques comprises dans JRE correspondent à l'édition standard appelée Java SE[32], qui est destinée aux ordinateurs personnels. Quand aux éditions Java ME et Java EE, elles sont destinées respectivement aux téléphones mobiles et aux serveurs d'entreprise[26].

[119]

[120]

Plugin[modifier | modifier le code]

Java Plug-In est un module de complément qui se branche sur les navigateur web, permettant ainsi l'exécution des applets à l'aide de la machine de JRE. Les applet sont des programmes incorporés dans les pages web en vue d'enrichir leur contenu[31]. Lorsqu'une page web comporte un lien vers une applet, le plugin fait appel à la machine virtuelle de JRE pour exécuter le programme en question. Les navigateurs tels que Internet Explorer ou Netscape Navigator comportent une machine virtuelle incorporée, mais celle-ci est moins en avance et n'offre pas les mêmes possibilités que celle de JRE. Java Plug-In permet d'éviter d'utiliser la machine virtuelle incorporée dans le navigateur[31],[33].

[31].

[121]


[122]

Les applet sont des programmes incorporés dans les pages web en vue d'enrichir leur contenu[31].

[123]

Histoire[modifier | modifier le code]

La technologie Java a été lancée en 1995, et Sun Microsystems a publié une édition tout les 18 mois. La première version de JRE, publiée en 1995, les bibliothèques totalisent 171 classes d'objets. Dans la version 1.4, publiée en 2002, elles totalisent 2367 classes d'objets[26]. [124]

En 2010 Sun Microsystems est rachetée par Oracle Corporation, qui annonce son intention de continuer de développer la technologie Java[34],[35]

année nom version nb. de classes
1996 Java JRE 1.0 170
1997 Java JRE 1.1 391
1998 Java 2 JRE 1.2 1462
2000 Java 2 JRE 1.3 1732
2002 Java 2 JRE 1.4 2367
2004 Java 2 JRE 1.5.0 ou 5.0 2800
2006 Java 6 JRE 1.6.0
2011 Java 7 JRE

[125]

Société occidentale[modifier | modifier le code]

Dans la société occidentale les seins sont symbole de beauté et de féminité. Si la ligne entre les seins est mise en avant et admirée[36], le fait de montrer le mamelon est illégal[37]. En 2004 Janet Jackson avait provoqué un scandale en montrant un téton lors d'un concert diffusé à la télévision[38]. Depuis le 16ème siècle, le corset - initialement destiné à cacher les seins -, les mettait en évidence; accompagné d'une robe largement décolletée, il les faisant bomber, et rendant visible la ligne de séparation[39]. Ce style d'habillement occidental s'exporte vers d'autres cultures par l'intermédiaire de la presse et la télévision. Au Nigéria ce style est à la fois à la mode, et jugé indécent par la population locale[40].

[126]

[127]

[128]

[129]


[130]

[131]

[132]

Décolleté[modifier | modifier le code]

Décolleté signifie que le cou et les épaules sont dénudées[133]. En mode un habit et dit décolleté lorsque il comporte pas de col, mais une une large échancrure, laissant partiellement ou totalement nue la gorge, les épaules, les bras, le dos et la poitrine.

Les robes décolletées existent en Europe depuis la renaissance.[134] Le durcissement des règles de pudeur au 19ème siècle les ont rendues indécentes, et les décolletés se retrouvaient uniquement sur les chemises de nuit[135]. Puis les robes décolletées ont refait leur apparition dans les films et la publicité au milieu du 20ème siècle[136].

Les habits décolletés, en particulier les robes, mettent en valeur les seins. Dans la littérature française le décolleté est considéré comme un atout, voire une arme, associé à la beauté, la féminité, la séduction, l'envie de plaire, l'érotisme, voire l'indécence.

En pratique[modifier | modifier le code]

Débardeur décolleté
Habit décolleté tzigane

Le décolleté est une encolure courante des robes de soirées, des robes de mariée, des débardeurs, des habits de sport et de plage. Dans les codes de la mode occidentale il est symbole de féminité à la manière des jupes ou des souliers hauts talons[41]. [137].

Les formes populaires de décolletés sont[42]:

  • décolleté bateau: l'encolure descend juste en dessous de la clavicule, la robe peut avoir des manches.
  • collier: Les deux bretelles sont attachées ensemble à l'arrière du cou.
  • décolleté carré: une découpe en carré, verticales au niveau des bretelles, et horizontales au niveau de la poitrine.
  • décolleté en V: les bretelles sont découpées en deux lignes obliques, qui se croisent entre les seins.
  • sans manches: l'encolure est horizontale, et maintenue aux épaules par deux fines bretelles.
  • tube: une encolure horizontale, sans bretelles, laissant les bras et les épaules complètement nues[138].

Le décolleté en met en valeur la poitrine et est un moyen de séduction. Le magazine femme actuelle, dans son article de 1994 « la séduction d'un joli décolleté » affirme que « rondeur et fermeté font le charme des décolletés »[43][139]. Les vertus séduisantes du décolleté sont exploitées dans le marketing et la publicité, combinés avec une bonne argumentation. Il est reconnu qu'une vendeuse peut obtenir une décision d'achat uniquement en raison de son joli décolleté[44][140].

Les décolletés sont typiques des robes de soirée. Quelle que soit la variété de ces robes, elles comportent toujours un large décolleté, un corset; Cette robe longue et luxueuse, aux épaules dénudées, attire l'attention sur la femme qui la porte[45][141]. Les décolletés sont parfois accompagnés d'un soutien-gorge pigeonnant. Ce type de sous-vêtement rembourré, lancé dans les années 1990, ramasse les seins, les met en valeur et promet « une poitrine de rêve et un beau décolleté »[44][142].

Les débardeurs à décolleté sans manches, accompagnés d'une minijupe, sont un habit courant des jeunes européennes en vacances. Ce type d'habillement, apprecié pour aller danser en discothèque, [46][143] est déconseillé, voire interdit sur la place de travail, où la tenue ordinaire des femmes sont les jupes, jes robes, les pantalons ou les tailleurs[47].[144] Il arrive que des entreprises interdisent formellement à leurs employés de porter des habits trop décolletés, sans manches, tels que des débardeurs, des t-shirt à dos nu, ainsi que les jupes très courtes[48][145].

Les décolletés sont également courants chez les Tsiganes. la femme tsigane, gardienne de l'honneur de la famille, est supposée couvrir ses jambes jusqu'au milieu des mollets. La femme mariée couvre typiquement sa tête avec un foulard. Il n'y a pas de honte pour la femme rom de porter des habits décolletés, et il est plutôt rare de voir une femme rom qui ne porte pas un débardeur largement décolleté[45][146].


Impopulaires au début du 20ème siècle, les décolletés sont redevenus à la mode dans les années 1960, poussés par Dior et d'autres acteurs de la haute couture. [147]

En 1994 femme actuelle, le plus populaire des magazines féminins, consacre une double page au décolleté sous le titre la séduction d'un joli décolleté, sur laquelle se trouve une femme en robe de plage, très décolletée, les bras croisés sous la poitrine, faisant ressortir le sillon mammaire. Le texte parle de « rondeur et fermeté font le charme des décolletés. En le soignant vous pourrez dévoiler le votre sans complexe » « toutes les astuces pour mettre en valeur sa poitrine » afin que « votre décolleté est prêt à s'exposer à tout les regards...Pour être plus séduisante n'hésitez pas à user de quelques artifices de maquillage »[148].


Dans le cinéma du 21ème siècle, le style d'habillement est utilisé pour marquer les classes sociales, et les différences de personnalité entre les acteurs. Dans le film Braquage à l'italienne, une femme réprimée porte une chemise à col et boutons, tandis qu'une femme plus ouverte et disponible porte une robe décolletée[149].


en 2008, invitée à l'ouverture de l'Opera national d'Oslo, la chancelière Angela Merkel avait attiré l'attention des média en portant un habit décolleté, alors qu'elle porte d'ordinaire des habits conservateurs. D'une manière générale, les tabloïds ont salué ce geste, comme un engagement d'être plus féminine, plus à la mode que d'ordinaire. Le décolleté ayant été perçu comme un signe de féminité. D'autres journaux y voient une manoeuvre tactique, où Angela Merkel rechercherait à utiliser sa féminité pour atteindre ses buts sur la scène politique. Le porte-parole du gouvernement a du répondre plusieurs fois que le tapage qu'a provoqué son changement de tenue n'avait pas été prévu[150].


[151]

Littérature[modifier | modifier le code]

Le livre le bréviaire de la vie élégante de 1885, parle de décolleté, dans les habits de bal, de dîner et de théâtre: « le corsage décolleté et le privilège des jolies femmes. Découvrant les rondeurs adorables d'un buste divin, il en fait valoir l'harmonie, il en souligne les perfections délicates. ». « unissant l'art à la coquetterie... la femme décolletée réunit toutes les séductions... Chastement voilée elle est de la poésie; A demi devinée, laissant place au rêve dans son commencement de nudité, elle est volupté mille fois plus damnante qu'une nudité complète. ». « Le décolleté peut être une simple échancrure, en carré, à la Dubarry, à l'arlequine, serrée au cou par un ruban, élargie en pointes sur la poitrine, en coeur ou en fichu » [152]

Dans le roman Miss Pretty, qui se déroule en France dans les années 1950, l'héroïne raconte ses mésaventures lorsqu'elle porte des habits décolletés, habits jugés indécents et inappropriés « il y a foule dans les magasins où les tenues légères sont de rigueur, j'arbore une robe décolletée que la décente m'empêcherais de porter à B, mais ici personne ne me connais » « - Ne venez par faire vos cours dans une robe aussi décolletée, je ne tiens pas à voir toute la pension en ébullition ! »« - vous me croyez assez stupide pour m'exhiber devant des garçons de dix-huit ans en robe décolletée ? ».[153]

Dans le roman Immortelle, le décolleté est associé au charme et aux seins, et est considéré comme un atout manquant à une femme qui recherche à séduire après une opération d'un sein « ce soir il me faut de la chair fraiche, juste histoire de voir si il fonctionne encore mon charme. Comment je fait coté seins, j'offre le droit mais pas le gauche ? Le gauche je risque pas, il n'y en a plus... J'aurais dû mettre une petite robe. Mais non ma fille, tu a oublié: la robe décolletée tu a plus droit maintenant. Bref une robe pas décolletée, mais sans manches. Tu reste sexy ? non je ne peut pas ce soir... »[154].

Dans le livre l'existence passionnée, le décolleté, habit associé au charme des femmes adultes, est présenté comme inadéquat pour une fille pré-adolescente « les vêtements semblent peu adéquat pour une fille de 15 ans et demie. Les talons et la robe décolletée font d'elle un femme consciente de ses charmes alors que son corps est seulement en train de se développer...Elle ne peut rien porter qui corresponds à son âge. Elle doit s'identifier à un rôle que la famille et la société lui ont mit dessus. La contradiction entre son jeune âge et la signification accordée aux vêtements...Ceci trouble son entourage »[155].

En 1945 le décolleté, considéré comme beau et séduisant, est à la mode auprès des jeunes filles, tout en étant pas toléré par les générations précédentes. Il est mentionné dans le livre une jeune femme en guerre: été 1943-printemps 1944: « Moi aussi je vis des réserves de ma mère, mais pour ce qui est des coupes à la mode, pas question de décolleté, mon père ne le tolérerait pas. » « Alors tu va être très séduisante pour la Saint-Valentin...Elles montèrent soigneusement leur machination...Lucie se sentait pleine d'audace dans sa robe décolletée. Elle la devait à Jacinthe qui avait passé la semaine à retailler le corsage...Lucie était particulièrement jolie ce soir, elle avait une telle soif de plaire qu'elle y parviendrais sûrement »[156].

Dans le roman Jacques Patru, écrit en 1840, le décolleté est associé à la splendeur, l'admiration et le coût des tenues de princesse. « Dimanche prochain je veut que tu te fasse belle comme tu était autrefois. Émilie refusa tout d'abord, puis céda...au caprice de Jacques....elle revêtit une très belle robe de soie décolletée, et qui laissait voir une poitrine admirable...Tout cela lui coûterais fort cher, mais Jacques l'avait voulu...Ce dîner fut charmant, Jacques fit mille extravagances, il appellait Émilie sa princesse, sa reine...Avec le bonheur d'un écolier... il promenait ses yeux et sa main sur cette robe qui avait redonné à sa maîtresse toute sa splendeur d'autrefois »[157].

L'usage du décolleté est soulevé dans le roman érotique Humides et Chaudes « je me prépare à retrouver mon amant, Ce Teddy, c'est quelque chose ! Je suis impatiente de le revoir, est-ce qu'on fera l'amour ?...J'enfile mes dessous les plus sexy, en dentelle noire, et passe par dessus une longue robe noire très décolletée. Parfait »[158]

Le décolleté joue un rôle dans l'histoire érotique Une histoire de Maîtresses. L'histoire se déroule au 18ème siècle, « Émilie découvrait horrifiée qu'elle était enceinte...Voltaire l'aida à concocter un plan...ils attirèrent son mari et conspiraient pour l'amuser et - c'est la part d'Émilie - le séduire. Émilie portait sa robe la plus décolletée et ses diamants les plus chatoyants »[159]

Le décolleté est mentionné dans l'histoire érotique Délire à l'Ouest. « Même bander lui est interdit. Interdit ? chose impossible face à cette belle femme aux lèvres gourmandes...et au décolleté joyeux qui laissait deviner ses seins riches offerts au désir »[160].

[161]

Cindy était là, toute frétillante, dans sa petite robe décolletée, presque indécente pour un soir de semaine.

Histoire[modifier | modifier le code]

Les décolletés sont apparus au 15ème siècle, suite aux changements culturels de la renaissance: l'habillement ne mettait plus en valeur l'abdomen, mais le haut du corps. La personnalité de l'habit tient alors à la décoration de la tête, de l'encolure et des manches[49][162]. La mode de la renaissance met en valeur une sihouette féminine sinueuse, le décolleté souligne la poitrine, le corset affine la taille et bombe le ventre, donnant une « femme avec grêle corps, gros cul et poitrine ». Les seins sont soutenus par une ceinture à la taille, et parfois gonflés artificiellement par des sacs placés sous la chemise[50][163].

Anne de Bretagne, à la mode de la renaissance, porte une robe avec décolleté carré, et un collier orné d'une relique, cachée entre les seins. Les hommes portent souvent une chamarre: un manteau court, largement décolleté, porté au dessus d'une chemise. L'encolure large et horizontale met en valeur la carrure des épaules[51][164].

La pudeur est une notion apparue au 16ème siècle, qui a influencé la mode féminine jusqu'au 20ème siècle. Auparavant, dans l'antiquité les seins des femmes étaient souvent dénudés. Au moyen-âge il était de coutume d'offrir un bain en rivière aux invités, pratique qui a ensuite été interdite[52]. [165]. En 1450, Agnès Sorel tentait de lancer une mode: grande robe décolletée jusqu'à la taille, corset ouvert, et un sein dénudé; mode critiquée principalement par les femmes qui ne pouvaient pas faire pareil[51][166].

En 1550 la mode est à la fraise: une collerette en forme de roue autour du cou. Chez les dames celle-ci prends la forme d'un éventail à l'arrière du cou, accompagné d'un décolleté en V ou en coeur[51][167].

A la fin du 17ème siècle les décolletés sont largement ouverts, ovales ou carrés, accompagnés d'un col en dentelle et d'un bijou sur la poitrine[51][168]. Le costume traditionnel de Marseille depuis 1700 est une robe profondément décolletée, à la limite des aréoles des seins, portées au dessus d'une chemise décolletée ornée d'une toile fine, la listo. Lorsqu'elles vont à l'église, les femmes portent un fichu, un voile pour cacher le décolleté [53][169]; l'abbé Charles Boileau, dans son livre de l'abus de nudité de gorge ayant vivement critiqué les femmes qui se rendent la gorge nue dans les lieux saints[51][170].

Au 18ème siècle la pudeur est vue par Diderot et Voltaire comme une convention sociale. La mode des bourgeoises est très sobre: robes serrées à la taille, décolleté voilé par un drap, et coiffure modeste, tandis que la mode de la noblesse, très licencieuse, est critiquée ouvertement. Madame de Pompadour porte un habit fait d'un corset très serré, et le décolleté comporte deux bonnets ou se logent les seins, le décolleté est si profond qu'il arrive parfois qu'au théâtre, lorsqu'elle est appuyée à sa loge, le sein sort de son emplacement. Selon les frères Goncourt « la femme n'est que volupté. La volupté l'habille....elle montre en haut de la robe comme une promesse de tout le corps de la femme... non seulement le soir, mais encore le jour dans la rue, à toute heure »[51],[52][171][172].

A la même époque, la mode des Merveilleuses est à la robe de la grèce antique, largement décolletée et transparente. Madame Tallien, ambassadrice de cette mode, en se promenant dans cette tenue à Paris, fut copieusement huée par la foule, mais la robe athénienne resta la mode, toutefois dépourvue de transparence[52][173].

Au 19ème siècle le décolleté fait partie de l'ordinaire des habits féminins de bal, de dîner et de théâtre. Le livre le bréviaire de la vie élégante, écrit en 1885, le décrit comme « le privilège des jolies femmes. Découvrant les rondeurs adorables d'un buste divin, il en fait valoir l'harmonie, il en souligne les perfections délicates. ». « unissant l'art à la coquetterie... la femme décolletée réunit toutes les séductions... »[54][174]. La mode de cette époque est la crinoline. Ce sous-vêtement exagère la taille du bassin, il est porté avec une robe décolletée, sans manches, avec des gants, un corset très serré et des fleurs. Puis la mode laisse place à quelque chose de plus pudique, ou le corps est presque entièrement recouvert[55],[51].[175][176].

La pudeur atteint son paroxysme en 1900. Elle concerne alors toutes les classes sociales. Les vêtements doivent tout dissimuler. les femmes portent alors des habits serrés, des jupes longues, à col et longs manches, même en été. Le costume de bain est un habit ample et bouffant qui recouvre presque tout le corps, du cou jusqu'aux chevilles. Seules les robes de soirées laissent parfois les épaules dénudées[52][177]. À cette époque, la mode aux États-Unis a été influencée par la Gibson Girl. Cette héroïne de bande dessinées, populaire auprès des jeunes filles, est une femme longue et mince, habillée en tenue de soirée à la mode de 1850. Elle avait les épaules dénudées, portait une robe largement décolletée, qui couvrait à peine sa poitrine opulente, et un bandeau pour attacher ses cheveux[56][178].

50 ans plus tard, au milieu du 20ème siècle, le décolleté est apprécié des jeunes filles tout en étant pas toléré par les générations précédentes. Dans le livre une jeune femme en guerre: été 1943-printemps 1944, l'héroïne raconte comment elle décollète en secret une robe de sa mère en vue de séduire son amant[57][179]. Dans le roman Miss Pretty, qui se déroule en France en 1950, l'héroïne raconte ses mésaventures lorsqu'elle croise un proche en habits décolletés[58][180].

En 1952, l'actrice de cinéma italienne Gina Lollobrigida marque l'histoire du costume par son décolleté inédit porté dans le film Heureuse époque: Sa robe à col s'ouvre brusquement à la hauteur de la taille, comme si la robe avait éclaté, l'ouverture en losange, refermée au niveau du cou, laisse voir son corset blanc, largement décolleté, « par cette ouverture jaillissent deux seins protubérants et agressifs, tels des boulets de canon à peine contenus par le corsage »[59][181].

Au 21ème siècle le décolleté est reconnu et apprécié comme un signe de féminité. Lorsqu'en 2008 la chancelière allemande Angela Merkel porte un habit décolleté, alors qu'elle porte d'ordinaire des habits plus conservateurs, les tabloïds saluent ce geste et d'autres journaux y voient une manoeuvre tactique, où elle rechercherait à utiliser sa féminité pour atteindre ses buts sur la scène politique. Le porte-parole du gouvernement doit alors répondre à plusieurs reprises que le tapage qu'a provoqué son changement de tenue n'avait pas été prévu[60][182].


A partir de la renaissance, l'habillement vise à mettre en valeur la partie supérieure du corps, et la personnalisation de l'habit tient à la décoration de la tête, de l'encolure et des manches, l'habillement de la partie inférieure du corps restant relativement uniforme[183].

Les changements de mode de la renaissance mettent en valeur une silhouette féminine sinueuse: le décolleté souligne la poitrine, des coutures cintrées affinent la taille et bombent le ventre, donnant une « jeune femme avec grêle corps, gros cul et poitrine ». Les dames portent une chemise décolletée en soie, les seins sont soutenus par une ceinture, et parfois gonflés artificiellement par des petits sacs posés sous la chemise[184].

En 1450, Agnès Sorel, dame de beauté, arbore des robes qui mesurent jusqu'à huit mètres, avec des bijoux, de la fourrure de dain et de renard, un décolleté qui va jusqu'à la taille. La duchesse tente de lancer une mode en se promenant le corset délacé et le sein en l'air, mode critiquée principalement par les dames qui ne pouvaient pas faire pareil[185].

En 1500, Anne de Bretagne s'habille selon la mode de son temps. Ses habits annoncent le début de la renaissance, qui a déjà commencé en Italie: les lignes de l'encolure passent du vertical à l'horizontal, elle porte un relique, attachée par un collier et cachée entre ses seins[186].

Durant la renaissance, les hommes portent typiquement une chamarre: sorte de manteau court, largement décolleté, porté par dessus une chemise brodée. La ligne horizontale de l'encolure basse et droite accentue la carrure. « Jamais plus la mode masculine n'atteindra une telle richesse et une telle sensualité »[187].

La pudeur, mot apparu dans la langue française au 16ème siècle, a influencé l'habillement des femmes entre le 16ème et le 20ème siècle. Durant l'antiquité et l'époque romaine, les seins des femmes étaient souvent dénudés. Au Moyen-Age il était de coutume d'offrir un bain en rivière aux invités. Puis au 16ème siècle les bains de rivière ont été interdits, des peintures de nu ont été mutilées, et des règles de savoir-vivre ont été dictées dans des manuels de civilité. C'est à cette époque que Louis XIII a craché son vin dans le décolleté, jugé trop profond, d'une femme assise en façe de lui[188].

Dès 1550 la mode est à la fraise, une collerette en forme de roue autour du cou. Celle-ci est un carcan, notamment lors des repas, et la mode se tourne rapidement vers une collerette en forme d'éventail, accompagné d'un décolleté en forme de pointe ou de coeur, comme celle portée par Marie de Médicis[189].

En 1650, Marie-Thérèse d'Autriche s'habille à la mode française de son temps. Une jupe froncée à la taille, un corset et un décolleté bateau, souligné par un col en dentelle et un énorme bijou sur la poitrine. Encore plus représentative de la mode de cette époque, Madame de Montespan porte des robes longues avec des décolleté ovales ou carrés. Toujours à la même époque, le décolleté de Marie Angélique de Scorailles était si profond et carré qu'il choqua l'abbé Charles Boileau, qui en consacra un livre intitulé de l'abus de nudité de gorge. Ce livre critique vivement les femmes qui se rendent la gorge nue dans les lieux sacrés[190].

Au 18ème siècle, à Marseille, les femmes portent souvent une chemise à listo. Une chemise blanche en lin, avec un décolleté carré, bordé d'une toile fine en étoffe ou en coton (la listo). La listo est la seule partie visible de la chemise, qui débordait du corsage. Les sous-vêtements comportaient souvent un corps à baleines rigides, qui serrait la taille, et relevais les seins jusqu'à la hauteur du décolleté, ajusté par des lacets dans le dos[191].

En 1705 à Marseille, le décolleté se fait carré, profondément échancré, à la limite des aréoles des seins; il est accompagné d'une cravate de dentelles. Les femmes portent un fichu pour couvrir le décolleté lorsqu'elles vont communier. Ces caractéristiques se retrouvent dans les habits traditionnels portés au début du 20ème siècle[192].

Au 18ème siècle la bourgeoisie se distingue par une grande sobriété de moeurs, la pudeur est vue par Diderot et Voltaire comme une convention sociale. Au 18ème siècle Madame Tallien, selon une mode prisée des Merveilleuses, se promenait à Paris en robe athénienne largement décolletée et transparente, accompagnée d'une amie aux seins nus. Elle fut copieusement huée par la foule. La robe athénienne resta néamoins à la mode jusqu'au 19ème siècle, mais dépourvue de transparence[193].

A la cour de Vienne à la fin du 18ème siècle, les dames portaient un costume composé d'une jupe, un corset rigide autour de la taille. Le tout a des manches courts, et un très large décolleté, qui révèle les épaule et la poitrine. Ces habits sont inspirés de ceux de la cour de Louis XIV, et de la cour espagnole[194].

En 1750 la mode parmi la noblesse, est très licencieuse, presque indécente. Les femmes de la bourgeoisie, de leur coté, portent des tenues plus sages: robes serrées à la taille, poitrine voilée par un drap, et coiffure modeste.

A cette époque Madame de Pompadour porte un habit fait d'un corset très serré, et de deux bonnets ou se logent les seins, le décolleté est si profond qu'il arrive parfois qu'au théâtre, lorsqu'elle est appuyée à sa loge, le sein sort. Marie-Antoinette d'Autriche, de son coté, porte une robe en chemise, et un fichu - un drap qui recouvre les épaules et cache le décolleté.

Le caractère limite de la mode se retrouve dans les ouvrages écrits par la noblesse. Les frère Goncourt disent « la femme alors n'est que volupté. La volupté l'habille...elle allume les joues avec du rouge...elle montre en haut de la robe comme une promesse de tout le corps de la femme... non seulement le soir, mais encore le jour dans la rue, à toute heure...passe la femme décolletée, provocante, et promenant cette séduction de la chair nue et de la peau blanche... ».


Le livre le bréviaire de la vie élégante de 1885, parle de décolleté, dans les habits de bal, de dîner et de théâtre: « le corsage décolleté et le privilège des jolies femmes. Découvrant les rondeurs adorables d'un buste divin, il en fait valoir l'harmonie, il en souligne les perfections délicates. ». « unissant l'art à la coquetterie... la femme décolletée réunit toutes les séductions... Chastement voilée elle est de la poésie; A demi devinée, laissant place au rêve dans son commencement de nudité, elle est volupté mille fois plus damnante qu'une nudité complète. ». « Le décolleté peut être une simple échancrure, en carré, à la Dubarry, à l'arlequine, serrée au cou par un ruban, élargie en pointes sur la poitrine, en coeur ou en fichu » [195]

La pudeur du 19ème siècle diminue progressivement au début du 20ème siècle, remise en question par Freud, et par des règles d'hygiène prescrites par des médecins. Les robes se raccourcissent, les corsets disparaissent, alors qu'apparait le bikini. C'est en 1968 que la pudeur héritée du siècle précédent disparait totalement[196].

Dans le roman Miss Pretty, qui se déroule en France dans les années 1950, l'héroïne raconte ses mésaventures lorsqu'elle porte des habits décolletés, habits jugés indécents et inappropriés « il y a foule dans les magasins où les tenues légères sont de rigueur, j'arbore une robe décolletée que la décente m'empêcherais de porter à B, mais ici (à Bordeaux) personne ne me connais » « - Ne venez par faire vos cours dans une robe aussi décolletée, je ne tiens pas à voir toute la pension en ébullition »« - vous me croyez assez stupide pour m'exhiber devant des garçons de dix-huit ans en robe décolletée ? ».[197]

En 1952, l'actrice de cinéma italienne Gina Lollobrigida passe dans l'histoire du costume en raison de son décolleté porté dans le film Heureuse époque: le devant de sa robe s'ouvre brusquement à la hauteur de la taille, comme si la robe avait éclaté, l'ouverture en losange, refermée au niveau du cou, laisse voir son corset blanc, largement décolleté, « par cette ouverture jaillissent deux seins protubérants et agressifs, tels des boulets de canon à peine contenus par le corsage ».

En 1957, dans le film Les Nuits de Cabiria, l'actrice italienne Franca Marzi incarne une matrone calme et corpulente et porte une robe généreusement décolletée qui « met en évidence ses seins format magnum, séparés par un sillon invitant »[198].


Le décolleté fait son apparition dans la mode féminine des années 1400. A Milan en 1370, la duchesse Valentine Visconti porte une robe longue et large, décolletée, décorée d'oiseaux et de fleurs et des manches en ballonet.

Dans les années 1600, Marie de Médicis est ambassadrice de la mode italienne de son époque. Elle est habillée d'une robe de satin brodée, largement décolletée, d'un corsage, d'un collier de perles et d'un diadème dans les cheveux.

[199]

les robes décolletées étaient courantes dans la mode de l'époque victorienne (fin du 19ème siècle)


Au 21ème siècle, le décolleté est exploité dans le marketing et la publicité. Il est reconnu qu'une vendeuse peut obtenir une décision d'achat uniquement en raison de son joli décolleté. afin d'être plus efficace, la publicité combine séduction avec un message bien argumenté.

Mode[modifier | modifier le code]

[200] L'aspect érotique du décolleté est que l'encolure très large des chemises rends le haut du corps plus visible, en particulier les seins, et révèle les sous-vêtements.

Au début du 20ème siècle les décolletés étaient courant sur les habits de nuit, mais pas admis pour la journée.


[201]

décolleté en trapèze dans l'égypte antique. Venise, 1470. Allemagne, 1503, jaquette lacée avec large échancrure à la poitrine. 1470, Costume de jeune fille de Ferrare avec robe à traine et décolleté en pointe. Bâle, 1530, costume des bourgeoises, avec décolleté profond ou corsage. France, 1789, jupon à cerceaux, décolleté profond, chapeau à rubans. Allemagne, Holstein, 1800, costume paysan avec corsage décolleté, coiffe à ruban, et jupe.

[202]

En 1810, Joséphine Bonaparte, épouse de Napoléon, porte typiquement une robe taille basse et largement décolletée.

[203]

En occident, le décolleté tout comme la minijupe sont des signes de féminité. Une femme qui a un décolleté séduisant pourra obtenir plus facilement des faveurs, un statut social et une relation amoureuse. Au point que certaines femmes préféreraient que la société porte moins d'attention à leur poitrine[61]. Les décolletés sont cependant déconseillés aux cheffes d'entreprise parce qu'ils risquent de distraire les auditeurs[62]et sont interdits dans les édifices religieux, notamment en Italie[63]. Les décolletés sont plus ou moins bien tolérés dans le monde: ils sont considérés comme provocant et peu tolérés en Tunisie[64]; sont déconseillés aux Maldives[65]. Au Burkina-Faso les cuisses sont considérées comme plus intimes que le décolleté et les shorts sont réservés aux enfants[66]. Les décolletés très profonds sont également déconseillés en Thaïlande[67].

[204]


[205]


[206]

Le décolleté est déconseillé aux Maldives[68].

[207]


[208]


[209]

Les décolletés sont déconseillés en Syrie.

[210]

Les décolletés ainsi que les shorts sont déconseillés au Maroc.

[211]

Le décolleté tout comme la minijupe sont des signes de féminité. Ils sont cependant déconseillés aux cheffes d'entreprise parce qu'ils risquent de distraire les auditeurs[69].

Cosmétique[modifier | modifier le code]

[212]

Avec l'âge, le décolleté révèle l'usure du soleil, de la même manière que les mains, le visage et les épaules.

Etymologie[modifier | modifier le code]

[213]

le mot vient du verbe décolleter: dénuder le cou et les épaules. Se dit d'une robe avec une encolure très large. décolleté en anglais (mot emprunté au 19ème siècle).

[214]

vient de décolleter, dénuder le cou, par une encolure très large , le décolleté.


[215]

Dans la collection de poupées de la Princesse Diana, qui appartient à Tom Tierney, celle-ci est plusieurs fois représentée en robe décolletée, selon la mode introduite par Vogue dans les années 1980.

langage de programmation[modifier | modifier le code]

Définition du mot[modifier | modifier le code]

En informatique, un langage de programmation est une notation artificielle, destinée à exprimer des algorithmes et produire des programmes. D'une manière similaire à une langue naturelle, un langage de programmation est fait d'un alphabet, un vocabulaire, des règles de grammaire, et des significations[70],[71].

[216] [217]

Les langages de programmation servent à décrire les structures des données qui seront manipulées par l'appareil informatique, ainsi que comment sont effectuées les manipulations - selon quels algorithmes. Ils sont des moyens de communication par lesquels le programmeur communique avec l'ordinateur, mais aussi avec d'autres programmeurs; les programmes étant d'ordinaires écris, lus, compris et modifiés par une communauté. L'expressivité d'un langage de programmation influe sur la qualité des programmes[72].

[218]

Un langage de programmation est mis en œuvre par un traducteur: compilateur ou interpréteur. Un compilateur est un programme informatique qui transforme un texte écrit dans un langage de programmation donné en quelque chose qui peut être exécuté par un ordinateur - un programme en langage machine ou en bytecode[71].

Les langages de programmation offrent différentes possibilités d'abstraction, et une notation proche de l'algèbre, permettant de décrire de manière concise et facile à saisir les opérations de manipulation de données et l'évolution du déroulement du programme en fonction des situations. La possibilité d'écriture abstraire libère l'esprit du programmeur d'un travail superflu, et lui permet de se concentrer sur des problèmes plus avancés[71].

Les premiers langages de programmation ont été créés dans les années 1950. De nombreux concepts ont été lancés par un langage, puis améliorés et étendus dans les langages suivants. La plupart du temps la conception d'un langage de programmation a été fortement influencée par l'expérience acquise avec les langages précédents[73].

[219]

[220]

un langage de programmation est une notation pour communiquer à un ordinateur ce que nous voulons le voir faire.

[221]

Un langage de programmation est une notation artificielle, similaire à une langue, et destinée à exprimer des algorithmes. La définition d'un langage de programmation comporte un alphabet, un lexique, et des mots.

[222]

Un langage de programmation est une notation pour décrire des algorithmes.

[223]

L'abstraction est une manière d'exprimer des idées qui les rends plus concises, simples, et facile à saisir pour un humain. Une notation plus abstraite libère l'esprit d'un travail superflu, et lui permet de se concentrer sur des problèmes plus avancés. Les langages de programmation de haut niveau ont une notation plus abstraite, proche de celle de l'algèbre.

Les techniques d'abstraction des langages de programmation rendent plus concises la manipulation des données et l'évolution du déroulement du programme en fonction des situations.

[224]

Les langages de programmation sont le moyen de communication utilisé en programmation. Ils sont utilisés pour communiquer avec l'ordinateur aussi bien que entre humains; les programmes étant d'ordinaire écris, lus, compris, modifiés par une équipe de programmeurs.

L'expressivité d'un langage de programmation influe sur la qualité des programmes. Les langages offrent des possibilités destinées à rendre les programmes plus efficaces et plus fiables. Les langages de programmation servent en particulier à décrire la structure des données qui seront manipulées par l'appareil informatique, ainsi que comment sont effectuées les manipulations.

mise en oeuvre[modifier | modifier le code]

Chaque langage de programmation est défini par une suite de règles de notation, parmi lesquelles il y a un alphabet, un lexique - vocabulaire et symboles, des règles qui définissent la construction des phrases et des règles qui en définissent le sens[71].

  • Les règles de syntaxe, à la manière des règles de grammaire, définissent les différentes manières dont les éléments du langage peuvent être combinés pour obtenir des instructions[71].
  • Parmi les éléments du langage il y a des mots de vocabulaire, des identifiants - noms donnés aux éléments constitutifs du programme, des symboles d'opérations tels que "+" et "-", et des signes de ponctuation[71].
  • Les règles de sémantique définissent le sens de chacune des phrases qui peuvent être construites dans le langage, en particulier quels seront les effets de la phrase lors de l'exécution du programme[71].
  • l'alphabet de la plupart des langages de programmation est basé sur la norme ASCII, qui comporte les lettres de A à Z sans accent, des chiffres et des symboles[74].

[225]

L'utilisation du langage est rendue possible par un traducteur automatique. Un programme qui prends un texte écrit dans ce langage pour en faire quelque chose:

[226]

La traduction s'effectue en plusieurs étapes. En premier lieu le traducteur effectue une analyse lexicale ou il identifie les éléments du langage utilisés dans le programme. Dans l'étape suivante, l'analyse syntaxique, le traducteur construit un diagramme en arbre qui reflète la manière dont les éléments du langage ont été combinés dans le programme, pour former des instructions. Puis lors de l'analyse sémantique le traducteur détermine s'il est possible de réaliser l'opération, et les instructions qui seront nécessaire dans le langage cible[75].

[227]

Les langages de programmation sont définis par une suite de règles de notation formellement documentées. Parmi ces règles il y a un lexique, une suite de règles de syntaxe - c'est-à-dire de structure, et de règles de sémantique, c'est-à-dire de signification.

Les règles de syntaxe, à la manière des règles de grammaire des langues naturelles, décrivent les manières dont les éléments du langage peuvent être combinés pour former des phrases.

Le lexique est composé de mots propres au langage, d'identifiants - les noms d'éléments propre au programme, de symboles d'opérations tels que "+" et "-", et de signes de ponctuation tels que le point et le point-virgule.

Les règles de sémantique décrivent la signification des phrases construites dans le langage, en particulier quels seront les effets lors de l'exécution du programme, pour chaque combinaison rendue possible par les règle de syntaxe.

[228]

L'utilisation d'un langage de programmation est rendue possible par un traducteur - un programme qui prends un texte écrit dans ce langage de programmation pour en faire quelque chose: un interpréteur exécute immédiatement le programme, tandis qu'un compilateur traduit le programme dans un langage qui permet de l'exécuter - le langage machine, le langage assembleur, ou le bytecode.

[229]

La syntaxe est la manière dont les mots peuvent être combinés dans une phrase, et la sémantique est la signification donnée à chacune des combinaisons possibles.

Chaque langage a son propre jeu de caractères, la palette des caractères qui peuvent être utilisés, parmi lesquels il y a généralement les lettres et les chiffres. Dans la plupart des langages celui-ci est basé sur la table ASCII, mais des langages récents autorisent d'utiliser d'autres caractères tels que les accents, ou le tilde.

[230]

La première étape du travail du traducteur - l'analyse lexicale - consiste à identifier les éléments du lexique utilisés dans le programme. Le résultat de cette opération est une suite de marques (token), chacune correspondant à un élément du lexique utilisé dans le programme (un mot, un nombre, un symbole,...).

L'étape suivante - l'analyse syntaxique - consiste à analyser les marques, et construite un diagramme en arbre qui reflète la manière dont elles sont structurées dans le programme.

L'étape d'analyse sémantique récolte les objets déclarés dans le programme, et les place dans une table comprenant leur nom et leur caractéristiques, puis analyse les instruction décrites dans le langage source, et détermine les instructions qui seront nécessaires pour réaliser la même opération dans le langage cible.

Typologie[modifier | modifier le code]

[231]

Les quatre niveaux de langage de programmation sont le langage machine, le langage assembleur, le langage de haut niveau et le langage de quatrième génération (L4G).

Le langage machine est le langage natif du matériel des ordinateurs. Très difficile à manipuler, et différent d'un ordinateur à l'autre, celui n'est que très rarement utilisé en programmation.

Le langage assembleur est composé de mots et de symboles. Moins difficile à utiliser que le langage machine, il sert à traduire des programmes vers le langage machine.

Les langages de haut niveau offrent une notation plus familière et plus lisible, indépendante de la machine utilisée. Ces langages mettent souvent en oeuvre la détection d'erreur.

Les langages de quatrième génération sont proches des langues naturelles, faciles à apprendre, ils permettent de programmer plus rapidement, et permettent de décrire le quoi d'une opération sans indiquer comment la réaliser.

[232]

il existe cinq paradigmes - des styles fondamentaux de langage de programmation:

  • dans le style impératif, un programme est une suite de commandes dont l'exécution provoque une modification du contenu de la mémoire.
  • dans le style fonctionnel l'accent est mis sur la fonction que le programme remplis. La programmation consiste à déterminer les fonctions qui, combinées ensemble, permettent d'obtenir le résultat voulu.
  • dans le style logique, basé sur les règles, la programmation consiste à décrire des conditions, et les opérations à effectuer lorsque la condition est rencontrée.
  • dans le style orienté objet, un programme est découpé en plusieurs entités, les objets. Les objets sont classifiés, chaque objet contient des données et des fonction, et peut être copié.
  • le style concurrent est basé sur la notion de processus : un calcul en cours. Le langage permet la création de plusieurs processus, permet la communication entre eux et la synchronisation - alignement dans le temps.

[233]

il existe quatre styles de programmation: le style impératif, le style fonctionnel, le style logique et le style orienté objet. Chaque langage de programmation est aligné sur un de ces styles.

  • dans le style fonctionnel un programme est vu comme un ensemble de fonctions. Chaque fonction consomme et produit des données, et il n'y a pas d'effet de bord - la fonction ne peut pas modifier de données autre que le résultat qu'elle produit. D'une sémantique plus simple que le style impératif, les langage de programmation fonctionnels sont souvent utilisés pour réaliser des prototypes, ils sont utilisés en intelligence artificielle, et pour les assistants de preuve. Bien qu'existant depuis les années 1950, les langages de programmation fonctionnels n'ont jamais été aussi populaires que les langages impératifs ou orientés objet.

[234]

Chaque langage de programmation reflète un des quatre paradigmes de programmation. Un paradigme est un système organisé de notions qui oriente le travail de réflexion du programmeur et peut être utilisé pour pour obtenir une solution à un problème de programmation. Chaque paradigme amène une technique différente de programmation; une fois qu'une solution a été imaginée par le programmeur selon un certain paradigme, un langage de programmation qui suit ce paradigme permettra de l'exprimer[76].

Le paradigme impératif ou procédural est basé sur l'idée d'une exécution étape-par-étape semblable à une recette de cuisine. Il est basé sur le principe de la machine de Von Neumann. Un ensemble de structures permet de contrôler l'ordre dans lequel sont exécutées les commandes - qui décrivent les étapes. L'abstraction est réalisée à l'aide de procédures auxquelles sont transmises des données. Il existe une procédure principale, qui est la première à être exécutée, et qui peut faire appel à d'autre procédures pour effectuer certaines tâches ou certains calculs. les langages de programmation C, Pascal, Fortran et COBOL sont en paradigme impératif[76].

Le paradigme fonctionnel est basé sur l'idée d'évaluer une formule, et utiliser le résultat pour autre chose, selon le modèle du lambda-calcul. Tout les traitements sont fait en évaluant des expressions et en faisant appel à des fonctions, et l'exécution étape-par-étape n'est pas possible dans le paradigme fonctionnel. Le résultat d'un calcul sert de matière première pour le calcul suivant, et ainsi de suite, jusqu'à ce que toutes les fonctions aient produit un résultat. ML et Lisp sont des langages de programmation en paradigme fonctionnel[76].

Le paradigme logique est basé sur l'idée de répondre à une question par des recherches sur un ensemble, en utilisant des axiomes, des demandes et des règles de déduction. L'exécution d'un programme est une cascade de recherche de données dans un ensemble, en faisant usage de règles de déduction. les données obtenues, et associées à un autre ensemble de règles peuvent alors être utilisées dans le cadre d'une autre recherche. L'exécution du programme se fait par évaluation, le système effectue une recherche de toutes les affirmations qui, par déduction, correspondent à au moins un élément de l'ensemble. Le programmeur exprime les règles, et le système pilote le processus. Prolog est un langage de programmation en paradigme logique[76].

Dans le paradigme orienté objet, un objet est une entité active, qui communique avec d'autres objets par échange de messages. Les procédures agissent sur les objets. Les échanges de message entre les objets simulent une évolution dans le temps d'un phénomène réel. Les données et les opérations sont emballées dans des objets. Les objets sont groupés en classes - les objets d'une même classe sont similaires. La programmation consiste à décrire les classes. Les classes sont organisées selon une structure hiérarchique ou il y a de l'héritage: de nouveaux objets peuvent être créés sur la base d'objets existants. Ce paradigme a été développé pour parer aux limitations de son prédécesseur, le paradigme procédural, tout particulièrement avec les très grands programmes. Le paradigme orienté objet aide le programmeur à créer un modèle organisé du problème à traiter, et permet d'associer fortement les données avec les procédures. Simula, Smalltalk, C++ et Java sont des langages de programmation en paradigme orienté objet.

[235]

[236]

Chaque appareil informatique a un ensemble d'instructions qui peuvent être utilisées pour effectuer des opérations. Les instructions permettent d'effectuer des calculs arithmétiques ou logiques, déplacer ou copier des données, ou bifurquer vers l'exécution de d'autres instructions. Ces instructions sont enregistrées sous forme de séquences de bits, où chaque séquence corresponds au code de l'opération à effectuer et aux opérandes, c'est-à-dire aux données concernées - c'est le langage machine[77].

[237]

Dans le langage de programmation assembleur, des mots aide-mémoire (mnémonique) sont utilisés pour référer aux instructions de la machine. Les instructions diffèrent en fonction des constructeurs et il en va de même pour les mnémoniques. Un programme assembleur traduit chaque mnémonique en la séquence de bits correspondante[78].

Fonctionalités[modifier | modifier le code]

Un langage de programmation offre un cadre pour élaborer des algorithmes[79]. Il permet en particulier de décrire les structures des données qui seront manipulées par l'appareil informatique et quelles seront les manipulations. Un langage de programmation sert de moyen de communication avec l'ordinateur mais aussi entre programmeurs: les programmes étant d'ordinaire écris, lus et modifiés par une équipe de programmeurs[72].

Un langage de programmation offre un ensemble de notions qui peuvent être utilisées comme primitives pour développer des algorithmes. Il est attendu que le langage soit clair, simple, et unifié, qu'il y ait un minimum de notions qui peuvent être combinées selon des règles simples et régulières. Les qualités d'un langage de programmation influent sur la facilité avec laquelle les programmes pourront être écrits, testés, puis plus tard compris et modifiés[79].

Les langages de programmation offrent différentes possibilités d'abstraction, et une notation proche de l'algèbre, permettant de décrire de manière concise et facile à saisir les opérations de manipulation de données et l'évolution du déroulement du programme en fonction des situations. Cette possibilité d'écriture abstraire libère l'esprit du programmeur d'un travail superflu, et lui permet de se concentrer sur des problèmes plus avancés[71].

Dans la plupart des langages de programmation, les programmes peuvent comporter des mots clé, des commentaires, des symboles et des identifiants:

  • Un mot clé est un mot du vocabulaire du langage, qui a une signification fixe dans la syntaxe du langage. if, do et for sont des mots clés courants dans les langages de programmation. Certains langages permettent d'ajouter du "bruit", des mots qui permettent d'améliorer la lisibilité du programme sans changer la signification[79].
  • Des commentaires peuvent être ajoutés dans les programmes pour y laisser des explications. Les commentaires sont délimités par des marques qui diffèrent d'un langage de programmation à l'autre tel que « -- », « /* » ou « // »[79].
  • L'utilisation d'opérations primitives du langage peut être indiquée par des symboles. Dans la plupart des langages de programmation les symboles « + » et « - » sont utilisés pour des opérations arithmétiques[79].
  • Les éléments constitutifs du programme, tels que les variables et les procédures portent tous un nom, et ce nom peut figurer dans les instructions du programme. Un identifiant est une suite de lettres qui n'est pas un mot clé, mais corresponds au nom d'un élément du programme[79].



Un identificateur est le nom d'un élément du programme, tel qu'une fonction ou une variable. Le nom peut comporter des lettres et des chiffres, et commence toujours par une lettre.

Les symboles: l'utilisation d'opérations primitives du langage est souvent indiquée par des symboles. Dans la plupart des langages de programmation les symboles '+' et '-' peuvent être utilisés pour exprimer des opérations arithmétiques.

un mot clé est un nom réservé, qui à une signification fixe et unique dans la syntaxe du langage. Le mot ne peut par conséquent pas être utilisé pour un identificateur. 'if', 'do' et 'for' sont des mots clés courants dans les langages de programmation. Il existe également dans certains langages des "bruit" - des mots qui peuvent être ajoutés pour améliorer la lisibilité du programme sans changer sa signification.

Les commentaires permettent aux programmeurs de rajouter de la documentation. Ils sont délimités par des mots clés ou des marqueurs, différents d'un langage de programmation à l'autre, tels que '--', '/*', '//' ou 'REM'.

Les délimiteurs servent à baliser le début et la fin d'un élément de syntaxe. Les délimiteurs améliorent la lisibilité, facilitent le travail de traduction et évitent les ambiguïtés. Les parenthèses sont souvent utilisées comme délimiteur.


Les qualités recherchées d'un langage sont clarté, simplicité et unité, fournissant un ensemble de notions simples, utilisés comme primitives pour développer des algorithmes. Il est attendu que le langage ait un nombre minimum de notions, qui peuvent être combinés selon des règles simples et régulières. les qualités du langage influent sur la facilité avec laquelle les programmes pourront être écrits, testés, puis plus tard compris et modifiés.

Les langages de programmation servent à décrire les structures des données qui seront manipulées par l'appareil informatique, ainsi que comment sont effectuées les manipulations - selon quels algorithmes. Ils sont des moyens de communication par lesquels le programmeur communique avec l'ordinateur, mais aussi avec d'autres programmeurs; les programmes étant d'ordinaires écris, lus, compris et modifiés par une communauté. L'expressivité d'un langage de programmation influe sur la qualité des programmes[72].

[238]

[239]

Un langage de programmation offre un cadre pour étudier les algorithmes. Les qualités recherchées d'un langage sont clarté, simplicité et unité, fournissant un ensemble de notions simples, utilisés comme primitives pour développer des algorithmes. Il est attendu que le langage ait un nombre minimum de notions, qui peuvent être combinés selon des règles simples et régulières. les qualités du langage influent sur la facilité avec laquelle les programmes pourront être écrits, testés, puis plus tard compris et modifiés.

[240]

Les langages de programmation comportent des fonctions destinées à faciliter la création de programmes complexes et volumineux en assistant la prise en charge de cette complexité. Ces fonctions permettent en particulier la modularité et l'abstraction, notamment à l'aide de la notion de procédure.

Les types de données entier, réel, caractères (chiffres, lettres, ponctuation) et booléen (vrai / faux) sont les primitives à partir desquels seront construits des structures composites telles que des tableaux, des enregistrements, des listes et des chaînes.

Un des outils est la possibilité d'isoler et de paramétrer un bout de programme pour en faire une procédure (aussi appelée fonction ou méthode): un fragment de programme, qui effectue une opération générale, susceptible d'être utilisé de façon répétée.

Un autre fonction est la possibilité de découper un programme en plusieurs pièces, chacune ayant un rôle déterminé. Puis de combiner les pièces.

[241]

[242]

Un identificateur est le nom d'un élément du programme, tel qu'une fonction ou une variable. Le nom peut comporter des lettres et des chiffres, et commence toujours par une lettre.

Les symboles: l'utilisation d'opérations primitives du langage est souvent indiquée par des symboles. Dans la plupart des langages de programmation les symboles '+' et '-' peuvent être utilisés pour exprimer des opérations arithmétiques.

un mot clé est un nom réservé, qui à une signification fixe et unique dans la syntaxe du langage. Le mot ne peut par conséquent pas être utilisé pour un identificateur. 'if', 'do' et 'for' sont des mots clés courants dans les langages de programmation. Il existe également dans certains langages des "bruit" - des mots qui peuvent être ajoutés pour améliorer la lisibilité du programme sans changer sa signification.

Les commentaires permettent aux programmeurs de rajouter de la documentation. Ils sont délimités par des mots clés ou des marqueurs, différents d'un langage de programmation à l'autre, tels que '--', '/*', '//' ou 'REM'.

Les délimiteurs servent à baliser le début et la fin d'un élément de syntaxe. Les délimiteurs améliorent la lisibilité, facilitent le travail de traduction et évitent les ambiguïtés. Les parenthèses sont souvent utilisées comme délimiteur.

Notions courantes[modifier | modifier le code]

Un langage de programmation permet de décrire les structures des données qui seront manipulées par l'appareil informatique et quelles seront les manipulations. Il offre un ensemble de notions telles que les variables, les types, et les procédures, qui peuvent être utilisées comme primitives pour développer des algorithmes[80].

Une variable est un nom utilisé dans un programme pour faire référence à une donnée manipulée par programme. Une constante est un nom utilisé pour faire référence à une valeur; celle-ci est permanente. Une expression littérale comporte une valeur mentionnée en toute lettres dans le programme[80].

Chaque donnée a un type: une classification qui influe sur la plage de valeurs possibles, les opération qui peuvent être effectuées, et la représentation de la donnée sous forme de bits[80].

Chaque langage de programmation offre une gamme de types primitifs, incorporés dans le langage. Certains langages offrent la possibilité de créer des nouveaux types. Les types de données primitifs courants sont les nombres entiers, les nombres rééls, le booléen, les chaînes de caractères et les pointeurs.

le booléen n'a que deux valeurs - vrai et faux - et le pointeur est une référence à une donnée qui se trouve quelque part en mémoire[80]. [243]

Une déclaration est une phrase de programme qui sert à renseigner au traducteur (compilateur, interpréteur, ...) les noms et les caractéristiques des éléments du programme tels que des variables, des procédures, de types...[72].

Des vérifications sont effectuées pour assurer que les opérations du programme sont possibles avec les types de données qui sont utilisés. Telles vérifications peuvent être effectuées au moment de la compilation, ou alors au moment de l'exécution du programme. Dans un langage fortement typé, chaque élément du programme a un type unique, connu au moment de la compilation, ce qui permet de déceler des erreurs avant d'exécuter le programme[72].

[244]

Divers langages de programmation offrent la possibilité d'isoler un fragment de programme, et d'en faire une opération générale, paramétrable, susceptible d'être utilisée de façon répétée. Ces fragments sont appelés procédures, fonctions ou méthodes. Ils peuvent également offrir la possibilité de découper un programme en plusieurs pièces - des modules, chacune ayant un rôle déterminé, puis de combiner les pièces[72].

Les notions de procédure et de module sont destinées à faciliter la création de programmes complexes et volumineux en assistant la prise en charge de cette complexité. Ces fonctions permettent en particulier la modularité et l'abstraction[72].

[245]



Les appareil informatiques manipulent des données placées en mémoire. Une variable est un nom utilisé dans un programme pour faire référence à une donnée manipulée. Une constante est un nom qui fait référence à une valeur, permanente. Une valeur littérale est permanente et mentionnée explicitement dans un programme.

Chaque données à un type: une classification qui influe sur les valeurs possibles, les opérations qui peuvent être effectuées, et la représentation des valeurs sous forme de bits.

Une déclaration est une phrase de programme qui sert à renseigner au traducteur (compilateur, interpréteur, ...) les noms et les caractéristiques des éléments du programme.

Des vérifications sont effectuées pour assurer que les opérations du programme sont possibles avec les types de données qui sont utilisés. Telles vérifications peuvent être effectuées au moment de la compilation, ou alors au moment de l'exécution du programme. Dans un langage fortement typé, chaque élément du programme a un type unique, connu au moment de la compilation, ce qui permet de déceler des erreurs avant d'exécuter le programme.

les types de données courants dans les langages de programmation sont les nombres entiers, les nombres rééls, le booléen - qui n'a que deux valeurs : vrai et faux, les chaînes de caractères et les pointeurs - une référence à une donnée qui se trouve quelque part en mémoire.

[246]

Les types de données entier, réel, caractères (chiffres, lettres, ponctuation) et booléen (vrai / faux) sont les primitives à partir desquels seront construits des structures composites telles que des tableaux, des enregistrements, des listes et des chaînes.

[247]

Une structure de données
Une variable peut être un ensemble de données agrégées. Une structure de données est une manière caractéristique d'organiser un ensemble de données en mémoire, qui influe sur les algorithmes utilisés pour les manipuler. Les structures courantes sont les tableaux, les enregistrements, les listes, les piles et les arbres[81].

[248] Un des outils est la possibilité d'isoler et de paramétrer un bout de programme pour en faire une procédure (aussi appelée fonction ou méthode): un fragment de programme, qui effectue une opération générale, susceptible d'être utilisé de façon répétée.

Un autre fonction est la possibilité de découper un programme en plusieurs pièces, chacune ayant un rôle déterminé. Puis de combiner les pièces.

histoire[modifier | modifier le code]

[249]

Les premiers langages de programmation ont été créés dans les années 1950. De nombreux concepts ont été lancés par un langage, puis améliorés et étendus dans les langages suivants. La plupart du temps la conception d'un langage de programmation a été fortement influencée par l'expérience acquise avec les langages précédents.

Fortran a été le premier langage de programmation de haut niveau. Il a introduit les notions d'expression, de tableau et de procédure. Puis COBOL a introduit la notion de description de données, précurseur de la notion de types de données des langages de programmation contemporains.

Algol a été le premier langage destiné non plus seulement à créer des programmes, mais aussi à communiquer des algorithmes. Il a introduit la notion de structure par blocs, ou les variables peuvent être déclarées là ou elles sont utilisées. Algol a influencé de nombreux langages qui l'ont succédé; langages dit de style algol.

Fortran et Algol ont été utilisés principalement pour des applications de calcul numérique, tandis que COBOL a été utilisé dans le commerce. PL/1 a été une tentative de créer un langage polyvalent en fusionnant les possibilité des trois prédécesseurs. Ce qui a donné un langage immense, complexe, incohérent et difficile à mettre en oeuvre.

Pascal est devenu le plus populaire des langages de style algol. Il est simple, systématique et efficace. Il a été un des premiers langages de programmation a offrir à la fois un large choix de structures de contrôle (conditions et itérations), et un large choix de types de données tels que les tableaux et les enregistrements.

Le langage C a été destiné à la programmation du système d'exploitation Unix. Les liens étroits entre C et Unix ont été profitables aux deux produits. Le langage C permet d'écrire des programmes de bas niveaux tels que le noyau du système d'exploitation, aussi bien que les programmes de haut niveau telles des applications.

Ada, successeur de Pascal, a introduit les notions de paquets et de génériques - notions destinées à aider la construction de très grands programmes. Tout comme PL/1, il est initialement conçu dans le but d'être un langage polyvalent. Bien adapté à la création de programmes de grande qualité (fiables, robustes, maintenables et efficaces), Ada est devenu un langage populaire pour les applications critiques, notamment dans l'aérospatiale.

[250]

L'histoire des langages de programmation modernes commence en 1958. Des centaines de langages ont été mis en œuvre en 50 ans, un certains nombre apportant un nombre significatif de nouvelles notions, de raffinements et d'innovations.

Auparavant les langages de programmation étaient principalement destinés à faciliter l'écriture d'instructions en langage machine. Le travail de programmation se faisait en grande partie en langage machine, ce qui était acceptable parce que les programmes étaient courts, les ordinateur n'avaient qu'une faible puissance et l'efficacité du programme était très importante.

Les innovations importantes d'avant 1960 ont été les langages de programmation Fortran et COBOL.

Fortran a été développé par IBM en 1955. L'innovation de ce langage a été de permettre d'utiliser la notation mathématique classique telle « i + 2 * j - 5 » pour décrire des calculs. Ce qui permettait au programmeur de réfléchir de façon plus naturelle aux problèmes de calcul, tout en laissant le compilateur s'occuper des détails des opérations. Fortran a également apporté les notions de subroutine (aussi appelée procédure ou fonction), de structure de données en tableau et de déclaration.

également créé en 1955, COBOL est destiné au marché des entreprises ou il est encore utilisé en 2012. Sa syntaxe ressemble à de l'anglais courant, l'expression « i + 1 » s'écrit en COBOL « add 1 to i ».

Les raffinements apportés par les langages de programmation après 1960 sont l'utilisation de la pile, les possibilités étendues de créer des structures de données. La manipulation des exceptions (erreurs et événements imprévus), la manipulation des modules, des objets et des threads - qui permettent l'exécution parallèle et simultanée de plusieurs lots d'instructions. La notion d'objet a été apportée par le paradigme orienté objets en 1980.

Caractéristiques[modifier | modifier le code]

[251]

La facilité d'utilisation, la portabilité et la clarté sont des qualités appréciées des langages de programmation. La facilité d'utilisation, qui dépends de la syntaxe, du vocabulaire et des symboles, influence la lisibilité des programmes écrits dans ce langage et la durée d'apprentissage. La portabilité permet à un programme écrit pour être exécuté une plateforme informatique donnée (un système d'exploitation) d'être transféré en vue d'être exécuté sur une autre plateforme[82].

Un langage de programmation offre un cadre pour imaginer des algorithmes et des diagrammes de flux et les exprimer. Les programmeurs apprécient que la syntaxe permette d'exprimer la structure logique inhérente au programme. Un des soucis en programmation est d'éviter des pannes, qu'il soit possible de les détecter, les éviter et les rectifier; ceci est rendu possible par des mécanismes internes des langages de programmation. Des vérifications implicites sont parfois effectuées en vue de déceler des problèmes[82].

Les programmeurs apprécient qu'un langage de programmation soit aligné avec les bonnes pratiques de programmation et d'ingénierie, qu'il encourage la structuration du programme, facilite la maintenance des programmes et qu'il dissuade voire interdit les mauvaises pratiques[82].

[252]

L'utilisation de l'instruction goto, qui existe depuis les premiers langages de programmation, est considérée comme une mauvaise pratique. Son utilisation est déconseillée, voire impossible dans les langages de programmation récents[83].

[253]

L'alignement sur les standards industriels et la possibilité d'utiliser des fonctionnalités écrites dans un autre langage de programmation sont des possibilités appréciées des langages de programmation. L'exécution simultanée de plusieurs threads est une fonctionnalité appréciée de certains langages de programmation[82].

[254]

La programmation modulaire a introduit de nombreuses notions qui se retrouvent dans les langages introduits après 1960. Ces langages sont utilisées dans les cas, courants, ou le problème à résoudre est étendu et complexe au point de la résolution tout en un n'est pas réalisable. La technique modulaire consiste à scinder le problème en différents modules plus petits et plus faciles à manipuler. Algol a été le premier langage de programmation modulaire.

programmation structurée ??

Les langages de programmation orientés gestion ont été créés dans le but de permettre la manipulation de grandes quantités de données. Ils sont utilisés dans le cas ou il y a une grande quantité de données sources, qui sont utilisées pour produire un ensemble tout aussi grand de résultats. Dans de tels langages l'accent est mis sur la facilité de manipulation de données plutôt que sur l'efficacité de calcul arithmétique. COBOL est un langage de programmation orienté gestion, introduit en 1959, populaire dans les entreprises. Sa syntaxe verbeuse ressemble à de l'anglais, ce qui le rends plus facile à apprendre.

Les langages de programmation mathématiques ont été créés pour les besoins des scientifiques et des ingénieurs. Ils permettent - comme la plupart des langages de programmation - d'effectuer des opérations arithmétiques. Dans de tels langages l'accent est mis sur la facilité d'exprimer des opérations de calcul arithmétique. Fortran, introduit en 1957, est un langage de programmation mathématique. C'est le plus vieux langage encore utilisé dans les années 2000, et il permet d'exprimer les opérations de calcul en utilisant des formules de math.

Il y a peu de langages de programmation avec lesquels il est possible de programmer des systèmes d'exploitation. Le langage de programmation C a permis la création du système d'exploitation Unix en 1970. Il offre à la fois des fonctionnalités du langage assembleur et des fonctionnalités de langages plus évolués: manipulation bit-à-bit, possibilité d'utiliser des fonctions du BIOS, de décrire des structures de données telles que des tableaux ou des chaines, possibilités de manipuler des pointeurs, des fonctions et des modules. Les programmes écrits dans ce langage peuvent être facilement portés et peuvent être efficacement traduits en langage machine.

Alors que les langages conventionnels permettent la manipulation de chiffres et de textes, les langage de programmation logique facilitent la manipulation des règles de déduction, de démonstration et les axiomes. Ces langages sont utilisés en intelligence artificielle, pour manipuler des base de connaissances, et la programmation des automates. le langage de programmation PROLOG a été créé exclusivement dans le but d'être utilisé en intelligence artificielle. Il permet de représenter et de manipuler de la connaissance et des règles d'inférence.

Les langages de programmation visuels aident la programmation des interfaces graphique, la manipulation de pictogrammes, d'images et de vidéos. Dans ces langages les images et les éléments d'interface graphique sont des objets ayant une représentation visuelle. Les langages de programmation visuelle sont utilisés en bureautique, dans la conception assistée par ordinateur, l'imagerie numérique, la communication et la robotique.

[255] self-hosting

certains langages de programmation sont auto-implémentés, c'est-à-dire que le compilateur pour ce langage de programmation est mis en œuvre dans le langage lui-même. exemple un compilateur pour le langage Pascal peut être écrit en langage Pascal[84].

[256] sample languages

Logo est un langage de programmation créé par le professeur Seymour Papert dans le but d'apprendre la programmation aux enfants. Les instructions de ce langage permettent de créer des dessins en programmant les mouvements d'une tortue à l'écran.

la programmation en langage Prolog consiste à déclarer des faits concernant des objets, puis à déclarer des règles de relation entre les objets et ensuite de poser une question concernant ces objets.

Pascal est un langage de programmation créé par Niklaus Wirth, de l'université de Zürich, en 1971. L'objectif était de créer un langage polyvalent, efficacement traduit en langage machine, qui permet d'apprendre facilement les notions de base de la programmation, qui encourage à structurer et organiser les programmes. Pascal est souvent utilisé comme langage d'introduction à la programmation.

Dennis Ritchie des laboratoires Bell a développé le langage C en 1970, se basant sur deux langages antérieurs: le BCPL et le B.

Java est un langage de programmation créé par James Gosling de Sun Microsystems en 1994. Développé après C++, le but était de créer un langage orienté objet petit, simple, et portable, destiné aux appareil électroniques grand public. Java est devenu populaire du fait de son utilisation pour les applets et les applications Web. Certaines fonctionalités de C++ telles que la manipulation de pointeurs, et l'instruction goto n'existent pas dans le langage Java.

Les langages de programmation visuels permettent de créer des interfaces graphiques sans écrire d'instructions de programme, en utilisant des éléments de l'interface graphique et en les déposant à leur place à l'écran.

Visual Basic est un langage de programmation visuel, dérivé de BASIC, créé par Microsoft. Il existe une édition incorporée dans la suite Microsoft Office.

[257]

[258] language runtime

Les langages de programmation fonctionnent souvent à l'aide d'un runtime (traduction: en exécution): un ensemble de bibliothèques logicielles qui mettent en œuvre le langage de programmation, permettant d'effectuer des opérations simples tel que copier des données, voire les opérations beaucoup plus complexes[85].

Pour les langages de programmation ayant un runtime réduit, tel le langage C, lors de la traduction d'un programme vers le langage machine les opérations simples sont directement traduites en les instructions correspondantes en langage machine tandis que les opérations complexes sont traduites en des utilisations des fonctions du runtime. Dans d'autres langages des programmation la totalité des instructions sont traduites en des utilisations du runtime[85]. Il sert alors d'intermédiaire entre les possibilités offertes par la plateforme informatique et les constructions propre au langage de programmation[86].

Chaque langage de programmation a une manière conventionnelle de traduire l'exécution de procédures ou de fonctions, de placer les variables en mémoire et de transmettre des paramètres. Ces conventions sont appliquées par le runtime[87]. Des fonctionnalités avancées des langages de programmation telles que le ramasse-miettes (anglais garbage collector), la manipulation des exceptions, des événements, ou des threads, ainsi que la liaison tardive et la réflection sont mises en œuvre par les runtime[85].

[259]


[260]

Populaires[modifier | modifier le code]

[261] Java

[262] JavaScript

[263] G-Code (CNC)

[264] BASIC (Visual*)

[265] C (C++ / Java)

[266] COBOL

[267] Python

[268] FORTRAN

[269] Pascal (1983)

Langage de haut niveau[modifier | modifier le code]

En programmation informatique, un langage de haut niveau est un langage de programmation orienté autour du problème à résoudre, qui permet d'écrire des programmes en utilisant des mots anglais et des symboles mathématiques familiers. Un langage de haut niveau fait abstraction des caractéristiques techniques du matériel utilisé pour exécuter le programme, tels que les registres et les drapeaux du processeur[88],[89].

Les langages de haut niveau sont plus proches des langues naturelles, ce qui rends les programmes plus faciles à écrire. Ils sont généralement indépendants de la machine: le même programme pourra être utilisé sur plusieurs types d'ordinateurs sans avoir été altéré - programmes qui sont cependant souvent conçus pour utiliser un système d'exploitation en particulier[90].

Les langages de de haut niveau sont apparus au début des années 1960, ils ont permis d'écrire des programmes d'une manière plus familière, proche de l'anglais, et qui ne dépends pas du processeur qui sera utilisé[91].

En 2010 il existe plus de 200 langages de programmation de haut niveau. Les plus populaires sont Pascal, C, C++, Java, Fortran et COBOL[92].

[270]

Plutôt que d'être orienté autour de la machine, un langage de haut niveau est orienté autour du problème à résoudre. Tel langage permet à un programmeur d'écrire des programmes en utilisant des mots anglais et des symboles mathématiques familiers. Chaque instruction en langage de haut niveau est ensuite traduite en instructions machine, avec une correspondance 1-à-plusieurs.


[271]

Le langage assembleur est une manière simplifiée d'écrire du code machine.

[272]

Dans un langage de haut niveau fait abstraction des détails techniques de la machine tels que les registres et les drapeaux (flags) du processeur.

[273]

Les langages de haut niveau ont été créés dans le but de permettre à un programmeur de se concentrer sur l'analyse logique du problème à résoudre plutôt que sur les caractéristiques techniques du matériel qui sera utilisé.

les programmes écrits en langage de haut niveau sont portables: peuvent être exécutés sur différents types d'ordinateurs avec peu ou pas de modifications. Les langages de haut niveau rendent les programmes plus faciles à lire et à maintenir, ce qui diminue l'effort et le temps nécessaire pour créer un programme. Les erreurs de logique sont de plus faciles à déceler et à éradiquer.

[274]

Des langages de programmation de haut niveau populaires sont: FORTRAN, COBOL, Pascal, Basic, C, C#, Java, Python et Ruby.

L4G[modifier | modifier le code]

En informatique un langage de quatrième génération - abrégé L4G (anglais 4GL) est un type de langages de programmation apparu en 1980, proche des langues naturelles, qui permet d'écrire plus de choses avec moins de lignes de programmes et moins d'erreurs. Facile à apprendre, il permet de décrire certaines opérations de manière non procédurale et permet d'obtenir rapidement des résultats à partir de courts programmes[93],[94]. [275][276]

Il n'existe pas de distinction formelle entre la 3ème et la 4ème génération de langages de programmation. Le mot L4G est utilisé comme buzzword pour vendre des langages de programmation, et la majorité des L4G sont en fait des langages de 3ème génération auxquels a été ajouté une syntaxe déclarative basée sur SQL[95].[277] De nombreux logiciels de base de données tels que DBase, Oracle ou Informix incluent un langage de programmation de 4ème génération. Celui-ci est similaire à un langage généraliste tel que Pascal et comporte des constructions additionnelles qui permettent un lien étroit avec le moteur de base de données telles que des commandes permettant de manipuler les bases de données[96].[278]

Selon un sondage réalisé à Hong-Kong en 1994, les caractéristiques essentielles d'un L4G sont un langage facile à apprendre, qui accélère le travail de programmation, dans lequel il y a un ensemble d'outils permettant de construire rapidement des menus ainsi que des formulaires électroniques et des rapports. La majorité des sondés ont trouvé difficile de répondre à la question « quelle est la définition d'un L4G ? »[97][279].


Selon un sondage réalisé à Hong-Kong en 1994, les caractéristiques essentielles d'un L4G sont un langage facile à apprendre, qui accélère le travail de programmation, dans lequel il y a un ensemble d'outils permettant de construire rapidement des menus ainsi que des formulaires électroniques et des rapports. Ils sont appréciés parce qu'ils sont facile à apprendre, commodes, et permettent de résoudre facilement des problèmes complexes. La majorité des sondés ont trouvé difficile de répondre à la question « quelle est la définition d'un L4G ? ». Divers sondés ont été déçus par ces produits, notamment en raison de temps de réponse jugés trop longs, et par le coûteux matériel nécessaires à leur utilisation.[280]


[281] language generations

Les langages de quatrième génération sont plus proche des langues naturelles, ce qui les rends plus facile à apprendre. Ils permettent l'écriture non-procédurale de certaines opérations, ce qui permet d'obtenir rapidement des résultats à partir de courtes phrases de programme. Ces langages ont souvent un champ limité d'utilisation et la plupart sont utilisés avec des bases de données.

[282] La définition d'un langage de quatrième génération est controversée.

[283] The aim is

[284] Il n'existe pas de définition précise de ce qu'est un L4G, les langages proche des langues naturelles, faciles à apprendre et à utiliser, avec une écriture non procédurale sont largement reconnus comme étant de quatrième génération.

De tels langages permettent d'écrire des programmes avec peu d'instructions, ce qui accélère le travail de programmation. Ils sont couramment utilisés pour accéder à des bases de données. le langage SQL est un L4G utilisé pour décrire des commandes servant à retrouver des informations depuis une base de données.

[285] 4 GL = 3GL + SQL

La distinction entre 3ème et 4ème génération est ambigüe, le mot L4G est utilisé comme buzzword pour vendre des langages de programmation, et la majorité des L4G sont en fait des langages de 3ème génération auxquels a été ajouté une syntaxe déclarative basée sur SQL.

[286] 4GL in databases

de nombreux logiciels de base de données tels que DBase, Oracle ou Informix incluent un langage de programmation dit 4GL. Celui-ci est similaire à un langage généraliste tel que Pascal et comporte des constructions additionnelles qui permettent un lien étroit avec le moteur de base de données telles que des commandes permettant de manipuler les bases de données.

[287] 4GL and SQL and DBMS

[288] 4GL and database [289] first Informix 4GL, 1985

La notion de quatrième génération de langages de programmation est apparue en 1980, a été adoptée par certains vendeurs pour désigner des produits réputés améliorer la productivité de programmation, en permettant d'écrire plus de choses avec moins de lignes de programmes et moins d'erreurs. le mot L4G a ensuite été utilisé pour désigner des langages de programmation relativement conventionnels, associés avec le langage de commande SQL et un lien étroit avec un SGBD.

Un des premiers systèmes de ce type a été Informix 4GL en 1985.

4 générations[modifier | modifier le code]

[290]

Les langages de programmation sont souvent catégorisés en quatre générations:

Les première et deuxième générations de langage de programmation sont dits de bas niveau: Dans ce type de langage le programmeur doit écrire les instructions d'une manière facile à comprendre pour le matériel informatique. Chaque ligne de code corresponds à une seule opération effectuée par le système informatique. De tels langages sont également dépendants de la machine: Un programme écrit pour un ordinateur donné ne pourra pas être utilisé sur un autre type d'ordinateur[90].

La première génération - le langage machine - sont les instructions sous forme de suites de 0 et de 1 (opcode) telles qu'elles vont être exécutées par un processeur. Chaque type de processeur avait - et a toujours - une palette d'instructions qui lui est propre[98]. Le langage machine est la seule forme compréhensible par l'ordinateur[90]. Aujourd'hui plus personne n'écrit en langage machine[91].

La deuxième génération, celle du langage assembleur, existe depuis 1955[91]. Dans ce type de langage les opcode sont écrit sous une forme alphanumérique plus facile à retenir[90]. Par exemple l'instruction dont la suite de bits est 01101001 sur le processeur 6502, s'écrit LDA en langage d'assemblage et corresponds à une opération load accumulator[98]. Les programmes écrits dans ce langage doivent être traduits en langage machine en vue d'être exécutés. Tout comme dans la première génération, il existe différentes palettes d'instructions en fonction du type de processeur[98]. Par rapport aux programmes écrit dans des langages de 3ème génération, les programmes écrits dans le langage assembleur sont généralement plus rapides, l'écriture et la maintenance de tels programmes demande cependant plus de temps[90]. Le langage assembleur est utilisé dans des situation ou le temps de réponse est d'importance critique[91]. Bien que cette génération soit un progrès significatif par rapport à la génération précédente, elle reste très primitive par rapport aux possibilités offertes par les langages de 3ème et de 4ème génération[98].

Les langages de 3ème et 4ème génération sont dits de haut niveau: Les langages sont plus proches des langues naturelles, ce qui rends les programmes plus faciles à écrire. Ils sont généralement indépendants de la machine: le même programme pourra être utilisé sur plusieurs types d'ordinateurs sans avoir été altéré - toutefois un programme écrit en langage de haut niveau est souvent conçu pour utiliser un système d'exploitation en particulier[90].

Les langages de 3ème génération sont apparus au début des années 1960, ils ont permis d'écrire des programmes d'une manière plus familière, proche de l'anglais, et qui ne dépends pas du processeur qui sera utilisé. Ce qui a et apporté un progrès significatif sur les deux générations précédentes. Le premier langage de ce type a été FORTRAN, en 1957[98][91]. Les langages de programmation de 3ème génération tels FORTRAN, COBOL, BASIC ou Pascal sont dit procédural, alors que les langages C++, Java, Python et Ruby sont dit orientés objet. Les programmes écrits dans ces langages doivent être traduits par un compilateur ou un interpréteur avant d'être exécutés[90].

Les langages de 4ème génération sont apparus dans les années 1970. Contrairement aux langages polyvalents de troisième génération, les langages de 4ème génération sont conçus pour résoudre des problèmes spécifiques[91]. Il n'existe pas de définition formelle des langages de 4ème génération. Les programmeurs reconnaissent qu'ils ne sont pas procédural, qu'ils sont plus proches des langues naturelles que les langages de 3ème génération, et plus faciles à utiliser. De tels langages permettent au programmeurs d'écrire des programmes avec peu de code, ce qui augmente leur productivité. Les programmes écrits dans ces langages s'exécutent plus lentement et sont plus gourmands, et les programmeurs préféreront dans certains cas utiliser un langage de 3ème ou de 2ème génération[90]. Les langages de 4ème génération sont souvent utilisés pour accéder aux bases de données[90]. Les catégories principales sont les langages de reporting, les langages de requête (SQL, Prolog,...) et les générateurs d'application[91]. SQL est un langage utilisé pour écrire des demandes de recherche d'informations dans une base de données[90].

[291]

[292]

En détail[modifier | modifier le code]

[293]

  1. a b c d e f g et h (en)InfoWorld,Vol. 6 - N° 16, 16 avr. 1984, (ISSN 0199-6649)
  2. a b c d e f g h i et j (en)InfoWorld,Vol. 7 - N° 49, 9 déc. 1985, (ISSN 0199-6649)
  3. (en)PC Mag,Vol. 3 - N° 21, 30 oct. 1984, (ISSN 0888-8507)
  4. (en)InfoWorld,Vol. 7 - N° 25, 24 juin 1985, (ISSN 0199-6649)
  5. (en) Roy A. Allan, A History of the Personal Computer: The People and the Technology, Allan Publishing - 2001, (ISBN 9780968910801)
  6. (en)InfoWorld,Vol. 7 - N° 25, 24 juin 1985, (ISSN 0199-6649)
  7. (en)Roy A. Allan, A History of the Personal Computer: The People and the Technology, Allan Publishing - 2001, (ISBN 9780968910801)
  8. (en)InfoWorld,Vol. 7 - N° 21, 27 mai 1985, (ISSN 0199-6649)
  9. (en)Merrill R. (Rick) Chapman, In Search of Stupidity: Over Twenty Years of High Tech Marketing Disasters,Apress - 2006, (ISBN 9781590597217)
  10. (en)John L. Daly,Pricing for Profitability: Activity-Based Pricing for Competitive Advantage,John Wiley & Sons - 2001, (ISBN 9780471415350)
  11. (en)John L. Daly,Pricing for Profitability: Activity-Based Pricing for Competitive Advantage,John Wiley & Sons - 2001, (ISBN 9780471415350)
  12. (en)Owen Linzmayer,Apple Confidential 2.0: The Definitive History of the World's Most Colorful Company,No Starch Press - 2004, (ISBN 9781593270100)
  13. (en)Mark L. Chambers,MacBook All-in-One For Dummies,John Wiley & Sons - 2011, (ISBN 9781118118696)
  14. a b c d et e Eric Chautrand,Mac OS X Snow Léopard (version 10.6),Editions ENI - 2009, (ISBN 9782746052604)
  15. Guillaume Gete,Mac OSX Lion 10,7 efficace,Editions Eyrolles - 2012, (ISBN 9782212133417)
  16. Guillaume Gete,Mac OSX Lion 10,7 efficace,Editions Eyrolles - 2012, (ISBN 9782212133417)
  17. Jean-Sébastien Chérel,Bien débuter avec son Mac,MA éditions, 2009, (ISBN 9782300021473)
  18. a b et c (en)Dan Frakes,MacOS X Power Tools,John Wiley & Sons - 2004, (ISBN 9780782143195)
  19. a b c et d Erwan Barret,Mac OS X Snow Leopard,MA éditions - 2009, (ISBN 9782300023590)
  20. Jean-Sébastien Chérel,Bien débuter avec son Mac,MA éditions, 2009, (ISBN 9782300021473)
  21. a b c et d Agnosys, Franck Sartori,OS X Lion: L'essentiel de Mac OS X 10.7,Mon Mac & Moi - 2011, (ISBN 9782915079654)
  22. Wallace Wang,My New Mac, Lion Edition: Simple Projects to Get You Started,No Starch Press - 2011, (ISBN 9781593273903)
  23. a et b (en)« What is Java technology and why do I need it? »
  24. a et b (en)« java.com - What are the system requirements for Java 7? »
  25. a et b (en) Doug Lowe et Barry Burd, Java All-In-One Desk Reference For Dummies,John Wiley & Sons - 2007, (ISBN 9780470124512)
  26. a b c et d Emmanuel Puybaret,Java 1.4 et 5.0 - Les Cahiers du programmeur,Editions Eyrolles - 2006, (ISBN 9782212119169)
  27. (en)Jeff Friesen,Learn Java for Android Development,Apress - 2010, (ISBN 9781430231561)
  28. (en)Linda Null et Julia Lobur,The Essentials of Computer Organization And Architecture,Jones & Bartlett Learning - 2006, (ISBN 9780763737696)
  29. a b c d et e (en)Buyya,Object Oriented Prog With Java,Tata McGraw-Hill Education - 2009, (ISBN 9780070669086)
  30. (en)Gary B. Shelly, Thomas J. Cashman, Michael Mick et Joy L. Starks,Java Programming: Comprehensive Concepts And Techniques,Cengage Learning - 2005, (ISBN 9781418859855)
  31. a b c d e f et g Benjamin Aumaille,J2SE: les fondamentaux de la programmation Java,Editions ENI - 2002, (ISBN 9782746018044)
  32. (en)Dominik Gruntz et Stephan Murer,Component Software: Beyond Object-Oriented Programming,Pearson Education - 2002, (ISBN 9780201745726)
  33. (en)David Flanagan,Java Foundation Classes in a Nutshell: A Desktop Quick Reference,O'Reilly Media Inc. - 1999, (ISBN 9781565924888)
  34. (en)« Oracle - Hardware and Software. Engineered to Work Together. ».
  35. (en)Barry Burd,Java For Dummies,John Wiley & Sons - 2011, (ISBN 9781118128305)
  36. (en)Lillie D. Shockney,Navigating Breast Cancer: Guide for the Newly Diagnosed,Jones & Bartlett Publishers - 2010, (ISBN 9781449611248)
  37. (en)Richard A. Posner, Katharine B. Silbaugh,A Guide to America's Sex Laws,University of Chicago Press, 1996, (ISBN 9780226675640)
  38. (en)Marshall Cavendish Corporation,Sex and Society, Volume 1, Marshall Cavendish - 2009, (ISBN 9780761479062)
  39. (en)Fred Harding,Breast Cancer: Cause - Prevention - Cure,Tekline Publishing - 2007, (ISBN 9780955422102)
  40. (en)Chisara Umezurike,In Praise of Abstinence: A Sex Education Manual for Families, Schools and Churches, AuthorHouse - 2011, (ISBN 9781456773250)
  41. (en)Sue Jenkyn Jones,Fashion Design,Laurence King Publishing - 2005, (ISBN 9781856694360)
  42. (en)Elizabeth Shimer,The Wedding Gown Book: How to Find a Gown That Perfectly Fits Your Body, Personality, Styloe, and Budget,Quarry Books - 2004, (ISBN 9781592530663)
  43. Viviane Bruillon, Marc Majesté,Le sein: Images, représentations,Editions L'Harmattan - 1996, (ISBN 9782738440990)
  44. a et b Bernard Moors,Les Clés de la publicité aujourd'hui,Editions Maxima - 2003, (ISBN 9782840013495)
  45. a et b (en)Valerie Steele,The Berg Companion to Fashion,Berg - 2010, (ISBN 9781847885920)
  46. (en)Hazel Andrews,The British on Holiday: Charter Tourism, Identity and Consumption, Tourism and Cultural Change,Channel View Publications - 2011, (ISBN 9781845411824)
  47. (en)Josy Roberts,Business Etiquette: Your Questions and Answers,Crimson Publishing - 1998, (ISBN 9780856603297)
  48. (en)Sexual Harassment Essentials of Prevention and Response,Business & Legal Reports, Inc, (ISBN 9781556452383)
  49. (en)Carole Collier Frick,Dressing Renaissance Florence: Families, Fortunes, and Fine Clothing,JHU Press - 2005, (ISBN 9780801882647)
  50. Jean Verdon,La femme au Moyen âge,Editions Jean-paul Gisserot - 1999, (ISBN 9782877474344)
  51. a b c d e f et g Monique Canellas-Zimmer,Histoires de mode, Les Dossiers d'Aquitaine - 2005, (ISBN 9782846221191)
  52. a b c et d Reponses Bain,N° 81,Printemps 2006
  53. Les belles de mai: deux siècles de mode à Marseille,Alors Hors Du Temps - 2002, (ISBN 9782951793217)
  54. Alice de Laincel,L'art de la toilette chez la femme: bréviaire de la vie élégante,Elibron.com - 1885, (ISBN 9780543932679)
  55. (en)Martin Kitchen,A History of Modern Germany: 1800 to the Present,John Wiley & Sons - 2011, (ISBN 9780470655818)
  56. (en)Juanita Herff Drought Chipman,The Passing of Gifts,Xlibris Corporation - 2011, (ISBN 9781456854683)
  57. Maryse Rouy,Une jeune femme en guerre: Été 1943-printemps 1944,Québec Amerique - 2007, (ISBN 9782764405604)
  58. Suzanne Feydieu,Miss Pretty: Roman,Editions L'Harmattan - 2009, (ISBN 9782296231771)
  59. Stefano Masi, Enrico Lancia,Les séductrices du cinéma italien,Gremese Editore - 1997, (ISBN 9788873010753)
  60. (en)Tonny Krijnen - Claudia Alvares - Sofie Van Bauwel,Gendered Transformations: Theory and Practices on Gender and Media,Intellect Books - 2010, (ISBN 9781841503660)
  61. Sydney Ross Singer et Soma Grismaijer,Le Soutien-gorge Et Le Cancer Du Sein: Une Lingerie de Séduction Dangereuse?,Editions Vivez Soleil - 1997, (ISBN 9782880581961)
  62. Valérie Rocoplan,Oser être la chef: Nouvelle édition. Pour celles qui veulent assumer leur ambition professionnelle et réussir leur carrière !,Leduc.s Éditions - 2011, (ISBN 9782848998145)
  63. Dominique Auzias, Jean-Paul Labourdette, Collectif,Italie du Sud 2012-2013,Petit Futé - 2012, (ISBN 9782746951785)
  64. Dominique Auzias, CARNET DE VOYAGE TUNISIE 2009 PETIT FUTE,Petit Futé - 2009, (ISBN 9782746924536)
  65. Patrick Cros, Maldives, Carnets de route, Editions Marcus, 2008, (ISBN 9782713102677)
  66. Collectif, Dominique Auzias, Jean-Paul Labourdette,Burkina Faso, Country Guides, Petit Futé - 2011, (ISBN 9782746940017)
  67. Jean-Paul Labourdette,THAILANDE +DVD 2010: 2011 PETIT FUTE, Petit Futé - 2009, (ISBN 9782746926110)
  68. Patrick Cros, Maldives, Carnets de route, Editions Marcus, 2008, (ISBN 9782713102677)
  69. Valérie Rocoplan,Oser être la chef: Nouvelle édition. Pour celles qui veulent assumer leur ambition professionnelle et réussir leur carrière !,Leduc.s Éditions - 2011, (ISBN 9782848998145)
  70. (en)Maurizio Gabbrielli et Simone Martini,Programming Languages: Principles and Paradigms, Springer - 2010, (ISBN 9781848829138)
  71. a b c d e f g et h (en)Kenneth C. Louden, Kenneth A. Lambert,Programming Languages: Principles and Practices,Cengage Learning - 2011, (ISBN 9781111529413)
  72. a b c d e f et g (en)William Sims Bainbridge,Berkshire Encyclopedia of Human-computer Interaction, Volume 2,Berkshire Publishing Group LLC - 2004, (ISBN 9780974309125)
  73. (en)David Anthony Watt et William Findlay,Programming Language Design Concepts,John Wiley & Sons - 2004, (ISBN 9780470853207)
  74. (en)Seema Kedar,Programming Paradigms And Methodology,Technical Publications - 2008, (ISBN 9788184312966)
  75. (en)Dhamdhere,Systems Programming and Operating Systems,Tata McGraw-Hill Education - 1999, (ISBN 9780074635797)
  76. a b c et d (en)Jana,Java And Object-Oriented Programming Paradigm,PHI Learning Pvt. Ltd. - 2008, (ISBN 9788120327757)
  77. (en)D.A.Godse,Computer Architecture & Organisation,Technical Publications - 2007
  78. (en)Tmh,Computer Science Vii (Tn),Tata McGraw-Hill Education - 2007, (ISBN 9780070668034)
  79. a b c d e et f Erreur de référence : Balise <ref> incorrecte : aucun texte n’a été fourni pour les références nommées kedar
  80. a b c et d (en)Seema Kedar et Sanjay Thakare,Principles Of Programming Languages,Technical Publications - 2009, (ISBN 9788184315776)
  81. (en)Krishnamurthy,Data Structures Using C,Tata McGraw-Hill Education - 2008, (ISBN 9780070669192)
  82. a b c et d (en)I. T. L. Education Solutions Limited,Introduction To Information Technology,Pearson Education India - 2005, (ISBN 9788177581188)
  83. (en)R. J. Barlow et A. R. Barnett,Computing for Scientists: Principles of Programming with Fortran 90 and C++, John Wiley and Sons - 1998, (ISBN 9780471955962)
  84. (en)Diomidis Spinellis et Georgios Gousios,Beautiful Architecture: Leading Thinkers Reveal the Hidden Beauty in Software Design,O'Reilly Media Inc. - 2009, (ISBN 9780596517984)
  85. a b et c Michael L. Scott,Programming Language Pragmatics,Morgan Kaufmann - 2009, (ISBN 9780123745149)
  86. Ian Griffiths, Matthew Adams,.Net Windows Forms in a Nutshell,O'Reilly Media, Inc. - 2003, (ISBN 9780596003388)
  87. Raghavan,Prin Of Compiler Design,Tata McGraw-Hill Education - 2010, (ISBN 9780070144712)
  88. (en)Management Information Systems, Nirali Prakashan, (ISBN 9788185790909)
  89. (en)Rajib Mall,Fundamentals of Software Engineering, PHI Learning Pvt. Ltd. - 2009, (ISBN 9788120338197)
  90. a b c d e f g h i et j (en)Deborah Morley et Charles S. Parker,Understanding Computers: Today and Tomorrow, Comprehensive,Cengage Learning - 2009, (ISBN 9780324830132)
  91. a b c d e f et g (en)J.B. Dixit,Computer Programming, Firewall Media - 2007, (ISBN 9788131800683)
  92. (en)Management Information Systems, Nirali Prakashan, (ISBN 9788185790909)
  93. (en)Colin Ritchie,Database Principles and Design, Cengage Learning EMEA - 2008, (ISBN 9781844805402)
  94. (en)Seema Kedar et Sanjay Thakare,Principles Of Programming Languages,Technical Publications - 2009, (ISBN 9788184315776)
  95. (en)Holger Herbst,Business Rule-Oriented Conceptual Modeling,Springer - 1997, (ISBN 9783790810042)
  96. (en)Colin Ritchie,Relational Database Principles,Cengage Learning EMEA - 2002, (ISBN 9780826457134)
  97. (en)Mehdi Khosrowpour,Managing Social and Economic Change With Information Technology, Idea Group Inc (IGI) - 1994, (ISBN 9781878289261)
  98. a b c d et e (en)Michael Ekedahl,Programming with Microsoft Visual Basic 2008: An Object-Oriented Approach, Cengage Learning - 2009, (ISBN 9780324786248)