خوندن کد به چه شرطی

قبلا راجع به چرایی عدم توانایی نوشتن یک کد ساده نوشته بودم  . در ادامه اون اینبار به یک مرحله جلوتر میخوام بیام و راجع به نیاز ها و عادت ها بگم .

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

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

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

مستند سازی و نوشتن کامنت :

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

توی دنیای پر سرعت امروز این امکان وجود نداره که افراد تیم برنامه نویس بخواد به شما درباره کد های نوشته شده توضیح بده پس باید بتونید خودتون بخونین .

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

از طرفی تصور کنید که رئیستون از شما میخواد که پروژه ای که نوشتین و براش توضیح بدین و اون هم میخواد که توضیحات شما رو برای روسای بالا دستیش توصیح بده ، راه حل چیه ؟

شما باید بتونید همون کامنت هایی که نوشته شده قبلا داخل پروژه و یا خودتون برای خوانایی بهتر به پروژه اضافه کردین در قالب یک فایل نوشتاری آماده کنید و اونو به مدیریتون تخویل بدین . مستند سازی علاوه بر اینکه توانایی شما رو در ارائه جربیاتتون افزایش میده بهتون کمک میکنه که در صورتی که جایی در طول پروژه به مشکل برخوردین اونو به سرعت برطرف کنید .

یادتون باشه :

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

نتیجه گیری :

به عنوان یک برنامه نویس تازه کار تلاشتون بکنید که حتما مهارت نوشتن کامنت و مستند سازی درون خودتون ایجاد و تقویت کنید . توی دنیای برنامه نویسی درسته که ، کسی که بیشترین توانایی در رابطه با استفاده از تکنولوژی های جدید تر داشته باشه [ به زبون ساده تر ، کسی که بتونه خودشو با تکنولوژی های جدید تر سریع تر تطبیق بده ] موفق تره اما نباید فراموش کرد که بعضی از کارها جز صفات برنامه نویس های موفقه نه تواناییشون .

 

 

 

چرا روبی ؟ قسمت صفر

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

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

اما به قول برنامه نویسی که میگفت برای یاد گرفتن برنامه نویسی جدا از علاقه باید از زبان های برنامه نویسی ساده هم برای شروع  استفاده کنید . اصلا شاید دلیل توسعه زبان های برنامه نویسی هم همین باشه .

اصل تورینگ میگه :

هرکاری و که یک ماشین هوشمند بتونه انجام بده ، قطعا یک ماشین هوشمند دیگه هم میتونه انجامش بده ، فقط با یک هزینه متفاوت

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

اوصولا دونستن ” فلسفه هرچیزی به درک بهتر اون کمک میکنه ” . این در مورد یادگرفتن برنامه نویسی کمک زیادی بهتون میکنه ، خصوصا زمانی که در ابتدای راه هستین و دنبال انتخاب مسیر آیندتون .

چرا روبی :

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

من دلیل زو آوردنم به سمت روبی به خاطر پروژه ای کاملا شخصی بود که بزودی منتشرش میکنم ، اما این روزا که حرف از برنامه نویسی توی بازار مشاغل ما خیلی زیاد شده و مشکل حیلی از بچه های تازه وارد اینه که حالا چه زبونی و یاد بگیرم تا به دردم بخوره ؟

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

گوگل خبیث ، گوگل دوست داشتنی

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

[البته صحبت از فیلترینگ توی کشوری که اینترنت به هر بهونه ای فیلتر میشه ، و جدیدا هم که معلوم شده بلای خانمان سوزه بیشتر شکل با نمک داره تا جنبه اعتراض آمیز  (: ]

[گوگل خبیث ، گوگل دوست داشتنی]

اما توی این نوشته هدفم اصلا صحبت راجع به فیلترینگ داخلی یا خارجی نیست (:  ، همونطور که اول هم گفتم تا حالا به لیست محصولاتی که گوگل به صورت رایگان در اختیار کاربرانش فرار میده دقت کردین ؟

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

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

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

به خودی خود این داستان بدی ها و خوبی هایی هم داره . اول از همه این کار یجور خودسانسوری به حساب میاد که من به دست خودم انجام میدم ، با توجه به این نکته که قبلا مجوزشو دادم .

اما با حساب این امر که من یه عالمه ابزار رایگانی دارم که نیاز هامو برطرف میکنه و به شرطی که خودم کاری نکنم که امنیتم به خطر نیفته امنیتمم حفظ میشه .

الیته این یجور انتخاب بین بد و بدتر هم هست چون همزمان با گوگل به دلیل خانمان سوز بودن اینترنت سرویس های مشابه داخلی هم با صرف هزینه های گزاف تولید میشه و مردم و با استفاده از فشار اقتصادی مجبور به استفاده ازش می کنن . [ حالا بماند که این نقض قانون آزادی اینترنت ]

این وسطا اتفاقاتی هم میفته که به نفع من به عنوان مصرف کننده هم هست . تازگی ها مرورگر ایریدیوم  معرفی شده که کد منبع اون مرورگر قدیمی کرومیوم . ایریدیوم با ویژگی هایی که داره میتونه رقیب قابل اعتنایی برای کروم باشه .

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

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

نتیجه :

من خودم هم به ناچار توی خیلی از موارد مجبورم و دارم از سرویس های گوگل استفاده میکنم ، اما باید به این نکته توجه داشته باشیم که ما همیشه انتخابامون بین بد و بدتره .

در مقایسه بین موتور جستجوی داخلی یوز و یا پارسی جو که رسما اعلام شدن نتایج جستجوهاشون کاملا سلیقه ایه ، گوگل دید بازتری از دنیای بیرون و به شما میده .  اما اگر نمیخواین از چاله در بیاین و توی چاه بیفتین راجع به گوگل هم باید تجدید نظر کرد .

گوگل شاید با سیاستی که در پیش گرفته کاملا خبیثانه عمل کنه و دوستی خودشو با من کاربر نشون نده اما دشمن منم در مقابل با گزینه های بدتر نیست .

 

 

در نقد و حمایت از نظرات رضا سیاح در رابطه با کنجکاوی

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

در نقد و حمایت از نظرات رضا سیاح در رابطه با کنجکاوی

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

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

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

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

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

رضا خودشم بارهای این قضیه رو بهش اشاره کرد که کنجکاویش باعث شد بره دنبال آرزوهاش و اینکه این آدما هم کنجکاویشونه که بردتشون به این سمت ، اما چیزی که برای من سوال اینه که چرا همه اینطور نمیشن وقتی که کسایی و داریم که تونستن ؟ – این بدبینانه نیست که این عدم دنبال کردن کنجاوی هامونو  گردن فرهنگ پیرامونی خودمون بندازیم ؟

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

مقایسه ای کوتاه بین کیندل بوک ریدر آمازون با فیدیبدو از نظر من

از نظر فنی شاید درست نباشه که اصلا همچین مقایسه ای بخوام انجام بدم اما چون چند وقته که دارم از جفتشون استفاده میکنم دیدم بد نیست که نظراتمو راجع به جفتشون بگم .

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

در مقایسه با کیندل فیدیبو تمام قابلت های بالا رو پشتیبانی میکنه علاوه بر اینکه از زبان فارسی هم پشتیبانی کامل داره .

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

از نظر مصرف باتری هم که باید بگم کیندل تقریبا یک ماه کامل نیاز به شارز باتری نداره اما برای اپلیکیشن فیدیبو باید یا توجه به باتری موبایلتون براش برنامه ریزی کنین.

نظر شخصی من :

از دید اینکه داریم هر دوی اینها ابزار تکنولوژی محور هستند و باید از دید تکنولوژی بهشون نگاه کنیم تا از دید ابزاری برای کتابخوندن امری کاملا طبیعی اما از نظر شخصی من فیدیبو با اینکه  گفته : “حالا که کیندل از فارسی پشتیبانی نمیکنه خب بیا ما چیزی بسازیم برای مخاطب فارسی” اما قبل از هرچیزی باید به این نکته توجه کنیم که انگار چرخ و دوباره اختراع کرده .

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

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

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

پ ن :

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