C(პროგრამირება)/რატომ ისწავლო C?

ვიკიწიგნებიდან
C პროგრამირება


რატომ ისწავლო C?[რედაქტირება]

C არის ყველაზე ხშირად ნახმარი ენა ოპერაციული სისტემების პროგრამირებისათვის. იუნიქსი იყო პირველი ოპერაციული სისტემა რომელიც დაიწერა C-თი. შემდეგ კი ვინდოუსი, მაკ ოს X, და GNU/ლინუქსი იყვნენ დაწერილი C-თი.

C არა მარტი ოპერაციული სისტემების ენაა, ის არის ავანგარდი ლამის ყველა პოპულარული მაღალ-დონიანი ენების რომლებიც დღევანდელ დყეს არსებობენ. ფაქტი არის ის რომ, Perl-ი, PHP-ი, Python-ი, და Ruby არიან დაწერილი C-თი.

ანალოგიურად, ვთქვათ რომ თქვენ უნდა ისწავლოთ ესპანური, იტალიური, ფრანგული, ან პორტოგალიური. გგონიათ რომ ლათინურის წოდნა დაგეხმარებათ? ისევე როგორც ლათინური იყი ამ ყველა ენების ფუძე, C-ის წოდნა თქვენ გაძლევთ შესაძლებლობის რომ გაერკვიოთ და შეაფასოთ მთელი ერთი პროგრამირებსი ენების ჯგუფი რომლებიც არიან შექმნილნი C-ის ტრადიციების მიხედვით. C-ის წოდნა შქვენ მიგანიჭებთ თავისუფლებას.


რატომ C, და არა ენა assembler-ი?[რედაქტირება]

იმიტომ რომ assembler-ი, მაინც თუ ძალიან რთულია, მისი მეშვეობით დიდი პროგრამების პროგრამირემა ძნელია, თან ძნელია მისი კოდის კითხვა ან მისი კოდის ლოგიკურად ახსნა. მით უმეტეს, სხვა და სხვა მიკროპროცესორები არიან პროგრამირებულნი სხვა და სხვა assembler-ის ენის მეშვეობით და მაინც და მაინც ერთი assembler-ის შერჩევა და სწავლა საკმაოდ შემთხვევითია. ფაქტი ის არის რომ, C-ის ერთ ერთი ძალა არის მისი უნივერსალურობა და პორტატიულობა მრავალ კომპიუტერების არქიტეკტურებზე.



რატომ C, და არა Java ან Basic-ი ან Perl-ი?[რედაქტირება]

Mostly because of memory allocation. სხვა პროგრამირების ენებთან განსხვავებით, C-ე აძლევს საშუალებას პროგრამისტს რომ მოიხმაროს ოპერატიული მერხსიერება როგორც იმიას შეეძლება assembler-ით. ენები როგორიც არიან Java და Perl-ი პროგრამისტს თავიდან აშორებს ზრუნვას მეხსიერების განაწილებაზე და ცვლადების მიმთითებლებზე. ეს ჩვეულებრივათ კარგი რამეა. ასე თუ ისე მოსაბეზრებელია მეხსიერების განაწილების განხილვა როცა ქმნით პროგრამებს როგორც სამთვიური შემოსავლის მოანგარიშეს.

მიუხედავად იმისა რომ, when dealing with low level code როგორც ოპერაციული სისტემის ნაწილი რომელიც ბაიტებისგან შედგენილ სტრინგების გადაადგილებაზე მუშაობს და რომელიც გამოიყენება სამთვიური შემოსავლის მოანგარიშე პროგრამის მიერ რახან კომპიუტერის მეხსიერებიდან ქსელის კარტის ბუფერში გადაიტანოს ინფორმაცია რომ ის გაიგზავნოს ქსელურ პრინტერში, ასეთ შემთხვევაში მეხსიერების პირდაპირი მანიპულაცია კრიტიკული საქმეა და -- ამის ასე გაკეთება Java-თი არ შეგიძლიათ. C-ე კი შეიძლება იყოს კომპილირებული სწრაფ და ეფეკტურ პროგრამად.

გვიკვირდეს რომ C-ე ასეთი პოპულალურია?

როგორც დომინოები, მომავალი პროგრამები მიედევნებიან თავიანთი წინაპრების მიმართულებებს. C-თი დაწერილ ოპერაციულ სისტემებს ყოველთვის ჰქონიათ თავიანთი სისტემური ბიბლიოთეკები აგრეთვე დაწერილი C-ს მეშვეომით. ეს სისტემური ბიბლიოთეკები არიან თავიანთ ჯერად გამოყელნებულნი მაღალ-დონიანი ბიბლიოთეკების შექმნისათვის (როგორც OpenGL-ი, ან GTK-ი), და ამ ბიბლიოთეკების შემქმელნი ხშირად წყვიტავენ იმ ენის გამოყენებას რომელიც იყო ნახმარი იმ სისტემური ბიბლიოთეკების დასაწერათ. პროგრამისტები ხმარომენ მაღალ-დონიან ბიბლიოთეკებს რომ შექმნან სარედაქტორო პროგრამები, ვიდეო თამაშები, მულტიმედიური პროგრამები, და მსგავსნი. მაგათგან უმეტესი ნაწილი ირჩევს პროგრამირებას იმ ენათი რომელიც მაღალ-დონიანი ბიბლიოთეკა ხმარობს. და ეს ასე გრძელდება...