کتاب «فلسفه شیءگرایی در برنامهنویسی جاوا» به قلم حبیبالله محمدی و مهدی وند نوروز بهتازگی از سوی انتشارات استاد شهریار منتشر شده است. به بهانه چاپ این کتاب با مهدی وند نوروز گفتوگویی داشتهایم که در ادامه میخوانید.
هدف اصلی از تألیف این اثر چه بوده و اساسا شیءگرایی چه جایگاهی در برنامهنویسی جاوا دارد؟
برای اینکه یک خانه ساخته شود، باید قبل از سرهم کردن اسکلت خانه، نقشه آن خانه یا بهعبارتی دیگر یک نقشه ساختمانی طراحی شود، یعنی مهمترین عامل برای ساخت یک خانه با مفاهیم بنیادی که بنا و اساس کار را فراهم میکند را محیا سازیم. درک مفاهیم پایه و بنیادی و درک هرچه بهتر مفهوم شیءگرایی است که برنامهنویس در کنار یادگیری یک زبان و یادگیری سینتکسهای آن زبان، قابلیت درک بهتر و بیشتر مفهوم شیءگرایی را پیدا میکند. در واقع در این کتاب سعی کردهایم که برنامهنویس را بیشتر با مفهوم شیءگرایی آشنا کنیم تا بتواند با درک بهتر به این موضوع بپردازد که این عمر باعث میشود تا برنامهنویس زبان جاوا را به نحو احسن یاد بگیرد.
برای مخاطبان از تاریخچه جاوا بگویید.
در سال 1990 سان مایکروسیستمز در حال توسعه نرمافزاری برای استفاده ابزارهای الکترونیکی بود که مسئولیت تیم را جیمز گاسلینگ برعهده گرفت که آن را پروژه green نامیدند. سال بعد تیم تصمیم گرفت که زبان جدید را OAK بنامند. در سال بعد تیم پروژه green زبان جدیدی را معرفی کرد که با ابزارهای مختلف خانگی و لمسی کار میکرد. در سال 1995 زبان OAK به JAVA تغییر نام پیدا کرد و توسط مایکروسافت و نت اسکیپ پشتیبانی شد و در سال 1996 دیگر java زبانی بهصورت همهگیر چندمنظوره شناخته شده بود. در سال بعد این شرکت، نرمافزار رایگان این زبان را فراهم کرد و دیگران هم کاربردهای دیگری از این زبان مثل کامپایلر GNU برای جاوا یا OPENJDK را منتشر کردند. این زبان قسمتهای بسیاری از گرامر خود را از C و ++C گرفته، اما دارای مدل شیءگرایی سادهای است و امکانات سطح پایین کمی دارد. کاربرد جاوا در کامپایل بهصورت بایت کد است که صرفنظر از معماری و خصوصیات آن کامپیوتر، قابلیت اجرا روی تمامی ماشینهای شبیهسازی جاوا را دارد.
این کتاب برای چه گروهی از مخاطبان مناسب است؟
این کتاب آموزشی برای مخاطبانی که میخواهند رشد سریعی در یادگیری زبان برنامهنویسی داشته باشند، مناسب است. این کتاب به ما این امکان را میدهد که ما نه تنها در زبان برنامهنویسی جاوا مهارت کسب کنیم، بلکه بتوانیم سایر زبانهای سطح بالا که از مفهوم شیءگرایی پشتیبانی میکنند را ملموستر کنیم.
مخاطبان این کتاب در پایان به چه سطح از برنامهنویسی دست پیدا میکنند؟
مخاطبان پس از اتمام این کتاب به درک صحیح و نسبتا کامل از مفهوم شیءگرایی دست پیدا میکنند که این هدف اصلی ماست تا زمینه برنامهنویسی و پایه و اساس آن را برای مخاطبان فراهم کنیم. مخاطب پس از اتمام این کتاب با داشتن مهارتهایی که از این کتاب کسب کرده، میتواند در تصمیمگیری و مدیریت خطاها و حتی ساخت نقشه سازمانی یک برنامه بهتر عمل کند و یک برنامه منظم و مرتب با حداقل خطاها را ارائه دهد.
چه مدت طول میکشد تا کاربران توانایی کافی ساخت برنامه را داشته باشند؟
نمیتوان زمان دقیقی بیان کرد، چراکه این موضوع به خود مخاطب برمیگردد. اگر مخاطب هدف شفاف و برنامه دقیق کوتاهمدت یا بلندمدت داشته باشد، بیشک در کوتاهترین زمان و با پشتکار خود میتواند بالاترین بازدهی را چه از نظر زمانی و چه از نظر یادگیری بهدست آورد. ما تمامی پارامترهای لازم برای ارتباط و انس گرفتن مخاطب با کتاب را استفاده کردهایم تا مخاطب بتواند در کوتاهترین زمان ممکن به نتیجه چشمگیری دست پیدا کند.
محتوای این کتاب چه تفاوتی با سایر کتابهای آموزشی دارد؟
طبیعتا هر کتاب از روشها و نقشههای خاص خود برای انتقال اطلاعات به مخاطب استفاده میکند. ما هم برای یادگیری هرچه بهتر مخاطب و تعامل پیدا کردن مخاطب با زبان برنامهنویسی جاوا، از متدها و روشهای معتبر استفاده کردیم. همین امر باعث شده تا کتاب خاص و منحصربهفردی را در اختیار مخاطبان و علاقهمندان زبان برنامهنویسی جاوا قرار دهیم.
توصیه شما برای علاقهمندان برنامهنویسی برای شروع یک زبان چیست؟
در قدم اول باید با تکنولوژیهای رایانهای آشنایی پیدا کنند که امروزه دنیا به سمت رایانهای شدن پیش میرود و این یک نیاز است که خود را با تکنولوژیهای رایانهای وفق دهند. همچنین علاقهمندان به برنامهنویسی میتوانند برای شروع از یک زبان سطح بالا مانند جاوا، به سمت یادگیری پیش بروند و خود را در این زمینه تقویت کنند.
این کتاب چه مباحثی را در خود گنجانده است؟
این کتاب از دو بخش تشکیل شده است. در بخش اول مخاطبان به آشنایی مفهوم شیءگرایی میپردازند تا بتوانند به بهترین شکل این موضوع را درک کنند. مفهوم شیءگرایی بنیادیترین و مهمترین قسمت در زبان برنامهنویسی سطح بالا است که درک این موضوع مخاطب را آماده میکند تا برنامهنویسی را به بهترین شکل ممکن یاد بگیرد و در بخش دوم یادگیری قوانین برنامهنویسی جاوا است که مخاطب پس از گذراندن بخش اول، ذهنیت الگوریتمی پیدا کرده و میتواند به مسائل با دید یک برنامهنویس ورود پیدا کند، چراکه ذهنش آمادهسازی شده است.
ویژگی خاصی که این کتاب را با سایر کتابهای آموزشی متفاوت میکند، چیست؟
در بخش عمده این کتاب به مفهوم اصلی یعنی فلسفه شیءگرایی پرداخته شده است، چراکه در هر کاری زیربنای آن کار یا پایههای آن بسیار مهم است که محکم بنا شود. این ویژگی خاص کتاب است که در آن با نقشهها و روشهای خاص توانستیم مفهوم شیءگرایی را به راحتترین شکل ممکن برای مخاطب تفسیر کرده و به او القا کنیم.
سیستم آموزشی این کتاب برای ملموس شدن برنامهنویسی جاوا چگونه عمل میکند؟
این کتاب برخلاف سایر کتابهای آموزشی سعی کرده که بیشتر با مخاطب صحبت کند و او را با انبوهی از کدهای پیچیده تنها نگذارد. این بسیار حائز اهمیت است که در قدم اول چه مفاهیم و مباحثی را به مخاطب معرفی و آموزش دهیم، چراکه ممکن است مخاطب در همان مراحل اولیه شانه خالی کند و از آموزش منصرف شود. دانستن و یادگیری خوب است، ولی معرفی مفهوم پیچیده در ابتدای کار، مخاطب را خسته و ناامید میکند، پس باید قدمهای اول را بسیار با احتیاط برداشت و در مراحل اول در کنار مخاطبین شانه به شانه پیش رفت تا به حدی از توانایی برسند که کدهای برنامه را خودشان تفسیر کنند.
مخاطب چه قوانینی را برای یادگیری بهتر و گرفتن نتیجه، باید رعایت کند؟
علاقهمندان باید در ابتدا مفهوم شیءگرایی را درک کنند و هیچوقت نباید کدی حفظ کنند، بلکه باید کدها را درک کرده و برای خود تجزیه و تحلیل کنند. این خود باعث میشود تا زبان برنامهنویسی از پیچیدگی خود خارج شده و برای مخاطبان گیرا و جذاب شود. قدم دوم رعایت سینتکسهای برنامهنویسی است که مخاطبان در این کتاب یاد میگیرند که چگونه کدهای تمیز و با کمترین خطا را بنویسند و سومین قدم که بسیار هم مهم است، جلوگیری از تکرار است که مخاطب یاد میگیرد که هیچوقت با مکرر نوشتن کدها حجم آنها را افزایش ندهد.
نظر شما