برنامهنویسی چندسالی است که در ایران بسیار مطرح است، با این وجود اکثر مردم در این مورد اطلاعاتی ندارند. اهمیت برنامهنویسی آنقدر زیاد است که متخصصان زیادی درباره آموزش آن به کودکان، مقالاتی را منتشر کردهاند. در واقع برنامهنویسی باعث می شود که خلاقیت افزایش یافته و طرز صحیح فکر کردن را بیاموزیم. افراد زیادی در دنیا هستند که در مورد این علم شناخت کاملی دارند، ولی بر مفاهیم پایهایی تسلط ندارند. به عنوان مثال اگر از آن ها بپرسید برنامهنویسی چیست ممکن است نتوانند به سوال شما پاسخ مناسبی بدهند. با وجود اینکه پاسخ این سوالات برای کسی که در این حوزه فعال است، ممکن است اهمیت نداشته باشد، ولی از لحاظ حرفهای بسیار ناپسند است که یک متخصص نتواند به سوالات پایهایی پاسخ دهد.
همچنین ممکن است شما با برنامهنویسی هیچ آشناییتی نداشته باشید و بخواهید راجب آن اطلاعات کسب کنید. پس با ترناو همراه باشید تا به بررسی مفاهیم پایهایی برنامهنویسی بپردازیم.
تعریف برنامهنویسی چیست
اگر بخواهیم خیلی آسان و روان شرح دهیم باید گفت یک سری دستوراتی که توسط انسان به کامپیوتر داده میشود و به آن میفهماند که باید چه کاری را انجام دهد. اما اگر بخواهیم توضیح علمی را شرح دهیم میتوان گفت برنامهنویسی یعنی روند طراحی و ساخت یک برنامه قابل اجرا برای رسیدن به یک نتیجه محاسباتی خاص، یعنی کامپیوتر منتظر است تا شما یک سری دستورات (Statements) را به او بدهید تا این دستورات را خط به خط اجرا کند و خروجی را به شما نمایش دهد. اولین برنامهنویس جهان یک خانم نابغه به نام ادا لاولیس (Ada Lovelace) بود.
زبان برنامهنویسی چیست ؟
اگر بخواهیم معنی زبان برنامهنویسی را درک کنیم ابتدا باید به تعریف زبان بپردازیم. زبان وسیلهایی است برای ارتباط انسانها با یکدیگر. زبان برنامهنویسی نیز ارتباط بین انسان و کامپیوتر را برقرار میکند. کامپیوتر زبان انسانها را نمیفهمد بنابراین برنامهنویسان باید خواسته خود را در قالب یک سری ساختارها و قوانین مشخص به کامپیوتر وارد کنند. زبان برنامهنویسی را اینگونه میتوان تعریف کرد که: مجموعهایی از دستورالعملها و قوانینی است که برای ساخت یک برنامه استفاده میشود. برنامهنویسان از طریق زبانهای برنامهنویسی منظور خود را به کامپیوتر میرسانند. زبانهای برنامهنویسی مختلفی وجود دارند از قبیل Java, C#, C++, Python و … قوانین هر زبان با زبان دیگر متفاوت است مثلا دستور چاپ یک متن در Java با Python تفاوت دارد.
سطوح زبانهای برنامهنویسی
- سطح پایین
- سطح میانی
- سطح بالا
زبان سطح پایین
زبانهای سطح پایین (Low-Level Language) بدون نیاز به کامپایلر یا مفسر به کد ماشین تبدیل میشوند. این زبانها با سرعت زیادی اجرا میشوند زیرا نیاز نیست به زبان ماشین ترجمه شوند. همچنین این زبانها حجم کمی از رم اشغال میکنند. اما در مقابل از معایب آن میتوان به درجه سختی آن اشاره کرد، این کدها برای کامپیوتر بسیار شیرین و آشنا هستند ولی برای انسان بسیار سخت و بیمعنی هستند (چون شما با یک سری اعداد ۰ و ۱ سروکار دارید و در بهترین حالت با یک سری کلمات مانند Add و …). از دیگر معایب این زبانها این است که قابلیت حمل (Portability) ندارند. یعنی ممکن است در یک ماشین اجرا شوند ولی در ماشینی دیگر اجرا نشوند. زیرا ساختار آنها وابسته به ماشین است. اگر بخواهیم مثالی برای این زبانها بزنیم میتوانیم به کد ماشین و اسمبلی اشاره کنیم.
زبان سطح میانی
زبان سطح میانی در وسط زبان سطح پایین و بالا قرار میگیرد مانند زبان C. زبانهای سطح میانی مانند پلی در میان سخت افزار خام و لایه برنامهنویسی عمل میکنند.
زبان سطح بالا
این زبانها به گونهای نوشته میشوند که برای کاربر بسیار شیرین هستند (بر عکس زبانهای سطح پایین 🙂 ) اما کامپیوتر این زبانها را متوجه نمیشود زیرا از یک سری کلمات انگلیسی تشکیل شدهاند. کامپیوتر فقط ۰ و ۱ را متوجه میشود بنابراین نیاز است تا این دستورات به ۰ و ۱ تبدیل شوند. برای تبدیل زبان سطح بالا به ۰ و ۱ از کامپایلر ها یا مفسرها استفاده میشود. سرعت اجرای این زبانها نسبت به زبان ماشین کمتر است و ممکن است رم بیشتری را مصرف کنند. اما از مزایای آن میتوان به این موضوع اشاره کرد که روی هر ماشینی میتوانند اجرا شوند و در واقع وابسته به ماشین نیستند. C# ,Java ,Python نمونهای از زبانهای سطح بالا هستند.