Jika anda tidak pernah mendengar tentang Alan Kay, anda sekurang-kurangnya pernah mendengar petikan terkenal beliau. Sebagai contoh, petikan ini dari 1971:
Cara terbaik untuk meramal masa depan ialah menciptanya.
Cara terbaik untuk meramal masa depan ialah menciptanya.
Alan mempunyai kerjaya yang sangat berwarna dalam sains komputer. Dia menerima
Dalam kami
Mengenai pembangunan perisian
Alan Kay percaya bahawa revolusi komputer akan datang (
masalahnya lemah, idea dan alat yang tidak boleh skala, malas, kurang pengetahuan, dsb.
Menggambarkan keadaan ini dengan baik
Apa yang Andy berikan, Bill ambil
Andy memberi, Bill mengambil
Andy Grove, Ketua Pegawai Eksekutif Intel, dan Bill Gates, kemudian Ketua Pegawai Eksekutif Microsoft.
Memperbaik keadaan semasa pembangunan adalah matlamat projek penyelidikan
Dalam laporannya yang membuka mata
Alan menganggap Internet, protokol TCP/IP, penterjemah LISP,
Dia memanggil Internet (TCP/IP) sebagai salah satu daripada beberapa projek perisian berskala besar yang direka dengan betul, dan tahap kerumitannya adalah seimbang dengan tahap kerumitan (komplikasi vs. kerumitan). Dengan kurang daripada 20 baris kod, projek itu beroperasi sebagai sistem yang hidup dan dinamik yang mampu menyokong berbilion-bilion nod, dan tidak pernah pergi ke luar talian sejak pelancaran awalnya pada September 1969. Kami hanya berhenti menganggap Internet sebagai projek perisian biasa yang dibuat oleh orang:
Internet dibangunkan dengan begitu baik sehingga ramai orang menganggapnya sebagai sumber semula jadi, seperti Lautan Pasifik, dan bukannya hasil kerja manusia. Bilakah kali terakhir kita melihat teknologi yang stabil, jelas dan bebas ralat? Sebagai perbandingan, Web adalah karut. Web dicipta oleh amatur.
Mengenai pengaturcaraan berorientasikan objek
Perkara pertama yang menarik minat saya ialah dia
Saya menganggap objek seperti sel biologi, dan/atau komputer individu pada rangkaian yang hanya boleh berkomunikasi melalui mesej.
dan pengalaman dalam matematik:
Pengalaman saya dalam matematik menyedarkan saya bahawa setiap objek boleh mempunyai beberapa algebra, ia boleh digabungkan menjadi keluarga, dan ini boleh menjadi sangat berguna.
Idea untuk pengikatan lewat dan ciri meta berkuasa LISPa:
Fasa kedua ialah memahami LISPa dan menggunakan pemahaman itu untuk mencipta struktur yang lebih mudah, lebih kecil, lebih berkuasa dan mengikat kemudian.
Dan tidak lama kemudian Alan mula menyokong idea bahawa bahasa dinamik adalah
Pengikatan lewat membenarkan idea yang datang kemudian dalam proses pembangunan untuk dimasukkan ke dalam projek dengan usaha yang kurang (berbanding dengan sistem terikat sebelumnya seperti C, C++, Java, dll.)
Dan potensi untuk perubahan dengan cepat dan lelaran yang lebih pantas:
Salah satu idea utama ialah sistem harus terus berfungsi semasa ujian, terutamanya semasa perubahan sedang dibuat. Malah perubahan besar haruslah beransur-ansur dan mengambil masa tidak lebih daripada sepersekian saat.
yang hilang dalam
Jika anda menggunakan bahasa yang mengikat awal, seperti kebanyakan orang, maka anda mengunci diri anda dengan apa yang telah anda tulis. Ia tidak mungkin lagi untuk merumuskannya dengan mudah.
Yang menghairankan, pemikirannya tentang OOP terhad kepada perkara ini:
OOP bagi saya ialah mesej, pegangan dan perlindungan setempat, nyatakan persembunyian dan pengikatan lewat segala-galanya. Ini boleh dilakukan dalam Smalltalk dan dalam LISP.
Dan tiada apa-apa tentang warisan. Ini bukan OOP
Saya harap saya telah lama menggunakan istilah "objek" untuk topik ini kerana ia menyebabkan ramai orang menumpukan pada idea yang kurang.
Idea besar yang kekurangan bahasa OO taip statik moden:
Idea besar ialah "mesej"
Dia percaya dalam memfokuskan pada mesej, gandingan longgar dan interaksi modul dan bukannya pada dalaman objek:
Kunci untuk mencipta sistem berskala yang baik ialah mengusahakan mekanisme komunikasi antara modul, dan tidak menggunakan sifat dan tingkah laku dalaman mereka.
Bahasa yang ditaip secara statik nampaknya
Saya tidak menentang jenis, tetapi saya tidak tahu mana-mana jenis sistem yang tidak menyebabkan kesakitan. Jadi saya masih suka menaip dinamik.
Beberapa bahasa popular hari ini menggunakan idea menghantar mesej Smalltalk, pengikatan lewat, dan
Musnahkan segala-galanya dan cipta sesuatu yang lebih baik
Alan mempunyai teori yang menarik tentang perkembangan sains komputer:
Nampaknya saya hanya ada satu jenis sains komputer, dan sains itu seperti membina jambatan. Seseorang membina jambatan, dan seseorang memusnahkannya dan mencipta teori baharu. Dan kita perlu terus membina jambatan.
Mengenai LISP
Alan Kay percaya Lisp
bahasa pengaturcaraan terbaik sepanjang masa
Dan setiap graduan sains komputer harus mempelajarinya:
Kebanyakan orang yang mengikuti ijazah dalam CS tidak memahami kepentingan Lisp. Lisp adalah idea yang paling penting dalam sains komputer.
Mengenai suasana dan konteks yang betul
Dia sering mengimbas kembali suasana unik di dalam
Sudut pandangan bernilai 80 mata IQ.
Alan Kay berkata:
Kisah ARPA/PARC menunjukkan bagaimana gabungan visi, pembiayaan sederhana, konteks dan proses yang betul boleh melahirkan teknologi baharu secara ajaib yang bukan sahaja memberi kesan kepada tamadun tetapi juga mencipta nilai yang sangat besar untuk masyarakat.
Dan memang benar.
- Pencetak laser
- Pengaturcaraan Berorientasikan Objek / Smalltalk
- Komputer peribadi
- Ethernet / pengkomputeran teragih
- GUI / tetikus komputer / WYSIWYG
Dan dalam
PS
Sumber: www.habr.com