Le: 24 12 2011 à 14:37
Alsacreations.com - Actualités
Auteur: Raphael
Il ne reste plus que quelques heures avant de pouvoir faire la bise au vieux barbu et sabrer le champagne.
Avant que le forum ne soit complètement déserté, je vous souhaite - au nom de tous les contributeurs bénévoles d'Alsacreations.com - de passer d'excellentes Fêtes de fin d'année et de nous revenir en pleine forme pour 2012 !
A l'année prochaine !

(photo par Raphaël Goetter)
Le: 24 12 2011 à 12:47
blog.openclassrooms.com
Auteur: siteduzero@siteduzero.com (Mewtow)
Il n'est pas nécessaire d'avoir des connaissances sur l'architecture d'un ordinateur avant de commencer à lire ce tutoriel, mais ceux qui auraient des difficultés peuvent lire ce tutoriel en cas de besoin :
Fonctionnement d'un ordinateur depuis zéro.
Si vous programmez depuis un certain temps, vous savez sûrement qu'il existe plusieurs paradigmes de programmation : le paradigme procédural, l'impératif, l'objet, le fonctionnel, etc. Chaque langage est plus ou moins rattaché à un (voire plusieurs) de ces paradigmes, et dispose de fonctionnalités plus ou moins diverses et variées. Mais ces langages ont pour but de créer des programmes exécutables par un ordinateur dont le matériel est plus ou moins évolué.
Au départ, les premiers ordinateurs étaient optimisés pour exécuter des langages de programmation impératifs très simples, et leur assembleur disposait de peu de fonctionnalités proches des langages de haut niveau : pas de support des tableaux, sous-programmes (les fameuses fonctions), et les types de haut niveau n'étaient pas supportés (pas de flottants ni de caractères, seul un type était accepté : le
word). Au fil du temps, l'assembleur de ces processeurs et leur architecture ont évolué pour supporter les fonctionnalités de haut niveau dans leur assembleur : le nombre de types supportés par le processeur s'est étoffé, des instructions spéciales pour supporter les sous-programmes ont été inventées, et de nombreux modes d'adressage spécialement dédiés aux tableaux et structures ont fait leur apparition. Toutes ces améliorations ont fait que nos processeurs sont particulièrement adaptés à des langages procéduraux de haut niveau comme le C, le Pascal, le BASIC ou le Fortran.
Mais tous les processeurs existants n’ont pas forcément suivi cette logique et ne se sont pas adaptés qu'aux langages procéduraux. Par exemple, il existe de nombreuses architectures spécialement adaptées à l’exécution de langages fonctionnels ou logiques : les
architectures dataflow. Certains fabricants de processeurs sont allés plus loin : dans les années 1980, quand la programmation orientée objet s'est démocratisée, des chercheurs ou des fabricants de processeurs ont décidé de créer des processeurs prenant en charge une bonne partie des fonctionnalités des langages de programmation orientés objet directement dans leur matériel. Cela a donné lieu à quelques petites architectures plutôt sympas, dont certaines ont quitté les laboratoires pour finir par être commercialisées. Ce tutoriel va explorer l'architecture de certains de ces
processeurs orientés objet, afin de montrer comment ces processeurs se sont adaptés pour supporter ce paradigme objet. Nous allons aborder une classe d'architectures de processeur permettant d’implémenter directement dans le silicium des langages de programmation orientés objet : ce sont les fameux
Capability Based Systems.