توانایی خود را افزایش دهیم

فرهنگ و هنر
توانایی خود را افزایش دهیم

بسم الله الرحمن الرحیم

با سلام

• لطفا مطالب سایت را به صورت منظم پیگیری کنید
• ارائه پیشنهادات و نظرات شما باعث بهبود کیفیت ارائه مطالب خواهد شد

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

طبقه بندی موضوعی
آخرین نظرات
شنبه, ۷ تیر ۱۳۹۳، ۱۲:۱۰ ق.ظ

درس ششم- قابلیت تغییر و تنظیم

اگر کلمات درس های این دوره را بشماریم و آن ها را به ترتیب پر استفاده بودن مرتب کنیم- بعد از حذف کلمات عمومی- احتمالا کلمه آزادی و مشتقات آن در صدر کلمات پر استفاده خواهند بود. این آزادی در این درس هم شدیدا استفاده خواهد شد اما از یک زاویه دیگر: آزادی کاربر در انتخاب چیزی که می خواهد و تنظیم ابزارش براساس نیازهای خود.

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

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

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

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

این میز کار KDE‌ نام دارد و باید توجه داشته باشید که نمونه تغییر رنگ یافته قبلی نیست. این کلا یک برنامه جدید برای مدیریت محیط گرافیکی است که هر چند هنوز می تواند برنامه‌ های قبلی را اجرا کند اما فلسفه متفاوتی را پیگیری می کند. درست مانند اینکه مایکروسافت دوبار با دو دید مختلف و با دو هدف متفاوت محیط گرافیکی ویندوز را نوشته باشد.

دو نمونه بالا فقط دو مورد مشهور از میزهای کار هستند. شاید برایتان جالب باشد که در دنیای گنو/لینوکس افراد مختلف با اهداف متنوع میزهای کار مختلفی نوشته اند. همانطور که شما اجازه دارید بین چهار پنج مرورگر اصلی (آی.ای، فایرفاکس، کروم،‌ اپرا و سافاری و غیره)‌ انتخاب کنید که کدام را ترجیح می دهید،‌ در مورد میزکار هم همین انتخاب را دارید و حتی ممکن است با افرادی مواجه شوید که به دلایل فنی از یک میز کار بسیار متفاوت مانند Awesome استفاده می کنند که علاوه بر مدیریت خودکار پنجره ها در مانیتورهای متفاوت اجازه نمی دهد هیچ فضایی روی هیچ نمایشگری حرام شود یا پنجره ای با رفتن زیر پنجره دیگر، غیرقابل دید باشد:

 

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

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

در دنیای آزاد، فلسفه از پایه متفاوت است. این دنیا با این ایده شروع شد که «تولید کننده، مصرف کننده است». کسی برنامه را می نویسد که خودش می خواهد از آن استفاده کند و در نتیجه سعی می کند بهترین چیز ممکن را ایجاد کند و دائما آن را براساس نیازهای روزمره اش بهینه کند و تغییر دهد. مشخص است که این استراتژی یک نقطه منفی هم دارد:‌ طراحی اولیه. گاهی در بعضی برنامه ها برنامه نویس از روز اول شروع به طراحی کل جزییات برنامه نکرده و در نتیجه ممکن است تمام نیازهای کاربران آینده از اول پیش بینی نشده باشد. اما شیوه توسعه نرم افزار آزاد یک قدرت عظیم هم دارد: پیروی از طبیعت. در طبیعت گونه های زیستی دائما در حال بهبود هستند. هر گونه جهش هایی می کند و تغییراتی می یابد و در نسل بعد آنهایی که سازگاری بیشتری با محیط داشته اند باقی می مانند تا تبدیل به والدین نسل بعدی شوند. این دقیقا شیوه ای است که نرم افزار آزاد رشد می کند.

در طبیعت کسی نیاز ندارد از لحظه اول بداند که گوریل قرار است در قرن بیستم چقدر پشم داشته باشد. این موضوع خود به خود از طریق انتخاب اصلح، تنظیم می شود. هر گوریل براساس خصوصیات ژنتیکی پدر و مادر و  چند متغیر اتفاقی مانند جهش ژنتیک مقدار خاصی پشم دارد و آنهایی که پشم مناسبتری برای دوره زندگی خود داشته اند به خاطر شانس بقای بیشتر، نسل و در نتیجه ژن خود را بیشتر گسترش می دهند و در نتیجه در طول میلیون ها سال هر جزء از هر موجود زنده در طی پروسه ای که داروین آن را «بقای اصلح» خوانده بود، در بهترین سطح خود تنظیم می شود. در دنیای آزاد هم یک برنامه نویس با نوشتن یک کد- مثلا برای نمایش یک صفحه وب به شکل گرافیکی- شروع می کند. اگر دیگران آن را مفید تشخیص دهند بنا به نیاز خودشان آن را تغییر می دهند و طبق مجوز GPL که در درس های قبل آموختید، آن را با دیگران به اشتراک می گذارند. ممکن است همزمان ده نفر روی کد اولیه کار کرده باشند اما وقتی نسل بعدی می خواهد راه آنها را ادامه بدهد از شاخه ای ادامه می دهد که بهترین سازگاری و سریعترین اجرا را داشته و در نتیجه این نسخه بهتر، دوباره توسط برنامه نویس های جدید تکمیل می شود. این دقیقا همان شیوه ای است که در طبیعت دنبال می‌شود: تکامل.

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

دقت کنید که این امر فقط از طریق آزاد بودن کد پیش می آید چرا که افراد، شرکت ها و گروه ها باید بتوانند در یک برنامه تغییرات جدید بدهند و برنامه هایی با قابلیت‌ یا شکل جدید را در جامعه پخش کنند تا ببینند کدام یک توسط کاربران ترجیح داده خواهد شد. شرکت های تجاری هنوز باید به سیستم قدیمی «طراحی از قبل» خود وابسته باشند. مثلا اگر به مرکز نرم افزار اوبونتو نگاه کنید می بینید که در حوالی سال ۲۰۰۹ چند توزیع تغییراتی در سیستم قدیمی نصب بسته ها دادند و مفهوم سافتور سنتر را ساختند و بعد از دیدن علاقه کاربران به آن، توزیع های بزرگی مثل اوبونتو هم به سراغ آن رفتند در حالی که اپل باید صبر می کرد تا در نسخه بعدی این ایده موفق را تکرار کند و مایکروسافت هم هنوز منتظر است تا در ویندوز ۸، اینکار را به انجام برساند و در موارد شکست هم، در مورد سیستم های آزاد مبتنی بر تکامل تنها یک شاخه مرده به وجود می آید اما در مورد سیستم های تجاری، طراحی های ضعیف منجر به ضررهای هنگفتی مانند ویندوز ویستا می شوند.

در نهایت این را هم ذکر کنم که همیشه لازم نیست که فقط و فقط یک سیستم بهتر از همه تشخیص داده شود و بقیه را کنار بزند. در دنیا افراد مختلف با نیازهای مختلفی وجود دارند و وقتی ما یک شرکت تجاری نباشیم که بخواهیم با حداقل محصولات حداکثر سود را کسب کنیم، لازم نیست برای همه سوال ها یک جواب ثابت داشته باشیم. ممکن است یک نفر بخواهد سیستمش حداکثر تنظیم پذیری را داشته باشد و حتی بتواند اسمایلی های مورد استفاده در همه برنامه ها را از یک سیستم مرکزی کنترل کند. چنین فردی باید به سراغ محیط کار KDE‌ برود. در مقابل شاید یکی طرفدار ایده «کمتر، بیشتر است» و «ساده زیباست»‌ باشد و بخواهد در حین کار با کامپیوتر حداقل دکمه ها و کلیدهای ممکن را ببیند. برای چنین فردی محیط کار Gnome مناسب تر است. این بحث حتی فراتر از سلیقه است. شاید شما کامپیوتر ضعیفی داشته باشد که نیازمند یک محیط کار قابل کنترل با کیبورد و مصرف حداقل حافظه باشد و به همین دلیل به سراغ نصب محیط های بسیار سبکی مانند LXDE بروید که ضمن داشتن تمام ایده های مدرن و سازگاری با آخرین نرم افزارها، انرژی کمی را برای جلوه های بصری هدر می‌دهد یا حتی تصمیم بگیرید که محیط گرافیکی را کاملا کنار بگذارید و فقط با خط فرمان کار کنید! غیر ممکن است؟ نه! در درس بعد به این موضوع نگاه می کنیم.

موافقین ۰ مخالفین ۰ ۹۳/۰۴/۰۷

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

کاربران بیان میتوانند بدون نیاز به تأیید، نظرات خود را ارسال کنند.
اگر قبلا در بیان ثبت نام کرده اید لطفا ابتدا وارد شوید، در غیر این صورت می توانید ثبت نام کنید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی