Proqram təminatının tarixi

Proqram təminatı,prosessortərəfindənkompüterinidarəsi üçün proqramlanan və kompüterin yaddaşında saxlanan təlimatlar yığımıdır. Proqram təminatı bəşər tarixində yeni bir inkişafdır və İnformasiya Əsri üçün əsasdır.
Ada Lavleysin19-cu əsrdəÇarlz BebbicninAnalitik Mühərriki üçün proqramları bu fənnin banisi hesab olunur. Bununla belə,riyaziyyatçısəyləri yalnız nəzəri olaraq qaldı, çünki Lavleys və Bebbic dövründəki texnologiya onun kompüterini qurmaq üçün kifayət etmədi.Alan Turinq1935-ci ildəkompüter elmlərivə proqram mühəndisliyinin iki akademik sahəsinə səbəb olan proqram təminatı nəzəriyyəsi ilə çıxış edən ilk şəxs kimi tanınır.
1940-cı illərin sonlarında ilkin saxlanan proqramlı rəqəmsal kompüterlər üçün proqram təminatının birinci nəslinin təlimatları birbaşa ikili kodda yazılmışdır, ümumiyyətlə əsas kompüterlər üçün yazılmışdır. Sonralar, ev kompüterinin inkişafı ilə yanaşı müasirproqramlaşdırma dillərinininkişafı, montaj dilindən başlayaraq, funksional proqramlaşdırma vəobyekt yönümlü proqramlaşdırmaparadiqmaları vasitəsilə davam edən mövcud proqram təminatının əhatə dairəsini və genişliyini xeyli genişləndirəcəkdir.
Bir konsepsiya olaraq hesablama qədim dövrlərə gedib çıxır,abak,Antikitera mexanizmi,Astrolab, Mexanik Astronomik saatlar və Mexanik Kalkulyator.Antikitera mexanizmiolduqca mürəkkəb qədim mexaniki Astronomik cihaz üçün bir nümunədir.Bununla belə, bu qurğular sırf aparat idi və heç birproqram təminatıyox idi — onların hesablama gücləri birbaşa onların xüsusi forması və mühəndisliyi ilə bağlı idi.
Proqram təminatı ümumi təyinatlı prosessor — indi Turing maşını kimi təsvir edilən — həmçinin proqramlardan ibarət təkrar istifadə edilə bilən rutinlər dəstlərinin və riyazi funksiyaların fərdi olaraq saxlanıla, işə salına və dayandırıla biləcəyi və yalnız bu yaxınlarda görünə bilən kompüter yaddaşını tələb edir.
İlk məlum kompüter alqoritmi 19-cu əsrdə Ada Lavleys tərəfindən Analitik Mühərrik üçün yazılmışdır.Bununla belə, bu yalnız nəzəri olaraq qaldı — bu iki riyaziyyatçının həyatı boyu mühəndislik səviyyəsinin aşağı olmasıŞablon:FactAnalitik Mühərriki qurmaq üçün kifayət etmədiyini sübut etdi.
Proqram təminatının ilk müasir nəzəriyyəsiAlan Turinqtərəfindən 1935-ci ildəEntscheidungsproblem (qərar problemi) tətbiqi ilə Hesablana bilən nömrələressesində təklif edilmişdir.Bu, nəticədə həm proqram təminatını, həm də onun yaradılmasını öyrənənkompüter elmlərivə proqram mühəndisliyinin əkiz akademik sahələrinin yaradılmasına gətirib çıxardı.Kompüter elmidaha çox nəzəri xarakter daşıyır (Türinqin essesi kompüter elminə nümunədir), proqram mühəndisliyi isə daha çox praktiki məsələlərə yönəlib.
Bununla belə, 1946-cı ilə qədər, indi başa düşdüyünüz kimi, proqram təminatı — saxlanılan proqramlı rəqəmsal kompüterlərin yaddaşında saxlanılan proqramlar hələ mövcud deyildi.İlk elektron hesablama cihazları, onları "yenidən proqramlaşdırmaq" üçün əvəzində yenidən quruldu.İlk elektron kompüterlərdən biri olanENIAC, əsasən əvvəllər insan kompüteri kimi işləyən qadınlar tərəfindən proqramlaşdırılmışdır. Mühəndislər proqramçılaraENIACnaqillərinin planlarını verər və onlardan maşını necə proqramlaşdıracaqlarını anlamalarını gözləyirdilər. Proqramçı kimi işləyən qadınlar nümayişlər üçün patch panelləri birləşdirərəkENIAC-ı ilk ictimaiyyətə təqdim etməyə hazırlaşdılar.Kathleen Booth 1950-ci ildəBirkbeck Kollecindəişlədiyi kompüterləri proqramlaşdırmağı asanlaşdırmaq üçünAssembly Languageinkişaf etdirdi.
Qreys Mürrey HopperHarvard Mark I-in ilk proqramçılarından biri kimi çalışmışdır.Daha sonra o, kompüter üçün 500 səhifəlik təlimat yaratdı.Hopper, Mark II-də nasazlığa səbəb olan güvə tapdıqda, tez-tez yanlış olaraq "bug" və "sözləşmə" terminlərini işlətdiyinə görə hesablanır;lakin o, güvəni tapanda bu termin əslində artıq istifadə olunurdu.Hopper ilkkompilyatoruinkişaf etdirdi və ideyasını Mark kompüterlərində işləməkdən 1950-ci illərdə UNIVAC üzərində işləməyə gətirdi.HopperUNIVAC-ı proqramlaşdırmaq üçün FLOW-MATIC proqramlaşdırma dilini də işləyib hazırladı.UNIVAC-da işləyən Frances E. Holberton, proqramçılaraklaviaturadaxiletmələrindən istifadə etməyə imkan verən və 1951-ci ildə Sort-Merge Generator-u yaratmağa imkan verən aydınlaşdırma tələb olunur, C-10 kodu hazırladı.Adele Mildred Koss və Hopper həmçinin hesabat generatorunun prekursorunu yaratdı.
Klod Şennon(1916–2001) "Riyazi Rabitə Nəzəriyyəsi" adlı əlyazmasında kompüteri proqramlaşdırmaq üçün binar məntiqin necə həyata keçirilə biləcəyini təsvir etdi. Sonradan ilk kompüter proqramçıları kompüterlərə müxtəlif tapşırıqları yerinə yetirmək üçün göstəriş vermək üçün ikili koddan istifadə etdilər. Buna baxmayaraq, proses çox çətin keçdi. Kompüter proqramçıları kompüterə hansı məlumatı saxlamalı olduğunu söyləmək üçün uzun ikili kod sətirlərini təqdim etməli idilər. Kod və məlumatlar müxtəlif yorucu mexanizmlərdən istifadə etməklə kompüterlərə yüklənməli idi, o cümlədən açarları vurmaq və ya kartların əvvəlcədən müəyyən edilmiş mövqelərində deşiklər açmaq və bu perfokartları kompüterə yükləmək. Bu cür üsullarla, əgər səhv olarsa, bütün proqramı əvvəldən yenidən yükləmək lazım gələ bilər.
Saxlanılan proqram kompüteri ilk dəfə proqram təminatını elektron yaddaşda saxlayaraq onu uğurla icra etdi, 21 iyun 1948-ci il səhər saat 11-dəMançester Universitetində, Manchester Baby kompüterində.Tom Kilburntərəfindən yazılmış və 2^18 = 262,144 tam ədədinin ən yüksək əmsalı hesablanmışdır. Böyük sınaq bölənindən başlayaraq, təkrar çıxma ilə 262,144-ə bölünməni həyata keçirdi, sonra qalanın sıfır olub olmadığını yoxladı. Əgər yoxsa, o, sınaq bölücüsünü bir azaldıb prosesi təkrarladı.Google, "proqramın doğulması" kimi qeyd edərək, Mançester Körpəsinə bir xərac buraxdı.
FORTRAN1950-ci illərdəIBM-də John Backusun rəhbərlik etdiyi komanda tərəfindən hazırlanmışdır. İlk kompilyator 1957-ci ildə buraxıldı. Dil elmi və texniki hesablamalar üçün o qədər populyar oldu ki, 1963-cü ilə qədər bütün əsas istehsalçılar öz kompüterləri üçün FORTRAN-ı tətbiq etdilər və ya elan etdilər.
COBOLilk dəfə 1959-cu ildə Meri K. Hawesin bizneslər arasında bölüşdürüləcək kompüter dilinin necə yaradılmasını müzakirə etmək üçün iclas (burayaQreys Hopperdaxil olmaqla) çağırdığı zaman yaranıb.HopperinCOBOLilə etdiyi yenilik proqramlaşdırma yazmaq üçün yeni simvolik bir üsul inkişaf etdirirdi. Onun proqramlaşdırması özünü sənədləşdirirdi. Betti Holberton 1960-cı ildə Hökumət Çap İdarəsinə təqdim edilən dili redaktə etməyə kömək etdi. FORMAC 1960-cı illərdə Jean E. Sammet tərəfindən hazırlanmışdır. Onun kitabı,Proqramlaşdırma Dilləri:Tarix və Əsaslar(1969) təsirli mətnə ​​çevrildi.
ing.Apollo Mission
Apollon Missiyası, aya eniş modullarında kompüterləri proqramlaşdırmaq üçün proqram təminatından asılı idi. Kompüterlər "Basic" adlı bir dillə proqramlaşdırılmışdı.Proqram həmçinin bir sıra rutinlərdən və icraçıdan ibarət olan tərcüməçiyə malik idi və hansı proqramların nə vaxt işlədilməsini təyin edirdi.Hər ikisi Hal Laning tərəfindən hazırlanmışdır.ƏvvəllərABŞSAGE hava hücumundan müdafiə sistemində işləyərkən proqram təminatının etibarlılığı ilə bağlı problemlərlə məşğul olanMarqaret HamiltondaApollo proqram təminatıkomandasının bir hissəsi idi.HamiltonApollokompüterləri üçün bortda uçuş proqram təminatına cavabdeh idi. Hamilton hiss edirdi ki,proqram təminatıəməliyyatları təkcə maşının bir hissəsi deyil, həm də proqram təminatını idarə edən insanlarla mürəkkəb şəkildə əlaqəlidir.HamiltonNASA-da işləyərkən "proqram mühəndisliyi" terminini də işlətdi.
Apollon missiyalarındakompüterlər üçün faktiki "proqram təminatı" maqnit nüvələrindən keçən naqillərdən ibarət idi.Naqilin maqnit nüvəsindən keçdiyi yerdə "1" və naqilin nüvənin ətrafında getdiyi yer isə "0" idi.Hər nüvə 64 bit məlumat saxlayırdı.Hamilton və başqaları proqram təminatını perfokartlarda deliklər açaraq yaradacaqdılar, daha sonra bu proqramlarHoneywellmeynfreymindəişlənərək proqram təminatının simulyasiyası mümkün idi.Kod "bərk" olduqda, o, "Kiçik Qoca Xanımlar" kimi tanınan qadınların naqillər üzərində işlədiyiRaytheon-da maqnit nüvələrinə toxunmaq üçün göndərildi.Proqramın özü "sarsılmaz" idi və həttaApollon 12-nin başına gələn ildırım zərbələrinə tab gətirə bilirdi.Kompüterlərin naqillərinin çəkilməsi bir neçə həftə çəkdi və bu müddət ərzində proqram təminatının işlənməsi dayandırıldı.
Proqramlaşdırmanı sınamaq üçün simulyatorlardan istifadə edərkən, Hamilton kodun istifadəsi zamanı insan səhvləri edildiyi zaman təhlükəli səhvlər yarada biləcəyi yolları kəşf etdi.NASAastronavtların məşq etdikləri üçün səhv etməyəcəklərinə inanırdı.Hamiltona sistemin çökməsinə səbəb olacaq səhvlərin qarşısını almaq üçün kodu proqramlaşdırmağa icazə verilmədi, ona görə də o, proqram sənədlərində kodu şərh etdi.Onun səhv yoxlama kodu əlavə etmək ideyaları "həddindən artıq" olaraq rədd edildi.Bununla belə, Hamiltonun proqnozlaşdırdığı şey tam olaraqApollo 8uçuşunda baş verdi, insan səhvi kompüterin bütün naviqasiya məlumatlarını silməsinə səbəb oldu.
Daha sonra proqram təminatı Data General, Digital Equipment vəIBMkimi orijinal avadanlıq istehsalçısı (OEM) tərəfindən aparatlabirləşdirilmişşəkildə bir çox müştərilərə satıldı. Müştəri o dövrdə bazarda ən kiçik kompüter olan minikompüter alanda kompüter əvvəlcədən quraşdırılmış proqram təminatı ilə gəlməyib, lakin orijinal avadanlıq istehsalçısı (OEM) tərəfindən işləyən mühəndislər tərəfindən quraşdırılmalı idi.
Bu birləşməABŞ-ın antiinhisar tənzimləyicilərinin diqqətini çəkdi və onlar 1969-cu ildəIBM-i düzgün olmayan "bağlama"ya görə məhkəməyə verdilər və bunun antiinhisar pozuntusu olduğunu iddia edərək, onun proqram təminatını əldə etmək istəyən müştərilərin bunun üçün onun avadanlıqlarını da satın almalı və ya icarəyə götürməli oldular. Bununla belə, ABŞ Ədliyyə Departamenti uzun illərdən sonra "əsassız" olduğu qənaətinə gələrək, işdən imtina etdi.
Data General də paketləşdirmə ilə bağlı hüquqi problemlərlə üzləşdi – baxmayaraq ki, bu halda bu, gələcək rəqibin mülki iddiası ilə bağlı idi. Data General Data General Nova-nı təqdim edəndə Digidyne adlı şirkət RDOS (Real-time Disk Operating System)əməliyyat sistemindənözhardwareklonunda istifadə etmək istədi. Data General onlarınproqram təminatınılisenziyalaşdırmaqdan imtina etdi və "birləşdirmə hüquqları" iddia etdi.ABŞ Ali Məhkəməsi1985-ci ildə iş üzrə 9-cu dairəapellyasiya məhkəməsininqərarını qüvvədə saxlamaqlaDigidyne v. Data Generaladlı presedent yaratdı və Data General nəticədə əməliyyat sistemini lisenziyalaşdırmağa məcbur oldu, çünki lisenziyanın yalnız DG ilə məhdudlaşdırılması qərara alındı.Donanım qaçaqbağlama tənzimləməsiedildi. Dairə Məhkəməsi qeyd etsə də, "heç bir ağlabatan andlı iclasçı daha böyük rəqibləri olan bu böyük və dinamik bazarda "Data General" qanunsuz bağlanma tənzimləməsi vasitəsilə ticarəti məhdudlaşdırmaq üçün bazar gücünə malik olduğunu" tapa bilməzdi. Apellyasiya şikayəti əsasında əməliyyat sisteminin hardware üçün qeyri-qanuni olduğu qərara alınıb.
2008-ci ildə Psystar Korporasiyası əvvəlcədən quraşdırılmışOS Xilə icazəsizMacintoshklonlarının yayılmasına görəApple Inc.tərəfindən məhkəməyə verildi və qarşıdurma verildi. Qarşılıqlı iddiadakı arqumentlərdən biri — Data General davasına istinadən —Apple-ın əməliyyat sistemini Apple kompüterlərinə qeyri-qanuni bağlamaqlaOS X-əuyğun kompüterlər bazarında üstünlük təşkil etməsi idi. Dairə Məhkəməsinin hakimi Uilyam Alsup bu arqumenti rədd edərək dedi ki, Dairə Məhkəməsi 20 ildən çox əvvəl Data General işində qərar verdiyi kimi, müvafiq bazar sadəcə bir əməliyyat sistemi (Mac OS) deyil, Mac OS daxil olmaqla bütün PC əməliyyat sistemləridir.Mac OSbu geniş bazarda dominant mövqeyə malik deyil. Alsup-un qərarında həmçinin qeyd olunur ki, müəllif hüquqları ilə qorunan məhsulların bağlanmasının həmişə qeyri-qanuni olması ilə bağlı təəccüblü Data General presedenti o vaxtdan bəri Illinois Tool Works Inc. Müstəqil Mürəkkəb, Inc-ə qarşı işin hökmü ilə "dolaylı şəkildə ləğv edilib".
Müstəqil paketlənmişproqram təminatıistehsal edən sənaye 1960-cı illərin sonlarında inkişaf etməyə başladı.
Unixməşhur və çox təsirli olan erkənəməliyyat sistemiidi və bu gün də mövcuddur. Bu gün Unix-in ən populyar variantımacOS- dur (əvvəllərOS XvəMac OS Xadlanırdı),LinuxisəUnixilə sıx bağlıdır.
1975-ci ilin yanvarında Micro Instrumentation and Telemetry Systems (MITS)Altair 8800mikrokompüter dəstini poçt sifarişi ilə satmağa başladı.Microsoftilk məhsulu Altair BASIC -ni həmin ilin sonunda buraxdı və hobbilər bu dəstlər üzərində işləmək üçün proqramlar hazırlamağa başladılar. Tiny BASIC,Dr. Dobb's Journal-da tipli proqram kimi nəşr edilmiş və əməkdaşlıqla hazırlanmışdır.
Məsələn, 1976-cı ildə Peter R. Jennings MOS Technology şirkətinin KIM-1 dəsti üçünMicrochessproqramını yaratdı, lakin o, lent sürücüsü ilə gəlmədiyi üçün mənbə kodunu kiçik bir kitabçada poçt sifarişi müştərilərinə göndərirdi. 1978-ci ildə Ket və Den Spraklen kompüter jurnalındaSarqon (şahmat)proqramının mənbəyini dərc etdilər. Jennings daha sonra kağız lent satışına keçdi və nəhayət üzərindəki proqramla kompakt kasetlər.
Kompüter jurnalından mənbə kodunu daxil etmək əlverişsiz və yavaş bir proses idi və bir səhv yazılmış simvol proqramı işləməyəcək hala gətirə bilərdi, lakin insanlar hələ də bunu edirdilər.
1980-ci illərdə kommersiya proqram təminatının yayılması üçün patronların və kaset lentlərinin yayılması ilə belə, pulsuz proqramlar hələ də tez-tez çap olunurdu, çünki bu, kaset lentlərini hazırlamaqdan və əlavə etməkdən daha ucuz idi.
Bununla belə, nəticədə dörd amilin birləşməsi kompüter jurnallarında bütün proqramların tam mənbə kodu siyahılarının çap edilməsi təcrübəsini sona çatdırdı:
Çox tezkommersiyaproqram təminatıpiratolunmağa başladı və kommersiya proqram istehsalçıları bundan çox narazı qaldılar.MicrosoftunhəmtəsisçisiBill Qeyts1976-cı ildə yazdığı məşhur "Həvəskarlara Açıq Məktub"laing.An Open Letter to Hobbyistsproqram təminatıpiratçılığına qarşı erkən əxlaqlandırıcı idi.
Mikrokompüterdən əvvəl uğurlu proqram təminatı (software) hər biri 50.000–60.000 dollara 1000 ədədə qədər satılırdı. 1980-ci illərin ortalarında fərdi kompüter proqramı hər biri 50–700 dollara minlərlə nüsxə satdı.Microsoft,MicroPro və Lotus Development kimi şirkətlərin illik satışları on milyonlarla dollar idi.Onlar eyni şəkildə artıq uğurlu məhsullarınlokallaşdırılmışversiyaları iləAvropabazarında üstünlük təşkil edirdilər.
Hesablama tarixindəmühüm məqam 1980-ci illərdəIBMişçisi Philip Don Estridge tərəfindən nəşr olunan IBMFərdi Kompüterininspesifikasiyalarının nəşri oldu ki, bu da tez bir zamanda dünya miqyasındamasaüstü kompüterlərvə daha sonranoutbukbazarlarında PC-nin dominantlığına səbəb oldu – bu üstünlük hələ də davam edir. bugünə. Microsoft,PCüçün ilk əməliyyat sistemini (MS-DOS) inkişaf etdirmək üçün IBM ilə uğurla danışıqlar apararaq, MS-DOS və onun xələfi əlavəsi vasitəsilə sonrakı onilliklər ərzində kompüterin uğurundan böyük mənfəət əldə etdi,Microsoft Windows. Danışıqlarda qalib gəlmək Microsoft tarixində mühüm məqam oldu.
Mobil qurğular (mobil telefonlar və planşetlər) üçün proqramlar son illərdə "tətbiqlər" adlandırılır.AppleiPhonevəiPadproqramlarının satışını özApp Storevasitəsilə və beləliklə, hər iki baytar tətbiqetməsi vasitəsilə həyata keçirməyi və satılan hər ödənişli tətbiqin bir hissəsini əldə etməyi seçdi.Apple proqram mağazasındanyan keçmək üçün istifadə edilə bilən proqramlara (məsələn,Javavə yaFlashvirtual maşınları kimivirtual maşınlara) icazə vermir.
Androidplatforması, əksinə, onun üçün çoxlu proqram mağazasına malikdir və istifadəçilər ümumiyyətlə hansının istifadə edəcəyini seçə bilərlər (baxmayaraq ki,Google Playuyğun və ya köklü cihaz tələb edir).
Bu hərəkətGNOMEProqramı (Linuxüçün),MacApp Store(macOSüçün) vəWindows Mağazası(Windows üçün) olan masaüstü əməliyyat sistemləri üçün təkrarlandı. Bu platformaların hamısı, həmişə olduğu kimi, qeyri-eksklüziv olaraq qalır: onlar proqramların tətbiq mağazasından kənarda və həqiqətən də digər proqram mağazalarından quraşdırılmasına imkan verir.
XüsusiləiPhoneüçün, həm dəAndroidüçün tətbiqlərin populyarlığının kəskin artması bir növ "qızıl hərisliyi" -nə səbəb oldu, bəzi ümidli proqramçılar onu zənginləşdirmək ümidi ilə proqramlar yaratmağa xeyli vaxt ayırdılar. Həqiqi qızıl hərisliyində olduğu kimi, bu ümidli sahibkarların heç də hamısı uğur qazanmadı.
Aşağıdakı cədvəllərdə kompüter proqram təminatının bir çox müxtəlif aspektlərinin ildən-ilə inkişafı daxildir: