20 Највећи изуми у рачунарском програмирању
У једном од разговора које сам водио са нашим старијим уредником, постављено ми је питање, “Како је настао први програмерски програм?” То је довело до дискусије о Баббагеу и Ади Ловелаце, на крају које сам добио на истраживању како то све је почело - то су многе прве у историји рачунања.
Ископао сам књиге и интернет странице и наишао сам на многа открића: Баббаге није технички проналазач компјутера, ФОРТРАН дефинитивно није био први програмски језик високог нивоа и имали смо стилусе за ЦРТ екране (стварно).
Такође сам се изненадио када сам сазнао колико су битни ратови у подстицању брзог напретка компјутерског развоја, плус допринос многих жена које су наши уџбеници одлучили да занемаре. Стога, да попунимо празнине у историји рачунара и програма, саставио сам 20 првих ствари у свету рачунарства, од лоптица за куглање до Другог светског рата и свега што је између.
1. Први рачунар: “Дифференце енгине” (1821)
Тхе “Дифференце Енгине” био је предложени механички рачунар који се користио за излаз математичких табела. По налогу британске владе, Цхарлес Баббаге (звани отац компјутера) почео је да ради на томе, али због високих трошкова производње, финансирање је заустављено и машина никада није довршена.
2. Први рачунар опште намене: “Аналитицал Енгине” (1834)
Тхе “Аналитицал Енгине” био је и предложени механички компјутер, чији је улаз требао бити бушена картица, са програмима и подацима на њима. Још једна замисао Цхарлеса Баббагеа, ова машина није била завршена.
3. Први компјутерски програм: алгоритам за израчунавање Берноуллијевих бројева (1841 - 1842)
Ада Ловелаце (први светски компјутерски програмер) почела је да преводи записе италијанског математичара Луигија Менабреа на Баббагеов аналитички мотор 1841. године. Током превода она се заинтересовала за машину и оставила белешке са својим преводом. Једна од белешки - ноте Г, садржи алгоритам за израчунавање Берноуллијевих бројева од стране аналитичког мотора, који се сматра првим компјутерским програмом.
4. Први радни програмабилни рачунар: З3 (1941)
Конрад Зусе (изумитељ рачунара) већ је имао радни механички рачунар З1, али је радио само неколико минута. Употреба различитих технологија - релеји, довели су до З2 и евентуално до З3. З3 је био електромагнетни компјутер за који су се програм и подаци складиштили на екстерним бушеним тракама. То је био тајни пројекат њемачке владе и кориштен од стране Њемачког института за истраживање зракоплова. Оригинална машина је уништена у бомбардовању Берлина 1943. године.
5. Први електронски компјутер: Атанасофф-Берри компјутер (АБЦ) (1942)
Направљен од стране Јохна Винцента Атанасоффа и Цлиффорда Беррија, стога је назван Атанасофф-Берри Цомпутер или АБЦ кориштен за проналажење рјешења за симултане линеарне једнаџбе. То је био први компјутер који је користио бинарне податке да би представио податке и електронске прекидаче уместо механичких. Међутим, рачунар није био програмабилан.
6. Први програмабилни електронски компјутер: Колос (1943)
Колос који је створио Томми Фловерс, била је машина створена да помогне Британцима да дешифрују немачке поруке које су криптиране Лорензовом шифром још у Другом светском рату. Програмирана је електронским прекидачима и утикачима. Колос је донео време да дешифрује шифроване поруке од недеља до пуних сати.
7. Први програмабилни електронски рачунар опште намене: ЕНИАЦ (1946)
Финансира их америчка војска, ЕНИАЦ или Електронски нумерички интегратор и рачунар развила се у Електротехничком факултету Мооре, Универзитет у Пенсилванији, од стране Јохн Мауцхли & Ј. Преспер Ецкерт. ЕНИАЦ је био широк 150 стопа и могао је бити програмиран за обављање сложених операција као што су петље; програмирање је извршено променом електронских прекидача и каблова. Користио је читаче картица за улазне и картичне ударце за излаз. Помогао је у прорачуну за изводљивост прве светске хидрогенске бомбе.
8. Фирст Трацкбалл: (1946/1952)
Зашто две године за први трацкбалл? Дозволите ми да објасним.
Прва година била је година коју је дао Ралпх Бењамин, који је тврдио да је створио први свјетски трацкбалл док је радио на систему за праћење авиона ниског лета 1946. Изум који је описао користио је лопту за контролу КСИ координата. курсора на екрану. Дизајн је патентиран 1947. године, али никада није пуштен јер се сматра а “војна тајна”. Војска се одлучила за џојстик.
Други кандидат за први трацкбалл на свету, који је коришћен у ДАТАР систему канадске морнарице још 1952. године, измислио је Том Цранстон и сарадници. Овај дизајн са куглицом је имао макету која је користила канадску куглу за куглање “аир беарингс” (види слику испод).
9. Компјутер првог програма: ССЕМ (1948)
Да би се превазишли недостаци меморије са закашњењем, Фредериц Ц. Виллиамс и Том Килбурн развили су први дигитални уређај за складиштење заснован на стандардном ЦРТ-у. Тхе ССЕМ (Манчестер Машина за експериментисање малог обима) је коришћен за имплементацију тог уређаја за складиштење за практичну употребу. Програми су унесени у бинарном облику помоћу 32 прекидача и његов излаз је био ЦРТ.
10. Први језик програмирања на високом нивоу: Планкалкул (1948)
Иако је Конрад Зусе почео радити на Планкалкилу од 1943. године, тек је 1948. године објавио чланак о томе. Нажалост, то није привукло много пажње. Требало би скоро три деценије касније да се компајлер примени за њега, онај који је израдио Јоацхим Хохманн у дисертацији.
11. Фирст Ассемблер: “Инитиал Ордерс” за ЕДСАЦ (1949)
Асемблер је програм који претвара мнемонику (ниски ниво) у нумеричко представљање (машински код). Почетни налози у ЕДСАЦ-у (Елецтрониц Делаи Стораге Аутоматиц Цалцулатор) био је први таквог система. Коришћен је за састављање програма из улазне траке од папира у меморију и покретање улаза. Програми су били у мнемоничким кодовима уместо машинских кодова “почетни код” први икада монтажер обрадом симболичног програмског кода ниског нивоа у машински код.
12. Фирст Персонал Цомпутер: “Симон” (1950)
“Симон” Едмунд Беркелеи је био први приступачни дигитални рачунар који је могао да обавља четири операције: збрајање, негирање, веће од и избор. Улаз је бушен папир, а програм је радио на папирној траци. Једини излаз био је кроз пет светала.
13. Први компилатор: А-0 за УНИВАЦ 1 (1952)
Компајлер је програм који претвара језик високог нивоа у машински код. Систем А-0 био је програм креиран од стране легендарног Граце Хоппер-а да би програм који је одређен као низ потпрограма и аргумената претворио у стројни код. А-0 је касније еволуирао у А-2 и пуштен је корисницима са својим изворним кодом што га чини могућим управо први софтвер отвореног кода.
14. Први аутокод: Гленние'с Аутоцоде (1952)
Аутокод је програмски језик високог нивоа који користи компајлер. Први аутокод и његов компајлер појавили су се на Универзитету у Манчестеру како би програмирање Марк 1 машине постало разумљивије. Креирао га је Алицк Гленние, отуда и име Гленние'с Аутоцоде.
Први компјутер за графички приказ у реалном времену: АН / ФСК-7 од ИБМ-а (1951)
АН / ФСК-7 је базиран на једном од првих рачунара који су показали излаз у реалном времену, Вхирлвинд. Постао је решење за амерички систем ваздушне одбране познат као полуаутоматско земљиште (САГЕ). Компјутери су показали трагове за мете и аутоматски показали које су одбране у домету. АН / ФСК-7 је имао 100 системских конзола; Ево једне (слика испод), ОА-1008 Приказ стања (СД), са светлосним пиштољем за избор циљева на екрану за додатне информације.
16. Први језик широког програмирања високог нивоа: ФОРТРАН (1957)
Ако проверите уџбенике, наћи ћете ФОРТРАН као први програмски језик високог нивоа. Замишљен од стране Јохна В. Бацкуса који није волео писање програма и одлучио да направи програмски систем који ће олакшати процес, употреба ФОРТРАН-а увелике је смањила број програмских изјава потребних за покретање строја. До 1963. године било је више од 40 ФОРТРАН компајлера.
17. Први миш (1964) \ т
Док је седео на конференцијској сесији о компјутерској графици, идеја о мишу дошла је Дагласу Енгелбарту 1964. године. Смислио је уређај са пар малих точкова (један се окреће хоризонтално, други вертикално) који се може користити за померање курсор на екрану. Прототип (види доле) је креирао његов водећи инжењер, Билл Енглисх, али и енглески и Енгелбарт никада нису примили накнаде за дизајн зато што је технички припадао СРИ, Енгелбертовом послодавцу.
18. Фирст Цоммерциал Десктоп Цомпутер: Программа 101 (1965)
Познат и као Пероттина, Программа 101 је била први комерцијални ПЦ на свету. Може вршити збрајање, одузимање, множење, поделу, квадратни корен, апсолутну вредност и фракцију. За све што је могао, цијена је била 3.200 долара (то је било врло различито вријеме) и успјела је продати 44.000 јединица. Пероттина је измислио Пиер Гиоргио Перотто, а производио га је италијански произвођач Оливетти.
19. Први додирни екран (1965)
Не изгледа много, али ово је био први тоуцхсцреен који је свет икада познавао. То је капацитивни панел са екраном осетљивим на додир, без осетљивости на притисак (или контакт, или без контакта) и региструје само једну тачку контакта (за разлику од мултитоуцх-а). Концепт је усвојен за употребу од стране контролора летења у Великој Британији све до 1990-их.
20. Фирст Објецт Ориентед Программинг Лангуаге: Симула (1967)
На основу Ц. А. Р. Хоареовог концепта класних конструката, Оле-Јохан Дахл и Кристен Нигаард су ажурирали своје “СИМУЛА И” програмски језик са објектима, класама и подкласама. То је резултирало стварањем СИМУЛА 67 која је постала први објектно-оријентисани програмски језик.
Последње мисли
Колико год да је овај пост био о ономе што смо могли да научимо о многим првима у историји рачунања, тешко је уронити у саму историју. Као резултат тога, барем за мене, ми постаните више захвални за рад генерација пред нашим, и можемо боље разумјети шта покреће многе промјене које обликују свијет у којем данас живимо.
Надам се да вас овај пост инспирира колико и мене. Поделите своја размишљања о овим првим стварима, а ако сам пропустио било шта, што сам сигуран да јесте, додајте их у коментаре.