تبیان، دستیار زندگی
صدها زبان برنامه نویسی متفاوت طراحی و پیاده سازی شده اند. حتی در 1969، Sammet 120 زبان را که به طور گسترده ای استفاده می شدند فهرست نمود، از آن زمان زبان های بسیار دیگری طراحی شده اند. اکثر برنامه نویس ها، جرئت ندارند بیش از چند زبان را استفاده نمایند، و.
عکس نویسنده
عکس نویسنده
بازدید :
زمان تقریبی مطالعه :

زبانی برای زندگی امروز


صدها زبان برنامه نویسی متفاوت طراحی و پیاده سازی شده اند. حتی در 1969، Sammet 120 زبان را که به طور گسترده ای استفاده می شدند فهرست نمود، از آن زمان زبان های بسیار دیگری طراحی شده اند. اکثر برنامه نویس ها، جرات ندارند بیش از چند زبان را استفاده نمایند، و بسیاری از آن ها برنامه نویسی خود را به یک یا دو زبان محدود می کنند. در حقیقت، برنامه نویسان مبتدی اغلب در مراکزی کار می کنند که زبان های خاصی مانند Java، C، C++، C# و... مورد نیاز هستند. در این صورت چه چیزی باید با مطالعه زبان های گوناگون و متفاوتی بدست آید که فرد ممکن است هیچگاه استفاده نکند؟

دلایل محکمی برای چنین مطالعه ای وجود دارد، در صورتی که فراتر از ملاحظه سطحی جنبه های زبان ها باشد و در مفاهیم پایه ای طراحی و اثرات آن پیاده سازی زبان جستجو شود. شش دلیل اولیه بلافاصله به ذهن می رسد که عبارت اند از :

چرا زبان های برنامه نویسی را مطالعه می کنیم؟

افزایش توانایی به منظور توسعه الگوریتم های موثر

بسیاری از زبان ها جنبه هایی را فراهم می سازند که اگر درست استفاده شوند، برای برنامه نویس مفید هستند اما اگر نامناسب به کار روند، ممکن است زمان زیادی از کامپیوتر را تلف نمایند یا برنامه نویس را به سمت خطاهای منطقی وقت گیر هدایت کنند. حتی برنامه نویسی که زبانی را سالها استفاده کرده است، ممکن نیست تمام جنبه های آن را بداند. یک مثال معمولی، مفهوم بازگشتی است، یک جنبه برنامه نویسی در دسترس که اگر مناسب استفاده شود امکان پیاده سازی مستقیم الگوریتم های کارامد را فراهم می نماید. اما اگر نامناسب استفاده گردد، می تواند زمان اجرای برنامه را به طور نجومی افزایش دهد. برنامه نویسی که در مورد سوالات طراحی و مشکلات پیاده سازی ایجاد شده در اثر بازگشتی مطلع نیست، از استفاده این ساختار مرموز اجتناب می نماید. به هر حال به طور مثال آگاهی اولیه از اصول و روش های پیاده سازی، به برنامه نویس این اجازه را می دهد که ارزش نسبی بازگشتی را در یک زبان خاص درک نماید.

ارتقا روش استفاده از زبان برنامه نویسی موجود

با درک نحوه پیاده سازی جنبه های زبان برنامه سازی، تا حد زیادی توانایی نوشتن رنامه های کارامد افزایش می یابد. برای مثال فهم این موارد که داده هایی مانند آرایه ها، رشته ها، لیست ها یا رکوردها چگونه توسط زبان ایجاد و دستکاری می شوند، دانستن جزییات پیاده سازی و فهم نحوه ایجاد زده های اشیا، این امکان را فراهم می نماید که برنامه های کارامدتری شامل این اجزا نوشته شوند.

چرا زبان های برنامه نویسی را مطالعه می کنیم؟

افزایش لغت شناسی در مورد ساختارهای مفید برنامه نویسی

زبان می تواند هم کمکی برای فکر کردن باشد و هم مانعی در مقابل آن. افراد از زبان به منظور فهماندن افکار خود استفاده می کنند، اما زبان روش فکر کردن فرد را سازماندهی می نماید، در حالی که فکر کردن به روشی که به طور مستقیم با کلمات قابل بیان نباشد، مشکل است. آشنایی با یک زبان برنامه نویسی واحد، تاثیر محدود کننده ی مشابهی دارد. در جستجو برای داده ها و ساختارهای مناسب برای راه حل یک مسئله، تمایل فرد تنها به سمت تفکر در مورد ساختارهای مورد نیاز در زبان هایی است که با آنها آشنایی دارد. با مطالعه اختارهای تهیه شده توسط گروه وسیعی از زبان ها و روشی که این ساختارها پیاده سازی می شوند، برنامه نویس لغت شناسی برنامه سازی خود را افزایش می دهد. فهم روش های پیاده سازی اهمیت ویژه ای دارد زیرا برای استفاده از ساختاری که برنامه نویسی در یک زبان آن را به طور مستقیم فراهم نمی نماید، برنامه نویس باید با استفاده از اجزا اولیه ای که به طور واقعی توسط زبان فراهم شده، پیاده سازی خاص خود را انجام دهد. برای مثال، ساختار کنترلی زیربرنامه هایی به نام همروال ها در بسیاری از برنامه ها مفید هستند، اما تعداد اندکی از زبان ها، امکان همروالی را مستقیما فراهم می کنند. به هر حال برنامه نویس C یا FORTRAN در صورت آشنایی با مفهوم همروال و پیاده سازی آن، به راحتی می تواند برنامه ای را طراحی نماید که از ساختار همروالی استفاده کند.

برنامه نویس باید با استفاده از اجزا اولیه ای که به طور واقعی توسط زبان فراهم شده، پیاده سازی خاص خود را انجام دهد

امکان انتخاب بهتر زبان برنامه نویسی

آگاهی از زبان های گوناگون می تواند امکان انتخاب زبان مناسب را برای یک پروژه به منظور کاهش فعالیت کدنویسی فراهم نماید. کاربردهایی که به محاسبات عددی نیاز دارند به راحتی می توانند توسط زبان هایی مانند C، C++ یا حتی Ada طراحی شوند. برای کاربدهای تصمیم گیری و هوش مصنوعی زبان های LISP، ML یا Prolog مورد استفاده قرار میگیرند. برای کاربردهای تحت وب می توان از Java   استفاده کرد. آگاهی از جنبه های اصلی قوت و ضعف زبان ها، به برنامه نویس امکان انتخاب وسیع تری را می دهد.

امکان یادگیری آسان تر زبان جدید

زبان شناس از طریق فهم عمیق ساختار زیر بنایی زبان های طبیعی، اغلب زبان خارجی را سریعتر و آسانتر از نو آموزانی فرا می گیرد که آگاهی کمی، حتی در مورد ساختار زبان محلی خود دارند. به طور مشابه آگاهی کامل از تنوع ساختارهای زبان برنامه نویسی و روش های پیاده سازی، یادگیری زبان برنامه نوسی جدید را در صورت نیاز، برای برنامه نویس آسانتر می نماید.

فاطمه مجدآبادی

بخش دانش و زندگی تبیان


برگرفته از:

Programming language : design and implementation

Pratt

زبان های برنامه سازی، مهندس سالخورده