Информатика тарихы

Информатика тарихы қазіргі информатика ғылымы қалыптасқанға дейін әлдеқайда ертерек басталды және көбіне математика мен физика сияқты салалар аясында көрініс тапты. Алдыңғы ғасырлардағы ғылыми және техникалық жетістіктер кейіннен біз бүгін информатика деп атайтын пәннің негізін қалады. Механикалық өнертабыстар мен математикалық теориялардан бастап заманауи компьютерлік ұғымдар мен машиналарға дейінгі бұл эволюциялық үдеріс ірі академиялық саланың қалыптасуына, Батыс әлемінде ауқымды технологиялық серпіліске, сондай-ақ жаһандық сауда мен мәдениеттің дамуына негіз болды.

## Тарихқа дейінгі кезең
[left|thumb|[Джон Непер (1550–1617), логарифмдерді ойлап тапқан ғалым.]]
Есептеулер жүргізу үшін қолданылған ең ерте белгілі құрал абак болып саналады. Ол б.з.д. 2700–2300 жылдар аралығында Шумерде жасалған. Шумер абагы алпыстық санау жүйесіндегі разрядтарды білдіретін қатар орналасқан бағандардан тұратын кесте түрінде болды. Алғашқы қолданылу тәсілі құм бетіне сызықтар жүргізіп, ұсақ тастарды орналастыруға негізделген. Қазіргі заманғы үлгідегі абактар бүгінгі күнге дейін есептеу құралы ретінде қолданылып келеді, соның ішінде қытай абагы кеңінен пайдаланылады.

Б.з.д. V ғасырда Ежелгі Үндістанда грамматик Панини санскрит тілінің грамматикасын қалыптастырды. Ол «Аштадхьяи» деп аталатын, 3959 ережеден тұратын еңбек болып саналады және жоғары деңгейде жүйеленген әрі техникалық сипатта болды. Панини метаережелерді, түрлендірулерді және рекурсия ұғымдарын қолданған.

Антикитера механизмі ежелгі механикалық аналогтық компьютерлердің бірі болып саналады. Ол астрономиялық нысандардың орналасуын есептеу үшін жасалған. Құрылғы 1901 жылы Грекиядағы Антикитера аралы маңында, Кифира мен Крит аралдарының арасында суға батқан кеменің қалдықтарынан табылды және б.з.д. шамамен 100 жылмен мерзімделеді.

Механикалық аналогты есептеу құрылғылары мың жылдан кейін ортағасырлық ислам әлемінде қайта пайда болды. Оларды мұсылман астрономдары әзірледі, соның ішінде Әбу Райхан әл Бируни жасаған тісті механикалық астролябия және Жабир ибн Афлах құрастырған торкветум бар. Саймон Сингхтің айтуынша, мұсылман математиктері криптография саласында да маңызды жетістіктерге жетті, атап айтқанда Әл Кинди әзірлеген криптоталдау мен жиілік талдауы әдістері осы кезеңде қалыптасты. Бағдарламаланатын құрылғыларды да мұсылман инженерлері ойлап тапты, мысалы Бану Муса бауырлары жасаған автоматты флейташы.

Ұқсас деңгейдегі технологиялық күрделілікке ие артефактілер XIV ғасырдағы Еуропада да пайда болды, атап айтқанда механикалық астрономиялық сағаттар жасалды.

XVII ғасырдың басында Джон Непер есептеу мақсатында логарифмдерді ашқаннан кейін есептеу құралдарын жасау бағытында өнертапқыштар мен ғалымдар арасында айтарлықтай ілгерілеу кезеңі басталды. 1623 жылы Вильгельм Шиккард Иоганн Кеплердің тапсырысы бойынша «Есептеу сағаты» деп аталған есептеу машинасын жобалады, алайда 1624 жылы жасалып жатқан үлгі өрттен жойылғаннан кейін жобаны тоқтатты. Шамамен 1640 жылы француздың көрнекті математигі Блез Паскаль ежелгі грек математигі Александриялық Герон сипаттаған жобаға негізделген механикалық қосу құрылғысын жасады. Ал 1672 жылы Готфрид Вильгельм Лейбниц сатылы есептегішті ойлап тауып, оны 1694 жылы толық аяқтады.

1837 жылы Чарльз Бэббидж алғаш рет Аналитикалық машинаның сипаттамасын ұсынды, ол қазіргі заманғы компьютердің алғашқы жобасы ретінде қабылданады. Аналитикалық машинада кеңейтілетін жад, арифметикалық құрылғы және логикалық өңдеу мүмкіндіктері қарастырылған, бұл оған циклдер мен шартты тармақталуды қамтитын бағдарламалау тілін орындауға мүмкіндік беретін еді. Машина ешқашан құрастырылмағанымен, оның жобасы жан-жақты зерттелген және Тьюрингке баламалы екені анықталған. Аналитикалық машинаның жад сыйымдылығы 1 килобайттан аз, ал тактілік жиілігі 10 герцтен төмен болар еді.

Алғашқы заманауи компьютерлерді жобалау үшін математика мен электроника теориясында елеулі жетістіктерге қол жеткізу қажет болды.

## Екілік логика
### Готфрид Вильгельм Лейбниц

[thumb|200x200px|[Готфрид Вильгельм Лейбниц (1646–1716) екілік санау жүйесіне негізделген логиканы дамытты және сол үшін оны «информатика ғылымының негізін қалаушы» деп атайды.]]
1702 жылы Готфрид Вильгельм Лейбниц екілік санау жүйесі жөніндегі еңбектері арқылы логиканы формалды әрі математикалық мағынада дамытты. Ол екілік жүйені ықшамдап, логиканың негізгі ұғымдарын сипаттады, соның ішінде конъюнкция, дизъюнкция, терістеу, теңдік, қамту және бос жиын ұғымдары болды. Лейбниц алгоритмдік ақпарат теориясы мен Лагранж интерполяциясының кейбір қағидаларын алдын ала болжады. Оның есептеу логикасы () кейінірек әмбебап есептеу машинасы тұжырымдамасының қалыптасуына әсер етті. 1961 жылы Норберт Винер Лейбницті кибернетиканың рухани қамқоршысы ретінде қарастыруға болатынын атап өтті. Винердің айтуынша: «Есептеу машинасының жалпы идеясы Лейбництің Calculus Ratiocinator тұжырымдамасын механикаландырудан басқа нәрсе емес». Дегенмен, есептеу үдерістерін толыққанды математикалық түрде модельдеуге мүмкіндік берген жүйе тек 1854 жылы Джордж Бульдің буль алгебрасын жариялауымен қалыптасты.

Осы кезеңде екілік үлгіге негізделген алғашқы механикалық құрылғылар пайда болды. Өнеркәсіптік революция көптеген жұмыстардың механикаландырылуына түрткі болды, соның ішінде тоқыма өндірісі де бар. 1801 жылы Жозеф Мари Жаккардтың тоқыма станогында перфокарталар қолданылды: картадағы тесік екілік *бірді*, ал тесіктің болмауы екілік *нөлді* білдірді. Жаккард станогы компьютер болмағанымен, ол машиналардың екілік жүйелер арқылы басқарылуы және екілік ақпаратты сақтай алатынын айқын көрсетті.

## Пән ретінде қалыптасуы
### Чарльз Бэббидж және Ада Лавлейс
[left|thumb|329x329px|[Чарльз Бэббидж (1791–1871), есептеу техникасының алғашқы пионерлерінің бірі.]]
Чарльз Бэббидж есептеу техникасының алғашқы пионерлерінің бірі ретінде жиі аталады. 1810 жылдардан бастап ол сандар мен кестелерді механикалық жолмен есептеу идеясын ұсынды. Осы ойды жүзеге асыру үшін Бэббидж сегіз ондық таңбаға дейінгі сандарды есептей алатын есептеуіш құрылғыны жобалады. Бұл идеяның сәттілігін жалғастыра отырып, ол жиырма ондық таңбаға дейінгі сандарды есептей алатын машинаны жасауға кірісті.
1830 жылдары Бэббидж арифметикалық амалдарды орындау үшін перфокарталарды қолданатын машинаның жобасын әзірледі. Бұл машина сандарды жад бірліктерінде сақтауы тиіс еді және онда тізбекті басқару жүйесі қарастырылды. Яғни бір операция екіншісінен кейін белгілі бір ретпен орындалып, машина міндетті түрде нәтижеге жетуі керек болатын.
Бұл құрылғы «Аналитикалық машина» деп аталды және ол қазіргі заманғы компьютердің алғашқы толыққанды тұжырымдамасы ретінде қарастырылады.

[thumb|[Ада Лавлейс (1815–1852), компьютерлердің болашақта символдарды өңдеу үшін қолданылатынын болжаған.]]
Ада Лавлейс (Августа Ада Байрон) компьютерлік бағдарламалаудың пионері ретінде танылады және математикадағы көрнекті тұлға саналады. Ол Чарльз Бэббидж жобалаған алғашқы механикалық компьютер болып есептелетін «Аналитикалық машина» үстінде жұмыс жүргізілген кезде оның көмекшісі болды. Бэббиджбен бірлескен жұмысы барысында Ада Лавлейс Бернулли сандарын есептеуге арналған алғашқы компьютерлік алгоритмнің сипаттамасын жасады. Дегенмен, бұл тұжырым даулы болып саналады, өйткені айырма машинасын және оған сәйкес айырмалық алгоритмдерді алғаш жобалаған Бэббидж болған, сондықтан кей зерттеушілер алғашқы алгоритм авторы ретінде соны атайды. Соған қарамастан, Лавлейстің ең маңызды үлестерінің бірі – болашақ компьютерлер тек математикалық есептеулермен шектелмей, символдарды, оның ішінде математикалық емес символдарды да өңдей алады деген болжамы. Ол өз еңбегінің нақты нәтижелерін көзі тірісінде көре алмады, себебі «Аналитикалық машина» оның өмірінде жасалып бітпеді. Алайда 1840-жылдардан бастап жазылған еңбектері кейінгі кезеңде жоғары бағаланып, оның есептеу техникасы тарихындағы орны айқындалды.

### Аналитикалық машинадан кейінгі алғашқы жобалар
[thumb|left|upright=0.84|[Леонардо Торрес Кеведо (1852–1936), қалқымалы үтірлі сандарды сақтаудың бірізді әрі жүйелі тәсілін ұсынды.]]
Бэббиджден кейін, бастапқыда оның бұрынғы еңбектерінен бейхабар болған ирландиялық Перси Ладгейт те осы бағытта жұмыс істеді. Ол Ирландияның Дублин қаласында астық саудагерінде қызмет еткен кеңсе қызметкері болған. Перси Ладгейт бағдарламаланатын механикалық компьютердің дербес жобасын ұсынды және оны 1909 жылы жарияланған еңбегінде сипаттады.

Чарльз Бэббидждің еңбектерін жалғастырған тағы екі өнертапқыш Леонардо Торрес Кеведо мен Ваннивар Буш болды. Торрес Кеведо «Автоматика жөніндегі очерктер» атты еңбегінде (1914) тек оқуға арналған бағдарлама арқылы басқарылатын аналитикалық электромеханикалық машинаны жобалап, қалқымалы үтірлі арифметика ұғымын енгізді. 1920 жылы арифмометрдің ойлап табылғанына 100 жыл толуына орай ол Парижде электромеханикалық арифмометрді таныстырды. Бұл құрылғы арифметикалық блоктан және командалар теріліп, нәтижелері автоматты түрде басып шығарылатын (қашықтан қосылуы мүмкін) жазу машинасынан тұрды. Ваннивар Буш 1936 жылы жариялаған «Аспаптық талдау» атты мақаласында Бэббидж жобасын жүзеге асыру үшін IBM перфокарталық машиналарын пайдалану мүмкіндігін қарастырды. Сол жылы ол электрондық цифрлық компьютерді құрастыру мәселелерін зерттеуге арналған Rapid Arithmetical Machine жобасын бастады.

### Чарльз Сандерс Пирс және электрлік коммутациялық тізбектер
[thumb|221x221px|[Чарльз Сандерс Пирс (1839–1914), логикалық операцияларды электрлік қосқыш тізбектер арқылы орындауға болатынын сипаттады.]]
1886 жылы жазған хатында Чарльз Сандерс Пирс логикалық операцияларды электрлік қосқыш тізбектер арқылы орындауға болатынын сипаттады. 1880–1881 жылдары ол тек NOR қақпаларының өзі немесе балама түрде тек NAND қақпаларының өзі барлық басқа логикалық қақпалардың функцияларын қайта құруға жеткілікті екенін көрсетті, алайда бұл бағыттағы еңбектері 1933 жылға дейін жарияланбаған. Бұл тұжырымның алғаш жарияланған дәлелін 1913 жылы Генри М. Шеффер ұсынды, сондықтан NAND логикалық операциясы кейде Шеффер штрихы деп аталады, ал логикалық NOR операциясы Пирс жебесі деп те аталады. Осыған байланысты NAND және NOR қақпалары кейде әмбебап логикалық қақпалар деп аталады.

Уақыт өте келе логикалық операцияларды орындауда релелердің орнын электрондық шамдар басты. Ли де Форест 1907 жылы Флеминг шамына енгізген өзгерісі логикалық қақпа ретінде қолдануға мүмкіндік берді. Людвиг Витгенштейн 1921 жылы жарық көрген Tractatus Logico-Philosophicus еңбегінің 5.101 тезисінде 16 жолдан тұратын ақиқат кестесінің бір нұсқасын ұсынды. Сәйкестік тізбегінің өнертапқышы Вальтер Боте 1924 жылы алғашқы заманауи электрондық AND логикалық қақпасын жасағаны үшін 1954 жылғы физика бойынша Нобель сыйлығының бір бөлігін алды. Конрад Цузе 1935–1938 жылдары аралығында өзінің Z1 компьютері үшін электромеханикалық логикалық қақпаларды жобалап, құрастырды.

1930 жылдарға дейін және сол кезеңнің өзінде электр инженерлері математикалық және логикалық есептерді шешуге арналған электрондық тізбектерді құрастыра алды, алайда олардың көпшілігі мұны теориялық негізсіз, жүйесіз түрде жүзеге асырды. Бұл жағдай 1930 жылдары коммутациялық тізбектер теориясының қалыптасуымен өзгерді. 1934–1936 жылдары Акира Накасима, Клод Шеннон және Виктор Шетаков екі мәнді булев алгебрасының коммутациялық тізбектердің жұмысын сипаттай алатынын көрсететін бірқатар еңбектер жариялады. Электр қосқыштарының қасиеттерін логикалық операцияларды орындау үшін пайдалану идеясы барлық электрондық цифрлық компьютерлердің негізінде жатыр. Коммутациялық тізбектер теориясы қазіргі заманғы технологиялардың дерлік барлық салаларында цифрлық жүйелерді жобалау үшін қажетті математикалық негіз бен құралдарды қалыптастырды.

Бакалавриат деңгейіндегі философия сабағында оқып жүрген кезінде Шеннон Джордж Булдің еңбектерімен танысты және олардың логикалық есептерді шешу үшін сол кезде телефон коммутациясында қолданылған электромеханикалық релелерді ұйымдастыруға пайдалануға болатынын түсінді. Оның диссертациясы Екінші дүниежүзілік соғыс жылдарында және соғыстан кейін электр инженерлері қауымдастығына кеңінен танылғаннан кейін практикалық цифрлық тізбектерді жобалаудың негізіне айналды.

### Алан Тьюринг және Тьюринг машинасы
[thumb|right|[Алан Тьюринг, ағылшын компьютер ғалымы, математик, логик және криптоаналитик (шамамен 1930 жыл).]]
1920 жылдарға дейін «компьютер» (кейде *computor* деп те аталған) ұғымы есептеулер жүргізетін адам қызметкерлерді білдірді. Олар әдетте физиктің жетекшілігімен жұмыс істеді. Сауда саласында, мемлекеттік мекемелерде және ғылыми-зерттеу ұйымдарында мыңдаған осындай компьютерлер еңбек етті. Адам-компьютер болып қызмет атқарғандардың едәуір бөлігі әйелдер болды. Олардың бір бөлігі күнтізбелер үшін астрономиялық есептеулер жүргізсе, енді біреулері әскери мақсаттағы баллистикалық кестелерді есептеді.

1920 жылдардан кейін есептеу машинасы ұғымы адам-компьютердің жұмысын орындайтын кез келген құрылғыны білдіре бастады, әсіресе Чёрч-Тьюринг тезисіндегі тиімді әдістерге сәйкес келетін машиналарды. Бұл тезиске сәйкес, егер математикалық әдіс қағаз бен қарындашты пайдалана отырып, адам қызметкер орындай алатындай нұсқаулар тізбегі түрінде сипатталса, қажет болғанша жалғастырылса және ешқандай тапқырлықты немесе интуицияны талап етпесе, онда ол тиімді әдіс болып саналады.

Үздіксіз мәндермен есептеу жүргізетін машиналар аналогтық түрге жатқызылды. Олар білік айналысының бұрышы немесе электрлік потенциалдар айырмасы сияқты үздіксіз сандық шамаларды бейнелейтін механикалық немесе электрлік тетіктерді пайдаланды.

Ал цифрлық машиналар аналогтық машиналардан айырмашылығы сандық мәннің нақты күйін көрсетуге және әрбір жеке цифрды сақтауға мүмкіндік берді. Жылдам жады құрылғылары ойлап табылғанға дейін цифрлық машиналарда айырма машиналары немесе релелер қолданылды.

1940 жылдардың соңынан бастап электрондық цифрлық машиналардың кеңінен таралуына байланысты *computing machine* деген тіркес біртіндеп *computer* атауымен алмастырылды. Бұл компьютерлер бұрын адам есепшілер орындаған есептеулерді жүзеге асыра алды.

Цифрлық машиналарда сақталатын мәндер аналогтық құрылғылардағыдай физикалық қасиеттерге тәуелді болмағандықтан, цифрлық техникаға негізделген логикалық компьютер «таза механикалық» түрде сипаттауға болатын кез келген әрекетті орындай алады. Алан Тьюринг ұсынған теориялық Тьюринг машинасы осындай құрылғылардың қасиеттерін зерттеу мақсатында жасалған гипотетикалық модель болып табылады.

Қазіргі компьютерлік ғылымның математикалық негіздері 1931 жылы Курт Гёдель ұсынған толық еместік теоремасымен қалана бастады. Бұл теоремада ол формал жүйе шеңберінде дәлелдеуге де, теріске шығаруға да болмайтын шектеулер бар екенін көрсетті. Соның нәтижесінде Гёдельдің және басқа да зерттеушілердің осы формал жүйелерді анықтау мен сипаттауға бағытталған еңбектері пайда болды, олардың қатарында mu-рекурсивті функциялар мен лямбда арқылы анықталатын функциялар сияқты ұғымдар бар.

1936 жылы Алан Тьюринг пен Алонзо Чёрч бір-бірінен тәуелсіз түрде, сондай-ақ өзара байланысты еңбектерінде алгоритм ұғымын формал түрде анықтап, есептеудің мүмкін болатын шектерін және есептеуге арналған «таза механикалық» модельді ұсынды. Бұл көзқарас кейіннен Чёрч-Тьюринг тезисі деп аталды. Аталған тезис электронды компьютерлер сияқты механикалық есептеу құрылғыларының табиғатына қатысты гипотеза болып саналады. Тезиске сәйкес, егер жеткілікті уақыт пен жад көлемі қамтамасыз етілсе, принципті түрде орындалуы мүмкін кез келген есептеу компьютерде жұмыс істейтін алгоритм арқылы жүзеге асырылуы мүмкін.

1936 жылы Алан Тьюринг Тьюринг машиналары туралы өзінің іргелі еңбегін жариялады. Бұл абстрактілі цифрлық есептеу құрылғысы бүгінде әдетте әмбебап Тьюринг машинасы деп аталады. Аталған модель қазіргі заманғы компьютердің негізгі қағидатын қалыптастырып, бүгінгі компьютерлердің басым көпшілігінде қолданылатын сақталатын бағдарлама тұжырымдамасының негізін қалады.

Бұл гипотетикалық машиналар есептеу мүмкіндіктерінің шектерін ескере отырып, нені есептеуге болатынын формалды әрі математикалық түрде анықтау мақсатында жасалды. Егер белгілі бір тапсырманы Тьюринг машинасы орындай алса, онда ол есеп Тьюринг бойынша есептелетін () деп саналады.

### Кэтлин Бут және алғашқы ассемблер тілі
Кэтлин Бут Лондон университетінің Биркбек колледжінде жасалған Automatic Relay Calculator (ARC) машинасы үшін алғашқы ассемблер тілін жазды, сондай-ақ ассемблер мен автокодты жобалады. Ол ARC, SEC (Simple Electronic Computer) және APE(X)C атты үш түрлі есептеу машинасын жобалауға қатысқан.

### Алғашқы компьютерлік аппараттық құралдар
Әлемдегі алғашқы электрондық цифрлық компьютер Atanasoff-Berry computer 1939–1942 жылдар аралығында Айова штаты университетінің аумағында жасалды. Оны физика және математика профессоры Джон В. Атанасов пен инженерия мамандығының магистранты Клиффорд Берри құрастырған.

[thumb|left|177x177px|[Конрад Цузе, қазіргі заманғы компьютердің өнертапқышы ретінде танылған.]]

1941 жылы Конрад Цузе әлемдегі алғашқы жұмыс істейтін, бағдарламамен басқарылатын компьютер Z3 моделін жасады. 1998 жылы бұл құрылғының теориялық тұрғыдан Тьюрингке толық сәйкес келетіні дәлелденді. Сондай-ақ Цузе S2 есептеу машинасын әзірледі. Ол процестерді басқаруға арналған алғашқы компьютер ретінде қарастырылады. 1941 жылы ол компьютер өндірісімен айналысқан ең алғашқы компаниялардың бірін құрды. Осы компания шығарған Z4 компьютері әлемдегі алғашқы коммерциялық компьютер болды. 1946 жылы Конрад Цузе алғашқы жоғары деңгейлі бағдарламалау тілі Plankalkül-ді жобалады.

1948 жылы Manchester Baby компьютері аяқталды. Ол жадында сақталған бағдарламаларды орындай алатын әлемдегі алғашқы электрондық цифрлық компьютер болды, қазіргі компьютерлердің басым бөлігі осы қағидаға негізделген. Бұл жобаның табысты іске асуына Макс Ньюман үшін Алан Тьюринг 1936 жылы жариялаған Тьюринг машиналары туралы іргелі еңбегінің және оның логика-математикалық үлесінің ықпалы шешуші рөл атқарды.

1950 жылы Ұлыбританияның Ұлттық физикалық зертхана (National Physical Laboratory) Pilot ACE деп аталған шағын ауқымды бағдарламаланатын компьютерді аяқтады. Ол Алан Тьюринг ұсынған тұжырымдамаларға негізделді. Жұмыс жылдамдығы 1 МГц болған Pilot Model ACE біраз уақыт бойы әлемдегі ең жылдам компьютер саналды. Тьюрингтің ACE жобасы қазіргі RISC архитектураларымен көп жағынан ұқсас болды және ол сол кезең үшін өте үлкен көлем саналатын, ерте Macintosh компьютерлерінің жад сыйымдылығына шамалас жоғары жылдамдықты жадты қарастырды. Егер Тьюрингтің ACE жобасы бастапқы жоспарға сай және толық көлемде іске асырылғанда, ол өз дәуіріндегі өзге алғашқы компьютерлерден мүлде бөлек деңгейде болар еді.

1950 жылдардың соңында пакеттік өңдеуді қолдайтын, оператордың тікелей араласуын барынша азайтып, тапсырмаларды автоматты түрде орындауға мүмкіндік берген алғашқы операциялық жүйе GM-NAA I/O жасалды. Бұл жүйе General Motors пен North American Aviation компаниялары тарапынан IBM 701 компьютері үшін әзірленді.

1969 жылы екі компьютер арасында желі құру мақсатында Калифорния университеті, Лос-Анджелес пен Стэнфорд университеті зерттеу топтары бірлескен тәжірибе жүргізді. Алғашқы қосылу әрекеті кезінде жүйе істен шыққанына қарамастан, бұл жоба кейіннен Интернеттің қалыптасуына алып келген аса маңызды қадамдардың бірі болды.

Алғаш тіркелген нақты компьютерлік қате күйе көбелек болған. Ол Harvard Mark II есептеу машинасындағы релелердің арасына кіріп кеткен. «Bug» терминін енгізу көбіне, бірақ қате түрде, АҚШ Әскери-теңіз күштерінің болашақ контр-адмиралы Грейс Хопперге телінеді. Ол бұл «қатені» 1945 жылғы 9 қыркүйекте тіркеді деген пікір бар. Алайда көптеген басқа дереккөздер бұл мәліметтерге қайшы келеді. Сол деректерге сәйкес, оқиға 1947 жылғы 9 қыркүйекте болған, сол күні операторлар бұл «инцидентті» жәндіктің өзімен бірге тіркеп, «нақты табылған алғашқы bug жағдайы» деген жазбаны қалдырған.

### Клод Шеннон және ақпарат теориясы
[left|thumb|177x177px|[Клод Шеннон (1916–2001), ақпарат теориясының негізін қалаушы.]]
Клод Шеннон 1948 жылы жарияланған «Байланыстың математикалық теориясы» атты еңбегі арқылы ақпарат теориясының негізін қалады. Бұл жұмыста ол жіберуші таратқысы келген ақпаратты ең тиімді түрде кодтау мәселесіне ықтималдық теориясын қолданды. Аталған еңбек деректерді сығымдау мен криптографияны қоса алғанда, көптеген ғылыми бағыттардың теориялық негіздерінің бірі болып саналады.

### Норберт Винер және кибернетика
[thumb|165x165px|[Норберт Винер (1894–1964), «кибернетика» терминін енгізді.]]
Әуе шабуылына қарсы жүйелермен жүргізілген тәжірибелер барысында радар бейнелерін талдау арқылы жау ұшақтарын анықтау мәселесін зерттеген Норберт Винер «кибернетика» терминін грек тіліндегі «кормчий», «басқарушы» мағынасын білдіретін сөзден алып енгізді. Ол 1948 жылы «Кибернетика» атты еңбегін жариялады, бұл жұмыс кейін жасанды интеллекттің дамуына елеулі ықпал етті. Сондай-ақ Винер есептеу үдерістері, есептеу машиналары, жад құрылғылары мен басқа да танымдық ұқсастықтарды ми толқындарын талдаумен салыстыра отырып қарастырды.

### Джон фон Нейман және фон Нейман архитектурасы
[left|thumb|260x260px|[Джон фон Нейман (1903–1957), компьютерлердің фон Нейман архитектурасы деп аталатын архитектуралық моделін ұсынды.]]
Фон Нейман архитектурасы үш негізгі бөліктен тұрады: арифметикалық-логикалық құрылғы (АЛҚ), жад және нұсқауларды өңдеу блогы. Фон Нейман машинасының құрылымында нұсқауларды өңдеу блогы жадқа адрестер жібереді, ал жад өз кезегінде деректерді нұсқау алынған жағдайда қайтадан өңдеу блогына, ал мәлімет алынған жағдайда арифметикалық-логикалық құрылғыға бағыттайды.

### Джон Маккарти, Марвин Минский және жасанды интеллект
[thumb|[Джон Маккарти (1927–2011), жасанды интеллект саласының негізін қалаушылардың бірі болып саналады.]]
Жасанды интеллект терминін Джон Маккарти өзі ұсынған. Бұл атау 1955 жылы Dartmouth Summer Research Project on Artificial Intelligence атты зерттеу жобасына арналған ұсынысты сипаттау үшін қолданылды және соның нәтижесінде информатикадағы жаңа ғылыми сала қалыптасты. 1955 жылғы 31 тамызда Джон Маккарти, Марвин Мински, Натаниэл Рочестер және Клод Шеннон қатысқан бірлескен зерттеу жобасы ұсынылды. Жобаның ресми жұмысы 1956 жылы басталды. Зерттеушілер жасанды интеллекттің табиғатын тереңірек түсінуге мүмкіндік береді деп санаған бірнеше негізгі бағыттарды қамтыды.

Джон Маккарти мен оның әріптестерінің автоматты есептеу машиналары туралы негізгі тұжырымы мынадай болды: егер қандай да бір тапсырманы машина орындай алса, онда дәл сол нәтижеге компьютерде де арнайы бағдарлама құрастыру арқылы қол жеткізуге болады. Сонымен қатар олар адам миының құрылымы мен қызметі тым күрделі екенін, оны тікелей машинаның өзімен емес, оны басқаратын бағдарлама арқылы да толық қайталау мүмкін емес екенін атап өтті. Ол кезеңде мұндай деңгейдегі күрделі бағдарламаларды жасауға қажетті білім мен теориялық негіз әлі қалыптаспаған еді.

Бұл тұжырымдаманың негізінде адамдардың өз тілін қалай түсінетіні, сөйлемдерді қандай құрылыммен құрайтыны, мағыналар мен ережелер жүйесін қалай қалыптастыратыны қарастырылып, осы үдерістер машиналық өңдеумен салыстырылды. Компьютерлер ақпаратты аппараттық деңгейде қабылдайды және өңдейді. Мұндай «тіл» екілік жүйеде, яғни 1 мен 0 арқылы жазылады. Бұл деректер компьютер белгілі бір аппараттық бөлікті іске қосып, нақты әрекеттерді орындауы үшін қажетті ережелер жиынтығын анықтайтын қатаң форматта берілуі тиіс.

Минскийдің үдерісі жасанды нейрондық желілерді адам миына ұқсас қасиеттерге ие болатындай етіп қалай ұйымдастыруға болатынын айқындауға бағытталды. Алайда ол тек ішінара нәтижелерге ғана қол жеткізіп, бұл идеяны дамыту үшін зерттеулерді одан әрі жалғастыру қажет болды.

Маккарти мен Шеннонның бұл теориядағы негізгі ойы — күрделі есептерді пайдалану арқылы машинаның тиімділігін математикалық теория мен есептеулер негізінде анықтау және өлшеу тәсілін әзірлеу еді. Дегенмен, олар да тек ішінара сынақ нәтижелерін ғана ала алды.

Өзін-өзі жетілдіру идеясының мәні — машинаның өзін өзгертетін кодты (self-modifying code) пайдалану арқылы «ақылдырақ» бола түсуі. Бұл тәсіл машинаның зияткерлік деңгейін арттыруға және есептеу жылдамдығын ұлғайтуға мүмкіндік береді. Топ мүшелері егер машина зерттеудің абстракциялар бөлігінде белгілі бір тапсырманы орындау үдерісін өзі жақсарта алса, осы құбылысты зерттеуге болады деп санады.

Зерттеу тобын бұл санаттағы жұмыстарды бірнеше ұсақ бағыттарға бөлуге болады деген ой мазалады. Мұндай бағыттарға жасанды интеллектке қатысты сезімдік (сенсорлық) және басқа да ақпарат түрлерін зерттеу кірді. Компьютер ғылымында абстракциялар ұғымы математикамен және бағдарламалау тілдерімен байланысты қолданылады.

Есептеуіш шығармашылық туралы олардың көзқарасы бағдарлама немесе машина адам ойлауына ұқсас тәсілдерге ие бола ала ма деген сұраққа негізделді. Олар машинаның адам санасы сияқты толық емес ақпараттың бір бөлігін алып, жетіспейтін деректерді толықтыру арқылы оны жақсарта ала ма екенін тексергісі келді. Егер мұндай машина мұны істей алса, онда нәтиженің қалай анықталғанын, яғни шешім қабылдау тетігінің қалай жұмыс істейтінін түсіндіру қажет деп есептеді.

## Әдебиеттер
* 
* Kak, Subhash : Computing Science in Ancient India; Munshiram Manoharlal Publishers Pvt. Ltd (2001)
* The Development of Computer Science: A Sociocultural Perspective Matti Tedre's Ph.D. Thesis, University of Joensuu (2006)
* 

## Дереккөздер

Санат:Ақпараттық технологиялар
Санат:Технология тарихы
Санат:Математика тарихы