Java, C++, Prolog, Lisp...
Ами някой от Вас занимавал ли се е с TCL и TK?
Аз съм имал това удоволствие и наскоро имах идеята да предложа вместо Lisp да се изучава TCL, все пак и двете са листово ориентирани, а TCL е с една идея по-съвременен език, поддържа ООП до известна степен и все още има кой да го развива. И е мултиплатформен!
Личното ми мнение е, че всъщност нито лисп, ито пролог, нито tcl и tk трябва да се изучават в университета. AI-то си е AI, но факта, че AI-то е проходило с лисп и пролог значи ли, че трябва вено да следваме тези езици?
И като отворих темата за TCL/TK, нека ви опиша една сравнително мощна платформа за GUI приложения, базирана на TCL/TK.
Системата е трислойна и изцяло базирана на плъгини.
СУБД прокси слоят стандартно поддържа една независима от архитектурата БД, която обаче дава трагична производителност при повече от 10000 записа в една таблица. Ако има ентусиасти, всеки може да си напише един чист TCL плъгин и да портне API-то за връзка към БД за която и да е друга СУБД.
Трите слоя могат да работят както на три отделни машини, така и на една и са възможни всичките 4 комбинации от слоеве/компютри. Когато се работи на една машина не е задължително да се пуска какъвто и да било сървър.
GUI-то също е базирано на плъгини като всеки плъгин преставлява една отделна TCL/TK програма. Всеки плъгин може да има собствени под-плъгини и по този начин се образува едно дърво, с корен началната програма, която се явява пак плъгин, на който му е указано да се стартира автоматично. Всички плъгини заедно образуват менюто на програмата, което улеснява значително както внедряването и редакция на плъгини, така и крайния потребител, който само възкликва: "Я, имам нов ред в менюто!".
Сървърът изпълнява заявки към СУБД-то, както и всички останали дефинирани API команди за работа на приложението( основната идея е, че клиентът трябва да е възможно най-тънък ).
Платформата освен всичко останало е и многоезична по рождение, поддържа отделни скинове за клента и сървъра и освен това е с вграден version control, т.е. ако нещо в новата версия на платформата или някой плъгин не сработва като хората, можем да преминем към стария плъгин или изобщо към старата платформа "с две щраквания на мишката" ( с редакцията на два реда от конфигурационните файлове ).
Архитектурата не зависи от никакви външни характеристики, така че навсякъде, където има TCL/TK виртуална машина могат да работят приложения за платформата ( или по-скоро плъгини за нея ).
Цялата платформа е много лека, естествено като за TCL е листово ориентирана и се побира на една дискета от най-старите формати 5.25 инча със 180KB памет.
Естествено, че на фона на новите горещи технологии, подобни "смешни" системи нямам бъдеще, но идеята беше да опиша колко мощни и ефективни неща могат да се постигнат с TCL и TK, в сравнение с лисп и пролог.
А ние какво учим с лисп и пролог? С две думи - пълни глупости!
А с TCL се пишат IRC ботове, има директно вградени SMTP, POP3, HTTP и други сървъри, които се управляват с по няколко реда, поддържа CGI...
А лисп какво може? А пролог?
Ако някой знае, нека даде конкретен пример за нещо по-голямо ( и за предпочитане безплатно ), което да покаже способностите на лисп или пролог! Ще съм му благодарен!