Кіріспе

Helix – 1983 жылы Apple Macintosh платформасы үшін жасалған деректерді басқару жүйесі. Helix қолданбаларына логика қосу үшін графикалық "бағдарламалау тілін" пайдаланады, бұл бағдарламалау білімі жоқ адамдарға да күрделі қолданбаларды құруға мүмкіндік береді. Helix – кез келген дербес компьютер платформасындағы алғашқы көп пайдаланушылы деректер базасы, алғашқы объектіге негізделген, визуальды бағдарламалау құралы және дербес компьютер платформасындағы алғашқы реляциялық деректер базасы.

Тарих

1983 жылы Northbrook, IL қаласындағы Odesta Corporation компаниясы Macintosh платформасында құраған Helix, 1984 жылдың соңында тұңғыш рет жарық көргенде үлкен жақсы пікірлерге ие болды. Сол кезде Mac компьютерлерде тек 440 кБ дискеттер қолданылатын. Пайдаланушылар Helix бағдарламасын бастапқыда дискеттен іске қосатын, ал операциялық жүйе «жүйелік дискетте» орналасқан болатын. Бұл конфигурацияда қосымшалар мен деректерге арналған орын өте шектеулі болды. Пайдаланушылар нақты қолдану үшін екінші дискет қосатыны болжалды, біреуінде операциялық жүйе мен Helix, екіншісінде деректер сақталды. Бастапқы шектеулеріне қарамастан, Helix – қуатты реляциялық деректер базасы еді. 1986 жылдың мамыр айында Odesta Double Helix бағдарламасын шығарды. Жаңа мүмкіндіктер жиынтығы арнайы мәзірлер мен мәзір жолақтарын құруға мүмкіндік берді, нәтижесінде «тұрақты» қосымшалар пайда болды. Алғашқы Helix бағдарламасы Helix ортасында жұмыс істейтін қосымшаларды шығарды. Бағдарламалық жасақтамалардың кең жиынтығының бір бөлігі ретінде шығарылған Helix жиынтығына RunTime Helix деп аталатын жеке орындалу ортасы кірді, ол пайдаланушыларға толық нұсқасы орнатылмаған Double Helix бағдарламаларын іске қосуға, сондай-ақ клиент-сервер режимінде жұмыс істейтін MultiUser Helix бағдарламасын пайдалануға мүмкіндік берді. Helix өнімдерінің жаңартылуы 1980 жылдары үздіксіз жүргізілді, бірақ компания VAX базалық деректер базасының үстінде негізгі Helix дамыту жүйесін іске қосатын Remote Helix деп аталатын нұсқаны жасауға көп уақыт пен қаржы жұмсады. Бұл идея «үлкен машиналар» жүйелерінде Mac сияқты тәжірибе ұсыну болды, бұл 1990 жылдардың басында кең таралған тақырып еді. Компания деректерді талдау үшін GeoQuery және Data Desk сияқты бірқатар құралдарды да шығарды. Бірақ көп ұзамай VAX танымалдылығы төмендеді және бұл өнім үлкен жетістікке жете алмады. 1992 жылы Odesta компаниясы бөлініп, алғашқы Helix бағдарламалары жеке компанияға бөлінді. Double Helix Helix Technologies компаниясында Helix Express ретінде қайта пайда болды, ол «қолдануға оңай» бағдарламаға қарағанда өнімділігі жоғары екендігін көрсетті. Бас компания басқа, бірақ қымбат сот процесіне қатысты, ал Helix бағдарламасы құлдырап қалды. 1998 жылы Helix Technologies компаниясын Сан-Диегодағы жад сатушы The Chip Merchant сатып алды, ол 2000 жылы үлкен жаңарту шығарды, Helix Client/Server бағдарламасына TCP/IP мүмкіндіктерін қосып, өнімнің барлық желісінің жұмысын айтарлықтай жақсартты. Бірақ жад бағасының төмендеуі мен экономиканың құлдырауы 2002 жылы The Chip Merchant компаниясын банкротқа ұшыратып, Helix бағдарламасын заңдық беймәлімдікке түсірді. 2004 жылы оны күнделікті операцияларды басқаратын екі адам, Гил Нумерофф пен Мэтт Стрэндж, аты белгісіз бизнесменнің және ұзақ жылдар бойы Helix бағдарламасын пайдаланған адамның қаржылық қолдауымен сатып алып, жаңа компания құрды: QSA ToolWorks. QSA Helix бағдарламасын жасаушылардың бірі Ларри Аткинді Helix командасына қайта шақырды, кейіннен MultiUser Helix бағдарламасының бастапқы архитекторы Стив Кейзерді қайта шақырды. Helix Recovery Team деп аталған жаңа басқару және бағдарламалау тобы Mac OS X жүйесінде жергілікті түрде жұмыс істеуге арналған Classic Helix бағдарламаларын қайта жазуды бастады. OS X Helix Server және үш жергілікті диагностикалық және техникалық қызмет көрсету құралы 2005 жылдың желтоқсанында жарық көрді. Бір айдан кейін Apple компаниясы PowerPC процессорларынан Intel процессорларына ауысқан алғашқы өнімдерін жариялады, бұл QSA компаниясын «бағытын өзгертуге» және кодты Universal Binary форматына түрлендіру процесін бастауға мәжбүр етті. Бұл CodeWarrior IDE ортасынан Xcode ортасына көшуге әкелді, содан кейін олар үш «тұтынушыға арналған» өнімдерінің Intel процессорларында жұмыс істейтін нұсқаларын шығарды. Алғашқы нұсқалары («Көрнекі нұсқалары» деп аталды) толық емес және тұрақсыз болды, бірақ жиі жаңартулар (2008 жылы бес рет) осы мәселелерді шешті. 2009 және 2010 жылдары тағы тоғыз жаңарту функция жиынтығын аяқтауға, қалған қателерді жоюға және өнімділікті жақсартуға бағытталды. Сонымен қатар, QSA Helix IDE («Helix RADE» деп аталды) бағдарламасын OS X жүйесіне енгізу бойынша жұмыс бастады. 2009 жылдың желтоқсанында жарияланған жобаның коды «Еуропа» деп аталды, бұл 2010 жылғы фильмге сілтеме ретінде берілді. 2011 жылдың маусым айында QSA OS X жүйесіне көшірілген, бірақ барлық мүмкіндіктері енгізілмеген «Алдын ала шығарылымдар» нұсқаларын жіберуге кірісті. Құралды көшіру 2013 жылдың маусым айында аяқталды. 2022 жылдың қыркүйегінде QSA Toolworks Helix бағдарламалық қамтамасыз ету отбасын Нью-Мексико штатындағы Big Giant Donut Inc. компаниясына сатты, бұл компания бірнеше өндірістік және технологиялық компанияларда Helix бағдарламасына негізделген шешімдерді енгізді. Ларри Аткин мен Стив Кейзер Big Giant Donut компаниясына қосылып, Helix бағдарламасының идеяларына негізделген «Донат» деп аталатын жаңа бағдарламалық платформаны жасауға кірісті. Донат бағдарламасы қазіргі 64 биттік аппараттық құралдарда жұмыс істеуге және клиенттік бағдарламаларды браузерде іске қосуға арналған. Осы жұмыстарды жүргізу барысында Big Giant Donut компаниясы Helix бағдарламасының соңғы нұсқаларын өз веб-сайтынан тегін жүктеуге мүмкіндік берді.

Сипаттама

Helix жобасы Helix RADE (яғни "Жылдам қолданбаны дамыту ортасы") жасаған "жинақ" ретінде белгілі, ол "құжат" болып табылады. Ол жүйеде Macintosh Finder-ге ұқсас "жалған жұмыс үстелі" түрінде ұсынылады. Жинақта мыңдаған жеке деректер базасы (қарым-қатынастар немесе кестелер деп те аталады) болуы мүмкін. Helix қолданбалары бір уақытта тек бір жинақты ғана аша алады. Дегенмен, лицензияларды сатып алу арқылы бірнеше жинақтарға бір мезгілде қол жеткізуге болады, бұл көбінесе қол жетімді жад көлемімен шектеледі. Жинақты ашу нәтижесінде жоба терезесі ашылады, оның екі негізгі бөлігі толығымен бірегей GUI нысандар жиынтығымен басқарылады. Сол жақта жаңа нысандарды жасауға арналған бірнеше белгішелік ұялар орналасқан, ал оң жақтағы (жинақ терезесі деп аталатын) жылдамдырылатын терезе пайдаланушы жасаған нысандарды көрсетеді. Жаңа нысандарды жасау үшін белгішелер сол жақтағы ұялардан терезеге сүйреліп тасталады. Бұл нысандарға деректерді сақтау үшін қарым-қатынастар (кестелер), тапсырмаларды автоматтандыру үшін реттіліктер (макростар) және соңғы пайдаланушы үшін арнайы мәзірлерді құру үшін пайдаланушылар кіреді. Бұл Helix-тің ең ерекше және қуатты мүмкіндіктерінің бірі. Қарым-қатынастарда деректер базасының кестелері (бір-бірімен байланысты деректер жиынтығы) құрылады. Қарым-қатынастар деректер түрлерін анықтау үшін өрістерді, деректер арасындағы қатынастарды анықтау және өрістердің өзі ұсына алмайтын ақпаратты құру үшін абакты, деректерді ұйымдастыру және өнімділікті арттыру үшін индекстерді, деректерді табу үшін сұраныштарды, ақпаратты визуалды түрде құрылымдау үшін "үлгілерді" және "көріністерден" деректерді енгізу, өңдеу, жою және басып шығару үшін үлгілер, сұраныштар және индекстерді біріктіретін "көріністерді" қамтиды. Абакт есептеулерді жасау үшін толыққанды графикалық жүйені пайдаланады. Қалаған есептеуді сипаттау үшін абакт редакторының терезесіне операцияларды және өрістерді бейнелейтін белгішелерді сүйреп, оларды деректер ағыны диаграммасында орналастырасыз. Мысалы, "аты, содан кейін бос орын, содан кейін тегі" деп жазу үшін "содан кейін" белгішесін сүйреп, содан кейін "аты" өрісін оның бірінші бөлігіне сүйреп, бос орын символын екінші бөлігіне орнатасыз; содан кейін екінші "содан кейін" белгішесін сүйреп, біріншіден екіншісіне шығыс жебесін сүйреп, содан кейін "тегі" өрісін оның екінші бөлігіне сүйреп шығарасыз. Helix RADE екі режимде жұмыс істейді: жобалау режимі және пайдаланушы режимі. Пайдаланушы режимінде Helix жинағы анықталған пайдаланушы мәзір жолағының бірінде ашылады, бұл пайдаланушыға деректер базасын кез келген басқа қолданба сияқты пайдалануға мүмкіндік береді. Жобалау режимі әзірлеушіге (немесе тәжірибелі пайдаланушыға) деректер базасының дизайнын өзгертуге, өрістерді қосуға, жаңа есептер жасауға және т.б. мүмкіндік береді. Бағдарламалауды жеңілдету үшін жасалған болса да, иконалық бағдарламалау тілдері көбінесе "мәнін жоғалтады": бағдарламалау қиын, өйткені сіз жазуыңыз керек, бірақ күрделілік жобаны түсіну мүмкін болмайтын деңгейге тез жетеді. Теориялық тұрғыдан алғанда, графикалық тіл осы күрделілікті айтарлықтай азайтуға көмектеседі (мысалдар үшін қасақана бағдарламалауды қараңыз). Кейде олар көмектеседі, бірақ көбінесе мәселені одан бетер нашарлатады. Helix өте кешірімді құрал, ол бір нәтижеге жетудің көптеген жолдарын ұсынады. Біліктілігі жетілмеген пайдаланушының қолында, кез келген құрал сияқты, күрделі есептеулер тез арада қиынға соғады, бағдарламашы тиімді жұмыс істеу үшін үлкен мониторға (немесе екеуіне) ие болуы керек. Алайда, тәжірибелі пайдаланушылар оның визуалды тәсілін уақытты үнемдеу және бірнеше маңызды шектеулермен бостандық деп санайды. Шағын және орта көлемді деректер базасын басқаруға өте қабілетті болғанымен, Helix-тің жалпы проблемасы - оның өмірінің көп бөлігіне дейін ол Classic Mac OS-тің кооперативтік көп тапсырмалы ортасында ғана жұмыс істеді, бұл оны үлкен деректер базасы үшін тұрақсыз етеді. Бағдарламалау тілінің өзі күрделі деректер базасын құру үшін қажетті масштабтауға ие болса да, 24/7 ортада сенімді жұмыс істей алмауы Helix-ті 100 пайдаланушыдан немесе одан аз жұмыс тобына қалдырады. Алайда, бұл шектеулер тез арада тарихқа айналып барады. QSA өзінің Helix Server-інің OS X нұсқасын 2005 жылдың желтоқсанында шығарды және өзінің қалған өнімдерін OS X нұсқаларында 2006 және 2007 жылдары шығарады. Helix-пен таныс адам үшін, даму уақытында үнемдеу елеулі болуы мүмкін. Microsoft Access бағдарламасының жетекші оқытушысы/өндірушісі бір сарапшының бағалауынша, жобаның көлеміне байланысты Helix жобасын бір Access жобасымен салыстырғанда 30-70% уақытта аяқтауға болады. Үнемдеулер бағдарламалау "тілінің" болмауынан туындайды, осылайша барлық синтаксистік қателер жойылады. Helix өзі әзірлеушіге синтаксистік немесе бағдарламалау қатесін жасауға мүмкіндік бермейді, қалған мәселелердің көздері бизнес логикасындағы қателерден туындайды. Барлық тілдер осы мәселеге тап болады, бірақ Helix қайтадан осы қиындықты оның нысанға негізделген және графикалық табиғатының арқасында жеңілдетеді. Барлық нысандар байланысқандықтан (кодтау емес, белгішелер арқылы), жүйе басқа нысандармен қандай нысандар қолданылатынын және қандай жолмен қолданылатынын "біледі" және бизнес логикасының қателерін анықтауды жеңілдетеді, сонымен қатар кез келген нысанға ұсынылатын өзгертуге байланысты әсер ететін барлық нәрсені анықтаудың қарапайым әдісін ұсынады.

Геликстік визуалды бағдарламалаудың шектеулері

Helix-те барлық кодты графикалық түрде құрастыру қажет. Сондықтан, егер-әйтпесе конструкциясы блок-схема түріндегі элементтер, мысалы, шешім ромбылары арқылы салынады, ал циклдар жалғастырғыштар арқылы іске асырылады. Helix-тің визуальды бағдарламалауы жаңадан бастаушылар үшін оңайырақ болуы мүмкін (өйткені ол техникалық білімі жоқ адамдар үшін интуитивті түсінілетін блок-схема парадигмасын қолданады), бірақ жазылуға тиіс кодтың көлемі артқанда, әсіресе кодты палитрадан белгішелерді сүйреудің орнына оңай және ыңғайлы жаза алатын адам үшін бұл жалықтыратын болуы мүмкін. Осы мақсатта, Helix RADE Intel Mac-терде тікелей жұмыс істеу үшін жаңартылғанда, қажеттіліктері барлар үшін осы мүмкіндікті ұсыну үшін "абакус өрнегі тілі" қосылды.