Monday, October 12, 2015

Си хэл



AT&T-ийн Беллийн Лабораторид 1969-өөс 1973 оны хооронд анх хөгжүүлсэн бөгөөд 1972 онд хамгийн оргил үе нь байжээ. Кен Томпсоны BCPL програмчлалын хэлний хялбаршуулсан хувилбар болох B ("Би" гэж дуудна) гэдэг хэлнээс хөгжүүлсэн учир Си гэдэг нэр өгчээ.
Си хэлний үүсэл нь Ритчи, Томпсон хоёрын PDP-7 машины ассемблер хэлээр хөгжүүлсэн Unix үйлдлийн системтэй салшгүй холбоотой юм. Тэгтэл үйлдлийн системээ PDP-11 уруу шилжүүлэхээр болж. B хэл нь PDP-11 машинаа бүрэн ашиглаж чадахгүй байсан тул Си хэлийг хөгжүүлэх шалтгаан болжээ.
Анхны PDP-11 машины Unix систем нь ассемблер хэлээр хийгдсэн. 1973 онд Си хэл нь struct төрлийг нэмснээр Unix-ийн цөмийн ихэнх хэсгийг бичиж чадах чадамжтай болжээ. Энэ нь үйлдлийн системийн цөмийг анх удаа ассемблер хэлнээс өөр хэлээр програмчилсан явдал юм. 1977 оны үеэр Ритчи, Стивен Си.Жонсон хоёр Unix үйлдлийн системийг шилжих (portable) чадвартай болгохоор Си хэлэнд өөрчлөлт оруулав. Жонсоны Шилчих Чадвартай Си-гийн Хөрвүүлэгч нь шинэ системүүдэд Си хэлний хөгжүүлэлт хийхэд ашиглагдсан.
Хэрэв Фортранд төрөл байхгүй байсан бол програм зохиогч маань хувьсагчид дээр үйлдэл хийх агшинд уг хувьсагчид хадгалагдаж буй "бүхэл тоог" бүхэл гэж үзэх үү эсвэл бутархай гэж үзэх үү гэдгийг шийдэж зохих коммандыг бичих хэрэгтэй болно. Мөн жишээ нь, санах ойд бүхэл тоо 4 байт, бутархай тоо 8 байт зай эзэлдэг байж болно. Энэ үед хэрэв програм зохиогч хайхрамжгүйгээр "бүхэл байх ёстой" хувьсагч дээр бутархай тооны үйлдэл гүйцэтгэсэн бол уг бүхэл тоогоор зогсохгүй түүний дараачийн 4 байт мөн хайхрамжгүй үйлдлийн золиос болно. Гэвч аз болоход Фортран төрөлтэй учраас ийм буруу үйлдэл хийх болгонд компилятор алдааг олж илтгэдэг. Хувьсагчийн төрөл хэмээх ойлголтыг оруулж ирснээр програм зохиогчийн эрх чөлөөг хязгаарлаж байгаа биш, харин түүнийг алдаагүй програм бичих, алдаагаа хялбар олох боломжийг олгож байгаа хэрэг юм.
Си хэл нь системийн програмчлалын хэрэгсэл мэтээр бүтээгдсэн байна. Өөрийн онцлог, давуу талуудын ачаар энэ хэл богино хугацааны дотор хэрэглээний болон системийн програмчлалын хамгийн түгээмэл хэл болж чадсан юм. Тиймээс хэдийгээр сургалтын зориулалттай биш боловч компьютерын ухааны боловсролд өргөн хэрэглэгддэг. Си хэлний хөрвүүлэгчид орчин үеийн бараг бүх төрлийн компьютер дээр, UNIX/Linux, MS-DOS, MAC OS, OS/2, Windows, Solaris г.м. үйлдлийн системүүдэд ажиллаж байна.

No comments:

Post a Comment