Mengenal Bahasa Pemprograman Smalltalk Muhamad Burhanudin
[email protected]
Abstrak Smalltalk adalah bahasa pemrograman berorientasi objek yang dikembangkan oleh Xerox PARC. Ide dasar Smalltalk meliputi: Semua adalah objek, Objek bisa saling berkomunikasi melalui messages atau berita dan semua tersedia untuk dimodifikasi. Versi lain dari bahasa ini adalah smalltalk 76 dan smalltalk 80. Refleksi pertama terutama fitur bahasa ditafsirkan seperti Smalltalk dan Lisp. Fakta bahwa pernyataan ditafsirkan berarti bahwa program memiliki akses ke informasi yang dibuat karena mereka diurai dan bisa bahkan sering memodifikasi struktur mereka sendiri.
Kata Kunci: Smalltalk
Pendahuluan Sebagai seorang programmer bahasa smalltalk harus dapat dikuasai untuk menambah wawasan agar menjadi programmer yang handal. Smalltalk adalah sistem struktural reflektif yang strukturnya didefinisikan oleh Smalltalk-80. Kelas-kelas dan metode yang mendefinisikan sistem itu sendiri adalah obyek. Karena kelas itu sendiri objek, mereka dapat pertanyaan seperti bertanya "metode apa yang Anda menerapkan?" atau "apa bidang/slot/instance variabel anda mendefinisikan?". Jadi obyek dengan mudah dapat diperiksa, disalin, serial dan seterusnya dengan kode generik yang berlaku untuk objek apapun dalam sistem. IBM memiliki 'akhir life'd VisualAge Smalltalk memiliki pada akhir tahun 1990 memutuskan untuk kembali dan jawaban itu, seperti tahun 2006, didukung oleh instansi, Inc yang telah berganti nama menjadi produk VA Smalltalk dan
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
baru dirilis beberapa versi. Pelaksanaan menciptakan smalltalk memiliki komunitas aktif pengembang, termasuk banyak dari masyarakat Smalltalk asli, dan baru-baru ini telah digunakan untuk menyediakan lingkungan etos pada proyek OLPC, sebuah tool untuk mengembangkan aplikasi kolaboratif Croquet Proyek, dan aplikasi dunia maya terbuka Cobalt. GNU Smalltalk adalah implementasi perangkat lunak bebas turunan smalltalk-80 dari proyek GNU.
Smalltalk adalah sebuah MIT baru dan bersih
berlisensi. Smalltalk saat ini, adalah meningkatnya penggunaan dua kerangka web, Seaside dan AIDA / Web, untuk menyederhanakan pembangunan aplikasi web yang rumit. Seaside telah melihat minat pasar yang cukup besar dengan Cincom, batu permata, dan instantiations menggabungkan dan memperluas.
Pembahasan Smalltalk adalah object-oriented, dinamis diketik, reflektif pemrograman bahasa. Smalltalk diciptakan sebagai bahasa untuk mendukung "dunia baru" komputerisasi dicontohkan oleh "simbiosis manusia-komputer". Ini dirancang dan diciptakan sebagian untuk pendidikan digunakan, lebih lagi untuk belajar konstruksionis, di Research Group Learning (LRG) dari Xerox PARC oleh Alan Kay, Dan Ingalls, Adele Goldberg, Ted Kaehler, Scott Wallace dan lain-lain selama tahun 1970. Bahasa ini pertama kali umumnya dirilis sebagai Smalltalk-80. Bahasa Smalltalk-seperti berada dalam melanjutkan pembangunan yang aktif, dan telah mengumpulkan komunitas pengguna setia di sekitar mereka. ANSI Smalltalk diratifikasi pada tahun 1998 dan merupakan versi standar Smalltalk.
1. Sejarah Smalltalk adalah produk dari penelitian yang dipimpin oleh Alan Kay di Xerox Palo Alto Research Center (PARC), Alan Kay dirancang sebagian besar awal versi Smalltalk, yang Dan Ingalls dilaksanakan. Versi pertama, yang dikenal sebagai Smalltalk-71, diciptakan oleh Ingalls dia bertaruh bahwa bahasa pemrograman
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
berdasarkan ide pesan yang lewat terinspirasi oleh Simula dapat diterapkan di "halaman kode”. Sebuah varian kemudian benar-benar digunakan untuk pekerjaan penelitian yang sekarang dikenal sebagai Smalltalk-72 dan mempengaruhi perkembangan dari model. Sintaks dan pelaksanaan model yang sangat berbeda dari varian Smalltalk modern. Setelah revisi signifikan yang membeku beberapa aspek eksekusi semantik untuk mendapatkan kinerja (dengan mengadopsi Simula kelas seperti warisan model eksekusi), Smalltalk-76 diciptakan. Smalltalk-80 adalah varian bahasa pertama dibuat tersedia di luar PARC, pertama sebagai Smalltalk-80 Versi 1, diberikan kepada sejumlah kecil perusahaan (HewlettPackard, Apple Computer, Tektronix, dan Desember) dan universitas (UC Berkeley) untuk "peer review" dan implementasi pada platform mereka. Kemudian (pada tahun 1983) implementasi ketersediaan umum, yang dikenal sebagai Smalltalk-80 Versi 2, dirilis sebagai sebuah gambar (file yang platform-independen dengan definisi objek) dan mesin virtual spesifikasi. ANSI Smalltalk telah menjadi referensi bahasa baku sejak tahun 1998. Dua varian implementasi Smalltalk saat ini populer adalah keturunan dari Smalltalk-80. Squeak adalah open source implementasi berasal dari Smalltalk-80 Versi 1 dengan cara Apple Smalltalk. Visual Works berasal dari Smalltalk-80 Versi 2 dengan cara Smalltalk -80 2,5 dan Object Works (baik produk ParcPlace Systems, sebuah perusahaan spin-off Xerox PARC dibentuk untuk membawa Smalltalk ke pasar). Selama akhir 1980-an sampai pertengahan 1990-an, Smalltalk lingkungan-termasuk dukungan, pelatihan dan add-ons yang dijual oleh dua organisasi bersaing: ParcPlace Sistem dan Digital, keduanya berbasis California. ParcPlace Sistem cenderung berfokus pada pasar Unix / Sun Microsystems, sementara Digital difokuskan pada PC berbasis Intel menjalankan Microsoft Windows atau IBM OS / 2. Kedua perusahaan berjuang untuk mengambil Smalltalk utama karena kebutuhan Smalltalk yang sub stansial memori, kinerja run-waktu yang terbatas dan kurangnya awal didukung konektivitas ke SQL server database relasional berbasis. Sementara tingginya harga ParcPlace Smalltalk terbatas penetrasi pasar untuk organisasi komersial menengah dan besar, produk
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Digitalk awalnya mencoba untuk menjangkau khalayak yang lebih luas dengan harga yang lebih rendah. IBM awalnya mendukung produk digital, tapi kemudian memasuki pasar dengan produk Smalltalk pada tahun 1995 disebut VisualAge / Smalltalk. Kudakuda memperkenalkan Enfin saat ini pada Windows dan OS / 2. Enfin menjadi jauh lebih populer di Eropa, seperti IBM memperkenalkan ke toko-toko IT sebelum perkembangan mereka dari IBM Smalltalk (kemudian VisualAge). Enfin kemudian diakuisisi oleh Cincom Sistem, dan sekarang dijual dengan nama Object Studio, dan merupakan bagian dari Cincom Smalltalk produk suite. Pada tahun 1995, ParcPlace dan Digital bergabung menjadi ParcPlace-Digitalk dan kemudian namanya pada tahun 1997 sebagai Object Share, terletak di Irvine, CA. Object Share (NASDAQ:OBJS) diperdagangkan secara publik sampai tahun 1999, ketika delisting dan dibubarkan. Perusahaan gabungan tidak pernah berhasil menemukan tanggapan yang efektif terhadap Java untuk posisi pasar, dan pada tahun 1997 pemiliknya sedang mencari untuk menjual bisnis. Pada tahun 1999, Seagull Software mengakuisisi laboratorium pengembangan Object Share Java (termasuk yang asli Smalltalk dan Visual tim pengembangan Smalltalk), dan masih memiliki VisualSmalltalk, meskipun hak distribusi di seluruh dunia untuk produk Smalltalk tetap dengan ObjectShare yang kemudian menjualnya kepada Cincom. Visual Works dijual ke Cincom dan kini menjadi bagian dari Cincom Smalltalk. Cincom telah didukung Smalltalk kuat, merilis beberapa versi baru VisualWorks dan ObjectStudio setiap tahun sejak tahun 1999.
2. Pemrograman berorientasi objek Seperti dalam bahasa berorientasi objek lainnya, konsep sentral dalam Smalltalk-80 (tetapi tidak dalam Smalltalk-72) adalah bahwa suatu objek . Sebuah objek selalu merupakan contoh dari kelas . Sebagai contoh, sebuah GUI jendela kelas mungkin menyatakan bahwa jendela memiliki sifat seperti label, posisi dan apakah jendela terlihat atau tidak. Kelas mungkin juga menyatakan bahwa kasus mendukung operasi
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
seperti membuka, menutup, bergerak dan bersembunyi. Setiap objek jendela tertentu akan memiliki nilai tersendiri dari properti-properti, dan masing-masing akan mampu untuk melakukan operasi didefinisikan oleh kelasnya. Sebuah objek Smalltalk dapat melakukan persis tiga hal: 1.
Tahan negara (referensi ke objek lain).
2.
Menerima pesan dari dirinya sendiri atau obyek lain.
3.
Dalam perjalanan pengolahan pesan, mengirim pesan untuk dirinya sendiri atau
obyek lain. Alan Kay telah berkomentar bahwa meskipun perhatian yang diberikan kepada objek, pesan adalah konsep yang paling penting dalam Smalltalk: "Ide besar adalah 'pesan' itulah inti Smalltalk / Squeak adalah semua tentang (dan itu adalah sesuatu yang tidak pernah cukup diselesaikan dalam fase Xerox PARC kami)”. Di Smalltalk, nilai-nilai primitif seperti integer, boolean dan karakter benda, dalam arti bahwa mereka adalah contoh dari kelas yang sesuai, dan operasi pada mereka dipanggil dengan mengirimkan pesan. Seorang pemrogram dapat mengubah atau
memperpanjang
(melalui sub
classing ) kelas yang mengimplementasikan nilai-nilai primitif, sehingga perilaku baru dapat didefinisikan untuk kasus, misalnya untuk menerapkan struktur baru-atau kontrol bahkan sehingga perilaku mereka yang ada akan berubah. Fakta ini diringkas dalam frase umum terdengar "Dalam Smalltalk segala sesuatu adalah obyek", yang mungkin lebih akurat dinyatakan sebagai "semua nilai adalah objek", sebagai variabel tidak. Karena semua nilai adalah objek, kelas sendiri juga obyek. Setiap kelas adalah turunan dari metaclass kelas itu.Metaclasses pada gilirannya juga obyek, dan semua contoh kelas yang disebut Metaclass. Kode blok juga obyek.
3. Sintaks Smalltalk-80 sintaks agak minimalis, berdasarkan hanya segelintir deklarasi dan katakata reserved. Bahkan, hanya enam "kata kunci" yang disediakan di Smalltalk : benar , palsu , nihil , dan this Context . Ini benar-benar disebut pseudo-variabel , identifier
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
yang mengikuti aturan untuk identifier variabel tetapi menunjukkan binding bahwa programmer tidak dapat berubah. Daya Smalltalk berasal dari perlakuan terhadap objek. Dalam dokumen ini, kami telah sebagian besar menghindari masalah sintaks dengan menggunakan ekspresi ketat kurung yang diperlukan. Ketika hal ini mengarah ke kode yang sulit untuk dibaca karena kepadatan kurung, pengetahuan tentang sintaks Smalltalk dapat membiarkan Anda menyederhanakan ekspresi.
Presentasi berikut
menyajikan tata bahasa beberapa unsur terkait pada suatu waktu. Kami menggunakan gaya EBNF tata bahasa. Bentuknya: [...] berarti bahwa " ... "dapat terjadi nol atau satu kali. [...] * berarti nol atau lebih; [...] + berarti satu atau lebih. ... | ... [| ...] * berarti bahwa salah satu varian harus dipilih. Karakter dalam tanda kutip ganda mengacu pada karakter literal. Sebagian besar elemen dapat dipisahkan dengan spasi; di mana hal ini tidak sah, unsur disajikan tanpa spasi di antara mereka. metode: "!" id ["kelas"] "methodsFor:" "" "" string ["!" metode] Metode diperkenalkan dengan terlebih dahulu penamaan kelas (elemen id), menentukan "kelas" jika Anda menambahkan metode kelas bukan metode instan, dan mengirim argumen string ke methodsFor: pesan. Setiap metode diakhiri dengan "!"; dua poni berturut-turut (dengan ruang di tengah) menandakan akhir dari metode baru. Metode: Pesan [pragma] [temps] exprs pesan: id | binsel id | [keysel id] + pragma: "<" keymsg ">" temps: "|" [id] * "|"
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Definisi metode dimulai dengan semacam template. Pesan untuk ditangani ditentukan dengan nama pesan terbilang dan pengenal di tempat argumen. Khusus jenis definisi adalah pragma tersebut; belum tercakup dalam tutorial ini dan menyediakan cara untuk menandai sebuah metode khusus serta antarmuka untuk yang mendasari mesin virtual Smalltalk. temps adalah deklarasi variabel lokal. Akhirnya, exprs (segera dibahas) adalah kode aktual untuk menerapkan metode ini. Unit: id | literal | blok | arrayconstructor | "(" expr ")" unaryexpr: Unit [id] + utama: unit | unaryexpr Ini adalah "blok bangunan" dari ekspresi Smalltalk. Unit A merupakan nilai Smalltalk tunggal, dengan prioritas tertinggi sintaksis. Sebuah unaryexpr hanyalah sebuah unit yang menerima sejumlah pesan unary. Sebuah unaryexpr mempunyai prioritas tertinggi berikutnya. Sebuah primer hanyalah sebuah nama kiri-sisi nyaman untuk salah satu di atas. exprs: ["." expr] * [["^"] expr] expr: [id ": ="] * expr2 expr2: primer | msgexpr [";" cascade] * Sebuah urutan ekspresi yang dipisahkan oleh titik dan dapat berakhir dengan nilai yang dikembalikan ( ^ ). Ada dapat tugas utama; tidak seperti C, tugas hanya berlaku untuk nama variabel sederhana. Sebuah ekspresi adalah baik primer (dengan prioritas tertinggi) atau pesan yang lebih kompleks. cascade tidak berlaku untuk konstruksi utama, karena mereka terlalu sederhana untuk meminta konstruk. Karena semua konstruk utama adalah unary, Anda hanya dapat menambahkan pesan lebih unary: 1234 printNl printNl printNl
msgexpr: unaryexpr | binexpr | keyexpr Sebuah pesan yang kompleks adalah salah satu pesan unary (yang kita sudah dibahas), pesan biner ( + , - , dan sebagainya), atau pesan kunci ( pada: , new:, ... ) Unary
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
mempunyai prioritas tertinggi, diikuti oleh pesan biner, dan kata kunci memiliki prioritas terendah. Memeriksa dua versi dari pesan berikut. Yang kedua telah telah kurung ditambahkan untuk menunjukkan didahulukan default. MyVar: 2 + 3 put: 4 mybool ifTrue: [^ 2/4 roundup]
(Myvar pada: (2 + 3) menempatkan: (4)) (Mybool ifTrue: ([^ (2 / (4 roundup))]))
cascade: id | binmsg | keymsg Sebuah kaskade digunakan untuk mengarahkan pesan lebih lanjut untuk objek yang sama yang terakhir digunakan. Ketiga jenis pesan (id adalah bagaimana Anda mengirim pesan unary) sehingga dapat dikirim. binexpr: binmsg primer [binmsg] * binmsg: binsel primer binsel: binchar [binchar] Sebuah pesan biner dikirim ke obyek, yang utama telah diidentifikasi. Setiap pesan biner adalah pemilih biner, dibangun dari satu atau dua karakter, dan argumen yang juga disediakan oleh primer. 1 + 2 - 3/4 yang mem-parsing sebagai: (((1 + 2) - 3) / 4)
keyexpr: keyexpr2 keymsg keyexpr2: binexpr | primer keymsg: [keysel keyw2] + keysel: id ":"
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Ekspresi kata kunci yang mirip ekspresi biner, kecuali bahwa pemilih terdiri dari pengidentifikasi dengan usus ditambahkan. Dimana argumen untuk fungsi biner hanya dapat dari sekolah dasar, argumen untuk kata kunci dapat menjadi ekspresi biner atau yang utama. Hal ini karena kata kunci memiliki prioritas terendah. block: "[" [[":" id] * "|"] [temps] exprs "]" Sebuah blok kode adalah tanda kurung di sekitar koleksi ekspresi Smalltalk. Terkemuka ": id" bagian adalah untuk blok argumen. Perhatikan bahwa adalah mungkin untuk satu blok untuk memiliki variabel sementara sendiri. arrayconstructor: "{" exprs "}" Tidak tercakup dalam tutorial ini, sintaks ini memungkinkan untuk membuat array yang nilai-nilainya tidak literal, tetapi bukan dievaluasi pada saat run-time.Bandingkan # (ab) , yang menghasilkan sebuah Array dari dua simbol # a dan # b , dengan {a. b + c} yang menghasilkan sebuah Array yang dua elemen adalah isi dari variabel a dan hasil dari penjumlahan c untuk b . literal: Nomor | String | charconst | symconst | arrayconst | mengikat | eval arrayconst: "#" array | "#" bytearray bytearray: "[" [jumlah] * "]" array: "(" [literal | berbagai | bytearray | arraysym |] * ")" Nomor: [[menggali] + "r"] ["-"] [alphanum] + ["." [alphanum] +] [exp ["-"] [menggali] +]. String: "'" [Char] * "'" charconst: "$" char symconst: "#" simbol | "#" string arraysym: [id | ":"] * exp: "d" | "e" | "q" | "s" Kami telah menunjukkan penggunaan banyak konstanta ini. Meskipun tidak dibahas dalam tutorial ini, nomor dapat memiliki dasar yang ditentukan di depan mereka, dan
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
mengikuti notasi ilmiah. Kita telah melihat contoh-contoh karakter string, dan konstanta simbol. Konstanta Array cukup sederhana; mereka akan terlihat seperti: a: = # (1 2 'Hi' $ x Hello 4 16r3F #) Ada juga konstanta ByteArray, yang unsur-unsurnya dibatasi untuk bilangan bulat antara 0 dan 255; mereka akan terlihat seperti: a: = # [1 2 34 16r8F 26r3H 253] Akhirnya, ada tiga jenis konstanta floating-point dengan berbagai presisi (yang satu dengan e menjadi kurang tepat, diikuti oleh d dan q ), dan konstanta skala-desimal untuk kelas khusus yang melakukan perhitungan yang tepat tetapi memotong perbandingan dengan mengingat jumlah desimal. Misalnya, 1.23s4berarti "nilai 1,23 , dengan empat angka desimal yang signifikan ". mengikat: "# {" ["." id] * id "}" Sintaks ini belum digunakan dalam tutorial, dan hasil dalam literal Association (dikenal sebagai variabel mengikat ) terikat pada kelas yang diberi nama antara kawat gigi. Sebagai contoh, # {} Kelas nilai sama dengan Kelas . Dot sintaks diperlukan untuk mendukung ruang nama: # {} Smalltalk.Classadalah sama dengan Smalltalk associationAt: # Kelas , tetapi diselesaikan pada waktu kompilasi daripada pada saat run-time. simbol: id | binsel | keysel [keysel] * Simbol sebagian besar digunakan untuk mewakili nama-nama metode. Dengan demikian, mereka dapat menahan pengidentifikasi sederhana, penyeleksi biner, dan penyeleksi kata kunci: # Halo #+ # Di: menempatkan:
eval: "#" "#" "(" [temps] exprs ")"
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Sintaks ini juga belum digunakan dalam tutorial, dan hasil dalam mengevaluasi ekspresi sewenang-wenang kompleks pada saat kompilasi, dan mengganti hasilnya: misalnya # # (ukuran allInstances Object) adalah jumlah kasus Object diadakan di gambar di waktu metode dikompilasi . id: letter [surat | dig] * binchar: "+" | "-" | "*" | "/" | "~" | "|" | "," | "<" | ">" | "=" | "&" | "'' |"? "|" \ "|"% " alphanum: "0" .. "9" | "A" .. "Z" menggali: "0" .. "9" Ini adalah kategori karakter dan bagaimana mereka digabungkan pada tingkat yang paling dasar. binchar hanya menampilkan karakter yang dapat dikombinasikan untuk nama pesan biner.
Penutup Sekian penjelasan singkat mengenai bahasa pemprograman smalltalk. Semoga dapat bermanfaat dan semoga dapat menambah wawasan bagi kita semua.
Referensi http://www.gnu.org/software/smalltalk/manual/html_node/The-syntax.html http://id.wikipedia.org/wiki/smalltalk http://fourseasonnews.blogspot.com/2012/01/penjelasan-tentang-bahasa pemrograman_7745.html
Biografi Nama : Muhamad Burhanudin Alamat : Jl.Ahmad Yani Kp.Ciawi-Pisangan Jaya kab.Tangerang Hobby : Bermain Game Online
Lisensi Dokumen: Copyright © 2008-2014 ilmuti.org Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org