Pada pertengahan tahun 1970-an Smith memperkenalkan teknik Pemrograman dengan Contoh dengan program yang disebut Pygmalion, Smith menguraikan hal ini dalam Tonton Apa yang Saya Lakukan: Pemrograman dengan Demonstrasi (Bab 1). Ini menunjukkan kebutuhan untuk mendeskripsikan algoritme melalui contoh-contoh konkret daripada secara abstrak. ‘Pemrograman Berbasis Contoh: pendekatan visual terkait untuk belajar memprogram’ (Guibert et al, 2004) menjelaskan dan memperluas karya Smith dengan contoh yang menunjukkan bagaimana angka gagal mengungkapkan konsep di baliknya. Contohnya adalah representasi numerik dari sebuah segitiga. Representasi ini ‘fregean’ karena tidak menunjukkan konsep segitiga. Di sebelah ini adalah diagram segitiga yang menunjukkan konsepnya. Di sebelahnya adalah diagram segitiga yang menunjukkan konsep, ini disebut representasi ‘analogis’ karena mencakup konteks informasi. Termasuk konteks informasi memungkinkan seseorang untuk menemukan makna atau hubungan dalam informasi yang tidak selalu jelas. (Hanna, 2005) dan (Elliott, 2006) menyediakan antarmuka untuk manipulasi bentuk secara langsung dengan cara analogis ini dengan membuat contoh manipulasi segitiga interaktif menggunakan bahasa pemrograman fungsional Haskell.
Bahasa web semantik memungkinkan konteks informasi untuk direpresentasikan dalam dokumen dan karenanya memungkinkan untuk merepresentasikan informasi dengan cara analogis, serta memungkinkan interaksi dua arah, yang mengarah pada peningkatan dalam penemuan informasi.
Pengembangan antarmuka pengguna visual telah menjadi langkah maju yang besar. Penggunaan metafora bergambar seperti folder untuk mewakili kumpulan file telah sangat membantu interaksi manusia dengan komputer. Metafora bergambar memberikan umpan balik visual sehingga pengguna tahu apa yang dilakukan sistem perangkat lunak. Teknik ini dapat digunakan lebih dinamis dalam simulasi. Simulasi mewakili masalah dunia nyata dan memberikan umpan balik yang konstan kepada pengguna tentang bagaimana sistem berkembang. Dalam pengertian ini, semua perangkat lunak harus dianggap sebagai simulasi. Metafora bergambar bersifat statis, sedangkan model mental pengguna terdiri dari gambaran mental yang dihubungkan bersama oleh seperangkat aturan. Pengguna menjalankan model mental seperti simulasi. Antarmuka pengguna statis mengandalkan pengguna untuk merangkai gambar menjadi model mental yang dengan benar mewakili apa yang dilakukan sistem. Seorang pengguna dapat menghasilkan model mental dalam menanggapi metafora antarmuka pengguna yang tidak konsisten dengan model sistem.
Simulasi dapat membantu memastikan bahwa model perancang, model sistem, dan model pengguna semuanya sama. Subjek ini dieksplorasi di [Crapo et al. 2000 and 2002] dan merupakan dasar dari teknik visualisasi yang digunakan untuk memungkinkan pengguna membuat dan memahami model yang selanjutnya diterjemahkan ke dalam representasi perangkat lunak. Hal ini juga dijelaskan dalam bab satu Watch What I Do: Pemrograman dengan Demonstrasi [Cypher, 1993], menjelaskan bagaimana bahasa Pygmalion mencoba menjembatani kesenjangan antara model mental programmer dari suatu subjek dan apa yang dapat diterima komputer. Penulis sistem ini David Smith melanjutkan untuk mengembangkan ikon berorientasi kantor sebagai bagian dari proyek komputer “Bintang” Xerox.
Penelitian saya berdasarkan ide-ide ini tersedia di http://www.cems.uwe.ac.uk/amrc/seeds/Visualisation.htm
dan contoh saya di http://www.cems.uwe.ac.uk/~phale/InteractiveSVGExamples.htm
Referensi
Smith, DC, 1977. Program Komputer untuk Memodelkan dan Merangsang Pemikiran Kreatif. Basel: Birkhauser.
Smith, DC, 1993. Pygmalion: Papan Tulis Elektronik yang Dapat Dijalankan. Dalam: A. Cypher, ed. Tonton Apa yang Saya Lakukan: Pemrograman dengan Demonstrasi. MIT Press, Bab 1 http://www.acypher.com/wwid/Chapters/01Pygmalion.html – ISBN:0262032139.
Guibert, N., Girard, P., Guittet, L., 2004. Pemrograman Berbasis Contoh: pendekatan visual terkait untuk belajar memprogram. Prosiding konferensi kerja tentang antarmuka visual tingkat lanjut. hlm 358-361 – ISBN:1-58113-867-9.
Hanna, K., 2005. Lingkungan yang berpusat pada dokumen untuk Haskell. Lokakarya Internasional ke-17 tentang Implementasi dan Penerapan Bahasa Fungsional IFL 2005 Dublin, Irlandia – 19-21 September 2005.
Elliott C., – Pemrograman Fungsional dengan Berinteraksi dengan Nilai Berwujud – http://conal.net/papers/Eros – Conal Elliott – 8 April 2006.
Crapo, AW, Waisel, LB, Wallace, WA, Willemain, TR, 2002. Visualisasi dan Pemodelan untuk Sistem Cerdas. Dalam: CT Leondes, ed. Sistem Cerdas: Teknologi dan Aplikasi, Volume I Teknik Implementasi, 2002 hlm 53-85.
Crapo, AW, Waisel, LB, Wallace, WA, Willemain, TR, 2000. Visualisasi dan proses pemodelan: pandangan teoretis-kognitif. Konferensi Penemuan Pengetahuan dalam Data – Prosiding konferensi internasional ACM SIGKDD keenam tentang penemuan Pengetahuan dan penambangan data hal 218-226.
Cypher, A., 1993. Tonton Apa yang Saya Lakukan Pemrograman dengan Demonstrasi. MIT Press, Bab 1 http://www.acypher.com/wwid/Chapters/01Pygmalion.html – ISBN:0262032139.