Кіріспе
Компьютерлік бағдарламалауда Yoix – жоғары деңгейдегі, жалпы мақсаттағы, интерпретацияланатын, объектіге негізделген, динамикалық бағдарламалау тілі. Yoix интерпретаторы стандартты Java технологиясын пайдаланып, қосымша пакеттерсіз іске асырылады және жұмыс істеу үшін Sun стандартына сай JVM қажет. Бастапқыда AT&T Labs зерттеушілері ішкі қолдану үшін әзірлеген, ол 2000 жылдың соңынан бері тегін және ашық кодты бағдарламалық жасақтама ретінде қолжетімді.
Тарих
1998 жылы Java технологиясы әлі дамып келе жатқан еді: Swing құралдар жиынтығы қосымша пакет ретінде келді; үзіліске ұшырау мүмкіндігі бар I/O, тұрақты өрнектер және printf мүмкіндігі әлі енгізілмеген еді, сондай-ақ Java Web Start та әзірленбеген. Одан әрі, Java сценарий тілдері сол кезде көбінесе болған жоқ: Groovy және JRuby әлі ойлап табылмаған, ал Jython 1997 жылдың соңында ғана құрылған еді. 1998 жылғы браузерлердің мүмкіндіктері шектеулі болды, 8 сағаттық жұмыс кестесінде өндірісте пайдалану үшін тым тұрақсыз еді және әлі де Браузерлер соғысында күресіп жатты. Осы ортада Yoix технологиясы AT&T компаниясында әзірленіп жатқан, атап айтқанда, оның Global Fraud Management System (Global Fraud Management System) жүйесі үшін сенімді, оңай таратылатын және күтілетін GUI интерфейсіне зәрулік туындағандықтан құрылды. Бұл жүйе бүгінгі күнге дейін AT&T-нің кеңейіп келе жатқан желілеріндегі (сымды, сымсыз және IP) дауыс трафигіне қатысты алаяқтық қызметті бақылап, қадағалайды. Yoix технологиясы алғаш рет 2000 жылдың соңында Open Source Initiative Common Public License V1.0 аясында жарияланды. Yoix атауының пайда болуына түлкі аулау кезінде иттерді қолдау үшін айтылатын сөздер, ix-ке аяқталатын таныс төрт әріпті атаумен сәйкестіру және Google іздеуінде қате нәтижелерден сақтану ниеті себеп болды.
Шолу
Yoix технологиясы AT&T Labs зерттеушілері жасаған жалпы мақсаттағы динамикалық бағдарламалау тілінің таза Java бағдарламалау тіліндегі іске асырылуын ұсынады. Оның синтаксисі мен грамматикасы C және Java бағдарламалау тілдерін білетін адамдарға оңай үйренілуі тиіс. Қолданушы үшін Yoix қолданбасы Java қолданбасынан ешқандай айырмашылығы жоқ, бірақ Yoix әзірлеушіге Java тілінде тікелей жұмыс істеуге қарағанда оңайрақ кодтау мүмкіндігін береді, дәл Perl кодын жазу C кодын жазудан қарапайым болғандай.
Ерекшеліктері
Yoix тілі объектіге бағытталған тіл емес, бірақ стандартты Java сыныптарының көп бөлігіне қол жеткізуді қамтамасыз ететін 165-тен астам нысан түрлерін пайдаланады. Yoix интерпретаторы толығымен Java технологиясын қолданып құрылғандықтан, Yoix қолданбалары платформадан тәуелсіз, графикалық интерфейске ие және желілік және жіптік ортаға да үйлесімді. Алайда, Yoix әзірлеушілері Java-да осы функционалдықты тікелей кодтаудың күрделі және қателерге бейім бөліктерінен қорғалған сезінеді. Yoix Java функционалдығына қол жеткізу үшін рефлексияны қолданбайды, сондықтан бұл функционалдыққа қол жеткізуді жеңілдетіп қана қоймай, Java-дағы қателер мен күрделі мүмкіндіктерді бір рет, арт жағында кодтау арқылы қолданбаның сенімділігін де арттырады. Yoix тілі қауіпсіз көрсеткіштер, адрестеу, жариялаулар, жаһандық және жергілікті айнымалыларды қамтиды. Түпкі пайдаланушы функцияларын қолдаумен қатар, пайдаланушылар Java-да жазылған өздерінің кіріктірілген функцияларын да қоса алады.
Дизайн
Yoix дизайнының екі маңызды элементі PostScript тілінен алынған: тіл құралымдары ретінде сөздіктер және ашық жүйе құралымдары ретінде рұқсаттармен қорғалған сөздіктер. Tcl тілі мен оның ашықтық философиясына да назар аудару керек, бірақ оның тікелей әсері болған жоқ. Yoix дизайнының тағы бір маңызды элементі – көрсеткіштер және адрестеу. Yoix тіліндегі көрсеткіштер мен көрсеткіш арифметикасы C тіліндегі сияқты, бірақ Yoix жүйесі көрсеткішті шегінен тыс пайдалануға жол бермейді. Сонымен қатар, адрестік оператор әрқашан қолдануға жарамды нәтиже береді. Жалпы алғанда, Yoix дизайны C және Java тілдерінде тәжірибесі бар бағдарламашыларға тілді оңай үйренуге мүмкіндік беруді мақсат етті.
Қолданбалар
Yoix дистрибутиві Yoix Web Application Instant Template (YWAIT) құрамын қамтиды, ол Yoix веб-қосымшасын құруға арналған бағдарламалық құралдар жиынтығы. Yoix веб-қосымшасы веб-серверде орналасады және клиенттік машиналардағы Yoix интерпретаторларымен орындалу кезінде қажеттілікке қарай бөлік-бөлікпен жүктеледі. Бұл модель, веб-браузерлердің веб-сайтты орындалу кезінде қажеттілікке қарай бөлік-бөлікпен жүктеуімен салыстырылатын клиенттік модельге ұқсас, қосымшаларды оңай және тиімді таратуға және күтіп-ұстауға мүмкіндік береді, сондай-ақ барлық жерде қолжетімді веб-серверге және Yoix интерпретаторына ғана сүйенеді. YWAIT фреймворкін пайдаланып веб-қосымша жасау үшін Linux немесе Mac OS X сияқты көптеген қазіргі заманғы операциялық жүйелерде, немесе U/Win сияқты қосымша пакеттермен Microsoft Windows жүйесінде қолжетімді бірнеше стандартты Unix құралдары қажет. YWAIT негізіндегі қосымшаның клиенттік бөлігі тек Yoix интерпретаторына сүйенеді, сондықтан ол платформаға тәуелсіз және Java қайда жұмыс істейтін болса, онда жұмыс істейді. Yoix бағдарламалық жасақтаманы әзірлеу философиясы нәрсені қарапайым ұстауға бағытталған, көптеген кіріктірілген мамандандырылған тілдерге деген кең таралған бейімділіктен бас тартып, YWAIT фреймворкі қарапайым және логикалық дереккөз ағашы иерархиясында оңай, кезеңдемелі экранды әзірлеуге мүмкіндік береді, сондықтан Yoix веб-қосымшасын әзірлеу негізгі нәрселерге дейін тоғытылады: командалық қабықша және мәтін редакторы. IDE жақтастары бұл жаңалыққа таңқалуы мүмкін, бірақ бағдарламалық жасақтаманы әзірлеуге арналған "Small Is Beautiful" тәсілі AT&T компаниясында тәжірибеде өте тиімді болды.
Деректерді визуализациялау
GUI қолданбаларын құру құралы болғаннан бөлек, Yoix технологиясы деректерді визуализациялаудың бірнеше тәсілін қолдайды.
Деректер қазу
YDAT (Yoix Data Analysis Tool) деп аталатын деректерді визуализациялау модулі 2.1.2 нұсқасынан бастап Yoix-тың жалпы қолданысқа арналған дистрибуциясына қосылды. YDAT деректерді басқару компонентін пайдаланып, бірнеше визуализация компоненттері арасындағы деректерді көрсету және сүзгілеуді үйлестіреді, оларға оқиғалар графигі, график салу тақтасы, гистограмма сүзгілері және кестелік мәліметтер жатады. YDAT GraphViz графигін салу және орналастыру құралы арқылы жасалған графиктерді көрсетуге қабілетті, бұл AT&T Labs-тен тегін қолжетімді тағы бір ашық кодты құрал. YDAT Yoix тілі деңгейінде кеңейтілген конфигурациялау мүмкіндігіне ие. Төмендегі сурет – автомобиль аукциондық мәмілелерді талдау үшін қолданылып жатқан Yoix YDAT-тың скриншоты.
Графиктік сызба
Yoix технологиясы графиктерді салуды жақсы қолдайды. YDAT модулінің құрамында бұрын айтылған графиктерді көрсетуден өзге, Yoix тіліндегі дерек түрлері график құрылымдарын жасауға, өңдеуге және олар бойынша жүруге мүмкіндік береді. Yoix-тің кіріктірілген функциялары DOT тілі форматына шығаруды және GraphViz макет жүйелерімен өзара іс-қимылды жеңілдету үшін DOT тілінің анализаторын қолдайды.
Деректерді ұяшықтарда ұйымдастыру
YChart деректерді визуализациялау құралы Yoix дистрибутивіне 2.2.0 нұсқасымен қосылды. YChart деректер ұяшықтарын ұйымдастырып, көрсетуге мүмкіндік береді. Yoix дистрибутивіндегі екі интерактивті YChart қолданбасы – элементтердің периодтық кестесі және Юникод кестесі. YChart-ты өзгермелі ені бар ұяшықтармен пайдалануды, мысалы, кестеде кездесетіндей, көрсетуге арналған бағдарлама да Yoix дистрибутивінде қолжетімді.
Интерактивті 2D графикалық
Yoix дистрибутивіне сондай-ақ Byzgraf деп аталатын Yoix пакеті кіреді, ол сызықтық графиктер, гистограммалар және статистикалық қорапша тәрізді графиктер сияқты қарапайым деректерді визуализациялауға арналған.
Шектеулері мен басты назар
Қазіргі уақытта іске асырылған Yoix тілі түсіндіріледі, яғни, мысалы, ол есептеулерге көп күш жұмсалатын қолданбалар үшін тиімді таңдау болмауы мүмкін, егер осы есептеулерді Java модульінің кеңейтімінде кодтамаса. Сол сияқты, тым көп циклдарды пайдалану да осы түсіндірілген тілдің шектеулерін көрсетеді. Тілдің негізгі мақсаты – интерактивті дербес немесе клиент-серверлік GUI және деректерді визуализациялауға арналған қосымшалар.
Лицензиялау
Yoix технологиясы – Ашық бастамалар қорының (Open Source Initiative) жалпыға ортақ лицензиясымен лицензияланған тегін бағдарламалық қамтамасы. Yoix – At&T Inc компаниясының тіркелген тауар таңбасы.