پێشەکی
کاتێک ئێمە وەک پرۆگرامەر کۆد دەنووسین، ئەو کۆدەی کە ئێمە بەکاری دەهێنین بە 'High-level language' ناسراوە، واتە ئەو زمانانەی کە بۆ مرۆڤ تێگەیشتنیان ئاسانە. بەڵام کۆمپیوتەر تەنها بە زمانی 'Machine Code' یان 'Binary' (سفر و یەک) تێدەگات. لێرەدا پرسیارێک دروست دەبێت: چۆن کۆدی ئێمە دەبێت بە زمانی کۆمپیوتەر؟ وەڵامەکە لە دوو ئامرازی سەرەکیدایە: Compiler و Interpreter.
Compiler چییە؟
کۆمپایلەر بریتییە لە بەرنامەیەک کە تەواوی کۆدەکەت بە جارێک دەخوێنێتەوە و دەیگۆڕێت بۆ فایڵێکی جیاواز (Executable file) کە کۆمپیوتەر دەتوانێت ڕاستەوخۆ جێبەجێی بکات. نموونەی ئەم زمانانە بریتیین لە C, C++, و Rust.
تایبەتمەندییەکانی Compiler:
- پێش ئەوەی بەرنامەکە کار بکات، دەبێت هەموو کۆدەکە کۆمپایل بکرێت.
- ئەگەر هەڵەیەک لە کۆدەکەدا هەبێت، کۆمپایلەرەکە ڕێگە نادات بەرنامەکە دروست ببێت.
- بەرنامەی کۆمپایلکراو زۆر خێراترە چونکە پێشوەختە گۆڕدراوە بۆ زمانی ماشین.
#include <stdio.h>
int main() {
printf("Hello, Ferkar!");
return 0;
}
Interpreter چییە؟
ئینتەرپرێتەر بە پێچەوانەی کۆمپایلەر، کۆدەکە دێڕ بە دێڕ (Line-by-line) دەخوێنێتەوە و جێبەجێی دەکات. واتە پێویست ناکات پێشوەختە فایڵێکی تایبەت دروست بکەیت. نموونەی ئەم زمانانە بریتیین لە Python, JavaScript, و PHP.
تایبەتمەندییەکانی Interpreter:
- بەرنامەکە دەستبەجێ کار دەکات.
- ئەگەر لە ناوەڕاستی کۆدەکەدا هەڵەیەک هەبێت، بەرنامەکە تا ئەو شوێنە کار دەکات و پاشان ڕادەوەستێت.
- بەگشتی خێرایی جێبەجێکردنیان کەمترە لە زمانە کۆمپایلکراوەکان.
print("Hello, Ferkar!")
# کاتێک ئەمە ڕەن دەکەیت، ڕاستەوخۆ دەخوێنرێتەوە
جیاوازییە سەرەکییەکان
بۆ ئەوەی باشتر تێبگەیت، با بەراوردێکی خێرا بکەین:
- خێرایی: زمانە کۆمپایلکراوەکان خێراترن چونکە کۆدەکەیان ئامادەیە بۆ پرۆسێسەر.
- دیباگکردن: ئینتەرپرێتەرەکان بۆ فێربوون و تاقیکردنەوەی خێرا گونجاوترن، چونکە بە ئاسانی هەڵەکان دەدۆزیتەوە.
- تایبەتمەندی: کۆمپایلەر فایڵی (.exe) یان (.out) دروست دەکات، بەڵام ئینتەرپرێتەر پێویستی بە 'Runtime environment' هەیە بۆ ئەوەی کۆدەکە بخوێنێتەوە.
کامیان باشترە؟
هیچیان لەوی تر باشتر نییە، بەڵکو بەپێی پێویستی پرۆژەکەت دەگۆڕێت. ئەگەر دەتەوێت بەرنامەیەکی بەهێز و خێرا دروست بکەیت کە بۆ سیستەمی کارپێکردن (OS) گونجاو بێت، C++ یان Rust (Compiler) هەڵبژاردەیەکی باشە. بەڵام ئەگەر دەتەوێت خێرا ویب سایتێک یان سکریپتێک دروست بکەیت، Python یان JavaScript (Interpreter) کاتێکی زۆرت بۆ دەگەڕێنێتەوە.
هیوادارم ئەم ڕوونکردنەوەیە یارمەتی دابیت تا جیاوازی نێوان ئەم دوو جیهانە تێبگەیت.