Share to: share facebook share twitter share wa share telegram print page

Smalltalk

Smalltalk
Logo.

Date de première version Développement démarré en 1969, disponible publiquement en 1980
Paradigmes Objet
Auteur Alan Kay, Dan Ingals, Ted Kaehler, Adele Goldberg
Développeurs Xerox PARC
Dernière version ANSI Smalltalk ()[1]Voir et modifier les données sur Wikidata
Typage dynamique
Influencé par Lisp, Simula
A influencé Objective-C, Self, Oak, Java, Dylan, AppleScript, NewtonScript, Python, Ruby, Scala, Perl 6, Scratch
Implémentations Squeak, GNU Smalltalk, VisualWorks, Pharo
Système d'exploitation Multiplate-forme
Extension de fichier stVoir et modifier les données sur Wikidata

Smalltalk est un langage de programmation orienté objet, réflexif et dynamiquement typé. Il fut l'un des premiers langages de programmation à disposer d'un environnement de développement intégré complètement graphique. Il a été créé en 1972. Il est inspiré par les langages Lisp et Simula. Il a été conçu par Alan Kay, Dan Ingals, Ted Kaehler, Adele Goldberg au Palo Alto Research Center de Xerox. Le langage a été formalisé en tant que Smalltalk-80 et est depuis utilisé par un grand nombre de personnes. Smalltalk est toujours activement développé.

Smalltalk a été d'une grande influence dans le développement de nombreux langages de programmation, dont : Objective-C, Actor (en), Java et Ruby.

Un grand nombre des innovations de l'ingénierie logicielle des années 1990 viennent de la communauté des programmeurs Smalltalk, tels que les design patterns (appliqués au logiciel), l’extreme programming (XP) et le refactoring. Ward Cunningham, l'inventeur du concept du wiki, est également un programmeur Smalltalk.

Historique

Il existe un grand nombre de variantes de Smalltalk, comme c'est souvent le cas avec les langages de programmation[2]. Sans autre qualificatif, le mot Smalltalk est souvent utilisé pour désigner Smalltalk-80, la première version à avoir été rendue publique en 1980.

Smalltalk est le produit d'un groupe de chercheurs conduit par Alan Kay au Palo Alto Research Center (PARC) de Xerox ; Alan Kay a conçu les premières versions de Smalltalk qui ont été implémentées par Dan Ingalls. La première version, nommée Smalltalk-71, a été créée en quelques matinées sur le pari qu'un langage de programmation basé sur l'idée d'envoi de messages inspirée de Simula pouvait être réalisé en « une page de code ».

Concepts

Les principaux concepts de Smalltalk sont :

  • « Tout est objet » : les chaînes de caractères, les entiers, les booléens, les définitions de classes, les blocs de code, les piles et la mémoire sont représentés en tant qu'objets ;
  • Tout est modifiable. Le langage permet par exemple de changer d'IDE en cours d'utilisation, sans recompiler ni redémarrer l'application. De même, il est possible de créer de nouvelles instructions de contrôle dans le langage. Certaines implémentations permettent de changer la syntaxe du langage, ou la façon dont le ramasse-miettes fonctionne ;
  • Le typage est dynamique, donnant ainsi une certaine concision au langage ;
  • Un ramasse-miettes mémoire est intégré et transparent pour le développeur ;
  • Un système de gestion d'exceptions avec reprise est fourni ;
  • Les programmes Smalltalk sont généralement compilés en bytecode, exécutés par une machine virtuelle ;
  • La compilation est faite à la volée : les machines virtuelles commerciales modernes compilent le bytecode vers le code machine natif de façon à obtenir de meilleures performances, une technique dont Smalltalk-80 a été le pionnier, développé par ParcPlace Systems au milieu des années 1980. Cette idée a été adoptée par le langage de programmation Java quelque dix ans après et renommée « compilation just-in-time », ou JIT ;
  • Une classe peut hériter d'une seule autre classe (héritage simple).

Description

Smalltalk implémente, en plus des principaux objets de base (classe, objet, héritage, polymorphisme), des concepts originaux (métaclasse) et introduit la notion d'objet persistant, de traitement des exceptions et le principe modèle-vue-contrôleur.

Une caractéristique surprenante de Smalltalk est l'absence totale d'instructions de contrôle intégrées au langage : if-then-else, for, while, etc. Toutes ces instructions sont implémentées en utilisant des objets. Par exemple, les décisions sont prises en envoyant un message ifTrue à un objet booléen, et en passant un fragment de code à exécuter si le booléen est vrai. Le seul aspect intégré par défaut est la syntaxe pour envoyer un message à un objet.

L'exemple suivant illustre le style de programmation Smalltalk. L'exécution de ce code permet de trouver les voyelles dans une chaîne. Les variables sont déclarées entre deux barres verticales |...|, : déclare les paramètres :

| aString vowels |
aString := 'This is a string'.
vowels := aString select: [:aCharacter | aCharacter isVowel].

À la dernière ligne, la chaîne aString reçoit un message select: avec un bloc de code en argument. Voici le code de la super-classe Collection qui fait le travail :

Collection>>select: aBlock
| newCollection |
newCollection := self species new.
self do: [:each | 
    (aBlock value: each) 
        ifTrue: [newCollection add: each]].
^newCollection

Ce code répond au message en itérant au travers de ses membres (c'est la méthode do:) en évaluant le code aBlock à chaque caractère ; aBlock (aCharacter isVowel) une fois évalué crée un booléen, qui est alors envoyé à ifTrue:. Si le booléen est vrai, alors le caractère est ajouté à la chaîne qui sera retourné. Comme select est défini dans la classe abstraite Collection, on pourrait également l'utiliser de cette façon :

| rectangles aPoint|
rectangles := OrderedCollection 
  with: (Rectangle left: 0 right: 10 top: 100 bottom: 200)
  with: (Rectangle left: 10 right: 10 top: 110 bottom: 210).
aPoint := Point x: 20 y: 20.
collisions := rectangles select: [:aRect | aRect containsPoint: aPoint].

Annexes

Sur les autres projets Wikimedia :

Articles connexes

Liens externes

Didacticiels

Bibliographie

  • Clavel Gilles, Programmer objets avec Smalltalk (ISBN 978-2-225-85157-5)
  • Briffaut X. et Sabah G., Smalltalk : Programmation orientée objet et développement d'applications,
  • Erard P.J. et Déguénon P., Simulation par événements discrets, Concept et réalisations en Simula, Ada et Smalltalk, PPUR, coll. Informatique, Lausanne, 1996
  • Goldberg, Adele (December 1983). Smalltalk-80: The Interactive Programming Environment. Addison-Wesley. (ISBN 0-201-11372-4).
  • Goldberg, Adele; Robson, David (May 1983). Smalltalk-80: The Language and its Implementation. Addison-Wesley. (ISBN 0-201-11371-6).

Notes et références

  1. a et b « https://wiki.squeak.org/squeak/172 »
  2. (en) « Implémentations de Smalltalk », The World of Smalltalk (consulté le ).


Read other articles:

Questa voce o sezione sull'argomento mezzi di trasporto non cita le fonti necessarie o quelle presenti sono insufficienti. Puoi migliorare questa voce aggiungendo citazioni da fonti attendibili secondo le linee guida sull'uso delle fonti. Linz: Bombardier Cityrunner n. 009 sulla linea 2 Ginevra: tram snodato Bombardier Cityrunner del TPG n. 873 sulla linea 16 Milano: Bombardier Eurotram Zagato dell'ATM n. 7006 sulla linea 15 Palermo: Flexity Outlook Cityrunner in corso di consegna Strasb...

 

Південне Давао Province of Davao del Sur Прапор Адміністративний центр м. Дігос Країна Філіппіни Регіон Давао Муніципалітетів 9 Баранґаї 232 Межує з: сусідні адмінодиниці Північне Сулавесі, Північне Малуку, Західне Давао, Котабато ? Населення  - повне 632 588[1]  - густот...

 

هاري م دورتي (بالإنجليزية: Harry M. Daugherty)‏    مناصب نائب عام الولايات المتحدة   في المنصب4 مارس 1921  – 6 أبريل 1924  ألكساندر ميتشل بالمر  هارلان فيسك ستون  معلومات شخصية الميلاد 26 يناير 1860[1]  مقاطعة فيات، أوهايو  الوفاة 21 أكتوبر 1941 (81 سنة)كولومبوس، أوهايو&#...

اليس كلارك (بالإنجليزية: Ellis Clarke)‏  معلومات شخصية الميلاد 28 ديسمبر 1917(1917-12-28)بورت أوف سبين الوفاة 30 ديسمبر 2010 (93 سنة)بورت أوف سبين  سبب الوفاة سكتة دماغية مواطنة ترينيداد وتوباغو  مناصب رئيس ترينيداد وتوباغو   في المنصب1 أغسطس 1976  – 13 مارس 1987  إليزابيث الثانية...

 

Samuel Ruiz Bispo da Igreja Católica Bispo-emérito de San Cristóbal de Las Casas Info/Prelado da Igreja CatólicaSamuel Ruiz, ao lado de militantes de Atenco, 2010 Atividade eclesiástica Diocese Diocese de San Cristóbal de Las Casas Nomeação 14 de novembro de 1959 Entrada solene 25 de janeiro de 1960 Predecessor Dom Lucio Torreblanca y Tapia Sucessor Dom Felipe Cardeal Arizmendi Esquivel Mandato 1959 - 2000 Ordenação e nomeação Ordenação presbiteral 2 de abril de 1949 Nomeação ...

 

Wappen Deutschlandkarte ? Hilfe zu Wappen 51.58333333333310.783333333333Koordinaten: 51° 35′ N, 10° 47′ O Basisdaten (Stand 2018) Bestandszeitraum: 1994–2018 Bundesland: Thüringen Landkreis: Nordhausen Fläche: 112 km2 Einwohner: 7941 (31. Dez. 2016) Bevölkerungsdichte: 71 Einwohner je km2 Kfz-Kennzeichen: NDH Verbandsschlüssel: 16 0 62 5006 Verbandsgliederung: 5 Gemeinden Adresse der Verbandsverwaltung: Ilgerstraße 23 99768 OT...

Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini.Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala.Tag ini diberikan pada Januari 2023. Kasus SMP Negeri 56 Melawai adalah permasalahan penggunaan lahan yang pernah menimpa SMP Negeri 56 Jakarta pada tahun 2000-an. Sekolah tersebut didirikan pada tahun 1966 dan semula berada di Jalan Melawai Raya, Melawai, Kebayoran Baru, Jakarta Selatan....

 

Voce principale: Serie D 2018-2019. Indice 1 Girone G 1.1 Squadre partecipanti 1.2 Classifica finale 1.3 Risultati 1.3.1 Tabellone 1.3.2 Calendario 1.4 Spareggi 1.4.1 Spareggio promozione 1.4.2 Play-off 1.4.2.1 Semifinali 1.4.2.2 Finale 1.4.3 Play-out 2 Girone H 2.1 Squadre partecipanti 2.2 Classifica finale 2.3 Risultati 2.3.1 Tabellone 2.3.2 Calendario 2.4 Spareggi 2.4.1 Play-off 2.4.1.1 Semifinali 2.4.1.2 Finale 2.4.2 Play-out 3 Girone I 3.1 Squadre partecipanti 3.2 Classifica finale 3.3 R...

 

Westheim Gemeinde Rosengarten Koordinaten: 49° 3′ N, 9° 44′ O49.0519444444449.7380555555556316Koordinaten: 49° 3′ 7″ N, 9° 44′ 17″ O Höhe: 316 m ü. NHN Einwohner: 2628[1] Eingemeindung: 1. Januar 1972 Postleitzahl: 74538 Vorwahl: 0791 Rosengarten-Westheim, Friedhofskapelle neben der MartinskircheRosengarten-Westheim, Friedhofskapelle neben der Martinskirche Kocherwehr am Südrand von Westheim mit F...

Canadian ice hockey player Ice hockey player Kevin Kaminski Kaminski with the Fresno Monsters in 2018Born (1969-03-13) March 13, 1969 (age 54)Churchbridge, Saskatchewan, CanadaHeight 5 ft 10 in (178 cm)Weight 190 lb (86 kg; 13 st 8 lb)Position CentreShot LeftPlayed for Minnesota North Stars Quebec Nordiques Washington CapitalsNHL Draft 48th overall, 1987Minnesota North StarsPlaying career 1988–2000 Kevin Kaminski (born March 13, 1969) is a Canadia...

 

هذه المقالة تحتاج للمزيد من الوصلات للمقالات الأخرى للمساعدة في ترابط مقالات الموسوعة. فضلًا ساعد في تحسين هذه المقالة بإضافة وصلات إلى المقالات المتعلقة بها الموجودة في النص الحالي. (ديسمبر 2018)   بلدية بالفي بلدية بالفي بلدية بالفي  خريطة الموقع تاريخ التأسيس 1 يوليو ...

 

Orang Mongolia di JepangJumlah populasi12,976 (pada Juni 2021)[1]BahasaJepang, Mongolia Ada komunitas kecil orang Mongolia di Jepang, yang mewakili sebagian kecil dari emigrasi dari Mongolia. Pada Juni 2021, ada 12.976 warga Mongolia terdaftar yang tinggal di Jepang, menurut Kementerian Luar Negeri, naik dari 2.545 pada tahun 2003.[1][2][3] Pelajar Pelajar internasional membentuk sebagian besar populasi terdaftar orang Mongolia di Jepang.[4] Siswa pertu...

American physician and politician (born 1954) For the mathematician, see Ralph Abraham (mathematician). Ralph AbrahamMember of the U.S. House of Representativesfrom Louisiana's 5th districtIn officeJanuary 3, 2015 – January 3, 2021Preceded byVance McAllisterSucceeded byJulia Letlow[a] Personal detailsBornRalph Lee Abraham Jr. (1954-09-16) September 16, 1954 (age 69)Alto, Louisiana, U.S.Political partyRepublicanSpouse Dianne Abraham ​(m. 1...

 

  لمعانٍ أخرى، طالع مهر أباد (توضيح). مهر أباد مهراباد  - قرية -  تقسيم إداري البلد  إيران المحافظة مركزي المقاطعة مقاطعة أراك الناحية الناحية المركزية القسم الريفي قسم أميرية الريفي (مقاطعة أراك) إحداثيات 34°12′06″N 49°34′09″E / 34.20167°N 49.56917°E / 34.20167; ...

 

American comedian and actor (born 1979) This article is about the American comedian and actor. For other people named Kevin Hart, see Kevin Hart (disambiguation). Hartbeat Productions redirects here. Not to be confused with Heartbeat Productions. Kevin HartHart in 2018Birth nameKevin Darnell HartBorn (1979-07-06) July 6, 1979 (age 44)Philadelphia, Pennsylvania, U.S.MediumStand-upfilmtelevisionEducationCommunity College of PhiladelphiaYears active2001–presentGenresObservational com...

Short story collection by Robert Sheckley Cover of the first edition. The People Trap (full title The People Trap and other Pitfalls, Snares, Devices and Delusions, as Well as Two Sniggles and a Contrivance) is a collection of science fiction short stories by American writer Robert Sheckley. It was first published in 1968 by Dell. Stories It includes the following stories (magazines in which the stories originally appeared given in parentheses): The People Trap (The Magazine of Fantasy & ...

 

Sympathomimetic amine IsomethepteneClinical dataAHFS/Drugs.comInternational Drug NamesMedlinePlusa601064Routes ofadministrationOralATC codeA03AX10 (WHO) Identifiers IUPAC name N,6-Dimethylhept-5-en-2-amine CAS Number503-01-5 YPubChem CID22297DrugBankDB06706 YChemSpider21106328 YUNIIY7L24THH6TCompTox Dashboard (EPA)DTXSID9023172 ECHA InfoCard100.007.236 Chemical and physical dataFormulaC9H19NMolar mass141.258 g·mol−13D model (JSmol)Interactive image SMILES CNC(...

 

For other uses, see Monica. Motor vehicle Monica 560A 1973 Monica 560 V8OverviewManufacturerMonicaProductionAround 40 examplesModel years1971 - 1975AssemblyCFPM SA France: Balbigny, LoireDesignerTony Rascanu, David CowardBody and chassisClassGrand tourerBody style4-door sedanLayoutLongitudinal front-engine, rear-wheel drivePowertrainEngine5.6 L Chrysler LA V8 (gasoline)Transmission3-speed automatic (TorqueFlite )5-speed manual (ZF)DimensionsWheelbase2,769 mm (109.0 in)[...

American film, television and theatre actor Tony MartinezMartinez (left) with Walter Brennan and Richard Crenna in The Real McCoys, 1962Born(1920-01-27)January 27, 1920San Juan, Puerto RicoDiedSeptember 16, 2002(2002-09-16) (aged 82)Las Vegas, Nevada, U.S.Occupation(s)Film, television and theatre actorSpouseMyra Martinez[1]Children5[1] Tony Martinez (January 27, 1920 – September 16, 2002) was an American film, television and theatre actor. He was perhaps best known for ...

 

American painter Barbara TakenagaBornBarbara Takenaga1949North Platte, Nebraska, United StatesNationalityAmericanEducationUniversity of Colorado BoulderKnown forPainting, printmakingStyleAbstractAwardsGuggenheim Fellowship, National Academy of Art, American Academy of Arts and LettersWebsite[barbaratakenaga.com] Barbara Takenaga (born 1949) is an American artist known for swirling, abstract paintings that have been described as psychedelic and cosmic, as well as scientific, due to their ...

 
Kembali kehalaman sebelumnya