از کجا باید شروع کنیم؟
توانایی نوشتن برنامههای کامپیوتری معمولاً بدین معنی است که ابتدا باید یک زبان برنامهنویسی را انتخاب کنید. در بسیاری از موارد، اولین زبانی که یک توسعهدهنده خودآموخته مایل است انتخاب کند یکی از زبانهای پیشرفته است که معمولاً تایپسیستم مناسبی ندارد (یا تایپ ضعیفی دارد). خیلی خوب است که پایتون، جاوااسکریپت، جاوا یا هر زبان سطح بالای دیگری را بهعنوان اولین زبان برای کدنویسی انتخاب کنید. آنها برای توسعه برنامههای کاربردی دنیای واقعی عالی هستند و در نهایت به دلایلی وجود دارند.
با اینحال، تمایز خاصی بین زبان سطح پایین (یا سطح متوسط) و زبان سطح بالا وجود دارد که قبل از ادامه مقاله باید آن را درک کنید.
تفاوت زبانهای سطح پایین و زبانهای سطح بالا
تفاوت اصلی این دو در سطح انتزاع است. اساساً معنی آن مقدار کدی است که یک برنامهنویس باید بنویسد تا به رایانه بگوید دقیقاً چهکاری را میخواهد انجام دهد (دستورالعمل بنویسید).
زبانهای سطح بالا، سطح بالایی از انتزاع دارند؛ به این معنی که بیشتر دستورالعملهای مربوط به سختافزار در ساختار نحوی زبان، انتزاعی میشوند و تنها چیزی که باید نگران آن باشید نوشتن منطق برنامه است. نمونههایی از این موارد عبارتاند از پایتون، روبی، سیشارپ، جاوااسکریپت، نودجیاس و غیره. با اینحال، زبانهای سطح پایین، یا سطح انتزاعی پایینی دارند یا هیچ ندارند؛ به این معنی که علاوه بر منطق برنامه، باید نحوه عملکرد سختافزار را نیز مشخص کنید. بهعنوان مثال، مقدار مشخصی از حافظه را اختصاص دهید؛ آن را تراز کنید یا آن را خالی کنید. یک نمونه از این موارد معمولاً زبان اسمبلی است.
چرا با خیال راحت فقط از زبانهای سطح بالا استفاده نمیکنیم؟
توانایی کار با زبانهای سطح پایین اشاره به داشتن درک درستی از نحوه عملکرد سختافزار رایانه دارد و این نکتهای است که متأسفانه اکثر توسعهدهندگان خودآموخته نادیده میگیرند. این یک فریب بزرگ است که مستقیماً وارد زبانی بشوید، ابتدا ساختار نحوی آن را یاد بگیرید و سپس برنامههای آماده تولید را بیعیبونقص ایجاد کنید. اگر زمانی را صرف یادگیری نحوه عملکرد رایانهها و نوشتن آن کدهای سطح پایین نکنید، میتواند برای حرفه شما فاجعهبار باشد.
شما میتوانید در تعویض فیلترها یا پرکردن مایعات موتور خوب باشید اما اگر ندانید موتور چگونه کار میکند، در خطر انفجار آن هستید.
شاید بتوانید یک نرمافزار عالی بنویسید، اما برای همیشه از درک چیزی فراتر از آن انتزاعی که زبانهای سطح بالا سخاوتمندانه ارائه میدهند ناتوان خواهید ماند.
زبانهای سطح متوسط و راهحل موردنظر
یادگیری زبان C و ++C در دانشگاه بهعنوان اولین زبان برنامهنویسی تنها دلیلی است که دانشجویان علوم کامپیوتر را از برنامهنویسان خودآموخته متمایز میکند. این دو بهعنوان زبانهای سطح متوسطی در نظر گرفته میشوند که توانایی برقراری ارتباط مستقیم با سختافزار را فراهم میکنند؛ اما مقداری انتزاع هم برای سریعتر نوشتن کدهای موثر ارائه میدهند.
اگر میخواهید ذهن خود را آماده درک جوانب و اصول اساسی علوم کامپیوتر کنید، زبان C را یاد بگیرید.
اگر مهمتر از آن، یعنی توانایی کدنویسی برای برنامههای دنیای واقعی مانند بازیها و سیستمهای اجرایی را میخواهید، ++C را یاد بگیرید.
در هر دو حالت، این دو زبان بهترین گزینه برای رقابت در برنامهنویسی هستند؛ زیرا نهتنها میتوانید حافظه را کنترل کنید که روی توسعه منطق رایانه نیز تمرکز دارید.
جمعبندی
اگر درمورد تبدیل شدن به یک مهندس نرمافزار ماهر جدی هستید، اول مطمئن شوید که میتوانید مدتی را برای یادگیری نحوه کار رایانه اختصاص دهید و فقط در یادگیری زبانهای سطح بالا، مصر نباشید.
کمی وقت بگذارید تا با C یا ++C آشنا شوید؛ خواهید دید که چگونه این دو به هم منطق کامپیوتر و هم کدنویسی در دنیای واقعی را به شما نشان خواهند داد.
به این مطلب چند ستاره میدهید؟(امتیاز: 2 - رای: 6)
- منبع: medium
- مترجم: سولماز عالینژاد