کتابخانه یا library در برنامه نویسی چیست؟
کتابخانه یا library در دنیای برنامه نویسی، در واقع مجموعه ای از موارد و المان های پر استفاده توسط کاربر یا برنامه نویس است. این موارد و المان ها که برنامه نویس حین انجام پروژه های مختلف به استفاده مکرر از آن ها نیاز دارد، می تواند به شرح زیر باشد:
- نمونه ها یا همان template ها
- اسکریپت ها
- فونت ها
- فایل های اطلاعاتی
- و…
به بیانی دیگر، کتابخانه در حوزه برنامه نویسی در اصل مجموعه ای از داده ها است که برنامه نویس می تواند حین انجام پروژه خود، آن را از کتابخانه صدا زده و مورد استفاده قرار دهد. به این ترتیب دیگر نیازی به تعریف کردن، پردازش آن به صورت مجزا و ویرایش و آماده سازی آن جهت قرار دادن در کد نیست و برنامه نویس می تواند آن داده را که پیش تر یکبار تعریف شده و در کتابخانه ذخیره شده است، صدا زده و در قسمت مورد نظرش در کد جای گذاری نماید.
کتابخانه ها در دنیای برنامه نویسی انواع گوناگون و از پیش ساخته شده ای دارند که برخی از رایج ترین آن ها را در ادامه معرفی کرده و مورد بررسی قرار می دهیم.
آشنایی بیشتر با مفهوم کتابخانه در برنامه نویسی و شناخت انواع آن
شعار اصلی برنامه نویسان در استفاده از کتابخانه های مختلف موجود در زبان های برنامه نویسی، این است که نباید چرخ را دوباره ساخت!
به این معنی که بهتر است یکبار هرآنچه در آینده قرار است به صورت مکرر در پروژه های برنامه نویسی به کار گرفته شود را بسازیم و از آن به بعد فقط آنچه یکبار ساخته ایم را صدا زده و استفاده کنیم نه اینکه مجددا زمانی را به کدنویسی و ساخت آن اختصاص دهیم.
با این تفاسیر دو نوع کلی از کتابخانه یا همان library وجود دارد که بهتر است پیش از هر موضوعی دیگری پیرامون این مبحث، به شناخت و بررسی آن ها بپردازیم تا بعد از آن بهتر بتوانیم ساز و کار کتابخانه ها را مطالعه کرده و آن ها را در دسته های مجزا طبقه بندی نماییم.
آشنایی با کتابخانه های استاتیک و داینامیک (Static & Dynamic Libraries)
زمانی که در برنامه نویسی و حین انجام پروژه ای، نیاز به خلاقیت یا نوآوری دارید، می توانید از function ها یا امکانات و عملکردهای مختلف و وسیعی که کتابخانه ها در اختیار شما قرار داده اند استفاده نمایید.
لذا برای آماده سازی ذهن جهت پذیرش مطالب پیرامون مبحث کتابخانه های در حوزه برنامه نویسی، ابتدا لازم است تفاوت های موجود میان دو دسته اصلی کتابخانه ها، یعنی کتابخانه استاتیک و کتابخانه داینامیک یا قابل اشتراک گذاری را بشناسید.
-
کتابخانه استاتیک
کتابخانه استاتیک یا همان ایستا، بهترین نوع کتابخانه از جهت سرعت پردازش و عملکرد هستند. اما اشکالات و محدودیت هایی نیز دارند. این کتابخانه ها در هر برنامه ای که از آن استفاده کرده است، کامپایل می شوند. این به معنای آن است که اگر زمانی تغییری در کتابخانه خود ایجاد کردید، می بایست هر برنامه ای را که در ساختنش از این کتابخانه استفاده کرده اید، بروزرسانی نمایید. طبیعی است که این موضوع بسیار دردسر ساز، وقت گیر، پر هزینه و انرژی بر است.
-
کتابخانه داینامیک
در عوض کتابخانه داینامیک از این جهت که با هر بار راه اندازی و اجرای برنامه، فقط یک کپی از خود را در حافظه جای گذاری می نماید، مطلوب تر است. بنابراین با هربار اجرای برنامه هایی که از این کتابخانه در ساخت آن استفاده کرده اید، نیاز به درگیر کردن بخش گسترده و قابل توجهی از حافظه سیستم ندارید.
نکته مثبت دیگر درباره این کتابخانه ها آن است که با هر بار تغییر دادن آن ها نیازی به کامپایل مجدد برنامه هایی که در ساختشان از این کتابخانه ها استفاده کرده اید، نیست.
آشنایی با انواع کتابخانه های موجود در حوزه برنامه نویسی
پس از آنکه با دو دسته بندی کلی کتابخانه یا library در برنامه نویسی آشنا شدیم، بهتر است نگاهی به کتابخانه های مختلف موجود در این حوزه بیندازیم و با چند نمونه از رایج ترین آن ها آشنا شویم.
-
Program library
کتابخانه برنامه یا program library یک مجموعه از precompile های معمول، روتین های پر استفاده از در برنامه نویسی و هر آن چیزی است که یکبار پیش تر ساخته شده است و نیازی به ساخت مجدد آن نیست. DLL یا Dynamic Link Library، یک نمونه از program library است. یک نمونه دیگر از این دست کتابخانه ها می تواند، کتابخانه کلاس یا همان Class library باشد که درواقع تعاریف کلاس های مختلف را در برنامه نویسی شئ گرا ( یا OOP یعنی همان Object-Oriented Programming) ذخیره کرده و برای کاربر به شکل کتابخانه درآورده است. موارد گرافیکی زیادی مانند نوارهای اسکرول، دکمه ها، آیکون ها و پنجره ها که معمولا به شکل پر تکراری در پروژه ها مورد استفاده قرار می گیرند، در Class Library ذخیره سازی و گردآوری شده اند.
-
Storage Library
کتابخانه ذخیره سازی یا همان Storage library، مجموعه از رسانه های ذخیره سازی فیزیکی یا همان physical storage media هستند. مواردی مانند نوارها و دیسک ها و همچنین راه های دسترسی به آن ها.
Tape library یا همان کتابخانه نواری، یکی از انواع این کتابخانه ها است که در آن مجموعه ای از کارتریج های نوار و مکانیزمی که سبب می شود آن ها وارد برنامه شوند، جمع آوری و ذخیره سازی شده است.
-
Data Library
کتابخانه داده، محیطی از دیتاسنتر یا مرکز داده ها است. مکانی که رسانه های ذخیره سازی شده در آن جمع آوری شده اند.
-
virtual library
کتابخانه مجازی، درواقع یک نسخه آنلاین از کتابخانه های قدیمی و سنتی است. به خوبی می دانیم که کتابخانه ها همواره در سطح اینترنت و دنیای وب در دسترس هستند. پس در همان مکان ها قابلیت خوانده شدن، دانلود شدن و یا حتی نوت برداری را دارا هستند.
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.