Программалык камсыздоону иштеп чыгуунун келечеги: ЭЭМдин келечеги Б2

Кредит сүрөтү: Quantumrun

Программалык камсыздоону иштеп чыгуунун келечеги: ЭЭМдин келечеги Б2

    1969-жылы Нил Армстронг менен Базз Олдрин Айга биринчи кадам таштаган адамдар болгондон кийин эл аралык баатырлар болушкан. Бирок бул космонавттар камеранын каармандары болсо да, алардын катышуусуз Айга биринчи жолу конуу мүмкүн эмес болгон миңдеген айтылбаган баатырлар бар. Бул каармандардын бир нечеси учакты коддогон программалык камсыздоону иштеп чыгуучулар болгон. Неге?

    Ооба, ал кездеги компьютерлер азыркыдан алда канча жөнөкөй. Чындыгында, жөнөкөй адамдын эскирген смартфону Аполлон 11 космостук кемесинин бортундагы (жана 1960-жылдардагы НАСАнын бардыгына) караганда бир нече эсе күчтүү. Андан тышкары, ошол кездеги компьютерлер программалык камсыздоону эң негизги машина тилдеринде программалаган атайын программалык камсыздоону иштеп чыгуучулар тарабынан коддолгон: AGC Ассамблея коду же жөн эле, 1s жана 0s.

    Контекст үчүн, бул айтылбаган баатырлардын бири, Аполлон космос программасынын Программалык камсыздоо бөлүмүнүн директору, Маргарет Хэмилтон, жана анын командасы бүгүнкү программалоо тилдерин колдонуу менен күч-аракеттин бир бөлүгүн колдонуу менен жазылган болушу мүмкүн деп тоо код жазуу керек болчу (төмөндөгү сүрөттө).

    (Жогорудагы сүрөттө Маргарет Гамильтон Apollo 11 программасын камтыган кагаздын жанында турат.)

    Ал эми программалык камсыздоону иштеп чыгуучулар мүмкүн болгон сценарийлердин болжол менен 80-90 пайызын коддогон учурдан айырмаланып, Аполлон миссиялары үчүн алардын коду бардыгын эсепке алышы керек болчу. Муну перспективага коюу үчүн Маргарет өзү мындай деди:

    "Текшерүү тизмесинин нускамасындагы катадан улам, жолугушуунун радарын которгучу туура эмес жайгаштырылган. Бул анын компьютерге ката сигналдарын жөнөтүүсүнө алып келди. Натыйжада компьютерден конуу үчүн өзүнүн бардык нормалдуу функцияларын аткаруусу талап кылынган. убакыттын 15% сарпталган жалган маалыматтардын ашыкча жүктөмүн алууда.Компьютер (же тагыраак айтканда, андагы программалык камсыздоо) андан аткарууга тийиш болгон тапшырмалардан көбүрөөк тапшырмаларды аткарууну талап кылып жатканын түшүнө турганча акылдуу болгон. Космонавт үчүн болгон сигнализацияны чыгарып, мен ушул убакта аткарышым керек болгон милдеттерден ашыкча жүктөлүп жатам жана мен андан маанилүүрөөк иштерди гана сактап калам, б.а., конуу үчүн зарыл болгон... Чындыгында , компьютер ката шарттарын таануу менен гана чектелбестен, программаланган. Калыбына келтирүү программаларынын толук комплекси программалык камсыздоого киргизилген. Бул учурда программалык камсыздоонун аракети төмөнкү артыкчылыктуу тапшырмаларды жок кылуу жана маанилүүрөөгүн кайра түзүү болгон ... Эгерде компьютер жок болсоБул көйгөйдү таанып, калыбына келтирүү боюнча иш-аракеттерди көргөндө, мен Аполлон 11дин Айга ийгиликтүү конгонунан күмөнүм бар».

    — Маргарет Гамильтон, Apollo Flight Computer Programming MIT Draper Laboratory директору, Кембридж, Массачусетс, "Компьютер жүктөлдү", кат Datamation, Март 1, 1971

    Жогоруда айтылгандай, программалык камсыздоону иштеп чыгуу ошол Аполлондун алгачкы күндөрүнөн бери өнүккөн. Жаңы жогорку деңгээлдеги программалоо тилдери 1 жана 0 менен коддоонун түйшүктүү процессин сөздөр жана символдор менен коддоого алмаштырды. Мурда бир нече күн коддоону талап кылган кокус санды түзүү сыяктуу функциялар эми бир буйрук сабын жазуу менен алмаштырылды.

    Башка сөз менен айтканда, программалык коддоо он жыл өткөн сайын автоматташтырылган, интуитивдик жана адамдык болуп калды. Бул сапаттар келечекте гана уланып, программалык камсыздоону иштеп чыгуунун эволюциясын биздин күнүмдүк жашообузга терең таасир этүүчү жолдор менен жетектейт. Бул бөлүмдүн бул бөлүгү Компьютерлердин келечеги сериясы изилденет.

    Массалык үчүн программалык камсыздоону иштеп чыгуу

    1 жана 0 (машина тили) коддоо зарылдыгын сөздөр жана символдор (адам тили) менен алмаштыруу процесси абстракциялардын катмарларын кошуу процесси деп аталат. Бул абстракциялар жаңы программалоо тилдери түрүндө келип, алар иштелип чыккан талаа үчүн татаал же жалпы функцияларды автоматташтырат. Бирок 2000-жылдардын башында жаңы компаниялар пайда болгон (мисалы, Caspio, QuickBase жана Mendi) алар кодсуз же төмөн коддуу платформаларды сунуш кыла башташты.

    Бул техникалык эмес адистерге коддун визуалдык блокторун (символдор/графика) бириктирүү жолу менен бизнесинин муктаждыктарына ылайыкташтырылган ыңгайлаштырылган колдонмолорду түзүүгө мүмкүндүк берген колдонуучуга ыңгайлуу, онлайн панелдер. Башкача айтканда, даракты кыйып, аны кийим шкафына айландыруунун ордуна, аны Ikeaдан алдын ала модаланган бөлүктөр менен курасыз.

    Бул кызматты колдонуу дагы эле белгилүү бир деңгээлдеги компьютерди билүүнү талап кылса да, мындан ары компьютер илиминин даражасын колдонуунун кереги жок. Натыйжада, абстракциянын бул формасы корпоративдик дүйнөдө миллиондогон жаңы "программалык камсыздоону иштеп чыгуучулардын" өсүшүнө жана көптөгөн балдарга эрте куракта коддоону үйрөнүүгө мүмкүндүк берет.

    Программалык камсыздоону иштеп чыгуучу болуу деген эмнени билдирерин кайра аныктоо

    Пейзажды же адамдын жүзүн полотного гана тартууга мүмкүн болгон учур болгон. Сүрөтчү бир нече жылдар бою шакирт катары окуп, машыгып, живопись өнөрүн үйрөнүшү керек - түстөрдү кантип айкалыштыруу керек, кандай куралдар эң жакшы, конкреттүү визуалды аткаруунун туура ыкмалары. Сооданын баасы жана аны жакшы аткаруу үчүн талап кылынган көп жылдык тажрыйба да сүрөтчүлөрдүн аз экендигин билдирген.

    Андан кийин камера ойлоп табылган. Ал эми бир баскычты чыкылдатуу менен пейзаждар жана портреттер бир секундда тартылып алынган, антпесе сүрөт тартууга бир нече күндөн жумага чейин созулчу. Камералар жакшырып, арзандап, эң жөнөкөй смартфондорго кошулган чекитке чейин көбөйгөн сайын, бизди курчап турган дүйнөнү сүрөткө тартуу азыр ар бир адам катыша турган кадимки жана жөнөкөй иш болуп калды.

    Абстракциялардын өнүгүшү жана программалык камсыздоонун жаңы тилдери программалык камсыздоону иштеп чыгуунун күнүмдүк ишин автоматташтырган сайын, 10-20 жылдан кийин программалык камсыздоону иштеп чыгуучу болуу эмнени билдирет? Бул суроого жооп берүү үчүн, келгиле, келечектеги программалык камсыздоону иштеп чыгуучулар эртеңки тиркемелерди кантип түзө аларын карап көрөлү:

    *Биринчиден, бардык стандартташтырылган, кайталануучу коддоо иштери жок болот. Анын ордуна алдын ала аныкталган компоненттердин жүрүм-турумунун, UI'лердин жана маалымат агымынын манипуляцияларынын (Ikea бөлүктөрү) кеңири китепканасы болот.

    *Бүгүнкүдөй эле, иш берүүчүлөр же ишкерлер программалык камсыздоону иштеп чыгуучулар үчүн атайын программалык тиркемелер же платформалар аркылуу аткаруу үчүн конкреттүү максаттарды жана натыйжаларды аныкташат.

    *Андан кийин бул иштеп чыгуучулар өздөрүнүн аткаруу стратегиясын түзүшөт жана алардын компоненттеринин китепканасына кирүү жана аларды бириктирүү үчүн визуалдык интерфейстерди колдонуу аркылуу программалык камсыздоонун алгачкы долбоорлорун прототиптеп башташат — кеңейтилген реалдуулук (AR) же виртуалдык реалдуулук (VR) аркылуу жеткиликтүү визуалдык интерфейстер.

    *Жасалма интеллекттин (AI) адистештирилген тутумдары иштеп чыгуучунун алгачкы долбоорлорунда айтылган максаттарды жана натыйжаларды түшүнүү үчүн иштелип чыккан, андан кийин иштелип чыккан программалык камсыздоонун дизайнын тактайт жана сапаттын кепилдигин текшерүүнү автоматташтырат.

    * Натыйжалардын негизинде, AI андан кийин иштеп чыгуучуга көптөгөн суроолорду берет (балким, оозеки, Alexa сыяктуу байланыш аркылуу), долбоордун максаттарын жана натыйжаларын жакшыраак түшүнүүгө жана аныктоого жана программалык камсыздоонун ар кандай сценарийлерде кандай иш-аракет кылышы керектигин талкуулоого аракет кылат. жана чөйрөлөр.

    *Иштеп чыгуучунун пикиринин негизинде, AI акырындык менен анын ниетин үйрөнүп, долбоордун максаттарын чагылдыруу үчүн кодду жаратат.

    * Бул алдыга жана артка, адам менен машинанын кызматташуусу, даяр жана сатылуучу версия ички ишке киргизүүгө же коомчулукка сатууга даяр болмоюнча, программанын версиясынан кийин версиясын кайталайт.

    *Чындыгында, бул кызматташуу программалык камсыздоону реалдуу дүйнөдө колдонууга дуушар болгондон кийин улантылат. Жөнөкөй мүчүлүштүктөр билдирилгендей, AI аларды программалык камсыздоону иштеп чыгуу процессинде белгиленген түпнуска, каалаган максаттарды чагылдырган ыкма менен автоматтык түрдө оңдойт. Ошол эле учурда, олуттуу каталар маселени чечүү үчүн адам-AI кызматташтыгын талап кылат.

    Жалпысынан, келечектеги программалык камсыздоону иштеп чыгуучулар «кантип» дегенге азыраак көңүл буруп, «эмне» жана «эмне үчүн» дегенге көбүрөөк көңүл бурушат. Алар азыраак уста жана көбүрөөк архитектор болот. Программалоо интеллектуалдык көнүгүү болот, ал максатты жана натыйжаларды AI түшүнө ала тургандай ыкма менен жеткире алган адамдарды талап кылат, андан кийин даяр санариптик тиркемени же платформаны автоматтык түрдө коддой алат.

    Жасалма интеллект программалык камсыздоону иштеп чыгуу

    Жогорудагы бөлүмдү эске алганда, биз AI программалык камсыздоону иштеп чыгуу чөйрөсүндө барган сайын борбордук ролду ойной тургандыгы түшүнүктүү, бирок аны кабыл алуу программалык камсыздоону иштеп чыгуучуларды натыйжалуураак кылуу максатында гана эмес, бул тенденциянын артында бизнес күчтөр да бар.

    Программалык камсыздоону иштеп чыгуучу компаниялардын ортосундагы атаандаштык жыл өткөн сайын курчуп баратат. Кээ бир компаниялар атаандаштарын сатып алуу менен атаандашат. Башкалары программалык камсыздоонун дифференциациясында атаандашат. Акыркы стратегиянын көйгөйү - бул оңой менен корголбойт. Бир компания өзүнүн кардарларына сунуш кылган программалык камсыздоонун кандайдыр бир өзгөчөлүгү же жакшыртуусу, анын атаандаштары салыштырмалуу оңой көчүрө алышат.

    Ушул себептен улам, компаниялар ар бир үч жыл сайын жаңы программалык камсыздоону чыгарган күндөр артта калды. Бул күндөрдө дифференциацияга көңүл бурган компаниялар жаңы программалык камсыздоону, программалык камсыздоону оңдоолорду жана программалык камсыздоо функцияларын барган сайын үзгүлтүксүз түрдө чыгарууга каржылык стимулга ээ. Компаниялар инновацияларды канчалык тезирээк киргизсе, ошончолук кардарлардын лоялдуулугун жогорулатат жана атаандаштарга өтүү баасын жогорулатат. Бул программалык камсыздоонун кошумча жаңыртууларынын үзгүлтүксүз жеткирилишине карай жылыш "үзгүлтүксүз жеткирүү" деп аталган тенденция болуп саналат.

    Тилекке каршы, үзгүлтүксүз жеткирүү оңой эмес. Бүгүнкү программалык камсыздоо компанияларынын төрттөн бир бөлүгү бул тенденция талап кылынган релиз графигин аткара алат. Мына ушундан улам иштерди тездетүү үчүн AI колдонууга абдан көп кызыгуу бар.

    Жогоруда айтылгандай, AI акыры программалык камсыздоону иштеп чыгууда жана иштеп чыгууда барган сайын биргелешкен ролду ойнойт. Бирок кыска мөөнөттүн ичинде компаниялар аны программалык камсыздоонун сапатын кепилдөө (сыноо) процесстерин автоматташтыруу үчүн колдонуп жатышат. Ал эми башка компаниялар программалык документацияны автоматташтыруу үчүн AI колдонуу менен эксперимент жүргүзүп жатышат — жаңы функциялардын жана компоненттердин чыгарылышын көзөмөлдөө процесси жана алардын код деңгээлине чейин кантип өндүрүлгөнү.

    Жалпысынан алганда, AI барган сайын программалык камсыздоону иштеп чыгууда борбордук ролду ойнойт. Аны колдонууну эрте өздөштүргөн программалык камсыздоо компаниялары, акыры, атаандаштарына караганда экспоненциалдуу өсүшкө ээ болушат. Бирок бул AI жетишкендиктерин ишке ашыруу үчүн, өнөр жай да нерселердин аппараттык жагындагы жетишкендиктерди көрүшү керек - кийинки бөлүмдө бул маселе талкууланат.

    Программа кызмат катары

    Бардык чыгармачыл адистер санарип искусствосун же дизайн иштерин жаратууда Adobe программасын колдонушат. Дээрлик отуз жыл бою сиз Adobe программасын компакт-диск катары сатып алдыңыз жана аны түбөлүккө колдонууга ээ болуп, керек болсо келечекте жаңыланган версияларын сатып алдыңыз. Бирок 2010-жылдардын ортосунда Adobe өзүнүн стратегиясын өзгөрттү.

    Таарынычтуу түрдө иштелип чыккан ээлик ачкычтары бар программалык компакт-дисктерди сатып алуунун ордуна, Adobe кардарлары эми Adobe серверлерине үзгүлтүксүз интернет туташуусу менен бирге иштеген программалык камсыздоону компьютердик түзүлүштөрүнө жүктөп алуу укугу үчүн ай сайын жазылуу төлөшү керек болот. .

    Бул өзгөртүү менен кардарлар мындан ары Adobe программасына ээлик кылбай калышты; алар аны керектеесуне жараша ижарага алышкан. Анын ордуна, кардарлар мындан ары дайыма Adobe программалык камсыздоонун өркүндөтүлгөн версияларын сатып алуу керек; алар Adobe кызматына жазылгандан кийин, алар ар дайым акыркы жаңыртууларды чыгаргандан кийин дароо түзмөгүнө жүктөлүп турмак (көбүнчө жылына бир нече жолу).

    Бул акыркы жылдары биз көргөн эң чоң программалык камсыздоо тенденцияларынын биринин бир гана мисалы: программалык камсыздоо өзүнчө продуктунун ордуна кантип кызматка өтүп жатат. Майкрософттун Windows 10 жаңыртуусунун чыгышынан көргөнүбүздөй, кичинекей, атайын программалык камсыздоону гана эмес, бүтүндөй операциялык системаларды. Башкача айтканда, программалык камсыздоо кызмат катары (SaaS).

    Өзүн-өзү үйрөнүүчү программалык камсыздоо (SLS)

    Өнөр жайдын SaaSка карай жылышына таянуу менен, SaaS менен AIды бириктирген программалык мейкиндикте жаңы тенденция пайда болууда. Amazon, Google, Microsoft жана IBMдин алдыңкы компаниялары AI инфраструктурасын кардарларына кызмат катары сунуштай башташты.

    Башкача айтканда, мындан ары AI жана машина үйрөнүү программалык камсыздоо гиганттарына гана жеткиликтүү эмес, эми ар бир компания жана иштеп чыгуучу өзүн өзү үйрөнүүчү программалык камсыздоону (SLS) түзүү үчүн AI онлайн ресурстарына кире алат.

    Жасалма интеллекттин келечеги сериясында биз AI потенциалын кеңири талкуулайбыз, бирок бул бөлүмдүн контекстинде биз учурдагы жана келечектеги программалык камсыздоону иштеп чыгуучулар SLSти жаңы системаларды түзүү үчүн түзүшөт деп айтабыз. жөн гана сиз үчүн аларды автоматтык түрдө толтуруңуз.

    Бул келечектеги AI жардамчысы кеңседе сиздин иш стилиңизди үйрөнүп, документтерди сиз каалагандай форматтоо, электрондук каттарды үнүңүздүн тонуңуз менен түзүү, жумуш календарын башкаруу жана башкалар сыяктуу негизги тапшырмаларды аткара баштайт дегенди билдирет.

    Үйдө бул SLS тутумунун келечектеги акылдуу үйүңүздү башкарууну, анын ичинде сиз келгенге чейин үйүңүздү жылытуу же сатып алышыңыз керек болгон азык-түлүккө көз салуу сыяктуу милдеттерди билдирет.

    2020-жылга чейин жана 2030-жылга чейин бул SLS системалары корпоративдик, өкмөттүк, аскердик жана керектөө рынокторунда маанилүү ролду ойноп, акырындык менен ар биринин өндүрүмдүүлүгүн жогорулатууга жана ар кандай калдыктарды азайтууга жардам берет. Бул серияда биз SLS технологиясын кененирээк карап чыгабыз.

    Бирок, мунун баарында бир нерсе бар.

    SaaS жана SLS моделдеринин иштешинин бирден-бир жолу - бул SaaS/SLS тутумдары иштеген "булутту" иштеткен эсептөө жана сактоо жабдыктары менен катар Интернет (же анын артындагы инфраструктура) өсүп жана жакшырса. Бактыга жараша, биз байкап жаткан тенденциялар келечектүү көрүнөт.

    Интернет кантип өнүгүп, өнүгүп жатканын билүү үчүн, биздин макаланы окуңуз Интернеттин келечеги сериясы. Компьютердик жабдык кандайча өнүгө турганы жөнүндө көбүрөөк билүү үчүн, төмөндөгү шилтемелерди колдонууну окуп чыгыңыз!

    Компьютерлердин келечеги сериясы

    Адамзатты кайра аныктоо үчүн пайда болгон колдонуучу интерфейстери: Компьютерлердин келечеги P1

    Санариптик сактагыч революциясы: Компьютерлердин келечеги P3

    Микрочиптерди түп-тамырынан бери кайра карап чыгуу үчүн өчүп бараткан Мур мыйзамы: Компьютерлердин келечеги P4

    Булуттагы эсептөөлөр борбордон ажыратылат: Компьютерлердин келечеги P5

    Эмне үчүн өлкөлөр эң чоң суперкомпьютерлерди куруу үчүн атаандашууда? Компьютерлердин келечеги Б6

    Кантип кванттык компьютерлер дүйнөнү өзгөртөт: Компьютерлердин келечеги P7    

    Бул болжолдоо үчүн кийинки пландаштырылган жаңыртуу

    2023-02-08

    Болжолдуу шилтемелер

    Бул болжолдоо үчүн төмөнкү популярдуу жана институционалдык шилтемелер колдонулган:

    ProPublica

    Бул болжолдоо үчүн төмөнкү Quantumrun шилтемелери шилтеме кылынган: