Smalltalk: de originele objectgeoriënteerde programmeertaal?

Openbaarmaking: Uw steun helpt de site draaiende te houden! We verdienen een verwijzingsvergoeding voor sommige van de services die we op deze pagina aanbevelen.


Smalltalk is een objectgeoriënteerde programmeertaal die kan worden gebruikt om vrijwel elk type desktop- of webtoepassing te maken. Er bestaat een grote verscheidenheid aan moderne Smalltalk-implementaties.

In deze handleiding introduceren we de meest populaire implementaties, zodat u kunt beslissen welke het beste past bij uw programmeerdoelstellingen en meteen aan de slag kunt met het leren van Smalltalk.

Koetjes en kalfjes

De geboorte van Smalltalk

Smalltalk werd begin jaren 70 geboren in het Xerox Palo Alto Research Center (PARC). Alan Key ontwikkelde de allereerste versie van de taal, Smalltalk-71, als een proof of concept met hulp bij de implementatie van Dan Ingalls. Verschillende aanvullende iteraties van de taal zijn privé ontwikkeld en gebruikt voor onderzoeksdoeleinden binnen de grenzen van PARC.

Smalltalk werd in 1980 voor het eerst openbaar met de release van Smalltalk-80 versie 1, die op beperkte schaal werd uitgebracht aan een paar geselecteerde organisaties, waaronder Apple, Hewlett-Packard en UC Berkley. Smalltalk-80 versie 2 volgde in 1983 en werd vrijgegeven aan het algemene programmeerpubliek. De 1983-versie van Smalltalk is de versie waarnaar doorgaans wordt verwezen wanneer de term Smalltalk wordt gebruikt.

In 1998 werd ANSI Smalltalk geratificeerd en vertegenwoordigt het de officiële versie van Smalltalk waarop moderne implementaties zijn gebaseerd. Veel moderne programmeertalen zoals Objective-C, Python, Ruby en Java putten diep uit de syntaxis en onderliggende objectgeoriënteerde filosofie van Smalltalk, en het is moeilijk om de invloed van Smalltalk op moderne computerprogrammering te overdrijven.

Trage commerciële groei en open-sourceproliferatie

Eind jaren tachtig verspreidden twee bedrijven commerciële Smalltalk-implementaties. Deze organisaties, ParcPlace en Digitalk, slaagden er niet in de algemene acceptatie van Smalltalk te bereiken, deels vanwege de hoge geheugenbehoeften van de taal en het aanvankelijke onvermogen om verbinding te maken met SQL-databases (een tekortkoming die uiteindelijk werd verholpen). In 1995 bundelden de bedrijven hun krachten en werden ObjectShare, maar slechts vier jaar later werd de organisatie ontbonden.

Net toen ObjectShare aan de slag ging, sprong IBM op de Smalltalk-markt met hun eigen Smalltalk-implementatie: VisualAge / Smalltalk. Hoewel geen van beide organisaties vandaag Smalltalk-implementaties blijft ontwikkelen, werden de producten die werden uitgebracht, gekocht door andere bedrijven die tot op de dag van vandaag doorgaan met het ontwikkelen en uitbrengen van bijgewerkte versies van elke applicatie. De toepassingen van ObjectShare, ObjectWorks en VisualWorks, leven voort op vandaag en worden gedistribueerd door Cincom. Het product van IBM werd uiteindelijk overgenomen door Instantiations en VisualAge / Smalltalk, nu VA Smalltalk genoemd, is tot op de dag van vandaag nog steeds beschikbaar en wordt actief ontwikkeld.

Terwijl Object Share en IBM de commerciële ontwikkeling van Smalltalk voortstuwden, werden verschillende open-source varianten van Smalltalk zoals Squeak, GNU Smalltalk en Pharo uitgebracht en behaalden een aanzienlijk marktaandeel.

In de jaren 2000 stagneerde de groei van Smalltalk. Het kent echter een opleving vandaag, niet in de laatste plaats door het succes van Smalltalk-webapplicatiekaders zoals Seaside en AIDA / web.

Als je meer wilt weten over de geschiedenis van Smalltalk, heeft Wikipedia veel informatie over de geschiedenis van Smalltalk en zijn het de meest populaire implementaties.

Smalltalk-implementaties, webapplicatiekaders en bronnen

Het leren van Smalltalk-80 zal een lange weg banen om je voor te bereiden om echte ontwikkeling te doen met een moderne Smalltalk-implementatie zoals Squeak, Pharo of VisualWorks. Als je Smalltalk-80 wilt leren, is er geen betere bron om uit te checken dan de originele teksten die zijn geschreven om programmeurs te informeren over de implementatie van de taal. Gelukkig zijn veel van deze teksten nu beschikbaar als gratis pdf-e-boeken.

  • Smalltalk-80: The Language and its Implementation door Adele Goldberg en David Robson, ook wel bekend als het Blue Book, is beschikbaar als een gratis downloadbare pdf of je kunt een gebruikte hardcopy kopen op Amazon.
  • Smalltalk-80: The Interactive Programming Environment van Adele Goldberg, de Orange Books, is gratis verkrijgbaar als pdf, of je kunt proberen een gebruikte harcopy te vinden op Amazon.
  • Smalltalk-80: Bits of History, Words of Advice door Glen Krasner is het Groene Boek. Je kunt dit boek gratis lezen met je favoriete apparaat of een gebruikte gedrukte tekst van Amazon krijgen.

Veel extra gratis Smalltalk-e-boeken zijn te vinden door Stef’s gratis online Smalltalk-boeken te bezoeken, een verzameling gratis te downloaden Smalltalk-e-boeken die door Stéphanie Ducasse zijn samengesteld.

Als je meer wilt weten over de oorspronkelijke bedoeling van het ontwerp van Smalltalk, dan is het artikel van Dan Ingalls, Design Principles Behind Smalltalk, geschreven in 1981, een interessante en nuttige blik op de onderliggende principes achter de ontwikkeling van Smalltalk.

Een andere plaats waar u veel kunt leren over Smalltalk is Smalltalk 101. Hier vindt u links naar een breed scala aan artikelen en tutorials over een breed scala aan Smalltalk-onderwerpen.

Volgens The World of Smalltalk zijn er meer dan een dozijn opmerkelijke moderne Smalltalk-implementaties en ontwikkelingskaders. Hoewel al deze producten voortdurend worden ontwikkeld en op zichzelf interessant en nuttig zijn, zijn de belangrijkste en opmerkelijkste Pharo, Squeak, Gemstone en Cincom.

GNU Smalltalk

GNU Smalltalk is een volledig gratis moderne implementatie van Smalltalk-80, en niet alleen gratis in die zin dat je het kunt krijgen zonder ervoor te betalen. GNU Smalltalk is, zoals alle GNU-projecten, volledig gratis: u bent vrij om de software te gebruiken, te delen, te kopiëren, te bestuderen en aan te passen.

Wat is GNU Smalltalk?

Smalltalk is een pure objectgeoriënteerde programmeertaal die begin jaren tachtig werd uitgebracht door het Xerox Palo Alto Research Center (PARC).

Het is geboren als een eigen taal en verschillende eigen implementaties zijn tegenwoordig populair. Daarnaast zijn er ook verschillende gratis en open source implementaties beschikbaar.

GNU Smalltalk is een van de laatste: een gratis Smalltalk-implementatie. Vraag iedereen die bij het project betrokken is wat GNU Smalltalk anders maakt dan andere implementaties en misschien hoor je dat GNU Smalltalk “de Smalltalk is voor degenen die kunnen typen”.

Dit ironische antwoord verwijst eigenlijk naar het grootste verschil tussen GNU Smalltalk en andere Smalltalk-implementaties: het gebruik van tekstbestanden en een teksteditor in plaats van een complete geïntegreerde ontwikkelomgeving (IDE).

Alle Smalltalk-implementaties behalve GNU Smalltalk bevatten een volledige grafische IDE. Ze benadrukken een grafische benadering van programmeren die gemakkelijk te leren en te gebruiken is en veel gebruik maakt van muisklikken en contextuele menu’s in plaats van getypte code.

Bovendien worden projecten in andere Smalltalk-implementaties opgeslagen als pakketten in plaats van individuele tekstbestanden.

GNU Smalltalk daarentegen wordt beter gezien als een Smalltalk-tolk. Met GNU Smalltalk wordt code rechtstreeks in tekstbestanden getypt en vervolgens geïnterpreteerd door GNU Smalltalk.

Hierdoor lijkt het ontwikkelingsproces veel meer op Python of Ruby-ontwikkeling dan op traditionele grafische IDE-gebaseerde Smalltalk-ontwikkeling.

Koop GNU Smalltalk

Hoewel de meeste Smalltalk-implementaties heel eenvoudig in te stellen zijn, is GNU Smalltalk dat niet. Er zijn vereiste applicaties en hulpprogramma’s om te installeren en er is geen manier om de opdrachtregel te gebruiken om de klus te klaren.

In overeenstemming met de algemene trend binnen de GNU-gemeenschap, veronderstelt GNU Smalltalk een bepaald niveau van technische competentie. Met andere woorden, als u op zoek bent naar “Smalltalk for Dummies”, kijk dan ergens anders – piep misschien.

U kunt GNU Smalltalk installeren of beter bouwen op een Linux-, Mac OS X- of een Windows-computer. Het proces is het eenvoudigst als je een Linux-besturingssysteem gebruikt – ironisch, aangezien de gemiddelde Linux-gebruiker vaak beter is toegerust om een ​​complex installatieproces aan te kunnen.

Met een paar extra stappen kunt u GNU Smalltalk echter op vrijwel elke machine laten werken. Voor gedetailleerde instructies voor Linux-, Mac- en Windows-systemen raadpleegt u de Building GST Guides gepubliceerd op de GNU Smalltalk Wiki.

GNU Smalltalk-bronnen

Zodra je GNU Smalltalk hebt ingesteld, moet je Smalltalk en de specifieke grillen voor de programmeertaal leren.

GNU Smalltalk is gebaseerd op Smalltalk-80 met de toevoeging van vele krachtige methoden die in ANSI Smalltalk waren opgenomen. Dientengevolge, zullen alle middelen die bedoeld zijn om Smalltalk-80 of ANSI Smalltalk te leren prima doen voor het leren schrijven van code die in GNU Smalltalk zal draaien.

Er zijn veel plaatsen waar u Smalltalk-programmeren kunt leren en onze gids voor Smalltalk-programmeerbronnen helpt u het beste te vinden.

Smalltalk met een GNU-smaak

Een van de beste bronnen voor het leren van GNU Smalltalk is het volledig gratis (in GNU-zin) boek van Canol Gokel, Computer Programming using GNU Smalltalk.

Je kunt een gratis digitaal exemplaar van het boek krijgen of een gedrukt exemplaar kopen bij Lulu. Het boek is een compleet overzicht van de Smalltalk-programmeertaal en de GNU Smalltalk-interpreter.

Het is ontworpen om toegankelijk te zijn voor elke bekwame computergebruiker met of zonder enige voorkennis van computerprogrammering, en zal een Smalltalk-student in ongeveer 100 pagina’s van volledige beginner tot juniorontwikkelaar brengen.

De GNU Smalltalk-website biedt ook verschillende nuttige educatieve tutorials en documentatiepagina’s, waarvan de meeste te vinden zijn op de documentatiepagina.

  • De FAQ biedt veel niet-programmerende informatie over GNU Smalltalk zoals syntaxisvoorbeelden, informatie over de optionele (en beperkte functie) GUI bekend als Blox, kennismaking met de GNU Smalltalk-gemeenschap en nog veel meer.

  • De GNU Smalltalk gebruikershandleiding is misschien wel de belangrijkste bron die je kunt vinden op de GNU Smalltalk website. Dit uitgebreide document introduceert GNU Smalltalk, kan je leren hoe je het moet gebruiken, geeft je aanwijzingen voor add-on pakketten zoals Seaside en Blox, en behandelt vrijwel elk ander denkbaar GNU Smalltalk onderwerp.

  • Van bijzonder belang voor beginners is de GNU Smalltalk-zelfstudie die aan het einde van de gebruikershandleiding is opgenomen. Volg deze stapsgewijze zelfstudie om Smalltalk te leren en te ontwikkelen met GNU Smalltalk.

  • Omdat Smalltalk een pure objectgeoriënteerde programmeertaal is, is de klassebibliotheekreferentie (deel 1 en deel 2) bijzonder belangrijk. Alles in Smalltalk is een object en elk object bestaat als een instantie van een klasse. Elke klasse kan worden uitgevoerd door alleen bepaalde specifieke methoden (vergelijkbaar in concept met functies). Het kennen van alle beschikbare klassen en de methoden die met elk kunnen worden gebruikt, is van cruciaal belang voor het competent en efficiënt ontwikkelen in Smalltalk.

  • Een laatste plaats waar je veel nuttige informatie kunt vinden, vooral als je eenmaal een vaardigheid als Smalltalk-ontwikkelaar hebt ontwikkeld, is de GNU Smalltalk Wiki.

Als je eenmaal wat ervaring hebt met het werken met GNU Smalltalk, zul je heel snel veel leren door een aantal geavanceerde tutorials aan te pakken. De GNU Smalltalk Wiki bevat een pagina met voorbeelden waar u verschillende nuttige tutorials kunt vinden over geavanceerde onderwerpen zoals:

  • Kustontwikkeling met GNU Smalltalk;

  • En veel meer.

Klaar om GNU Smalltalk te proberen?

GNU Smalltalk zal iedereen aanspreken die resoneert met de GNU-filosofie. Het zal ook bijzonder interessant zijn voor ervaren Linux-gebruikers en ontwikkelaars die liever met een teksteditor werken dan met een volledige IDE.

Hoewel het uitdagender is om GNU Smalltalk aan de gang te krijgen dan elke andere moderne Smalltalk-implementatie, maakt de unieke architectuur binnen het Smalltalk-ecosysteem het bijzonder aantrekkelijk voor technisch geavanceerde ontwikkelaars met een gezonde afkeer van digitaal rechtenbeheer.

Het Pharo-project

Het Pharo-project, een splitsing van Squeak, omvat de Pharo-programmeertaal, een unieke variatie op Smalltalk en een complete ontwikkelomgeving. Pharo is gratis te downloaden en wordt ondersteund door een enthousiaste community. Het Pharo-project beschikt over een uitgebreide documentatiedatabase waar u veel uitstekende bronnen kunt vinden. Een bijzonder nuttige bron is de Pharo Weekly-blog, waar u nieuws kunt bijhouden dat belangrijk is voor Pharo-ontwikkelaars. Er is ook het boek Pharo by Example van Black, et al.

Piepen

Squeak is een populaire, open-source, moderne Smalltalk-implementatie. Het werd in 1996 rechtstreeks afgeleid van Smalltalk-80 door een team van ontwikkelaars, waaronder een groot deel van het oorspronkelijke Smalltalk-ontwikkelingsteam. Hoewel er verschillende moderne Smalltalk-implementaties zijn, is Squeak een van de meest populaire en succesvolle van de open source-versies en is het gekoppeld aan andere succesvolle initiatieven zoals Raspberry Pi en de programmeertaal Scratch.

Geschiedenis van Squeak

Smalltalk-80 was de eerste versie van Smalltalk die werd uitgebracht buiten de grenzen van het Xerox Palo Alto Research Center (PARC) waarin de ontwikkeling van Smalltalk werd geïncubeerd. De taal is in twee versies uitgebracht. Versie 1 was een beperkte release die werd gegeven aan belangrijke branchegenoten zoals Hewlett-Packard, UC Berkley en Apple. Versie 2 is uitgebracht voor de algemene programmeursgemeenschap.

Apple nam Smalltalk-80 versie 1 en creëerde een volledige Smalltalk-implementatie genaamd Apple Smalltalk. Halverwege de jaren tachtig hadden veel van de oorspronkelijke Smalltalk-ontwikkelaars PARC verlaten en gingen ze aan de slag bij Apple, waar de ontwikkeling van Smalltalk doorging. Uiteindelijk ging een groot deel van dezelfde kerngroep over op Walt Disney Imagineering. Het was tijdens deze overgangsperiode in 1995 en 1996 dat de versie van Smalltalk die tegenwoordig bekend staat als Squeak is ontwikkeld en uitgebracht.

Je kunt veel meer leren over de geschiedenis van Squeak door Back to the Future, The Story of Squeak, A Practical Smalltalk Written in Itself van Ingalls et al te lezen..

Tegenwoordig is Squeak een open-source Smalltalk-implementatie, mogelijk de meest populaire en belangrijkste van de verschillende open-source Smalltalk-implementaties, en is het gebruikt om opmerkelijke projecten te bouwen zoals Open Cobalt, delen van het Nintendo ES-besturingssysteem en om te implementeren de Scratch programmeertaal.

Krijg Squeak

Squeak is gratis, open source en eenvoudig te installeren. Volg deze stappen om Squeak op uw computer te laten werken:

  • Ga naar de Squeak Downloads-pagina en download het nieuwste All-in-One-pakket. Deze pakketten zijn geschikt voor Windows-, Apple- en Linux-systemen.
  • Nadat het bestand is gedownload, zoekt u het zip-bestand op uw computer en pakt u alle bestanden uit. Klik vervolgens op het uitvoerbare bestand dat geschikt is voor uw systeem (.bat voor Windows, .app voor Apple en .sh voor Linux).

Dat is het. Nee echt. Download de applicatie, pak het uit en als je Smalltalk kent, kun je meteen aan de slag met Squeak. Hoewel het waarschijnlijk nuttig zou zijn om een ​​snelle spoedcursus te volgen bij het gebruik van Squeak.

Als je in een Squeak-omgeving wilt rondneuzen zonder iets te downloaden, kun je dat ook doen. Richt je browser op Try Squeak om Squeak te proeven, mogelijk gemaakt door SqueakJS – een virtuele Squeak-machine waarmee je Squeak in de browser kunt uitvoeren bovenop JavaScript.

Squeak-bronnen

Er zijn veel gratis en premium Squeak- en Smalltalk-bronnen online beschikbaar. We hebben de tijd genomen om de beschikbare opties te onderzoeken en hebben de volgens ons meest bruikbare en gerespecteerde bronnen verzameld.

Leren piepen en Smalltalk maken

De officiële Squeak-documentatiesite, een door de wiki-stijl door de gemeenschap gegenereerde documentatiebronnen, is een van de beste plaatsen om meer te leren over Squeak. Hier kun je meer te weten komen over de geschiedenis van Squeak, Squeak- en Smalltalk-trainingsbronnen vinden en informatie vinden voor beginners, gemiddelde gebruikers en zelfs gevorderde Squeak-ontwikkelaars.

Als Squeak nieuw voor je is, zijn hier enkele van de beste bronnen die op de wiki worden vermeld om je op weg te helpen:

  • Een cursus zelfstudie in Squeak
  • Basic Squeak Development Tools
  • Squeak-zelfstudie
  • Smalltalk: een overzicht van witboeken
  • Basisaspecten van Squeak en de Smalltalk-80 programmeertaal
  • De beknopte gids voor piepen

Besteed slechts een paar minuten aan het doornemen van de wiki en u zult vele aanvullende gratis trainingstutorials en artikelen vinden.

Boeken en e-boeken

Er is een berg boeken en e-boeken geschreven over Smalltalk en Squeak, hieronder vind je enkele van de meest invloedrijke, belangrijkste en simpelweg de beste.

Laten we eerst eens kijken naar enkele van de beste Squeak-teksten. Als het je doel is om te beginnen met het produceren van verzendbare code met Squeak, zijn dit de teksten die je moet raadplegen:

  • Squeak by Example door Nierstrasz, Ducasse en Pollet (Lulu, Amazon).
  • Squeak: leer programmeren met robots door Stéphane Ducasse.
  • Squeak: objectgericht ontwerp met multimediatoepassingen en Squeak: Open Personal Computing en multimedia door Mark Guzdial.

In 1983 werden drie Smalltalk-80-teksten uitgebracht. Deze invloedrijke teksten, gewoonlijk The Blue Book, The Green Book en The Orange Books genoemd, introduceren de programmeertaal, de ontwikkelomgeving en vertellen de geschiedenis van Smalltalk. Aangezien Squeak is gebouwd op Smalltalk-80, is veel van wat je leert tijdens het lezen van deze teksten rechtstreeks van toepassing op de moderne ontwikkeling van Squeak. Dankzij de inspanningen van Stéphane Ducasse zijn gratis PDF-versies van alle drie deze klassiekers en vele andere Smalltalk- en Squeak-teksten online beschikbaar. Als u liever uw boeken in gedrukte vorm gebruikt, kunt u nog steeds gebruikte exemplaren van deze boeken online vinden.

  • Smalltalk-80: The Language and its Implementation door Goldberg en Robson: The Blue Book, lees de gratis pdf of zoek een gebruikt exemplaar op Amazon.
  • Smalltalk-80: The Interactive Programming Environment van Adele Goldberg: The Orange Book, lees de gratis pdf of zoek een gebruikt exemplaar op Amazon.
  • Smalltalk-80: Bits of History, Words of Advice door Glenn Krasner: The Green Book, lees de gratis pdf of zoek een gebruikt exemplaar op Amazon.
Blijf op de hoogte

Terwijl je je Squeak- en Smalltalk-opleiding start, moet je aansluiten op de Squeak-community. Een paar manieren waarop u dat kunt doen, is door The Weekly Squeak en Planet Squeak te volgen en u aan te melden voor een of meer van de vele Squeak-mailinglijsten.

Er zijn veel Squeak-mailinglijsten die u kunt overwegen. Als je niet zeker weet waar je je voor moet aanmelden, ga dan naar de Squeak-forums waar elke subcategorie ook dienst doet als mailinglijst. Lees een paar berichten totdat u een of twee berichten kunt kiezen die u interesseren. Bovenaan elke subcategoriepagina van het forum ziet u informatie over de mailinglijst, klik op “meer opties” om te zien hoe u lid kunt worden van de mailinglijst. Om u op weg te helpen, volgen hier een paar waarin u mogelijk geïnteresseerd bent:

  • Squeak-mailinglijst voor beginners
  • Squeak-mailinglijst voor ontwikkelaars
  • Squeak mailinglijst voor virtuele machine

Moet je Squeak leren?

Er zijn veel dingen die je leuk vindt aan Squeak: het is gratis en open source, het opzetten van Squeak is verbazingwekkend eenvoudig, het heeft sterke banden met de originele Smalltalk-ontwikkelaars en er zijn veel gratis bronnen die je kunt gebruiken om van Squeak-beginner te gaan aan competente Squeak-ontwikkelaar. Dit alles betekent dat het Squeak-ecosysteem gezond en groeiend is en een goede plek om de tijd te investeren die nodig is om competentie te ontwikkelen.

Krassen

Van alle Smalltalk-uitlopers is Scratch waarschijnlijk de meest ongebruikelijke. Het is niet direct gebaseerd op Smalltalk, maar eerder Squeak, dat is gebaseerd op Smalltalk. Toch is het een erg interessante taal.

Waarom Scratch gebruiken?

Hoe laten we jongeren op een gemakkelijke, leuke en interessante manier kennismaken met programmeren? Wat is de beste programmeertaal voor die eerste inleidende stappen bij het programmeren? Scratch is één antwoord op deze vragen.

De Scratch-programmeertaal is speciaal gemaakt om kinderen in de leeftijd van 8 tot 16 jaar te leren programmeren. Scratch gebruiken is eenvoudig en introduceert op een leuke manier de basisprincipes van programmeerlogica..

Wat is Scratch?

Scratch is een gratis, visuele programmeertaal gemaakt door MIT Media Lab’s Lifelong Kindergarten Group voor educatieve en amusementsdoeleinden. Het is een programmeertaal en een online community waar kinderen interactieve media zoals verhalen, games en animaties kunnen programmeren en delen met mensen van over de hele wereld. Terwijl kinderen met Scratch creëren, leren ze samenwerken, systematisch redeneren en creatief denken.

Scratch kan voor veel educatieve en amusementsdoeleinden worden gebruikt. Ze variëren van wiskunde- en wetenschapsprojecten tot geanimeerde verhalen tot interactieve kunst en muziek. Bestaande projecten op de Scratch-website kunnen worden bekeken en gewijzigd zonder wijzigingen op te slaan, zelfs zonder gebruikersregistratie.

Scratch werd in 2003 gelanceerd als een desktop-only release en sinds 2013 is Scratch 2 zowel online als als een applicatie voor Windows, OS X en Linux beschikbaar. De broncode van Scratch 1.x wordt vrijgegeven onder de GPLv2-licentie en de Scratch Source Code-licentie.

Krasfuncties en voordelen

Vroege programmeertalen waren te moeilijk vanwege hun ingewikkelde syntaxis, en programmeren werd meestal geïntroduceerd met activiteiten en taken die niet aantrekkelijk waren voor kinderen, zoals het maken van lijsten met priemgetallen of eenvoudige lijntekeningen.

Scratch visuele programmering is gebaseerd op een verzameling grafische programmeerblokken die aan elkaar kunnen worden geklikt om programma’s te maken, een beetje zoals Lego-blokken. Het is gemakkelijk om te beginnen met experimenteren door simpelweg aan de blokken te sleutelen en ze in verschillende combinaties en reeksen samen te klikken. Er is geen traditionele syntaxis voor programmeertalen in Scratch. Het ontwikkelteam achter Scratch promoot drie kernontwerpprincipes: maak het sleutelbaar, zinvoller en socialer dan andere programmeertalen.

Scratch-projecten kunnen eenvoudig worden geüpload naar de Scratch-website. Zodra een project op de website staat, kan iedereen het in zijn browser uitvoeren, erop reageren, erop stemmen of het downloaden om de scripts te bekijken en te herzien.

Scratch is beschikbaar in meer dan 40 talen en wordt in meer dan 150 verschillende landen gebruikt.

Aan de slag met Scratch

Als u Scratch eens wilt proberen, is dat heel eenvoudig. Open gewoon de Scratch-website, klik op de link Maken en daar ga je. De programma-editor is klaar voor gebruik, zonder gebruikersregistratie. Als u op het wereldbolpictogram in de werkbalk klikt, kunt u de gewenste taal selecteren en beginnen met experimenteren met Scratch.

Scratch op uw computer installeren

U kunt Scratch 2 Offline Editor eenvoudig installeren om zonder internetverbinding in Scratch te werken. U kunt de download vinden op de Scratch-website. Voor Scratch 2 Offline Editor is Adobe AIR vereist, dus controleer of u de nieuwste versie ervan op uw computer gebruikt.

Scratch 2 Offline Editor is beschikbaar voor Windows, Mac OS en Linux-besturingssystemen.

Scratch-gebruikersinterface

Het gebied linksboven op het scherm is de podiumgebied die de resultaten weergeeft. Het podium gebruikt X en y coördineert met 0; 0 is het midden van het podium. Het gebied linksonder, onder het podium, toont de Sprites beschikbaar in het project. Sprites zijn actieve grafische objecten in Scratch. Gebruikers kunnen hun eigen Sprite handmatig tekenen in de meegeleverde editor, een Sprite uit de Scratch-bibliotheek kiezen of een afbeelding van een camera of clipart importeren.

Wanneer een Sprite is geselecteerd in het gebied linksonder, kunnen er blokken met opdrachten op worden toegepast door ze vanaf de Blokkeert palet aan de rechterkant van het scherm.

Als u op het wereldbolpictogram in de werkbalk klikt, kunt u de gewenste taal selecteren. Als u ook op het vraagteken op het paneel uiterst rechts klikt, wordt de Help-sectie geopend met stapsgewijze zelfstudies, de sectie “Hoe kan ik” en de verwijzing naar blokken. Met deze tutorials kun je in een mum van tijd programmeren in Scratch, dus zorg ervoor dat je ze doorneemt.

Krasmiddelen

Aangezien Scratch veel wordt gebruikt op scholen en in het onderwijs, zou het zonder problemen moeten zijn om online Scratch-leermiddelen te vinden. De beste plaats om te beginnen met leren is om de tutorials te volgen die bij Scratch zitten.

De officiële Scratch-website bevat veel geüploade projecten die u kunt uitvoeren en aanpassen, u kunt kijken hoe ze werken en ze aanpassen – remix ze.

Aan de andere kant vind je interessante Scratch-lessen en leercursussen op maat voor kinderen online, wat handig kan zijn als je een opvoeder bent.

Gratis online cursussen

Gratis online cursussen zijn een goede manier om een ​​realistisch beeld te krijgen van hoe Scratch presteert en wat het kan doen, maar u moet eerst de meegeleverde tutorials doornemen. Deze meegeleverde tutorials zijn een uitstekend startpunt om Scratch-programmering te begrijpen. Er zijn niet zoveel interactieve Scratch-cursussen beschikbaar, vanwege de eenvoud en het gebruiksgemak van Scratch, spreekt het voor zich.

  • Pluralsight’s leerprogramma voor programmeren met Scratch is een uitgebreide en gedetailleerde stapsgewijze video-lesgids voor Scratch 1.4
Aanvullende bronnen

De meeste aanvullende bronnen voor Scratch zijn beschikbaar op de Scratch-website en op de Scratch Wiki. ScratchEd is een online community van Scratch-docenten met veel nuttige bronnen.

Als je klaar bent om Scratch te gebruiken en je hebt extra nuttige bronnen nodig, bekijk dan een aantal van de volgende:

  • Officiële handleiding ‘Aan de slag’ (pdf) is een stapsgewijze handleiding die een eenvoudige introductie tot Scratch biedt.
  • Officiële krasloten zijn klaar om af te drukken en bieden een snelle manier om de krasfuncties te leren.
  • Official Video tutorials geven tips over het gebruik van de paint editor en laten je kennismaken met het programmeren van games en animaties.

Natuurlijk zijn er veel andere Scratch-bronnen online, dus vinden wat u nodig heeft, zou geen probleem moeten zijn.

Laat jongeren coderen

Scratch is een geweldig systeem om jongeren te interesseren voor en te leren over programmeren. Gebruik de bronnen die we hier hebben besproken om de jonge mensen die je kent op weg te helpen in de wereld van computerprogrammering.

Amber

De Amber programmeertaal is een MIT-gelicentieerde afgeleide van Smalltalk die is ontworpen om het zo eenvoudig mogelijk te maken om Smalltalk te gebruiken om webapplicaties te bouwen. Zie het als een ontwikkelomgeving en webserver in één pakket.

Amber bevat een ingebouwde parser en compiler. Wat Amber bij uitstek geschikt maakt voor de ontwikkeling van webapplicaties, is dat Amber compileert in JavaScript dat aan de standaarden voldoet – de meest populaire scripttaal die op het web wordt gebruikt.

Als je klaar bent om aan de slag te gaan met Amber, zijn er een aantal manieren waarop je dat kunt doen. Ten eerste is er de interactieve Amber-zelfstudie. Vervolgens helpt de Amber snelstartgids, onderdeel van de officiële Amber-documentatie, u om Amber op uw computer te installeren. Een andere bron om uit te checken is de Gentle Introduction to Amber van Richard Eng (die je waarschijnlijk moet opvolgen met deel 2 en deel 3).

Smalltalk / X

Smalltalk / X is een moderne implementatie van de Smalltalk-programmeertaal van eXept Software AG. eXept, een softwareontwikkelingsbedrijf, gebruikt Smalltalk / X om al hun commerciële softwareproducten te ontwikkelen. EXept heeft Smalltalk / X echter gratis gemaakt voor iedereen om zowel gratis als commerciële toepassingen te ontwikkelen.

Aangezien eXept Smalltalk / X gebruikt om hun eigen commerciële toepassingen te ontwikkelen, genieten Smalltalk-ontwikkelaars die het platform gebruiken een zekere mate van zekerheid dat het zal genieten van voortdurende ontwikkeling en bugfixes, aangezien eXept afhankelijk is van zijn voortdurende.

Wat is Smalltalk / X?

Smalltalk / X (ST / X) is een volledig geïntegreerde ontwikkelomgeving (IDE) en Smalltalk-taalimplementatie. Het bevat alles wat u nodig hebt om applicaties te ontwikkelen en te implementeren met behulp van de Smalltalk-programmeertaal.

ST / X bevat een unieke grafische gebruikersinterface (GUI) die is ontworpen om Smalltalk gebruiksvriendelijk te maken. ST / X-ontwikkeling omvat intensief gebruik van muisklikken en contextuele menu’s om code te creëren, en projecten worden gemaakt en beheerd als complete gebundelde pakketten in plaats van individuele tekstbestanden. Met de opmerkelijke uitzondering van GNU Smalltalk hebben vrijwel alle Smalltalk-implementaties dit op GUI gebaseerde ontwikkelingsmodel omarmd, te beginnen met enkele van de eerste implementaties van de taal die teruggaan tot de vroege jaren tachtig..

Geschiedenis van Smalltalk / X

ST / X is gemaakt door Claus Gittinger, een mede-oprichter van eXept die de ontwikkeling van ST / X tot op de dag van vandaag voortzet. Gittinger maakte deel uit van de eerste ronde van ontwikkelaars buiten het Xerox Palo Alto Research Center (PARC) om in 1981 aan Smalltalk te worden blootgesteld met de eerste beperkte release van Smalltalk-80 versie 1.

Omdat hij op geen enkele manier een Smalltalk-implementatie kon kopen – een zeer kostbare onderneming in die tijd – begon Claus met het creëren van zijn eigen Smalltalk-implementatie. Hij slaagde daar eind jaren tachtig in en vestigde zich rond die tijd op de naam Smalltalk / X.

De komende jaren bleef Claus ST / X in zijn vrije tijd ontwikkelen als een hobbyproject voor persoonlijk gebruik. In 1994 kwamen Claus en verschillende andere ontwikkelaars samen en richtten ACC Software op met de bedoeling ST / X te gebruiken als het belangrijkste softwareontwikkelingsplatform van het bedrijf. Hierdoor ontwikkelde de ontwikkeling van ST / X zich de komende jaren veel sneller.

ACC, later omgedoopt tot eXept, distribueert ST / X gratis. De software is echter niet open source en eXept behoudt alle intellectuele eigendomsrechten op de applicatie. ST / X-gebruikers zijn beperkt tot het behouden van één functionele kopie van de software en één back-up. Tegelijkertijd worden ontwikkelaars die willen bijdragen aan de software aangemoedigd om contact op te nemen met eXept om hun interesse te tonen om betrokken te raken.

Smalltalk / X installeren

Smalltalk / X is beschikbaar voor Linux- en Windows-computers. U kunt een kopie van ST / X rechtstreeks downloaden van eXempt.

De applicatie wordt gedownload als een gearchiveerd bestand. Volg deze stappen om de applicatie op een Windows-computer te installeren:

  • Pak alle bestanden uit het archief uit in de directory waar u de applicatiebestanden wilt plaatsen.
  • Open de map met de uitgepakte bestanden en ga naar de map projectssmalltalk.
  • Voer het bestand met de naam stx.exe uit.

Nadat u de toepasselijke licentie hebt geaccepteerd, wordt de Smalltalk / X-ontwikkelomgeving op uw systeem gestart.

Voor Linux-systemen downloadt u een gecomprimeerd tar-bestand (TGZ). Pak het uit waar u het wilt installeren; het zal een submap stx creëren. Zie het bestand HOW_TO_COMPILE voor meer informatie.

Smalltalk / X-bronnen

Het Smalltalk-dialect dat in ST / X wordt gebruikt, ligt zeer dicht bij de originele Smalltalk-80 en andere grote moderne Smalltalk-implementaties met een paar verschillen. Het internet staat vol met gratis tutorials en boeken die beweren Smalltalk-80 te leren. In onze Smalltalk-bronnengids introduceren we enkele van de beste Smalltalk-80-bronnen die vandaag beschikbaar zijn en die bronnen moeten hoog op uw lijst staan ​​om te leren coderen in Smalltalk.

Smalltalk / X leren gebruiken

De meest uitgebreide bron van Smalltalk / X-kennis is de Help-documentatie die bij ST / X wordt geleverd. Na het installeren van ST / X heeft u toegang tot deze documentatie door de applicatie te openen en op Help in de menubalk te klikken. Selecteer vervolgens “Documentatie op Smalltalk / X” uit de beschikbare opties in het vervolgkeuzemenu Help.

In de Smalltalk / X-documentatie vindt u een schat aan informatie die u kunt gebruiken om aan de slag te gaan als Smalltalk / X-ontwikkelaar. Een geweldige plek om te beginnen is de Teaser voor nieuwkomers: laat me zien wat cool is in 30 minuten. Deze korte tutorial laat je kennismaken met de ST / X-werkruimte, leidt je door een 5 minuten durende versie van de klassieke “Hello World” -oefening en geeft je een spoedcursus in Smalltalk-syntaxis.

Als je eenmaal door het materiaal van de nieuwkomer bent gegaan, selecteer je de optie Leeslijst op de hoofddocumentatiepagina. Vanuit de leeslijst heeft u toegang tot een Aan de slag-document (ook beschikbaar op de hoofddocumentatiepagina en vermeld als Informatie voor een vlotte start) en een Smalltalk-zelfstudie die u in grote mate zal helpen om een ​​competente gebruiker van ST / X te worden, en meer vertrouwd met de programmeertaal Smalltalk in algemene zin. De introductie tot Smalltalk (taalstudie) is een andere geweldige manier om meer vertrouwd te raken met de taal binnen de specifieke context van de ST / X IDE.

Volg ten slotte de link naar Meer literatuur uit de leeslijst om aanbevolen teksten te vinden. Veel van deze zijn samen met ST / X opgenomen in PDF-formaat en zijn rechtstreeks toegankelijk vanuit de applicatie door de juiste links te selecteren.

Voorbeeld van de online Help-documentatie

Het mooie van het doorlopen van de ST / X-bronnen binnen de ST / X IDE is dat codevoorbeelden kunnen worden uitgevoerd zonder over te schakelen naar een andere applicatie. Bovendien hebt u toegang tot alle informatie in de Help-documentatie, zelfs als u zonder internetverbinding werkt. Als u deze materialen echter online wilt uitproberen voordat u ST / X downloadt, kunt u ze online gehost vinden door eXept:

  • Teaser voor nieuwkomers: laat me zien wat cool is in 30 minuten

Een extra bron die bijzonder nuttig is, is een opname van een presentatie gegeven door Claus Gittinger, ST / X-auteur, in 2011. U kunt de presentatie, A Guided Tour Through Smalltalk / X, online bekijken..

Is Smalltalk / X voor jou?

Smalltalk / X is een krachtige moderne Smalltalk-implementatie. Het is mogelijk de enige Smalltalk-implementatie die dagelijks actief door de ontwikkelaar wordt gebruikt om commerciële software te ontwikkelen. Dientengevolge, wat Smalltalk / X mogelijk mist in spraakmakende aanwezigheid op het web, compenseert het met gedocumenteerd nut. De geïntegreerde tutorials en helpdocumentatie zijn een erg leuke bijkomstigheid, waardoor Smalltalk / X een van de meest gebruiksvriendelijke platforms is voor nieuwe Smalltalk-ontwikkelaars.

Dolfijn

Dolphin Smalltalk van Object Arts is een Windows-gebaseerde Smalltalk-implementatie. Dolphin 7 is de eerste volledig gratis en open-source versie van het platform, die een complete Smalltalk IDE bevat. Aan de slag gaan is eenvoudig en op de pagina Aan de slag wordt u begeleid bij het instellen van Dolphin op uw Windows-systeem.

Zodra je Dolphin hebt ingesteld, begin je Dolphin te leren met de Lights Out-spelhandleiding. Extra tutorials zijn te vinden op de Dolphin Blog en bevatten een moderne kijk op de klassieke “Hello World!” oefening. Van bijzonder belang voor meer volwassen ontwikkelaars is de Dolphin usenet-groep, comp.lang.smalltalk.dolphin, die toegankelijk is op usenet of op Google Discussiegroepen.

Edelsteen

Gemstone / S van Gemtalk Systems is een platformonafhankelijke commerciële implementatie van Smalltalk. Hoewel de communityeditie van het platform gratis te downloaden is, zijn licentiekosten van toepassing als uw behoeften de beperkte middelen in de gratis versies overschrijden.

Gemtalk biedt gratis installatiehandleidingen voor Linux-, Solaris-, AIX-, Mac- en Windows-systemen. Daarnaast zijn er veel handleidingen beschikbaar, waaronder een handleiding voor systeembeheerders, programmeursgids, GemBuilder voor C, visuele statistiekenweergave en programmeergids voor Topaz. Al deze gratis bronnen kunnen worden gedownload van de Gemstone / S-website. Een andere goede plek om over Gemstone te leren, is Gemstone 101, een reeks artikelen over inleidende en tussentijdse Gemstone-onderwerpen.

VA Smalltalk

VA Smalltalk van Instantiations is de moderne afstammeling van IBM’s VisualAge / Smalltalk. Hoewel VA Smalltalk een gepatenteerd product is met een behoorlijk prijskaartje, kunt u een gratis proefversie krijgen om het een proefrit te maken voordat u zich op het platform begeeft.

Cincom Smalltalk

Cincom Smalltalk omvat ObjectStudio en VisualWorks. VisualWorks is misschien wel de meest populaire commerciële Smalltalk-implementatie. Cincom Smalltalk is een commercieel eigendom product. Een evaluatiekopie kan echter gratis worden gedownload voor persoonlijk gebruik. Cincom biedt ook een uitgebreide database met tutorials, waaronder tutorials die specifiek zijn afgestemd op ontwikkelaars van ObjectStudio en VisualWorks.

Redline Smalltalk

Als u Smalltalk wilt gebruiken om applicaties te maken die op de virtuele Java-machine kunnen worden uitgevoerd, is Redline Smalltalk de implementatie om te leren. Momenteel zijn instructies om aan de slag te gaan met Redline alleen beschikbaar voor gebruikers van * nix-systemen, hoewel instructies voor Windows-systemen in de maak zijn.

In sommige opzichten is Redline een implementatie die het meest geschikt is voor ervaren ontwikkelaars. Redline-specifieke leermiddelen zijn beperkt en de meeste aanbevolen hulpmiddelen zijn ofwel generieke Smalltalk-middelen ofwel geleend van andere implementaties.

Smalltalk MT

Smalltalk MT van Object Connect is een Smalltalk-implementatie voor Windows. Hoewel dit framework gratis is voor persoonlijk gebruik, is een licentie vereist voor elk commercieel gebruik of elke toepassing.

Kust

Seaside is een van de belangrijkste redenen waarom Smalltalk een moderne opleving beleeft. Seaside maakt het veel gemakkelijker om Smalltalk te gebruiken om webapplicaties te bouwen. Dit gratis en open-source ontwikkelraamwerk voor webapplicaties kan worden gebruikt om webapplicaties te ontwikkelen door te integreren met een van de volgende Smalltalk-platforms: Pharo, ObjectSource, VisualWorks, Dolphin, Gemstone, GNU Smalltalk, Squeak of VA Smalltalk.

Er is een uitstekend gratis e-boek om je door het hele webontwikkelingsproces met Seaside en Smalltalk te leiden:

  • Dynamische webontwikkeling met Seaside door Ducasse, et al.

Veel aanvullende bronnen en tutorials zijn te vinden op de webpagina Seaside Documentation.

AIDA / Web

Een ander webapplicatiekader dat kan worden gebruikt met verschillende Smalltalk-smaken is AIDA / Web. Als u meer wilt weten over AIDA / Web, zijn twee goede bronnen om mee te beginnen de algemene introductie- en architectuurdocumenten op de AIDA / Web-website. Beide zijn kort, maar geven u een goed idee van wat AIDA / Web is en waarvoor het is ontworpen.

Als je eenmaal klaar bent om serieus aan de slag te gaan met AIDA / web, is de eerste stap om je op je gemak te voelen op een van de ondersteunde Smalltalk-platforms. Momenteel zijn ondersteunde platforms Squeak, Pharo, Gemstone, VisualWorks, ObjectSource en Dolphin. Zodra u de ontwikkeling onder de knie heeft in een van deze omgevingen, kunt u AIDA / Web downloaden en installeren om het proces van ontwikkeling en implementatie van webapplicaties te vereenvoudigen met Smalltalk.

U kunt beginnen met het leren over webapp-ontwikkeling met AIDA / Web met de AIDA / Web-zelfstudie. Volg de tutorial met de vele handleidingen en tutorials die beschikbaar zijn op de AIDA / Web-documentatie-site en u zult in een mum van tijd webapplicaties produceren.

Overzicht

Smalltalk is een interessante taal. Aanvankelijk had het moeite om marktaandeel te winnen tijdens de concurrentie met Java. Het was echter niettemin van grote invloed op de ontwikkeling van moderne programmeertalen zoals Ruby en Python, en moderne programmeerparadigma’s zoals het MVC-framework en GUI-ontwerp.

Aan het eind van de jaren 2000, toen het leek alsof Smalltalk in de achteruitgang van de moderne ontwikkeling zou verdwijnen, werd de taal nieuw leven ingeblazen door de groeiende populariteit van Smalltalk als programmeertaal voor webapplicaties dankzij webapplicatiekaders zoals Seaside, AIDA / Web , en Amber.

Als je Smalltalk wilt leren, heb je geen gebrek aan opties. In deze gids hebben we de meest populaire moderne Smalltalk-implementaties en -kaders behandeld, maar onze lijst is zeker niet uitputtend.

Als je moeite hebt om een ​​nummer te kiezen, is onze aanbeveling om te beginnen met het leren van Squeak. Het is misschien wel de meest populaire van allemaal, heeft de grootste hoeveelheid beschikbare leermiddelen, en alles wat je leert tijdens het bestuderen van Squeak zal zich gemakkelijk vertalen naar andere Smalltalk-implementaties.

Andere interessante dingen

We hebben meer programmagidsen, tutorials en infographics met betrekking tot codering en algemene ontwikkeling:

  • C ++ Bronnen voor ontwikkelaars: als u liever een nieuwere objectgeoriënteerde taal gebruikt, biedt deze pagina u alle tools die u nodig heeft.
  • D Programming Language Primer: alle objectgeoriënteerde kracht van C ++, maar zonder de nadelen.
  • Simula: geschiedenis, gidsen en bronnen: leer alles over de eerste objectgeoriënteerde taal.

Welke code moet je leren?

Weet u niet zeker in welke programmeertaal u moet leren coderen? Bekijk onze infographic Welke code moet u leren? Het bespreekt niet alleen verschillende aspecten van de talen, het beantwoordt belangrijke vragen zoals: “Hoeveel geld zal ik verdienen met het programmeren van Java voor de kost?”

Welke code moet je leren?
Welke code moet je leren?

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map