Одоогоор ямар хэл дээр программчлагдаж байна вэ? Гэрэлт ирээдүйтэй таван програмчлалын хэл

Хүүхдэд зориулсан antipyretics нь хүүхдийн эмчийн зааж өгсөн байдаг. Гэхдээ хүүхдэд яаралтай эм өгөх шаардлагатай үед халуурсан онцгой нөхцөл байдал байдаг. Дараа нь эцэг эх нь хариуцлага хүлээж, antipyretic эм хэрэглэдэг. Нярайд юу өгөхийг зөвшөөрдөг вэ? Том хүүхдүүдэд температурыг хэрхэн бууруулах вэ? Ямар эм хамгийн аюулгүй вэ?

  • Орчуулга

Хэрэв бид програмчлалын хэлийг алдар нэрээр нь хуваах юм бол тэдгээр нь гурван эшелонд хуваагдана. Эхний давхаргад Java, JavaScript, Python, Ruby, PHP, C#, C++, Objective-C зэрэг нийтлэг хэлүүд багтана. Хэдийгээр тэргүүлэгч хэлүүдийн зарим нь бүдгэрч магадгүй ч, хэрэв та амархан ажил олохыг хүсвэл тэдгээрийн нэг юм уу хэд хэдэн хэлийг мэддэг байсан нь дээр.


Хоёрдугаар түвшний хэлүүд үндсэн урсгал руу орохыг оролдож байгаа боловч хараахан хүрч чадаагүй байна. Тэд хүчирхэг нийгэмлэгүүдийг бий болгосноор өөрсдийн үнэ цэнийг нотолсон боловч ихэнх консерватив мэдээллийн технологийн компаниуд үүнийг ашиглаагүй хэвээр байна. Scala, Go, Swift, Clojure, Haskell нь миний хоёрдугаар зэрэглэлийн хэл гэж ангилдаг. Зарим компаниуд эдгээр хэлийг бие даасан үйлчилгээнд ашигладаг боловч өргөн хэрэглээ нь ховор байдаг (Swift-ээс бусад нь iOS-ийн үндсэн хэл болох Objective-C-ийг гүйцэж түрүүлж эхэлсэн). Go, Swift хоёр дараагийн хоёроос гурван жилийн дотор хоёрдугаар шатнаас нэгдүгээрт шилжих сайхан боломж байна.


Эхний ээлжинд байгаа ихэнх хэлүүд байр сууриа баттай үндэслэсэн байдаг. Тиймээс тэргүүлэгч байр сууринаас хэлээ алдах нь ихээхэн цаг хугацаа шаарддаг бөгөөд хоёрдугаар түвшний хэл эхнийх рүү ороход маш хэцүү байдаг.


Энэ нийтлэл дэх ирээдүйтэй хэлүүд нь гурав дахь түвшинд багтдаг бөгөөд тэд дөнгөж эхэлж байна. Зарим хэл алдар нэрээ олж авалгүй олон жилийн турш гурав дахь түвшинд үлддэг бол зарим нь хэдхэн жилийн дотор гарч ирэв. Жишээлбэл, нийтлэлд хэлэлцэх хэлүүд гэх мэт.

Ирээдүйтэй хэлүүд: яагаад энэ тав гэж?

Хэлэлцэх таван програмчлалын хэл нь маш шинэ (та заримыг нь анх удаа сонсох боломжтой) бөгөөд ойрын 2-3 жилийн хугацаанд хоёр дахь шатанд орох маш сайн боломж байгаа нь тодорхой. Хэзээ нэгэн цагт эдгээр хэлнүүдийн аль нэг нь эхний шатлалын хэлийг дарах боломжтой байх.


Тийм ч учраас эдгээр таван хэлийг энэ жагсаалтад сонгосон болно.


Хайлаас нь JavaScript-ийн нийгэмлэгт, ялангуяа функциональ програмчлалыг илүүд үздэг хүмүүсийн дунд түгээмэл болж байгаа бөгөөд энэ нь нэмэгдэж байна. TypeScript эсвэл Dart-ын нэгэн адил Хайлаас нь JavaScript руу шилждэг.


Rust нь үндсэндээ C болон C++ ашигладаг системүүдэд зориулагдсан програмчлалын хэл юм. Тиймээс энэ хэлний нэр хүнд вэб хөгжүүлэгчдийн дунд илүү хурдацтай нэмэгдэж байгаа нь гайхмаар юм. Доод түвшний код бичихээс өөр аргагүйд хүрсэн вэб хөгжүүлэгчдэд илүү сайн сонголт өгөхийг хүссэн Mozilla хэлийг бүтээсэн бөгөөд PHP, Ruby, Python эсвэл JavaScript. Rust нь 2016 оны StackOverflow хөгжүүлэгчдийн санал асуулгаар шилдэг "хамгийн дуртай технологи"-оор шалгарсан (ихэнх хэрэглэгчид хэлээ үргэлжлүүлэн ашиглахыг хүсдэг гэсэн үг).


Котлин тав орчим жил ажиллаж байгаа боловч энэ жил л үйлдвэрлэлд бэлэн 1.0 хувилбарт хүрсэн. Хэдийгээр энэ нь JVM-ийн дор байдаг хамгийн алдартай, боловсорч гүйцсэн (Java-г тооцохгүй) гурван хэл болох Scala, Groovy эсвэл Clojure-ийн нэр хүндэд хараахан хүрч амжаагүй байгаа ч энэ нь бусад олон JVM хэлнүүдээс ялгарч, байр сууриа эзлэхэд бэлэн юм шиг санагддаг. энэ бүлгийн удирдагчдын дунд .. Энэ хэл нь JetBrains (алдартай IntelliJ IDEA IDE-ийг бүтээгч)-ээс гаралтай. Тиймээс энэ нь хөгжүүлэгчийн бүтээмжид анхаарлаа төвлөрүүлж бүтээгдсэн.


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


Elixir нь Ruby экосистемээс санаа авсан боловч C-тэй төстэй ашиг тусыг авчрахын оронд өндөр хүртээмжтэй, хариу үйлдэл үзүүлэх системийг бий болгоход анхаарлаа хандуулдаг. Шүүмжлэгчдийн хэлж буйгаар Рэйлс асуудалтай байна. Elixir нь харилцаа холбооны салбарт 25 гаруй жилийн амжилтад тулгуурласан баттай нэр хүндтэй Erlang VM-ээр эдгээр давуу талуудад хүрдэг. Финикс (Elixir-ийн вэб хүрээ) нь том, хөгжиж буй экосистемийн хамт энэ хэлэнд нэмэлт сэтгэл татам байдлыг өгдөг.


Одоо эдгээр таван хэлний дөрөв нь алдар нэрийн шат руу хэрхэн авирч байгааг хараарай (StackOverflow болон GitHub өгөгдөл дээр үндэслэн):




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

Хайлаас

Хайлаас нь ашиглахад зориулагдсан функциональ програмчлалын хэл бөгөөд өндөр гүйцэтгэлтэй JavaScript кодыг хөрвүүлдэг. Та үүнийг вэб дээр хэрэглэгчийн интерфэйс үүсгэхийн тулд JavaScript-тэй хамт ашиглаж болно. Хайлаас JavaScript-ээс давуу тал нь найдвартай, засвар үйлчилгээ хийхэд хялбар, хөгжилтэй програмчлалд анхаарлаа төвлөрүүлдэг. Илүү тодорхой:

  • Ажиллах үеийн үл хамаарах зүйл байхгүй:Хайлаас код нь нэр хүндтэй ажиллах үед хэзээ ч үл хамаарах зүйлүүдийг хаядаггүй. "Тодорхойгүй бол функц биш" гэх мэт огтхон ч биш.
  • Домогт нигүүлсэнгүй хөрвүүлэгч:Хайлаас хөрвүүлэгч ихэвчлэн магтаалӨрсөлдөгчдийн дунд хамгийн хэрэгтэй алдааны тайлан. "Хэрэв энэ нь эмхэтгэсэн бол энэ нь ихэвчлэн зүгээр л ажилладаг" гэсэн нийтлэг итгэл үнэмшил, томоохон дахин боловсруулалтын дараа ч гэсэн. Энэ нь хайлаасны томоохон төслүүдийг арчлахад харьцуулж болох JS төслүүдээс хамаагүй хялбар болгодог.
  • Семантик хувилбар: elm-package нь семантик хувилбаруудыг автоматаар хэрэгжүүлдэг. Хэрэв багцын зохиогч үндсэн хувилбарын дугаарыг нэмэгдүүлэхгүйгээр API эвдэрсэн өөрчлөлтийг хийхийг оролдвол elm-package үүнийг илрүүлж, нийтлэхээс татгалзах болно. шинэ хувилбарбагц. Өөр ямар ч алдартай багц менежер семантик хувилбарыг ийм найдвартай хэрэгжүүлдэггүй.
  • Хурдан бөгөөд ажиллагаатай:Хайлаас бол мутаци, гаж нөлөөгүй гэдгийг баталгаажуулдаг цэвэр функциональ хэл юм. Энэ нь Хайлаас кодыг томруулах боломжийг олгодог төдийгүй програмын UI-г React, Angular эсвэл Ember-ээс хурдан гаргахад тусалдаг.
  • Хүчтэй хэрэгсэл: elm-формат нь олон нийтийн стандартын дагуу эх кодыг форматлана. Дахиж кодчилолын талаар маргах хэрэггүй. Засварлагчийнхаа "Хадгалах" товчийг дарахад л таны код сайхан болно. elm-test нь нэгжийн туршилт болон санамсаргүй туршилтыг хоёуланг нь дэмжих батерейтай хамт ирдэг. elm-css нь CSS файлд эмхэтгэсэн хайлаас код бичих боломжийг олгодог бөгөөд ингэснээр та өөрийн программ болон загварын хуудасны хооронд код хуваалцах боломжтой бөгөөд таны тогтмолууд синхрончлолоос хэзээ ч гарахгүй.

Хайлаас код нь мөн JavaScript-тэй харилцаж чаддаг. Өөрөөр хэлбэл, та үүнийг JS код руугаа бага тунгаар оруулах боломжтой бөгөөд та JS-ийн асар том экосистемийг ашиглаж, дугуйг дахин зохион бүтээхгүй байх боломжтой.

Котлин

Котлин бол JVM болон JavaScript дээр төвлөрдөг статик хэлбэрээр бичигдсэн хэл юм. Котлин нь JetBrains-ийн хэрэгцээ шаардлагаас үүдэлтэй бөгөөд энэ нь хэрэглүүрээ хөгжүүлэх шинэ хэл хайж байсан (энэ нь ихэвчлэн Java хэл дээр бичигдсэн). Энэ нь тэдэнд одоо байгаа кодын баазыг ашиглах боломжийг олгохын зэрэгцээ Java-д тулгарч байсан зарим асуудлыг шийдвэрлэх боломжийг олгоно. Програм хангамж бичих явцад тохиолддог эдгээр нийтлэг бэрхшээлүүдийн шийдлүүд нь Котлиний ихэнх шинж чанарыг тодорхойлсон байдаг.

  • Товч байдал:тодорхой бүтцийг илэрхийлэхэд шаардагдах кодын хэмжээг багасгах.
  • Олон талт байдал:вэб, гар утасны хөгжүүлэлт, ширээний болон серверийн программ зэрэг ямар ч төрлийн үйлдвэрлэлийн программд тохирох хэлийг бий болгох.
  • Аюулгүй байдал: null лавлагааны үл хамаарах зүйлүүд гэх мэт асуудлуудтай холбоотой нийтлэг алдаануудыг хэлээр зохицуулахыг зөвшөөрнө үү.
  • Харилцаа холбоо:Энэ хэлийг одоо байгаа Java кодын сан, номын сан, фреймворкуудтай хамтран ажиллах боломжийг олгож, аажмаар нэвтрүүлэх, аль хэдийн хийсэн хөрөнгө оруулалтаас ашиг хүртэх боломжийг олгоно.
  • Багаж хэрэгсэл: JetBrains нь олон энгийн ажлуудыг автоматжуулж, илүү үр дүнтэй, бүтээмжтэй хөгжилд хүргэдэг гэсэн итгэл үнэмшилд тулгуурлан багаж хэрэгсэл үйлдвэрлэдэг. Тиймээс хэл нь туслах хэрэгслийг ашиглахад хялбар байх ёстой.

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

  • Анхдагчаар хоосон аюулгүй:Котлин төрлүүд нь анхдагчаар тэглэх боломжгүй бөгөөд энэ нь ядаргаатай null лавлагаа/заагч үл хамаарах зүйлээс зайлсхийдэг.
  • Нэгдүгээр зэрэглэлийн төлөөлөгчид:ангийн гишүүний функцийг гадны функцэд шилжүүлэх чадвар нь дахин ашиглах, найрлагыг сайжруулахад тусалдаг.
  • Гэрээ:Унших чадварыг сайжруулж, дахин засварлах ажлыг хөнгөвчлөх хүчтэй шивсэн DSL-ийн замыг засч, илэрхийлэх код бичих боломжийг олгодог багц конвенцууд.
    html ( толгой ( гарчиг (+"Kotlin-тай XML кодчилол") ) бие ( p ( + "Энэ бол зарим HTML" ) ) )

Kotlin 1.0 нь таван жил гаруй хөгжүүлэлт, бодит төслүүд дээр өргөн туршилт хийсний дараа 2016 оны 2-р сард гарсан. Одоогоор JetBrains арав гаруй бүтээгдэхүүн Kotlin ашигладаг. Мөн Amex, NBC Digital, Expedia, Gradle зэрэг компаниуд үүнийг ашигладаг.


Дэлгэрэнгүй мэдээллийг kotlinlang.org сайтаас авна уу


Энэ хэсгийг бичсэн

1. Төслийн програмчлалын хэлийг сонгохдоо сонголт нь хоёр талын аль нэг нь - хуучин батлагдсан хэрэгсэл эсвэл шинэ, үзэсгэлэнтэй, ажиллагаатай, гэхдээ бага зэрэг шалгагдсан, тиймээс найдваргүй хэлийг сонгох. Ийм нөхцөлд хийх хамгийн ухаалаг зүйл юу вэ? Шийдвэр бүрийн эрсдэл юу вэ, тэдгээрийг хэрхэн шийдвэрлэх вэ?

Игорь Зилберг, SmartHead
Даалгаврын хүрэлцээ, сонгосон багаж хэрэгслийг мэддэг туршлагатай баг байгаа эсэхийг харгалзан багаж хэрэгслийг сонгох шаардлагатай. Судалгаа, үзэл баримтлалын нотлох баримтыг бий болгох, туршлагатай зөвлөхүүдийг оролцуулах замаар шинэ хэрэгсэлтэй ажиллахад эрсдэлийг багасгадаг. Шинэ технологийг байнга судалж байх ёстой, гэхдээ тэдгээр нь тодорхой даалгаварт илүү тохиромжтой тохиолдолд л хэрэглэгдэх ёстой.

Александр Макарчук, qb
Бизнесийн хувьд "сайхан хэл" гэсэн ойлголт байдаггүй. Та төсөлд үйлчлүүлэгчдэд мэдэрдэг онцгой USP өгөх баталгаатай, хамгийн чухал нь төлбөрөө төлөхийг хүсч байгаа тохиолдолд л шинэ, шалгагдаагүй хэл дээр бооцоо тавьж болно. Хэрэв энэ нөхцөл хангагдсан бол та шинэ хэл сонгож болно, гэхдээ үүнтэй холбоотой бүх эрсдлийг хүлээн зөвшөөрөх хэрэгтэй болно.

Григорий Никонов, Actis Wunderman
Мэдээж хэрэг, энэ нь төсөл, хэлний төлөвшилөөс хамаарна. Хэрэв төсөл зөвшөөрвөл, эсвэл хэл ашиглах нь зайлшгүй нөхцөл бөгөөд шаардлагатай сэдвүүдийн номын сан байгаа бол туршилтыг зөвшөөрөх бүрэн боломжтой. Эрсдэл нь ойлгомжтой: хагас замд нь бүдэрч болох "нуруу". Эдгээр эрсдлийг багасгах нь мэдээжийн хэрэг: хэрэв боломжтой бол төсөл эхлэхээс өмнө судалгаа хийж, наад зах нь форум эсвэл үйлдвэрлэгчээс хэлний идэвхтэй дэмжлэг байгаа эсэхийг шалгаарай.

, ADV
Энэ тохиолдолд бүх зүйл төслийн цаг хугацаа, төсвөөс хамаарна. Хэрэв хоёулаа маш хязгаарлагдмал бол аливаа судалгаа нь үндэслэлгүй бөгөөд төсөл бүрэн бүтэлгүйтэх хүртэл том асуудал үүсгэж болзошгүй юм.

Алексей Федоров, "Ангийнхан"
Хариулт нь төсөл хэр удаан үргэлжлэхээс ихээхэн шалтгаална. Хэрэв энэ нь хурдан хийгдэх, хүлээлгэж өгөх, мартах шаардлагатай жижиг захиалгат төсөл юм бол та хүссэн зүйлээ сонгох боломжтой. Хэрэв энэ нь олон жилийн турш хэрэгжиж байгаа том төсөл юм бол шаардлагатай тооны мэргэжилтнүүдийг ажилд авах боломжтой батлагдсан технологийг сонгох нь дээр. Танай бүс нутагт тодорхой технологийн хэдэн мэргэжилтэн байгааг тооцоолохын тулд LinkedIn эсвэл HeadHunter гэх мэт боломжийн үйлчилгээг ашиглахад хангалттай. Дараа нь та функциональ бус шаардлагуудыг харах хэрэгтэй: ачаалал, аюулгүй байдал, алдааны хүлцэл гэх мэт.

2. Хэлийг үйлдвэрлэлд ашиглах боломжтой, ашиглах ёстойг баталгаажуулах зайлшгүй хүчин зүйлүүд юу вэ?

Игорь Зилберг, SmartHead
Энэ дэлхий дээр хэн ч, юу ч баталгаа өгдөггүй. Бид өөрсдийн туршлага, нийтлэг шилдэг туршлагад тулгуурладаг.

Александр Макарчук, qb
Тодорхой хэлийг ашиглах нь ашигтай, аюулгүй гэдгийг илтгэх гурван үндсэн шинж тэмдэг байдаг. Нэгдүгээрт, энэ хэлээр "амьд" нийгэмлэг байгаа эсэх, хоёрдугаарт, амжилттай тохиолдсон тохиолдлууд байгаа эсэх, гуравдугаарт, томоохон борлуулагчид хэлийг дэмждэг.

Григорий Никонов, Actis Wunderman
"Гүйцсэн" сэдвийн номын сан, хүрээ, асуудлыг шийдвэрлэх талаар зөвлөгөө өгдөг идэвхтэй онлайн нийгэмлэг, эцсийн хэрэглээний тогтвортой байдал, гүйцэтгэлийн талаархи сөрөг санал хүсэлт байхгүй байх.

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

Алексей Федоров, "Ангийнхан"
Албан ёсны баталгааг зөвхөн гэрээгээр баталгаажуулж болно. Хэрэв технологи нь дараагийн 10 жилийн хугацаанд дэмжигдэх болно гэдгийг баталгаажуулдаг ноцтой үйлдвэрлэгч (жишээлбэл, Oracle, SAP, IBM) байгаа бөгөөд энэ борлуулагчтай зохих дэмжлэг үзүүлэх гэрээ байгуулсан бол зарчмын хувьд , та үүнийг ямар нэг баталгаа гэж үзэж болно. Асуудал нь ихэвчлэн маш үнэтэй байдаг бөгөөд томоохон үйлдвэрлэгчдийн дэмжлэгийн чанар нь ихэвчлэн жигшүүртэй байдаг.

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

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

Игорь Зилберг, SmartHead
Хөгжүүлэгчид бизнесийн шаардлага тавьдаггүй. Бизнесүүд тэднийг хангадаг. Гэсэн хэдий ч бизнес нь хөгжүүлэгчдийн бичсэн кодын чанараас хамаардаг. Тиймээс, хэрэв хөгжүүлэгчид бизнесийн асуудлыг шийдвэрлэхэд тохиромжгүй технологийг ашиглахыг хүсч байвал хөгжүүлэгчид итгүүлэх эсвэл өөрчлөх ёстой. Хангалттай, туршлагатай хөгжүүлэгч нь бизнесийн шаардлагыг ойлгож, түүнд хамгийн тохиромжтой шийдлийг ашиглах чадвартай. Бидэнд тийм асуудал байгаагүй. Манай практикт эсрэгээр нь ихэвчлэн тохиолддог: үйлчлүүлэгч бизнесийн шаардлагыг тодорхойлохын оронд технологийн сонголтод нөлөөлдөг (ихэвчлэн өөрсдийн шаардлагыг хэрэгжүүлэхэд сөрөг нөлөө үзүүлдэг).

Александр Макарчук, qb
Хэрэв шинэ хэл рүү шилжих нь бодит аргументуудаар дэмжигдээгүй бөгөөд төслийн хувьд ноцтой давуу талыг амлаж чадахгүй бол энэ нь шаардлагагүй болно. Гэхдээ мэдээжийн хэрэг, багийнхан үүнийг сонсохгүй байна гэсэн сэтгэгдэл төрүүлэхгүйн тулд үүнийг хөгжүүлэгчдэд тайлбарлах хэрэгтэй.

Григорий Никонов, Actis Wunderman
Консерватив бодлого баримталж, ямар ч шалтгаангүйгээр хэлээ сольж болохгүй. Шинэ хэлийг туршиж үзэх өөр төсөл үргэлж байх болно.

Алексей Персианов, Михаил Парфенюк, ADV
Та зөвхөн дотоод төслийн хувьд, эсвэл багийг сургах гэж бичсэн тохиолдолд л хөгжүүлэгчидтэй уулзаж болно. Энэ тохиолдолд бүтэлгүйтлийн эрсдэл бага байдаг бөгөөд бүтэлгүйтсэн тохиолдолд ашигтай туршлагыг ирээдүйд дамжуулдаг. Үгүй бол бизнес нь хөгжүүлэгчдийн төгс байдлыг үнэлэхгүй байх болно.

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

Хэрэв таны хүлээн авсан хариултууд бизнесийн үүднээс танд тохирсон бол цаашаа яваарай. Хэрэв та сэтгэл хангалуун бус байвал хөгжүүлэгчид яагаад татгалзсан шалтгааныг тайлбарлахыг хичээх хэрэгтэй.

4. Нэг хэлээс нөгөө хэл рүү шилжих зардал хэзээ үнэ цэнэтэй вэ?

Игорь Зилберг, SmartHead
Төслийн агуулгаас гадуур платформыг солих зардал болон холбогдох үр ашгийг тооцох боломжгүй. Ийм шийдвэрийг зөвхөн аливаа "бүх нийтийн" үзэл бодол, дүрэм журмын үндсэн дээр биш, харин тодорхой төслийн хүрээнд ухамсартай хандлагын үндсэн дээр гаргаж болно.

Александр Макарчук, qb
Энэ нь төсөлд шинэ USP бий болсноор шууд болон шууд бус байдлаар бодит ашиг авчрах үед бүтээгдэхүүнийг илүү өрсөлдөх чадвартай болгоно.

Григорий Никонов, Actis Wunderman
Шинэ хэл ашиглах нь тухайн сэдвийн бүхэл бүтэн амьдралын хэлхээг мэдэгдэхүйц оновчтой болгох боломжийг олгодог тохиолдолд: програмыг зохион бүтээх, боловсруулах, туршихаас эхлээд хэрэгжүүлэх, дараагийн шинэчлэлт, сайжруулалт, хэлний шинж чанар, эргэн тойрон дахь экосистемийн онцлогоос шалтгаалан. тэр.

Алексей Персианов, Михаил Парфенюк, ADV
Хэлний дэмжлэг зогсоход зах зээл дээрх мэргэжилтнүүдийн тоо тэг болох хандлагатай байна. Эсвэл технологи хэмнэх чадваргүй хуучин багаа бүрмөсөн алдах юм бол. Хэзээ хэлнээс олох ашиг нь түүний шилжилтийн зардлаас их байх болно.

Алексей Федоров, "Ангийнхан"
Та болон танай хамт олон дээрх асуултуудад тодорхой хариулт өгөх үед.

5. Тодорхой үүрэг даалгаврын хувьд хэлний хэрэглээний тодорхой хуваагдал байгаа гэж та бодож байна уу? Хэрэв тийм бол та үүнийг яг яаж харж байна вэ? Нөхцөл байдлыг өөрчилж, ихэнх хөгжүүлэгчдийг татах хэл гарч ирэх эсвэл аль хэдийн оршин тогтнох боломжтой юу?

Игорь Зилберг, SmartHead
Мэдээжийн хэрэг, өөр өөр платформд зориулсан ердийн програмууд байдаг (хэл биш). Жишээлбэл, харьцангуй том бизнесийн программууд эсвэл үйлчилгээнд зориулсан Java болон .NET. Multithreading болон мессежийн Node.js. Бүх зүйлийг жагсааж болохгүй. Гэсэн хэдий ч эдгээр хил хязгаар нь маш бүдгэрсэн бөгөөд бүс нутгаас хамаарна. Жишээлбэл, АНУ-д платформыг ашиглах туршлага, "загвар" болон ердийн хэрэглээний талбарууд нь манайхаас арай өөр байдаг.

Александр Макарчук, qb
Нэг талаас, хэлийг програмаар нь сайн хуваадаг боловч нөгөө талаас бүс нутгийн болон үнийн хүчин зүйлүүд нь маш чухал байдаг: технологид нэвтрэх зардал, дэмжлэг гэх мэт. Шинэ хэл бий болохын хувьд энд ийм зүйлийг анзаарах хэрэгтэй. Сүүлийн хэдэн жилийн хугацаанд харилцааны түвшин мэдэгдэхүйц өсч, програмчлалын хэлүүд яг хэвээрээ байна. Магадгүй энэ нь харилцаа холбооны салбарт гарсан дараагийн хувьсгал нь цоо шинэ хөгжлийн технологийг авчрах болно.

Григорий Никонов, Actis Wunderman
Зарчмын хувьд ийм хуваагдал байдаг: C ба C ++ нь доод түвшний хөгжүүлэлтийн хувьд уламжлалт байдлаар ашиглагддаг, Java ба C # нь бизнесийн логикоос гар утасны програм хүртэл өргөн хүрээний ажилд тохиромжтой ерөнхий зориулалтын хэл гэж тооцогддог. Python, Ruby, PHP нь вэб хөгжүүлэлт, JavaScript - хөтөч програмуудад зориулагдсан. Хэл, хүрээний загвар заримдаа өөрчлөгддөг ч гэсэн энэ салбарт эрс өөрчлөлт хийх боломжгүй гэж би бодохгүй байна - одоо жишээ нь Go хэл түгээмэл болж байна.

Алексей Персианов, Михаил Парфенюк, ADV
Тиймээ. Ажлын хурд, ашиглахад хялбар зэргээс шалтгаалан зарим зүйлийг өөр хэл дээр илүү сайн хэрэгжүүлдэг, жишээлбэл, PHP төслүүдэд хэлний "удаан" байдлаас шалтгаалан та Node дээр чат эсвэл Java дээр агрегатор хийж болно. - үр дүн нь илүү дээр байх болно.

Жил бүр шинэ хэл бүр "хамгийн сайн"-ын шагналыг хүртэж, хөгжүүлэгчдийн анхаарлыг татдаг боловч өнөөг хүртэл батлагдсан хэлнүүдийн байр суурь тогтвортой байж магадгүй юм. Ирээдүйд бүх зүйл боломжтой.

Алексей Федоров, "Ангийнхан"
Бидний мэддэг орчин үеийн програмчлалын хэлнүүдийн ихэнх нь олон үйлдэлт байдаг, өөрөөр хэлбэл тэд маш өөр шийдвэр гаргаж чаддаг.

Шинэ хэлний тухайд - тийм ээ, ийм хэл гарч ирж магадгүй, гэхдээ салбарын нэлээд хүчтэй инерцийн улмаас ойрын 5 жилд хэн нэгэн Java болон C / C ++-ийг суурин дээрээс түлхэнэ гэж би бодохгүй байна. Хэрэв та ямар нэгэн "морь" сонгох юм бол би JavaScript дээр бооцоо тавих болно. Өнөөдөр бид JavaScript-тэй холбоотой бүх зүйл салбарт асар их өсөлтийг харж байна. Хүрээ нь борооны дараах мөөг шиг төрдөг. Энэ технологийн талаар интернетэд шуугиан тарьж байна. Энэ бүхэн хаашаа хөтөлж байгааг харцгаая.

6. Програмист нь DevOps (програмист болон системийн администраторын ур чадварыг эзэмшсэн) байх ёстой юу? Ихэнх програмистууд чадвараа хөгжүүлэхээс татгалзаж, энэ чиглэлээр хариуцлага хүлээхийг яах вэ?

Алексей Персианов, Михаил Парфенюк, ADV
Хүрээлэн буй орчныг тохируулахын тулд тэд ихэвчлэн системийн администраторын үйлчилгээг ашигладаг. Гэхдээ код бичдэг хүн энэ кодыг оновчтой гүйцэтгэх платформыг тохируулах боломжтой байх нь утга учиртай байх. Энэ нь цаг хугацаа, зардлыг хэмнэх болно.

7. Та төсөлдөө бичил үйлчилгээ ашиглах ёстой юу?

Алексей Персианов, Михаил Парфенюк, ADV
Тодорхой хариулт байхгүй ч бидний хариулт тийм байна. Мэдээжийн хэрэг, тэд маш олон асуудлыг нэмж болох боловч олон асуудлыг шийдвэрлэхэд туслах болно. Жишээлбэл, микро үйлчилгээний ачаар програмын өөр өөр хэсгүүдийг өөр өөр програмчлалын хэлээр бичих, програмын ачаалагдсан хэсгүүдийг масштаблах гэх мэт боломжтой.

8. Хөгжүүлэгч орчин үеийн олон төрлийн вэб технологи, хэлтэй ажиллах чадвартай байх ёстой юу?

Алексей Персианов, Михаил Парфенюк, ADV
Сүүлийн жилүүдэд урд тал нь асар том нээлт хийсэн бол сервер талын хэлнүүдийн хөгжил тийм ч мэдэгдэхүйц биш байна. Хөгжүүлэгч нь мэдээжийн хэрэг холбогдох салбаруудын үндсийг мэддэг байх ёстой, гэхдээ серверийн хэл болон үйлчлүүлэгчийн хэлээр гуру байх боломжгүй, хүн бүр өөрийн гэсэн зүйлийг хийж, жинхэнэ мэргэжлийн байх ёстой.

Тайлангийн гарчиг

Орчин үеийн програмчлалын хэл ба тэдгээрийн хэрэглээ

Төслийн зохиогч

Төслийн бүтэц

● Програмчлалын хэлний ангиллын схем

● Програмчлалын хэлний ангилал

● Програмчлалын хэлнүүдийн тойм

● Ашигтай нөөц

Програмчлалын хэлний ангиллын схем

Програмчлалын хэлний ангилал

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

Процедурын програмчлалын ийм хэлүүд байдаг:

 Фортран хэл нь 20-р зууны 50-аад оны эхээр шинжлэх ухаан, техникийн асуудлуудыг програмчлах зорилгоор бүтээгдсэн;

 Кобол - 20-р зууны 60-аад оны сүүлээр төрөл бүрийн өгөгдөл зөөгч дээр хадгалагдсан их хэмжээний өгөгдлийг боловсруулах асуудлыг шийдвэрлэх зорилгоор бүтээгдсэн;

 Algol (1960) нь олон зориулалттай дэвшилтэт програмчлалын хэл юм. Энэ нь "програмын блокийн бүтэц" болон "динамик санах ойн хуваарилалт" гэсэн ойлголтуудыг анх удаа нэвтрүүлсэн;

 20-р зууны 60-аад оны дундуур анхлан суралцагчдад зориулсан тусгай програмчлалын хэл бий болсон - BASIC. Энэ нь боловсруулахад хялбар, шинжлэх ухаан, техник, эдийн засгийн асуудлыг шийдвэрлэх бүх нийтийн хэрэгсэл, түүнчлэн даалгавар, жишээлбэл тоглоом зэргээр тодорхойлогддог.

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

 1963-1966 онд олон зориулалттай PL-1 хэлийг бүтээжээ. Энэ хэл нь тооцоолох үйл явцыг судлах, төлөвлөх, загварчлах, логик асуудлыг шийдвэрлэх, програм хангамжийн системийг боловсруулахад тохиромжтой.

 Паскаль хэл (PASCAL) (1968-1971) нь PC-ийн хамгийн алдартай процедурын програмчлалын хэл бөгөөд одоог хүртэл амжилттай хэрэглэгдэж байна. Паскаль хэл нь ерөнхий даалгавраас тодорхой (илүү энгийн бөгөөд бага хэмжээний эзэлхүүн) хүртэлх арга барил дээр суурилдаг. Паскалийн эзэмшдэг гол зарчмууд нь: a) Дэд программууд болон бие даасан өгөгдлийн бүтцийг ашиглахад суурилсан бүтцийн програмчлал; б) Даалгаврыг энгийн, бие даан шийдэгддэг даалгавар болгон хуваах үед дээрээс доошоо програмчлал. Дараа нь анхны асуудлын шийдэл нь дээрээс доошоо бүрэн баригдсан.

 Процедурын програмчлалын хэлэнд ADA хэл (1979) орно. Энэ хэл нь анхны программист, Байроны охин Ада Лавлейсийн нэрээр нэрлэгдсэн. Энэ нь дизайны модульчлагдсан байдлаараа ялгагдана.

 Си хэл (70-аад оны эхэн үе) нь мөн процедурын програмчлалын хэлэнд хамаарна. Түүний анхны хувилбарыг хэрэгжүүлэх хэл болгон төлөвлөсөн үйлдлийн системАссемблер хэлний оронд Unix. Си хэлний нэг онцлог нь илэрхийлэл, хэллэгийн ялгааг зөөлрүүлж, функциональ програмчлалын хэл рүү ойртуулдаг. Түүнчлэн Си хэлэнд процедур гэсэн ойлголт байдаггүй бөгөөд дэд программуудын хэрэглээ нь процедурын чадавхийг хослуулж чаддаг функцийн ойлголт дээр суурилдаг. Нэг талаас, удирдлагын бүтэц, өгөгдлийн бүтцээс хамааран үүнийг өндөр түвшний хэл гэж ангилж болох бөгөөд нөгөө талаас компьютерийн функциональ нэгжид шууд нэвтрэх хэрэгсэл, Энэ нь үйл ажиллагааны хэл болгон ашиглаж болно гэсэн үг юм.

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

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

OOP-ийн дараагийн хамгийн чухал зарчим бол удамшил ба полиморфизм юм. Өв залгамжлал нь одоо байгаа ангиуд дээр үндэслэн шинэ анги үүсгэх боломжийг олгодог бөгөөд удамшлын ангид эх ангийн бүх шинж чанарыг эзэмшүүлэх (өвлөх) боломжийг олгодог.

Полиморфизм гэдэг нь төрсөн биетүүд гинжин хэлхээний хаана байрлаж байгаагаас хамааран ямар аргыг ашиглах талаар мэдээлэлтэй байдаг гэсэн үг юм.

OOP-ийн өөр нэг чухал зарчим бол модульчлагдсан байдал - объектууд нь тэдгээрийн шинж чанаруудын бүрэн тодорхойлолтыг агуулдаг бөгөөд арга, шинж чанаруудын тодорхойлолтыг гадна талд байрлуулах ёсгүй бөгөөд энэ нь нэг объектыг бусад руу чөлөөтэй хуулж, хэрэгжүүлэх боломжийг олгодог.

Хамгийн орчин үеийн програмчлалын хэл нь C++ болон Java юм. 1990-ээд оны дунд үеэс эхлэн олон объект хандалтат хэлийг харааны дизайны систем болгон хэрэгжүүлсэн бөгөөд үүнд програм хангамжийн бүтээгдэхүүний интерфейсийг интерактив байдлаар, програмын мэдэгдлийг бараг бичдэггүй эсвэл огт бичдэггүй. Объект хандалтат визуал дизайны системд Visual Basic, Delphi, C++ Builder, Visual C++ орно. VBA (Visual Basic for Application) хэл нь Microsoft Office програмуудын (Excel, Word, Power Point гэх мэт) хэл юм. VBA нь хэлний үндсэн синтакс, програмчлалын хэлний дүрмийг дагаж мөрддөг. Үндсэн аялгуунууд нь тодорхой үйлдлүүдийн гүйцэтгэлийг автоматжуулах макро үүсгэх боломжийг олгодог. GUIхэрэглэгч, янз бүрийн програм хангамжийн бүтээгдэхүүн хоорондын нэгдэл.

Декларатив програмчлалын хэлүүд

Үүнд функциональ болон логик програмчлалын хэл орно. Функциональ програмчлал нь функцийг дуудах цорын ганц үйлдэл болох програм бичих арга юм. Функциональ програмчлал нь санах ойг өгөгдөл хадгалах газар болгон ашигладаггүй тул завсрын хувьсагч, даалгаварын мэдэгдэл, гогцоо ашигладаггүй. Функциональ хэл дээрх гол ойлголт бол илэрхийлэл юм. Функциональ хэлээр бичигдсэн программ нь функц, илэрхийллийн дараалал юм. Илэрхийлэл нь нийлмэлийг энгийн болгон бууруулж тооцоолно. Бүх илэрхийлэл нь жагсаалт хэлбэрээр бичигдсэн байдаг. Lisp (LISP, LIST Processing) нь 1959 онд анхны хэл болж бүтээгдсэн. Энэ хэл нь их хэмжээний текстэн мэдээллийг боловсруулах боломжийг олгодог. Логик програмчлал нь логикийн хувьд програмчлал юм. 1973 онд хиймэл оюун ухааны Prolog (PROLOG) хэл (Programming in Logic) бүтээгдсэн. Пролог програмыг баримт, дүрмийн дарааллаар бүтээж, дараа нь Prolog нь дүрмийн тусламжтайгаар нотлохыг оролддог гэсэн мэдэгдлийг боловсруулдаг. Хэл нь өөрөө өөртөө суулгасан хайлт, тохирох аргуудыг ашиглан шийдлийг хайдаг. Логик програмууд нь тийм ч хурдан биш, учир нь тэдгээрийг хэрэгжүүлэх үйл явц нь янз бүрийн хайлтын аргуудаар шууд ба урвуу үндэслэлийн хэлхээг бий болгох хүртэл буурдаг.

Програмчлалын хэлнүүдийн тойм

угсрагч

Компьютерийн програмчлалын хэлийг 2 үндсэн бүлэгт хуваадаг.

1) доод түвшний хэл;

2) дээд түвшний хэл.

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

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

Паскаль

Паскал програмчлалын хэлийг PL/1, Algol, Fortran зэрэг одоо байгаа, улам бүр төвөгтэй болж буй програмчлалын хэлнүүдийн хувилбар болгон 1968 онд Швейцарийн Холбооны Технологийн Хүрээлэнгийн Компьютерийн шинжлэх ухааны тэнхимийн профессор Николас Вирт боловсруулсан. Паскаль хэлийг эрчимтэй хөгжүүлснээр 1973 онд түүний стандарт шинэчилсэн мессеж хэлбэрээр гарч ирсэн бөгөөд 1979 онд энэ хэлнээс орчуулагчдын тоо 80 гаруй болжээ. 80-аад оны эхээр Паскаль өөрийн байр сууриа улам бэхжүүлсэн. MS-Pascal болон Turbo орчуулагч - PC-д зориулсан Паскаль. Тэр цагаас хойш Паскаль хэл нь хамгийн чухал бөгөөд өргөн хэрэглэгддэг програмчлалын хэлүүдийн нэг болжээ. Энэ хэл нь эрдэм шинжилгээний болон явцуу мэргэжлийн ашиг сонирхлын хүрээнээс аль эрт гарч, өндөр хөгжилтэй орнуудын ихэнх их дээд сургуулиудад зөвхөн хэрэглэгчийн ажлын хэрэгсэл болгон ашигладаг байх нь чухал юм. Паскалийн хамгийн чухал шинж чанар бол бүтэцлэгдсэн програмчлалын санаа юм. Өөр нэг чухал шинж чанар бол үндсэн ойлголтуудын нэг болох өгөгдлийн бүтцийн тухай ойлголт юм.

Паскалийн алдартай болсон гол шалтгаанууд нь дараах байдалтай байна.

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

Өгөгдлийн бүтцийг төлөөлөх хөгжүүлсэн хэрэгслүүд нь тоон болон симбол болон битийн мэдээлэлтэй ажиллахад тав тухтай байдлыг хангадаг.

Паскаль хэлнээс хөрвүүлэгч үүсгэх тусгай аргууд байгаа нь тэдний хөгжлийг хялбаршуулж, хэлийг өргөн дэлгэрүүлэхэд хувь нэмэр оруулсан.

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

Паскаль хэл нь бүтэцлэгдсэн програмчлалын санааг хэрэгжүүлдэг бөгөөд энэ нь програмыг дүрслэн харуулах, хөгжүүлэх, алдаа засах сайн боломжийг олгодог.

Bell Labs-ийн ажилтан Денис Ричи 1972 онд Кен Томпсонтой хамтран Unix үйлдлийн системийг хэрэгжүүлэх хэрэгсэл болгон Си хэлийг бүтээсэн боловч энэ хэлний алдар нэр нь тодорхой үйлдлийн систем болон тусгай системийн програмчлалын даалгавруудын хил хязгаарыг хурдан даван туулсан. Одоогоор аливаа хэрэглүүр болон үйлдлийн системийг Си хөрвүүлэгч агуулаагүй бол бүрэн гүйцэд гэж үзэх боломжгүй. Ричи С-ийг зүгээр л толгойноосоо гаргаж ирээгүй - Томпсоны боловсруулсан В хэл нь прототип болсон. Си програмчлалын хэлийг практик програмистуудад зориулсан хэрэгсэл болгон боловсруулсан. Үүний дагуу зохиогчийн гол зорилго нь бүх талаараа тохиромжтой, хэрэгцээтэй хэлийг бий болгох явдал байв.

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

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

Си бол хүчирхэг, уян хатан хэл юм. Fortran, Pascal, Lisp, BASIC-ийн ихэнх Unix үйлдлийн систем, хөрвүүлэгч, орчуулагч үүнтэй хамт бичигдсэн байдаг.

C бол тохиромжтой хэл юм. Энэ нь хатуу хязгаарт баригдалгүйгээр сайн програмчлалын хэв маягийг дэмжих хангалттай бүтэцтэй. Нэг ёсондоо Си хэл бол хамгийн уян хатан, учир нь Орчин үеийн дээд түвшний програмчлалын хэлэнд (бүтэц, модульчлагдсан байдал, тодорхой өгөгдлийн төрлүүд) хамаарах хэрэгслүүдээс гадна ассемблерийн түвшинд бараг програмчлалын хэрэгслүүд багтсан болно. Олон тооны операторууд болон байгууламжууд нь програмистаас болгоомжтой, үнэн зөв байх, бүх давуу болон сул талуудтай хэлний сайн мэдлэгтэй байхыг шаарддаг.

С++ хэл 80-аад оны эхээр гарч ирсэн. Bjarne Stroustrup анх өөрийгөө болон найзуудаа ассемблер, C болон бусад өндөр түвшний хэл дээр програмчлахаас аврах зорилготойгоор бүтээсэн.

Хэлний зохиогчийн үзэж байгаагаар Си ба С++ хэлний үзэл суртлын ялгаа нь ойролцоогоор дараах байдалтай байна: Си програм нь процессорын “сэтгэн бодох арга барил”-ыг тусгадаг бол С++ нь програмистын сэтгэлгээг тусгадаг. Орчин үеийн програмчлалын шаардлагад нийцүүлэн C++ нь сонгосон мэдлэгийн салбарын үзэл баримтлал, хэрэглээний даалгаварт хамгийн сайн тохирох өгөгдлийн шинэ төрлийг боловсруулахад анхаарлаа хандуулдаг. Анги бол C++ хэлний гол ойлголт юм. Ангийн тайлбар нь энэ төрлийн объектыг төлөөлөхөд шаардагдах өгөгдлийн тайлбар, ижил төстэй объектуудтай ажиллах үйлдлийн багцыг агуулдаг.

Уламжлалт Си ба Паскалийн бүтцээс ялгаатай нь ангийн гишүүд зөвхөн өгөгдөл төдийгүй функц юм. Ангийн гишүүн функцууд нь тухайн ангийн объектуудын өгөгдөлд хандах давуу эрхтэй бөгөөд тэдгээр объектууд болон програмын бусад хэсгүүдийн хоорондох интерфейсийг хангадаг. Цаашдын ажилд ангийн дотоод бүтэц, суурилуулсан функцүүдийн механизмыг санах нь туйлын шаардлагагүй юм. Энэ утгаараа анги нь цахилгаан төхөөрөмжтэй адил - түүний төхөөрөмжийн талаар цөөхөн хүн мэддэг, гэхдээ хүн бүр үүнийг хэрхэн ашиглахаа мэддэг.

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

Хийсвэрлэл, хэрэгжүүлэлт, өв залгамжлал, полиморфизм нь C++-д зайлшгүй шаардлагатай шинж чанарууд бөгөөд үүнийг Си шиг бүх нийтийн төдийгүй объектын хэл болгодог. Фортран Фортран хэл нь ялангуяа тоон загварчлал хийдэг хэрэглэгчдийн дунд өргөн хэрэглэгддэг хэл юм. Энэ нь хэд хэдэн шалтгаанаас үүдэлтэй:

Олон жилийн турш хуримтлагдсан хэрэглээний Fortran програмуудын асар их хөрөнгө байгаа, мөн энэ хэлийг үр дүнтэй ашигладаг маш олон тооны програмистууд байгаа;

Бүх төрлийн компьютер дээр үр дүнтэй Fortran орчуулагч байгаа бөгөөд янз бүрийн машинуудын хувилбарууд нь нэлээд стандартчилагдсан бөгөөд програмыг машинаас машин руу шилжүүлэх нь ихэвчлэн тийм ч их бэрхшээл учруулдаггүй;

Физик, математик, техникийн хэрэглээнд Fortran-ийн анхны анхаарал хандуулдаг; тухайлбал, энэ нь удаан хугацааны туршид цогц хувьсагчтай, ийм хувьсагчтай ажиллахад зориулагдсан олон тооны функц бүхий цорын ганц хэл хэвээр байсаар ирсэн.

Өнгөрсөн хугацаанд програмчлалын шинэ арга зүй, философи бүрдсэн. 70-аад оны эхэн үеэс Фортран зохих шүүмжлэлд өртөж байсан. 1977 онд Fortran-77 хэмээх шинэ хэлний стандартыг баталсан. Шинэ стандартыг бий болгоход маш их цаг зарцуулсан боловч одоо түүний боловсруулалт дуусч, шинэ Fortran-90 стандарт нь Фортран хэрэглэгчдийн практикт нэвтэрч эхэлсэн гэж үзэж болно. Зөвхөн IBM PC гэх мэт машинууд дээр Watfor, Lap-Fortran гэх мэт хэд хэдэн орчуулагч байдаг. Гэхдээ энэ төрлийн машинууд дээр хамгийн өргөн тархсан нь Fortran-77 орчуулагчийн янз бүрийн хувилбарууд юм. 1990 онд гарсан MS-Fortran 5.0 орчуулагч нь Fortran-90 стандарттай бараг бүрэн нийцдэг. Шинжлэх ухаан, техникийн ихэнх томоохон програмуудыг Fortran хэл дээр бичдэг, учир нь түүний зөөвөрлөлт, тогтвортой байдал, мөн математикийн болон тригонометрийн функцуудыг суулгасан байдаг. Аливаа Fortran програмын нэмэлт, салшгүй хэсэг нь янз бүрийн график өгөгдөл, зургийг ашиглах боломжийг олгодог өргөтгөсөн график номын сан юм.

Энэхүү хэл нь 1975-1980 онд АНУ-ын Батлан ​​хамгаалах яамнаас суулгагдсан систем гэж нэрлэгддэг програмчлалын нэг хэлийг (жишээ нь автоматжуулсан цогцолборын бодит цагийн удирдлагын систем) хөгжүүлэх томоохон төслийн үр дүнд бий болсон. Юуны өмнө тэд цэргийн байгууламжийг (хөлөг онгоц, нисэх онгоц, танк, пуужин, хясаа гэх мэт) удирдах системийг санаж байсан. Тиймээс Адагийн зохиогчдын гаргасан шийдвэрийг бүх нийтийнх гэж үзэх ёсгүй. Тэдгээрийг сонгосон сэдвийн бүсийн онцлог шинж чанаруудын хүрээнд ойлгох хэрэгтэй. Ада хэл нь 1978-1979 онд зохиогдсон хэлний төслийн олон улсын уралдааны үр дүнд бий болсон. Оролцогчид АНУ-ын Батлан ​​хамгаалах яамны ивээл дор боловсруулсан нэлээд хатуу, нарийвчилсан шаардлагыг хангах ёстой байв. Сонирхолтой нь, энэ тэмцээний сүүлийн шатанд хүрсэн бүх хэлүүд Паскал хэл дээр үндэслэсэн байв. Үүнтэй холбогдуулан Ада-г урьдчилсан байдлаар дээрх таван үндсэн шаардлагыг харгалзан боловсруулсан Паскал гэж тодорхойлж болно. Үүний зэрэгцээ зохиогчид Паскалийг шинэ элементүүдээр өргөжүүлэх замаар голчлон явсан. Үр дүн нь илүү төвөгтэй хэл юм.

кобол

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

Сул талуудыг жагсаавал Кобол дээр зөвхөн хамгийн энгийн алгебрийн тооцооллыг програмчлах боломжтой гэдгийг санахгүй байхын аргагүй юм. Инженерийн тооцооллын хувьд энэ хэл тохиромжгүй. Хэлний хөгжилд тодорхой хэмжээгээр саад учруулж буй бас нэг шалтгаан нь АНУ-д засгийн газрын комиссын хяналтанд байдаг стандартыг боловсруулдаг тусгайлан байгуулагдсан салбарын хороо байдаг. Ийм тохиолдлуудад үргэлж тохиолддог шиг програм хангамж хөгжүүлэгчид өөрсдийн ноорог комиссын хатуу шаардлагад нийцүүлэх гэж яарахгүй, хувилбарын өрсөлдөөн байхгүй, эцэст нь хэлний тархалтыг алддаг.

PL/1-ийг 1964-1965 онд IBM компани боловсруулсан. PL/1 нь бүх нийтийн хэлнүүдийн нэг бөгөөд өөрөөр хэлбэл тоон тооцоо, текст боловсруулах, эдийн засгийн асуудлууд гэх мэт янз бүрийн чиглэлээр асуудлыг шийдвэрлэх боломжийг олгодог. Чадавхийн хувьд энэ нь Fortran, Algol-60 зэрэг хэлтэй давхцдаг. (тоон тооцоололд зориулж бүтээгдсэн), Кобол (эдийн засгийн асуудалд зориулагдсан) боловч хэд хэдэн шалтгааны улмаас PL/1 эдгээр хэлийг орлуулж чадахгүй байв.

PL/1 нь өндөр түвшний хэл гэж нэрлэгддэг бүх үндсэн бүтэц, түүнчлэн практик програмчлалд тохиромжтой хэд хэдэн тусгай хэрэгслүүдийг агуулдаг. Хэл нь олон тооны дэлгэрэнгүй мэдээлэл бүхий бүтээгчтэй төстэй байдаг - хэрэглэгч зөвхөн түүнд шаардлагатай хэлний хэсгүүдийг эзэмших хэрэгтэй. Түүний мэдэгдэл нь нэлээд багтаамжтай бөгөөд энэ нь бусад хэлээс илүү нягт нямбай програм бичих боломжийг олгодог. PL/1 хэл мэддэг програмист хүн ижил болон ижил төрлийн бусад хэлийг хялбархан эзэмшинэ.

Үүний зэрэгцээ PL/1 нь хэл сурах, ашиглахад хүндрэл учруулдаг хэд хэдэн дутагдалтай байдаг. Гол нь дараах байдалтай байна. Нэгдүгээрт, бие биенээ хуулбарлах олон арга хэрэгсэл байдаг; Хоёрдугаарт, програмууд нь машинаас бүрэн хараат бус байдаг.

Модуль

Модула хэлний түүх 1980 оноос эхэлсэн бөгөөд мэдээллийн нэрт онолчдын нэг, ихэнх компьютер судлаачид Паскаль хэлийг бүтээгч гэдгээрээ алдартай Никлаус Вирт шинэ програмчлалын хэлний тайлбарыг нийтэлснээр эхэлсэн гэж үзэж болно. тэр Модула руу залгалаа. Програмчлалыг заах хэл болох Паскал хэлээс ялгаатай нь Модула нь анхнаасаа мэргэжлийн системийн програмистуудын хэл байсан бөгөөд өмнөх үеийн шилдэг уламжлалыг үргэлжлүүлж, тэдгээрийг бүтэц гэх мэт програмчлалын хэлэнд тавигдах шаардлагад нийцсэн шинэ санаануудаар баяжуулж байв. , модульчлагдсан байдал, өргөтгөх чадвар. Бусад олон програмчлалын хэлнүүдийн нэгэн адил Modula нь хувьсан өөрчлөгдөж, анхны нэрээ Modula-2 болгон өөрчилсөн. Модула хэлийг хөгжүүлэхтэй зэрэгцэн түүнд зориулж шинэ хөрвүүлэгчид бий болсон боловч тэдгээрийн аль нь ч Паскаль, Си хэлний хамгийн сайн хэрэгжүүлэлтүүд, жишээлбэл Борландын боловсруулсан хэлтэй өрсөлдөж чадаагүй юм. Модула хэлний энэ шилжилтийн үед Logitech-ийн хийсэн хэрэгжүүлэлтүүд хамгийн шилдэг нь гэж тооцогддог байсан бөгөөд тэдгээр нь шинж чанараараа Turbo Pascal болон Turbo C-д ялагдсан. Зөвхөн 1988 онд Америкийн зах зээл дээр Top Speed ​​​​систем гарч ирсний дараа Modula-2 нь системийн програмчлалд зориулагдсан процедурын хэлнүүдийн дунд зохих байр сууриа эзэлжээ. Top Speed ​​​​системийн алдар нэр нэмэгдэхэд хэд хэдэн хүчин зүйл нөлөөлсөн: тохиромжтой, үүнээс гадна хялбар өөрчлөх боломжтой үйлдлийн орчин, хурдан хөрвүүлэгч, сонгомол холбогч. Гэхдээ хамгийн чухал зүйл бол бүтээгдсэн програмууд нь өндөр хурдаар ялгагдаж, санах ойн зай эзэлдэггүй байв.

ҮНДСЭН

ҮНДСЭН (Үндсэн - Эхлэгчдэд зориулсан бүх нийтийн бэлгэдлийн зааварчилгааны код - "эхлэгчдэд зориулсан бүх нийтийн симбол зааврын код"). Фортраны шууд удам бөгөөд хувийн компьютерт зориулсан хамгийн алдартай програмчлалын хэл хэвээр байна. BASIC нь 1963 онд гарч ирсэн (зохиогчийг нэрлэхэд хэцүү байх болно, гэхдээ түүний гадаад төрх байдлын гол гавьяа нь америкчууд Жон Кемени, Томас Курц нарт хамаарах нь дамжиггүй). Аливаа давуу талуудын нэгэн адил BASIC-ийн энгийн байдал нь бүтцийн зардлаар, ялангуяа эхний хувилбаруудад гарсан; Нэмж дурдахад BASIC нь рекурсийг зөвшөөрөхгүй байсан - үр дүнтэй, нэгэн зэрэг богино хэмжээний хөтөлбөр бичих боломжийг олгодог сонирхолтой трик.

Баялаг үгсийн сан, өндөр гүйцэтгэлтэй төдийгүй бүтэцлэгдсэн програмчлалын боломжийг олгодог хүчирхэг BASIC хөрвүүлэгчийг боловсруулсан. Зарим програмистуудын үзэж байгаагаар хамгийн сонирхолтой хувилбарууд нь GWBASIC, Turbo-Basic, Quick Basic юм.

Нэгэн цагт Quick Basic гарч ирснээр хоёр дахь үеийн BASIC програмчлалын систем бий болсон. Энэ нь модульчлагдсан болон процедурын програмчлал, номын сан үүсгэх, бэлэн програмыг эмхэтгэх гэх мэт боломжийг олгосон бөгөөд энэ нь түүнийг C, Pascal, Fortran гэх мэт сонгодог програмчлалын хэлний түвшинд хүргэсэн юм. албан ёсны BASIC хэлний стандартын Quick Basic хэлбэр нь бодит стандарт болсон. BASIC-ийн янз бүрийн хувилбаруудын дунд маргаангүй удирдагчид нь 80-аад оны сүүлээр гарч ирсэн Microsoft-ын Quick Basic 4.5 ба PDS 7.1 байв.

Лисп

Лисп хэлийг 1960 онд Ж.Маккарти санал болгосон бөгөөд тоон бус асуудлыг шийдвэрлэх программ боловсруулахад чиглэгддэг. Энэ хэлний англи нэр - LISP нь LISt боловсруулах (жагсаалт боловсруулах) гэсэн үгийн товчлол бөгөөд түүний хэрэглээний үндсэн чиглэлийг онцлон тэмдэглэдэг. "Жагсаалт" гэсэн ойлголт нь маш их багтаамжтай болсон. Жагсаалтын хэлбэрээр алгебрийн илэрхийлэл, график, хязгаарлагдмал бүлгийн элементүүд, олонлогууд, дүгнэлтийн дүрэм болон бусад олон нийлмэл объектуудыг дүрслэх нь тохиромжтой. Жагсаалт нь компьютерийн санах ойд мэдээллийг дүрслэх хамгийн уян хатан хэлбэр юм. Жагсаалттай ажиллахад тусгайлан зориулсан хэл нь хурдан баригдаж байгаад гайхах зүйл алга.

Lisp гарч ирсний дараа янз бүрийн зохиогчид хиймэл оюун ухааны салбарын асуудлыг шийдвэрлэхэд чиглэсэн өөр хэд хэдэн алгоритмын хэлүүдийг санал болгосон бөгөөд тэдгээрийн дотроос Planner, Snobol, Refal, Prolog зэргийг дурдаж болно. Гэсэн хэдий ч энэ нь Лиспийг ийм асуудлыг шийдвэрлэх хамгийн алдартай хэл хэвээр байлгахад саад болоогүй юм. Бараг дөч гаруй жилийн хугацаанд энэ хэлний хэд хэдэн аялгуу бий болсон: нийтлэг LISP, Mac LISP, Интер LISP, Стандарт LISP гэх мэт. Тэдний хоорондын ялгаа нь үндсэн биш бөгөөд голчлон бага зэрэг ялгаатай байдаг. суулгасан функцүүдийн багц ба тэмдэглэгээний програмын хэлбэрийн зарим ялгаа. Тиймээс аль нэг дээр нь ажиллаж сурсан программист бусад нь ч амархан эзэмшинэ. Lisp-ийн том давуу тал нь түүний функциональ чиг баримжаа, өөрөөр хэлбэл програмчлалыг функц ашиглан гүйцэтгэдэг. Түүнээс гадна функц гэдэг нь тодорхой ангийн элементүүдийг өөр ангийн харгалзах элементүүдтэй тохирох дүрэм гэж ойлгодог. Тохируулах процесс нь өөрөө програмын үйл ажиллагаанд ямар ч нөлөө үзүүлэхгүй, зөвхөн үр дүн нь чухал байдаг - функцийн утга. Энэ нь том програм хангамжийн системийг бичих, дибаг хийхэд харьцангуй хялбар болгодог. Хөтөлбөрүүдийн тодорхой байдал, тэдгээрийн чиг үүргийг тодорхой зааж өгөх, тэдгээрийг хэрэгжүүлэх явцад төвөгтэй гаж нөлөө байхгүй байх нь хиймэл оюун ухааны даалгавар гэх мэт логикийн хувьд нарийн төвөгтэй ажлуудыг програмчлах зайлшгүй шаардлага юм. Нэг хүн биш харин бүхэл бүтэн хэсэг програмистууд хөтөлбөр дээр ажиллаж байх үед програмчлалын сахилга бат чухал болдог.

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

Пролог

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

Объект PAL

Object PAL бол хүчирхэг програмчлалын хэл юм. Object PAL нь объект хандалтат, үйл явдалд тулгуурласан, визуал програмчлалын хэл юм. Object PAL функцийн эхний түвшинд та өгөгдлийн үйлдлийг гүйцэтгэх, тусгай цэс үүсгэх, өгөгдөл оруулах сессийг удирдах боломжтой. Object PAL дахь үйл явдлууд нь Paradox-ийг интерактив байдлаар ашиглах үр нөлөөг дуурайдаг командуудыг үүсгэдэг. Байнга хийдэг ажлуудыг автоматжуулах, интерактив ажлын явцад байхгүй байсан хүснэгт, маягт, тайлан дээр үйлдлүүд хийх боломжтой. Мөн Object PAL нь Windows орчинд бүрэн хэмжээний програмчлалын хэлний бүх боломжуудыг хангадаг. Та Object PAL-г ашиглан тусгай цэсийн систем, тусламжийн систем болон бүх төрлийн өгөгдлийн баталгаажуулалтыг хэрэгжүүлэх бүрэн системийг бий болгох боломжтой. Object PAL дээр та өөрийн ажлыг олон маягтаар хандах боломжтой динамик холбоосын санд хадгалах боломжтой. Нэмж дурдахад C, C++ эсвэл Паскаль зэрэг хэл дээр бичигдсэн програмуудыг агуулсан бусад динамик номын сангуудтай холбоо тогтоох боломжтой.

Object PAL нь бие даасан програм үүсгэх хэрэгсэл болгон ашиглаж болно. Та Windows програмыг бүрэн бичиж Парадоксын доор ажиллуулж болно.

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

Borland-ийн dBase хэлийг хэрэгжүүлсэн нь объектын чиг баримжаа болон уламжлалт програмчлалын аз жаргалтай эрлийз юм. Энэ нь объектын дизайн, уламжлалт бичлэг боловсруулах аргыг ашиглан системийг бий болгох боломжийг олгосон. Borland компанийн хамгийн том амжилт бол объект болон процедурын програмчлалын техникийг маш амжилттай хослуулсан явдал юм. Windows-д зориулсан анхны хувилбар нь хэрэглэгчдэд мэдээллийн сангийн програм хангамжийн зах зээл дээрх хамгийн хүчирхэг объект хэрэгслийг өгсөн. Энэ нь удамшил, капсулжуулалт, полиморфизмын шинж чанартай объектуудын шинэ ангиллыг бий болгох боломжийг олгодог. Энэ нь энгийн хүснэгтэн мэдээллийн санг удирдахад тохиромжтой уламжлалт dBase командуудыг ашиглан эдгээр объектуудыг програмчлах боломжийг олгодог. Энэ бүхэн нь маргаангүй давуу талыг өгдөг - объектын програмчлалын техник рүү шилжих шилжилт нь жишээлбэл, Paradox DBMS шиг төвөгтэй байдаг.

Жава хэл нь төрөл бүрийн гэр ахуйн цахилгаан хэрэгсэлд зориулсан дэвшилтэт программ хангамжийг бий болгох төслийн нэг хэсэг болж үүссэн. Төслийг хэрэгжүүлэх ажлыг C++ хэл дээр эхлүүлсэн боловч удалгүй хэд хэдэн асуудал гарч ирсэн бөгөөд үүнийг шийдвэрлэх хамгийн сайн арга бол програмчлалын хэлийг өөрөө өөрчлөх явдал байв. Архитектур тус бүрээр тусад нь эмхэтгэх шаардлагагүй, өөр өөр үйлдлийн системүүд дээр өөр өөр процессорууд дээр ашиглах боломжтой програмуудыг бий болгох боломжийг олгодог платформоос бие даасан програмчлалын хэл хэрэгтэй болох нь тодорхой болов. Интернетэд зориулсан интерактив бүтээгдэхүүн бий болгохын тулд Java хэл шаардлагатай байсан. Үнэн хэрэгтээ Java-г бүтээхэд гаргасан архитектурын шийдвэрүүдийн ихэнх нь C ба C++-тэй төстэй синтаксийг хангах хүсэл эрмэлзэлээс үүдэлтэй байв. Java нь хувьсагчийг зарлах, параметр дамжуулах, оператор дамжуулах, кодын урсгалыг удирдахад бараг ижил конвенцуудыг ашигладаг. Java нь C++-ийн бүх сайн шинж чанаруудыг нэмдэг.

Жава хэлний технологид нийлж буй гурван үндсэн элемент

Java нь жижиг, бат бөх, динамик, платформоос хамааралгүй идэвхтэй сүлжээний программуудыг ерөнхий хэрэглээнд ашиглах боломжтой болгодог. Вэб хуудсууд. Java программуудыг ямар ч HTML баримт шиг хялбархан өөрчилж, хэрэглэгчдэд түгээх боломжтой.

Java нь энгийн бөгөөд сайн мэддэг синтаксийг бат бөх, хэрэглэхэд хялбар хөгжүүлэлтийн орчинтой хослуулснаар объект хандалтат програм хөгжүүлэх хүчийг нээж өгдөг. Энэ нь өргөн хүрээний програмистуудад шинэ программууд болон шинэ апплетуудыг хурдан бүтээх боломжийг олгодог.

Java нь программистыг цонх, сүлжээ, оролт гаралтын үед ашигладаг системийн олон функцийг тодорхой хийсвэрлэхийн тулд объектын баялаг багцыг өгдөг. Эдгээр ангиудын гол онцлог нь өргөн хүрээний системийн интерфэйсийг платформоос хамааралгүй хийсвэрээр хангадагт оршино.

Компьютерийн сүлжээнд зориулсан програмчлалын хэлүүд

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

Perl нь программист Ларри Уоллын том хэмжээний текст болон файлуудыг боловсруулахад зориулан бүтээсэн орчуулгын хэл бөгөөд Практик олборлолт ба тайлангийн хэл (практик өгөгдөл гаргаж авах, тайлагнах хэл) гэсэн үг юм. Жишээлбэл, Perl програмын тусламжтайгаар та нэг буюу хэд хэдэн файл нээх, мэдээллийг боловсруулах, үр дүнг бичих скрипт үүсгэж болно.

Perl нь дурын текст файлуудыг боловсруулах, тэдгээрээс шаардлагатай мэдээллийг гаргаж авах, мессеж гаргахад зориулагдсан хэл юм. Perl нь янз бүрийн системийн програм бичихэд тохиромжтой. Энэ хэлийг хэрэглэхэд хялбар, үр ашигтай, гэхдээ дэгжин, авсаархан гэж хэлэхэд хэцүү. Perl хэллэгүүдийн синтакс нь C хэлтэй ойролцоо байна. Рекурс нь дурын гүнтэй байж болно. Хэдийгээр Perl нь текст файлуудыг сканнердах чадвартай ч хоёртын өгөгдөлтэй ажиллах боломжтой. Perl нь танд ердийн илэрхийлэл ашиглах, объект үүсгэх, C эсвэл C++ програмд ​​Perl кодын хэсгүүдийг оруулах, мөн Oracle зэрэг мэдээллийн санд хандах боломжийг олгодог.

World Wide Web-ийг зохион бүтээснээр Perl нь нийтлэг харилцааны интерфэйс болох Common Gateway Interface (CGI) -ээр дамжуулан вэб серверүүдтэй харилцах гайхалтай арга болох нь батлагдсан. Perl командууд нь HTML маягт эсвэл бусад эх сурвалжаас өгөгдлийг хялбархан авч, үүн дээр зарим үйлдлийг гүйцэтгэх боломжтой.

Хэл PHP(1995-1997) нь мэдээллийн санд хандах боломжтой бөгөөд дэлхий даяар динамик сайтуудыг бүтээгчид ашигладаг.

Хэл tcl/tk(80-аад оны сүүлч) нь хийсвэр бичээгүй объектуудтай ажиллахад зориулагдсан хүчирхэг командуудаас бүрдэх бөгөөд график интерфэйс бүхий програмуудыг үүсгэх боломжийг олгодог.

Хэл VRML(1994) нь интернет дэх виртуал гурван хэмжээст интерфейсийг зохион байгуулах зорилгоор бүтээгдсэн.

Хэл XML. 1996 оноос хойш бүх нийтийн баримт бичгийн бүтцийн хэлийг бий болгох ажил хийгдэж байна. Энэ нь HTML хэлийг орлох боломжтой.

Дүгнэлт

Ашигтай нөөц

Исилигийн тойм

Тайлан хаана байна?

Ранифка хянасан

Re: Тайлан хаана байна?
Бүх зүйл байх болно :D

Шамагулова Элитийн санал хүсэлт

Александр Мишин хянан үзсэн

Маш сайн тайлан. Програмчлалын хэлний талаар их зүйл сурсан.

Александр Морозовын санал хүсэлт

Мэдээжийн хэрэг, би ямар нэгэн хэлбэрээр илтгэл, ядаж танилцуулга хийхийг хүсч байна.

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

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

Гэхдээ та ажилдаа орохын өмнө нэг чухал асуултанд хариулах хэрэгтэй: 2017 онд орчин үеийн програмчлалын ямар хэлүүд хамааралтай болох вэ, тэдгээрийн алинд нь цаг хугацаа, хүчин чармайлтаа зарцуулах вэ? Энд байгаа зөв хариултаас их зүйл шалтгаална - сургалтын үйл явцын нарийн төвөгтэй байдал, хурд, бодит үйл ажиллагаанд орох хамгийн бага босго, цаашдын ажил мэргэжлийн хэтийн төлөв.

2017 оны програмчлал, хэлний ирээдүйтэй чиглэлүүд

Сурах тодорхой програмчлалын хэлийг (нэг ба түүнээс дээш) шийдэхийн тулд эхлээд хүн програмчлалын аль чиглэлээр ажиллахыг хүсч байна вэ гэсэн асуултанд хариулах хэрэгтэй. Одоо хамгийн алдартай, хурдацтай хөгжиж буй газрууд нь:

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

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

Аль хэлийг сонгох вэ

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

  • Java. Компьютер болон гаджетуудад зориулсан програмуудыг хоёуланг нь хөгжүүлэх боломжтой хамгийн уян хатан, түгээмэл програмчлалын хэл. Android удирдлага OS. Энэ нь тодорхой синтакстай, маш амархан бөгөөд хурдан сурдаг, Java хэл дээрх анхны програмуудыг сургалт эхэлснээс хойш хэдэн долоо хоногийн дараа бичиж болно. Үүнийг маш ирээдүйтэй болгодог гол шинж чанар нь одоо маш хурдацтай хөгжиж буй Android програмчлалын хэрэглээ юм;
  • C#. Компьютерийн системд зориулсан програм бичихэд үйл ажиллагаагаа зориулахыг хүсдэг хүмүүст зориулсан гайхалтай сонголт. Энэ нь C Sharp хэл (C#) бөгөөд ихэнх программуудыг Microsoft-ын янз бүрийн платформ, үйлчилгээнд зориулж бичих үндэс суурь болдог. Үүний тусламжтайгаар та .NET болон Azure ашиглан вэб программууд, мөн Windows-д зориулсан програмууд, төрөл бүрийн бизнесийн програмууд болон бусад олон зүйлийг ашиглах боломжтой. C#-ийн талаар толгойгоо эргүүлэхийн тулд бага зэрэг ажиллах шаардлагатай боловч эцэст нь үр дүнгээ өгдөг;
  • PHP. Хэрэв таны даалгавар бол интернетийн нөөцөд зориулж өндөр чанартай скрипт, интерактив загвар бичих эсвэл одоо маш ашигтай ажил мэргэжил болсон серверийн администратор байх юм бол PHP хамгийн зөв замийм хүсэл тэмүүллийг хэрэгжүүлэх. Орчин үеийн програмчлалын хэлүүд энэ төлөөлөгчгүйгээр зүгээр л хийж чадахгүй. Тэр маш хурдан бөгөөд амархан сурдаг - хэрэв та PHP-ийг анхааралтай, тогтмол сурдаг бол 2-3 жилийн дараа маш сайн албан тушаал, зохих цалин авах өргөдөл гаргаж болно.

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

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

1957 онд анхны дээд түвшний програмчлалын хэл Fortran гарч ирснээс хойш бараг 60 жил өнгөрсөн бөгөөд ийм урт хугацаанд програмчлал маш хол урагш алхсан нь гайхах зүйл биш юм. Шинэ технологи, програмчлалын шинэ үзэл баримтлал, парадигмууд, мэдээжийн хэрэг, шинэ хэлүүд бий. Дүрмээр бол програмчлалын хэлийг бий болгох нь цаг үеийн эрэлт хэрэгцээнд тулгуурладаг: шинэ ажлуудыг шийдвэрлэхийн тулд ихэвчлэн шинэ хэрэгслийг шаарддаг бөгөөд энэ нь өмнөх үеийнхээс илүү сайн ажиллах болно. Үүнтэй холбогдуулан жил бүр хэд хэдэн шинэ хэл гарч ирдэг бөгөөд тэдгээр нь олон арван жилийн турш практик програмчлалын хуримтлуулсан шилдэг бүх зүйлийг багтаасан бөгөөд нэгэн зэрэг шинэ зүйлийг авчирдаг. Саяхан гарч ирсэн хамгийн сонирхолтой програмчлалын хэлнүүдийн заримыг энэ нийтлэлд авч үзэх болно.

Хурдан

Apple-аас iOS болон OS X хөгжүүлэлтэд зориулж бүтээсэн ерөнхий зориулалтын үнэгүй хэл. Энэ хэл нь Objective-C-тэй нийцдэг бөгөөд энэ нь хоёр хэлийг нэг программд ашиглах боломжийг олгодог. Хэлний хөгжүүлэлт 2010 онд Apple-ийн хөгжлийн хэлтсийн дарга Крис Латтнерийн удирдлаган дор эхэлсэн. Свифт одоо байгаа олон хэлнээс C ++-ээс Хаскелл хүртэл янз бүрийн чиглэлд санаа авсан. Хэлний албан ёсны танилцуулга 2014 оны 6-р сард 500 хуудас бүхий гарын авлагын хамт хийгдсэн. Та iOS-д зориулсан Xcode 6 програмчлалын орчинд Swift дээр ажиллах боломжтой. Хэлний 3.0 хувилбар нь Линуксыг дэмждэг.
Хэл нь Objective-C-ээс маш их зүйлийг авсан; Үүний зэрэгцээ, энэ нь илүү аюулгүй, хурдан байдаг. Хөгжүүлэгчдийн баталгаагаар Swift дээрх код нь Objective-C дээрх ижил төстэй кодоос 1.5 дахин хурдан ажилладаг.

Хак

 -ийн боловсруулсан хэл; PHP шиг харагдаж байна. Хак кодыг PHP дэмждэг тусгай виртуал машин дээр гүйцэтгэдэг. Хэл нь нээлттэй - Hack эх кодууд нь түүнийг сайжруулахад оролцохыг хүссэн хэн бүхэнд нээлттэй. Хэл нь сайн мэдэх PHP дээр суурилдаг хэдий ч хөгжүүлэгчид вэб сайт болон бусад програмуудыг хурдан бүтээх цоо шинэ, өндөр найдвартай хэрэгслийг бүтээж чадсан. Үр дүн нь  -ийг маш их гайхшруулж, компанийн бүх төслүүдийг Hack-д шилжүүлсэн нь үүнийг баталж байна.

Жулиа

Математик тооцооллын шинэ хэл. Хэлний синтакс нь Matlab болон бусад математикийн хэлнүүдэд нөлөөлсөн боловч мэдэгдэхүйц ялгаа байдаг. Хэл нь өөрөө C ба C++ хэл дээр бичигдсэн; Хэлний програмын кодыг LLVM виртуал машин дээр гүйцэтгэдэг бөгөөд Жулиа JIT хөрвүүлэгчээр тоноглогдсон байдаг. Эмхэтгэлийн ачаар C ++ хэл дээр бичигдсэн програмуудтай харьцуулахуйц програмын ажлын өндөр хурдтай болсон.
Энэ хэл нь тархсан тооцоолол, функцийг хэт ачаалах, кодын параллелизмыг дэмждэг. Жулиагийн гол ажил: өндөр гүйцэтгэлийг хадгалахын зэрэгцээ их хэмжээний тооцоолол хийх. Эдгээр зорилгын үүднээс үүлэн тооцооллын дэмжлэгийг мөн хэлэнд нэмсэн. Жулиаг ашиглан цэвэр математикийн асуудлаас гадна ерөнхий зориулалтын программ үүсгэх боломжтой.

Дарт

Google-ээс JavaScript-г орлуулахаар бүтээсэн хэл. Засах боломжгүй JavaScript хэлний зарим "үндсэн дутагдал"-ын улмаас вэб програмчлалын шинэ хэл бий болгохоор шийдсэн. Үүний зэрэгцээ эхлэгчдэд шилжих, сурах үйл явцыг хялбаршуулахын тулд хэлийг одоо байгаа хэлтэй аль болох ижил төстэй болгох шаардлагатай байв. Одоогоор Dart программуудыг хоёр аргаар гүйцэтгэдэг: дамжуулан виртуал машин Dart VM болон JavaScript руу орчуулах замаар. Ирээдүйд Dart нь JavaScript-ийг вэб програмчлалын бүх нийтийн хэл болгон орлуулахаар төлөвлөж байна.

Скрипт бичнэ үү

Өөр нэг хэл нь өөрийгөө JavaScript-г орлох хэл юм. Шинэ хэлийг бүтээгч нь Delphi, C#, Turbo Pascal хэлийг зохиогч алдарт Андерс Хейлсберг байв. Type Script нь Java Script-тэй ухарч тохирох нээлттэй хэл юм. Хөрвүүлэгч нь Type Script кодыг JavaScript руу хөрвүүлдэг бөгөөд дараа нь хөтчөөр гүйцэтгэгддэг. JS-ээс ялгаатай нь шинэ хэл нь объект хандалтат програмчлалын бүх боломжуудыг, түүнчлэн модулиудыг холбох боломжийг дэмждэг. Төрөл скрипт болон JavaScript-ийн нийцтэй байдал нь одоо байгаа JavaScript кодыг алдартай JS номын сангууд зэрэг шинэ Type Script төслүүдэд ашиглах боломжийг олгодог. Програмчлалын ерөнхий парадигмыг дэмждэг.



Төслийг дэмжээрэй - холбоосыг хуваалцаарай, баярлалаа!
Мөн уншина уу
тахиа зодооны тоглоомын дүрэм тахиа зодооны тоглоомын дүрэм Minecraft 1.7-д зориулсан 10 цагны жор.  Minecraft дээр гар урлалын зүйл хийх жор.  Minecraft дахь зэвсэг Minecraft 1.7-д зориулсан 10 цагны жор. Minecraft дээр гар урлалын зүйл хийх жор. Minecraft дахь зэвсэг Шиллинг ба стерлинг - үгсийн гарал үүсэл Шиллинг ба стерлинг - үгсийн гарал үүсэл