programming language vs framework

تفاوت زبان برنامه نویسی و فرم ورک چیست؟

تفاوت بین زبان برنامه نویسی و فرمورک چیه؟ هر کدوم به چه کاری میان؟ و چطور می تونیم باهاشون کار کنیم؟ تواین پست با من باشین تا باهم زبان و فریمرک رو برسی کنیم ببینیم چی هستن.

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

مثال!

فرض کنین که یک ماشین داریم که داره کار میکنه. این همون نرم افزاری هست که به عنوان محصول (برنامه وب یا هر برنامه دیگه ای) داریم.

این ماشین ما از جز ها و قطعات کوچکتر مثل چرخ و آهن داره که از پیش ساخته شده. و ما اون ها رو از شرکت دیگه ای تهیه میکنیم.(به صورت کلی اینها component های ما هستن).

حالا همون قطعات از مواد اولیه ای مثل آهن و لاستیک تشکیل شده که همون زبان برنامه نویسی هستن که میخوایم باهاشون ماشینمون رو بسازیم.

کارخونه تولین ماشیمن هم ماببم که داریم ماشین(نرم افزار) رو میسازیم.

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

زبان!

زبان برنامه نویسی(فریم ورک هم با اون نوشته شده) ابزاری هست که ما با اون محصولمون رو میسازیم(برنامه می نویسیم). این زبان ها می تونند هر زبانی مثل پایتون، C ، جاوا و غیره باشن.
خیلی ساده بخوام بگم یک جورایی مواد خام ما زبان برنامه نویسی هست.

فریم ورک!

به همین ترتیب اگر ما یک نرم افزار با فرمورک A داریم. این فریم ورک مجموعه ای از کد هاست که از پیش تعریف شدن(ممکنه با هر زبانی ساخته شده باشن).
(این فریم ورک به صورت عمومی برای همه قابل استفاده هست)
شما از این فرمورک در نرم افزار خودتون استفاده کردین و نرم افزار رو ساختین و نیازی به دستکاری ویژگی های از پیش تعریف شده ندارین.
این تا زمانی که به شخصی سازی یا نیاز به هرگونه امکان ویژه ای توی محصول داشته باشین که با نیاز شما تعریف میشه.

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

خصوصیات!

برخی خصوصیات بسیار ویژه ای وجود دارد که فریم ورک ها رو از کتابخانه های معمولی متمایز می کنه.
مثلا:

  • کنترل سخت: چارچوب مواردی رواز پیش ساخته و ما باید با اون ها رو توی محصولمون پیاده سازی کنیم.
    یعنی باید طبق دستور عمل نویسنده چارچوب عمل کنیم.
  • پیاده سازی پیش فرض: یک چارچوب کار مفیدی رو بدون زحمت انجام می ده. شما فقط کافیه به نسبت نیاز خودتون اون رو سفارشی سازی کنین.

ببخشید اگه یکم پیچیده نوشتم و ممنون که خوندین و همراهی کردین لطفا نظراتتون رو کامنت بزارین آریان:))

منبع:
quora.com

تصویر آریان عمرانی

آریان عمرانی

برنامه نویس و گیک عاشق ساختن