Програм хангамжийн хөгжлийн ирээдүй: Компьютерийн ирээдүй P2

ЗУРГИЙН ЗЭЭЛ: Quantumrun

Програм хангамжийн хөгжлийн ирээдүй: Компьютерийн ирээдүй P2

    1969 онд Нейл Армстронг, Базз Олдрин нар саран дээр хөл тавьсан анхны хүмүүс болсныхоо дараа олон улсын баатрууд болжээ. Эдгээр сансрын нисгэгчид камерын баатрууд байсан ч тэдний оролцоогүйгээр хүнтэй анх удаа саран дээр буух боломжгүй байсан мянга мянган нэргүй баатрууд байдаг. Эдгээр баатруудын цөөхөн хэд нь нислэгийг кодлосон программ хангамж хөгжүүлэгчид байв. Яагаад?

    Тэр үед байсан компьютерууд одоогийнхоос хамаагүй энгийн байсан. Үнэн хэрэгтээ энгийн хүний ​​элэгдсэн ухаалаг утас нь Аполло 11 сансрын хөлөг (мөн 1960-аад оны НАСА) дээрх бүх зүйлээс хэд дахин илүү хүчтэй байдаг. Түүгээр ч зогсохгүй тухайн үеийн компьютеруудыг AGC Assembly Code буюу энгийнээр 1, 0 гэсэн үндсэн хэлээр программчилсан тусгай программ хөгжүүлэгч нар кодлодог байв.

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

    (Дээрх зурган дээр Маргарет Хамилтон Аполло 11 программ хангамж агуулсан цаасны дэргэд зогсож байна.)

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

    "Хяналтын хуудасны гарын авлагад алдаа гарсны улмаас уулзалтын радарын унтраалга буруу байрлалд тавигдсан. Энэ нь компьютерт алдаатай дохио илгээхэд хүргэсэн. Үүний үр дүнд компьютер буухын тулд бүх хэвийн үйл ажиллагааг нь гүйцэтгэхийг шаардаж байсан. Хуурамч өгөгдлийн нэмэлт ачааллыг хүлээн авахдаа цаг хугацааныхаа 15%-ийг зарцуулсан. Компьютер (эсвэл түүний доторх программ хангамж) нь гүйцэтгэх ёстой хэмжээнээсээ илүү олон ажлыг гүйцэтгэхийг шаардаж байгааг хүлээн зөвшөөрөх хангалттай ухаалаг байсан. Дараа нь илгээсэн. Сансрын нисгэгчдэд зориулсан түгшүүрийн дохио өгөхөд би энэ үед хийх ёстой байснаас илүү олон ажилд хэт ачаалалтай байгаа бөгөөд би зөвхөн илүү чухал ажлуудыг л үлдээх болно, өөрөөр хэлбэл, газардахад шаардлагатай ажлуудыг л хийх болно ... , компьютер нь алдааны нөхцөлийг танихаас илүү ихийг хийхээр програмчлагдсан. Сэргээх програмуудын иж бүрэн багцыг програм хангамжид оруулсан. Энэ тохиолдолд програм хангамжийн үйлдэл нь хамгийн бага ач холбогдолтой ажлуудыг арилгаж, илүү чухал ажлуудыг дахин тохируулах явдал байв ... Хэрэв компьютер байхгүй байсан болЭнэ асуудлыг хүлээн зөвшөөрч, сэргээх арга хэмжээ авсан бол Аполло 11 саран дээр амжилттай газардсан эсэхэд эргэлзэж байна."

    — Маргарет Хамилтон, Массачусетс мужийн Кембриж, Аполло нислэгийн компьютерийн програмчлалын MIT Draper лабораторийн захирал, "Компьютер ачаалагдсан", захидал. Мэдээлэл боловсруулах, Гуравдугаар 1, 1971

    Өмнө дурьдсанчлан програм хангамж хөгжүүлэлт нь Аполлоны эхэн үеэс эхлэн хөгжиж ирсэн. Шинэ дээд түвшний програмчлалын хэлүүд 1 болон 0-ээр кодлох уйтгартай үйл явцыг үг, тэмдэгтээр кодлох болгон сольсон. Олон хоног кодлох шаардлагатай байсан санамсаргүй тоо үүсгэх гэх мэт функцууд одоо нэг тушаалын мөр бичих замаар солигдсон.

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

    Олон нийтэд зориулсан програм хангамж хөгжүүлэх

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

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

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

    Програм хангамж хөгжүүлэгч байх нь юу гэсэн үг болохыг дахин тодорхойлох

    Нэгэн цагт ландшафт, хүний ​​царайг зөвхөн зотон дээр л буулгадаг байсан. Зураач олон жилийн турш дагалдан суралцаж, дадлага хийж, будах ур чадвар - өнгө хэрхэн холих, ямар хэрэгсэл хамгийн сайн бэ, тодорхой дүрсийг гүйцэтгэх зөв арга техникийг сурах ёстой. Арилжааны зардал, түүнийг сайн гүйцэтгэхэд шаардлагатай олон жилийн туршлага нь зураачид цөөхөн байсан гэсэн үг юм.

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

    Хийсвэрлэл ахиж, шинэ програм хангамжийн хэл нь програм хангамж хөгжүүлэх ажлыг улам бүр автоматжуулж байгаа тул 10-20 жилийн дараа програм хангамж хөгжүүлэгч болно гэдэг юу гэсэн үг вэ? Энэ асуултад хариулахын тулд ирээдүйн програм хангамж хөгжүүлэгчид маргаашийн хэрэглээний программуудыг хэрхэн бүтээх талаар авч үзье.

    *Нэгдүгээрт, бүх стандартчилагдсан, дахин давтагдах кодчилол алга болно. Түүний оронд урьдчилан тодорхойлсон бүрэлдэхүүн хэсгүүдийн үйлдэл, UI болон өгөгдлийн урсгалын залруулга (Ikea хэсгүүд) бүхий асар том номын сан байх болно.

    *Өнөөдрийн нэгэн адил ажил олгогчид эсвэл бизнес эрхлэгчид тусгайлсан програм хангамжийн хэрэглүүр эсвэл платформоор дамжуулан програм хангамж хөгжүүлэгчдэд хэрэгжүүлэх тодорхой зорилго, үр дүнг тодорхойлох болно.

    *Дараа нь эдгээр хөгжүүлэгчид гүйцэтгэлийнхээ стратегийг тодорхойлж, бүрэлдэхүүн номын сан руугаа нэвтэрч, өргөтгөсөн бодит байдал (AR) эсвэл виртуал бодит байдал (VR) -аар дамжуулан хандах визуал интерфейсийг ашиглан тэдгээрийг хооронд нь холбох замаар программ хангамжийнхаа эхэн үеийн төслийг загварчилж эхэлнэ.

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

    *Үр дүнд үндэслэн хиймэл оюун ухаан нь төслийн зорилго, үр дүнг илүү сайн ойлгож, тодорхойлох, янз бүрийн хувилбарт программ хангамж хэрхэн ажиллах талаар ярилцах зорилгоор хөгжүүлэгчээс олон асуулт асууж (амаар, Alexa-тай төстэй харилцаа холбоогоор дамжуулан) асууна. болон орчин.

    *Хөгжүүлэгчийн санал хүсэлт дээр үндэслэн хиймэл оюун ухаан аажмаар түүний зорилгыг мэдэж, төслийн зорилгыг тусгах кодыг бий болгоно.

    * Энэхүү нааш цааш, хүн-машины хамтын ажиллагаа нь програм хангамжийн бэлэн, зах зээлд бэлэн хувилбарыг дотоод хэрэглээнд нэвтрүүлэх эсвэл олон нийтэд борлуулах хүртэл хувилбарын дарааллаар давтах болно.

    *Үнэндээ программ хангамжийг бодит хэрэглээнд нэвтрүүлсний дараа энэ хамтын ажиллагаа үргэлжлэх болно. Энгийн алдаануудыг мэдээлснээр хиймэл оюун ухаан нь програм хангамжийг боловсруулах явцад тодорхойлсон анхны, хүссэн зорилгыг тусгасан байдлаар автоматаар засах болно. Үүний зэрэгцээ, илүү ноцтой алдаанууд нь асуудлыг шийдвэрлэхийн тулд хүн-AI-ийн хамтын ажиллагааг шаардах болно.

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

    Хиймэл оюун ухаанд суурилсан програм хангамж хөгжүүлэлт

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

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

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

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

    Өмнө дурьдсанчлан хиймэл оюун ухаан нь программ хангамжийн төсөл боловсруулах, хөгжүүлэхэд улам бүр хамтран ажиллах үүрэг гүйцэтгэх болно. Гэвч богино хугацаанд компаниуд үүнийг програм хангамжийн чанарын баталгаажуулалтын (туршилтын) процессыг автоматжуулахад ашиглаж байна. Мөн бусад компаниуд AI ашиглан програм хангамжийн баримт бичгийг автоматжуулах туршилт хийж байна - шинэ функцууд болон бүрэлдэхүүн хэсгүүдийн нээлт, тэдгээрийг кодын түвшинд хүртэл хэрхэн үйлдвэрлэсэн болохыг хянах үйл явц.

    Ерөнхийдөө хиймэл оюун ухаан нь програм хангамжийг хөгжүүлэхэд гол үүрэг гүйцэтгэх болно. Хэрэглээгээ эрт эзэмшсэн программ хангамжийн компаниуд эцсийн дүндээ өрсөлдөгчдөөсөө илүү өсөх болно. Гэхдээ хиймэл оюун ухааны эдгээр ололтыг хэрэгжүүлэхийн тулд салбар нь аливаа зүйлийн техник хангамжийн дэвшлийг олж харах шаардлагатай болно - дараагийн хэсэгт энэ талаар дэлгэрэнгүй ярих болно.

    Үйлчлэлийн програм хангамж

    Бүх төрлийн бүтээлч мэргэжилтнүүд дижитал урлаг, дизайн хийхдээ Adobe программ хангамжийг ашигладаг. Бараг гучин жилийн турш та Adobe-ийн программ хангамжийг CD хэлбэрээр худалдан авч, мөнхөд ашиглах эрхийг эзэмшиж, шаардлагатай бол ирээдүйн сайжруулсан хувилбаруудыг худалдаж авсан. Гэвч 2010-аад оны дундуур Adobe стратегиа өөрчилсөн.

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

    Энэхүү өөрчлөлтийг хийснээр үйлчлүүлэгчид Adobe программ хангамжийг эзэмшихээ больсон; Тэд үүнийг шаардлагатай бол түрээслэв. Хариуд нь үйлчлүүлэгчид Adobe програм хангамжийн сайжруулсан хувилбарыг байнга худалдан авах шаардлагагүй болсон; Тэд Adobe үйлчилгээнд бүртгүүлсэн л бол хамгийн сүүлийн үеийн шинэчлэлтүүдийг гаргасны дараа шууд (жилд хэд хэдэн удаа) төхөөрөмждөө байршуулах болно.

    Энэ бол сүүлийн жилүүдэд бидний харж байгаа хамгийн том програм хангамжийн чиг хандлагын нэг жишээ нь: програм хангамж нь бие даасан бүтээгдэхүүн биш үйлчилгээнд хэрхэн шилжиж байгаа юм. Майкрософт Windows 10-ийн шинэчлэлтийг гаргаснаар бид зөвхөн жижиг, тусгай программ хангамж төдийгүй бүх үйлдлийн системүүдтэй болсон. Өөрөөр хэлбэл, програм хангамж нь үйлчилгээ (SaaS).

    Өөрийгөө сурах програм хангамж (SLS)

    Салбарын SaaS руу шилжих шилжилт дээр тулгуурлан SaaS болон хиймэл оюун ухааныг хослуулсан програм хангамжийн салбарт шинэ чиг хандлага бий болж байна. Amazon, Google, Microsoft, IBM зэрэг тэргүүлэгч компаниуд хиймэл оюун ухааны дэд бүтцээ үйлчлүүлэгчдэдээ үйлчилгээ болгон санал болгож эхэлжээ.

    Өөрөөр хэлбэл, хиймэл оюун ухаан болон машин сургалтыг зөвхөн программ хангамжийн аваргууд ашиглах боломжгүй болсон тул ямар ч компани болон хөгжүүлэгч онлайн хиймэл оюун ухааны нөөцөд хандаж өөрөө суралцах програм хангамж (SLS) бүтээх боломжтой болсон.

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

    Энэ нь ирээдүйн хиймэл оюун ухааны туслах ажилтан таны ажлын хэв маягийг оффис дээрээ сурч, таны хүссэнээр бичиг баримтыг форматлах, имэйлээ таны дуу хоолойны өнгөөр ​​бичих, ажлын хуанли удирдах гэх мэт үндсэн ажлуудыг хийж эхэлнэ гэсэн үг юм.

    Гэртээ энэ нь таныг ирэхээс өмнө гэрээ халаах, худалдан авах шаардлагатай хүнсний бараагаа хянах гэх мэт ажлуудыг багтаасан ирээдүйн ухаалаг байшингаа SLS системээр удирдана гэсэн үг юм.

    2020 он, 2030 он гэхэд эдгээр SLS системүүд нь аж ахуйн нэгж, засгийн газар, цэрэг арми, хэрэглээний зах зээлд чухал үүрэг гүйцэтгэж, тус бүрдээ бүтээмжээ дээшлүүлж, бүх төрлийн хог хаягдлыг багасгахад аажмаар туслах болно. Энэ цувралд бид SLS технологийн талаар илүү дэлгэрэнгүй авч үзэх болно.

    Гэсэн хэдий ч энэ бүхний нэг арга бий.

    SaaS болон SLS загваруудын ажиллах цорын ганц арга зам бол эдгээр SaaS/SLS системүүд дээр ажиллаж байгаа "үүл"-ийг ажиллуулдаг тооцоолох болон хадгалах хэрэгслийн зэрэгцээ интернет (эсвэл түүний ард байгаа дэд бүтэц) өсөж, сайжруулж байх явдал юм. Аз болоход, бидний ажиглаж буй чиг хандлага ирээдүйтэй харагдаж байна.

    Интернет хэрхэн хөгжиж, хөгжих талаар мэдэхийг хүсвэл манай нийтлэлээс уншина уу Интернетийн ирээдүй цуврал. Компьютерийн техник хангамж хэрхэн хөгжих талаар илүү ихийг мэдэхийг хүсвэл доорх холбоосыг ашиглан уншина уу!

    Компьютерийн ирээдүй цуврал

    Хүн төрөлхтнийг дахин тодорхойлох шинэ хэрэглэгчийн интерфейсүүд: Компьютерийн ирээдүй P1

    Дижитал хадгалалтын хувьсгал: Компьютерийн ирээдүй P3

    Мөхөж буй Мурын хууль нь микрочипүүдийн талаар үндсэн санаагаа дахин эргэцүүлэн бодоход түлхэц өгөх болно: Компьютерийн ирээдүй P4

    Үүлэн тооцоолол нь төвлөрсөн бус болсон: Компьютерийн ирээдүй P5

    Яагаад улс орнууд хамгийн том суперкомпьютер бүтээхээр өрсөлдөж байна вэ? Компьютерийн ирээдүй P6

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

    Энэ урьдчилсан мэдээний дараагийн хуваарьт шинэчлэлт

    2023-02-08

    Урьдчилан таамаглах лавлагаа

    Энэхүү таамаглалд дараах алдартай болон институцийн холбоосыг ашигласан болно.

    Энэхүү урьдчилсан мэдээнд дараах Quantumrun холбоосыг ашигласан болно: