Thursday, June 4, 2015

თავი 1.6


1.6 ტერმინოლოგია: მთარგმნელი და კომპილატორი
       
        Python არის მაღალი დონის ენა შექმნილი იმისთვის, რომ ადამიანმა დაწეროს და წაიკითხოს  და კომპიუტერმა წაიკითხოს და დაამუშავოს. სხვა მაღალი დონის ენებია Java, C++, PHP, Ruby, Basic, Perl, JavaScript და კიდე ბევრი. ცენტრალურ პროცესორს არ ესმის ეს მაღლი დონის ენები. ცპ - ს ესმის ენა რასაც ვეძახით "მანქანის ენას" . ეს ენა ძალიან მარტივია და გულწრფელად რომ ვთქვათ ძალიან მომაბეზერებლი, იმიტომ რომ გამოხატულია მხოლოდ ნულებით და ერთიანებით :

01010001110100100101010000001111
11100110000011101010010101101101
...

        მანქანის ენა ჩანს ძალიან მარტივი რადგან შედგება მხოლოდ ნულებით და ერთიანებით, მაგრამ მისი სინტაქსი  ბევრად უფრო რთული და არეულია ვიდრე Python-ის. ძალიან ცოტა პროგრამისტი ძალიან იშვიათად წერს ამ ენაზე. სანაცვლოდ ჩვენ შევქმენით სხვადასხვა მთარგმნელები, რათა საშუალება მიგვეცა პროგრამისტებისათვის დაეწერათ მაღალი დონის ენებზე, როგორიცაა Python ან JavaScript და მთარგმნელი პროგრამები გადათარგმნიდნენ მანქანის ენაზე ცპ-ს დახმარებით.
            მანქანის ენა არაა პორტაბელური კომპიუტერის ნაწილების განსხვავებულ მოდელებზე. მაღალი დონის პროგრამულ ენაზე დაწერილი პროგრამა შეიძლება გადაიტანო სხვა და სხვა კომპიუტერებზე, გამოიყენო სხვა და სხვა მთარმგნელი და კომპილატორი რომ ვთარგმნოთ კოდი მანქანის ენაზე.
            პროგრამული ენის მთარგმნელი იყოფა 2 ძირითად კატეგორიად: 1) თარჯიმანი და 2) კომპილატორი ((1) interpreters and (2) compilers.).
            თარჯიმანი კითხულობს კოდს როგორც დაწერილია პროგრამისტის მიერ , არჩევს "გრამატიკულად" და თარგმნის . Python არის მთარგმენელი და როცა ვიყენებთ Python-ს ინტერაქტიულად, შეგვიძლია დავწეროთ წინადადება და Python მზადაა მაშინვე დაამუშავოს და მიიღოს ახალი წინადადება.
            ხანდახან, როცა დაგჭირდება დაიმახსოვრო რაიმე სიდიდე , საჭიროა ამ სიდიდეს დაარქვა სახელი და შეგეძლება მოგვიანებთ გამოიყენო. ტერმინი ცვლადი...

>>> x = 6
>>> print x
6
>>> y = x * 7
>>> print y
42
>>> 
            ამ მაგალითში Python - მა დაიმახსოვრა სიდიდე 6 როგორც x . მოგვიანებით შეგეძლება ამ სიდიდის გამოყნება. print ბრძანებით ვამოწმებთ ნამდვილად დაიმახსოვრა თუ არა სიდიდე. შემდეგ ვიძახებთ x - ს და ვამრავლებთ შვიდზე და მიღებულ მნიშვნელობას ვაძლევთ სიდიდე y - ს. და ბოლოს print ბრძანებით გამოგვაქს y - ს მნიშვნელობა.
            მიუხედავდ იმისა რომ თითო ბრძანებას თითო ხაზზე ვწერთ, Python is treating them as an ordered sequence of statements with later statements able to retrieve data created in earlier statements.   ვწერთ პირველ მარტივ პარაგრაფს 4 წინადადებით ლოგიკურ და აზრიან ბრძანებას,
            მთარგმნელის თვისებაა რომ ქონდეს შესაძლებლობა ინტერაქტიულ რეჟიმში ლაპარაკის, როგორც ნაჩვენებია ზემოთ. კომპილატორს სჭირდება მიუთითო ფაილი, რომელსაც გადაიყვანს მანქანის ენაზე,
            თუ გაქვს ვინდოუსი , განხორციელებად პროგრამებს აქვს გაფართოება(სუფიქსი) “.exe” ან “.dll”  რაც იკითხება როგორც “executable” და  “dynamically loadable library” .  რაც შეეხება ლინუქსს და მაკს, მათ არ აქვს უნიკალური სუფიქსი რაც აღნიშნავს რომ ფაილი "განხორციელებია".
            განხორციელებად  პროგრამას თუ გახსნი ტექსტურ რედაქტორში ნახავ რო გამოიყურება გიჟურად და წაკითხვა შეუძლებელია.

ˆ?ELFˆAˆAˆAˆ@ˆ@ˆ@ˆ@ˆ@ˆ@ˆ@ˆ@ˆ@ˆBˆ@ˆCˆ@ˆAˆ@ˆ@ˆ@\xa0\x82
ˆDˆH4ˆ@ˆ@ˆ@\x90ˆ]ˆ@ˆ@ˆ@ˆ@ˆ@ˆ@4ˆ@ ˆ@ˆGˆ@(ˆ@$ˆ@!ˆ@ˆFˆ@
ˆ@ˆ@4ˆ@ˆ@ˆ@4\x80ˆDˆH4\x80ˆDˆH\xe0ˆ@ˆ@ˆ@\xe0ˆ@ˆ@ˆ@ˆE
ˆ@ˆ@ˆ@ˆDˆ@ˆ@ˆ@ˆCˆ@ˆ@ˆ@ˆTˆAˆ@ˆ@ˆT\x81ˆDˆHˆT\x81ˆDˆHˆS
ˆ@ˆ@ˆ@ˆSˆ@ˆ@ˆ@ˆDˆ@ˆ@ˆ@ˆAˆ@ˆ@ˆ@ˆA\ˆDˆHQVhT\x83ˆDˆH\xe8
....   
            არაა ადვილი წაიკითხო და დაწერო მანქანის ენაზე ,  კარგია რო გვაქვს მთარგმნელი და კომპილატორი, რომელიც გვაძლევს საშუალებას დაბწეროთ Python
ან C-ში.
            Python - ის მთარგმნელი დაწერილია C-ში. შეგიძლია ნახო საწყისი  კოდი  საიტზე www.python.org . ვინდოუსში Python - ის განხორციელებადი მანქანის კოდია

C:\Python27\python.exe

ეს იმაზე მეტია, ვიდრე ამჟამად გჭირდება რომ იცოდე.