
Alan Kay haqqında heç eşitməmisinizsə, ən azı onun məşhur sitatlarını eşitmisiniz. Məsələn, 1971-ci ildən bu sitat:
Gələcəyi təxmin etməyin ən yaxşı yolu onu icad etməkdir.
Gələcəyi təxmin etməyin ən yaxşı yolu onu icad etməkdir.
Alanın kompüter elmində çox rəngli karyerası var. Aldı и obyekt yönümlü proqramlaşdırma paradiqması üzərində işinə görə. Fərdi kompüterlər və qrafik interfeyslər sahəsində qabaqcıllardan biri idi, inkişaf etdirdi bütün zamanların ilk ən təsirli proqramlaşdırma dillərindən biridir.
Bizim , xüsusən də , “OOP nədir” və “Alan Kay həqiqətən nə demək istəyirdi” sualları daim qaldırılır. Bu yazıda Alandan müasir inkişafın vəziyyəti, OOP və Lisp dili haqqında maraqlı sitatlar var.
Proqram təminatının inkişafı haqqında
Alan Kay hesab edir ki, kompüter inqilabı hələ qarşıdadır () və proqram təminatının inkişafı Mur qanunu ilə tərs mütənasib olaraq inkişaf edir: hardware hər il təkmilləşir, lakin proqram təminatı lazımsız yerə şişirilir:
problem zəif, zəif genişlənən ideya və alətlər, tənbəllik, bilik çatışmazlığı və s.
Bu vəziyyəti yaxşı təsvir edir :
Andy nə verirsə, Bill də götürür
Andy verdi, Bill aldı
Andy Grove, Intel-in baş direktoru və o zaman Microsoft-un baş direktoru Bill Qeyts.
Tədqiqat layihəsinin məqsədi hazırkı inkişafın vəziyyətini yaxşılaşdırmaq idi . Məqsəd “tələb olunan kodun miqdarını 100, 1000, 10000 dəfə və ya daha çox azaltmaqla” ifadəlilikdə “Mur qanunu”na nail olmaqdır.
Göz açan hesabatında Bu mövzu daha ətraflı müzakirə olunur. Alanın fikrincə, proqram mühəndisliyi dayanıb və unudulmuş bir elmə çevrilir, aparat və digər elmlər və mühəndislik fənləri ilə ayaqlaşa bilmir. Böyük layihələr kod zibilliyinə çevrildi və bir nöqtəyə gəldi heç kim 100 milyon sətir MS Vista və ya MS Word kodunu başa düşə bilmir. Amma reallıqda bu cür layihələrdə daha az kod sırası olmalıdır.
Alan İnterneti, protokolları nəzərdən keçirir TCP/IP, LISP tərcüməçiləri, minimal kodlu zərif proqram nümunələri.
O, İnternetə zəng edir (TCP/IP), mürəkkəbliyi mürəkkəblik səviyyəsi ilə balanslaşdırılmış şəkildə düzgün dizayn edilmiş azsaylı irimiqyaslı proqram təminatı layihələrindən biridir. 20 sətirdən az kodlu bu layihə milyardlarla qovşağı dəstəkləyə bilən canlı, dinamik bir sistem kimi fəaliyyət göstərir və 1969-cu ilin sentyabrında ilk dəfə istifadəyə verildiyindən bəri heç vaxt bağlanmayıb. Biz sadəcə İnterneti insanlar tərəfindən yaradılan normal bir proqram təminatı layihəsi hesab etməyi dayandırdıq:
İnternet o qədər inkişaf edib ki, bir çox insanlar ona insan əməyinin məhsulu deyil, Sakit Okean kimi təbii resurs kimi yanaşırlar. Biz axırıncı dəfə belə sabit, aydın, səhvsiz texnologiyanı nə vaxt görmüşük? Müqayisə üçün, İnternet cəfəngiyatdır. Veb həvəskarlar tərəfindən yaradılmışdır.
Obyekt yönümlü proqramlaşdırma haqqında
Məni maraqlandıran ilk şey onun idi OOP görmə. Onun mikrobiologiya sahəsində təcrübəsi mühüm rol oynamışdır:
Mən obyektləri bioloji hüceyrələr və/yaxud yalnız mesajlar vasitəsilə əlaqə saxlaya bilən şəbəkədəki fərdi kompüterlər kimi düşünürdüm.
və riyaziyyat üzrə təcrübə:
Riyaziyyatdakı təcrübəm mənə hər bir obyektin bir neçə cəbri ola biləcəyini, ailələrə birləşdirilə biləcəyini və bu çox faydalı ola biləcəyini başa düşməyə vadar etdi.
LISPanın gec bağlanması və güclü meta-xüsusiyyətləri üçün fikirlər:
İkinci mərhələ LISP-ı başa düşmək və bu anlayışdan daha asan, daha kiçik, daha güclü strukturlar yaratmaq və sonradan bağlamaq üçün istifadə etməkdir.
Və tezliklə Alan dinamik dillərin olması fikrini dəstəkləməyə başladı . Xüsusilə, dəyişiklik asanlığı onun üçün vacibdir:
Gecikmiş bağlama, inkişaf prosesində sonradan gələn fikirləri daha az səylə layihəyə daxil etməyə imkan verir (C, C++, Java və s. kimi əvvəlki bağlı sistemlərlə müqayisədə).
Və tez dəyişikliklər və daha sürətli iterasiya potensialı:
Əsas ideyalardan biri odur ki, sistem sınaq zamanı, xüsusən də dəyişikliklər edilərkən işləməyə davam etməlidir. Hətta böyük dəyişikliklər tədricən olmalı və bir saniyədən çox çəkməməlidir.
hansı ki yoxdur :
Əksər insanlar kimi, erkən məcburi dillərdən istifadə edirsinizsə, o zaman artıq yazdığınız şeylərə özünüzü kilidləyirsiniz. Artıq onu asanlıqla yenidən formalaşdırmaq mümkün olmayacaq.
Təəccüblüdür ki, onun OOP haqqında fikirləri bununla məhdudlaşdı:
Mənim üçün OOP mesajlar, yerli saxlama və qoruma, dövlətin gizlədilməsi və hər şeyin gec bağlanmasıdır. Bu Smalltalk və LISP-də edilə bilər.
Və miras haqqında heç nə. Bu OOP deyil :
Kaş ki, bu mövzu üçün çoxdan “obyekt” ifadəsini işlədəydim, çünki bu, bir çox insanın fikirlərin daha kiçik hissəsinə diqqət yetirməsinə səbəb olur.
Müasir statik tipli OO dillərinin olmaması ilə bağlı böyük fikir:
Böyük ideya "mesajlardır"
O, obyektin daxili hissələrinə deyil, mesajlara, boş birləşmələrə və modul qarşılıqlı təsirlərə diqqət yetirməyə inanır:
Yaxşı miqyaslana bilən sistemlər yaratmağın açarı modullar arasında əlaqə mexanizmlərinin işlənib hazırlanması və onların daxili xassələrinin və davranışlarının işlənməməsidir.
Statik şəkildə yazılmış dillər ona görünür :
Mən tiplərin əleyhinə deyiləm, amma ağrıya səbəb olmayan hər hansı bir tip sistemi bilmirəm. Buna görə də dinamik yazmağı xoşlayıram.
Bu gün bəzi məşhur dillər Smalltalk-ın mesajlarını ötürən fikirlərdən, gec bağlamadan və istifadə edir : в , в и Google-da .
Hər şeyi məhv edin və daha yaxşısını yaradın
Alanın kompüter elminin inkişafı ilə bağlı maraqlı bir nəzəriyyəsi var:
Mənə elə gəlir ki, kompüter elminin yalnız bir növü var və elm körpü qurmaq kimidir. Kimsə körpülər qurur, kimsə onları dağıdıb yeni nəzəriyyələr yaradır. Və biz körpülər tikməyə davam etməliyik.
LISP haqqında
Alan Kay Lispa inanır
bütün zamanların ən yaxşı proqramlaşdırma dili
Və hər bir kompüter elmləri məzunu bunu öyrənməlidir:
CS-də dərəcə alan insanların çoxu Lisp-in əhəmiyyətini başa düşmür. Lisp kompüter elmində ən vacib ideyadır.
Düzgün atmosfer və kontekst haqqında
O, tez-tez unikal atmosferi xatırlayır и , burada “görmə məqsədlərdən daha vacibdir” və “layihələri deyil, insanları maliyyələşdirmək”.
Baxış nöqtəsi 80 IQ balına bərabərdir.
Alan Kay deyir:
ARPA/PARC hekayəsi, görmə, təvazökar maliyyələşdirmə, düzgün kontekst və prosesin birləşməsinin sehrli şəkildə nəinki sivilizasiyaya təsir edən, həm də cəmiyyət üçün böyük dəyər yaradan yeni texnologiyalar yarada biləcəyini nümayiş etdirir.
Və bu doğrudur. , bunların bir çoxu dünyamızın inkişafında çox mühüm rol oynamışdır. Misal üçün:
- Lazer printerlər
- Obyekt yönümlü proqramlaşdırma / Smalltalk
- Fərdi kompüterlər
- Ethernet / paylanmış hesablama
- GUI / kompüter siçanı / WYSIWYG
Və yaratdıq , İnternetin banisi oldu.
PS .
Mənbə: www.habr.com
