راهنمایی برای برنامه نویس‌های آینده که می خوان زبونشون رو انتخاب کنن

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

ضرب‌المثلی در دنیای برنامه نویسی هست که می گه «اشتباهی که خیلی از برنامه‌نویس‌های تازه کار می کنن اینه که برنامه‌نویسی رو با یاد گرفتن کد نوشتن به یک زبان خاص اشتباه می‌گیرن». پس توصیه اول به این دوستمون اینه که دنبال یاد گرفتن برنامه نویسی باشه نه یاد گرفتن دستور زبان یک زبان خاص. اکثر زبان‌ها در پایه به هم شبیه هستن و اگر یک زبون رو درست یاد بگیریم سوییچ کردن یا کد نوشتن به یک زبان هم‌خانواده چندان مشکل نیست. اینه که یاد گرفتن C می تونه پایه خوبی برای هر برنامه نویسی باشه و بعدش خوندن کد چند برنامه خوب (که روی گیت هاب به راحتی قابل دسترسی هستن و حتی می تونن به سادگی برنامه ای مثل yes در لینوکس باشن).

نکته بعدی اینه که آدم‌ها به شیوه‌های مختلفی چیز یاد می گیرن. در کل به سه شیوه:

  1. خوندن (کتاب، راهنما، …)
  2. آموزش دیدن (کلاس)
  3. انعکاسی (دیدن و تکرار کردن)
  4. تمرین کردن (پریدن وسط استخر و دست و پا زدن)

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

اما کدوم زبون؟ فرض کنیم دقیقا دنبال یاد گرفتن یک زبون برنامه نویسی هستیم. چه زبونی بهترینه؟ نقل می کنم از سینای عزیز که

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

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

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

what_programming_lang_to_study

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

حالا فکر می کنم انتخاب براتون راحت تر باشه. من همیشه در حوزه ناشناخته تخصصی بودم و راستش یک محور دیگه هم در جدول کشیدم: ترکیبش با یک چیز دیگه. مثلا متخصص سیستم عاملی که مخابرات بلده. مدیر پروژه‌ای که لینوکس بلده و … این خیلی کم پیدا می شه و خیلی هم مورد نیاز نیست ولی اگر کسی شما رو بخواد.. واقعا شما رو همه جوره می خواد. در عوض ممکنه شما به این نتیجه برسین که یک کار امن و راحت می خواین و در این صورت باید نگاهی به بخش استخدام شرکت ها بندازین و ببینین الان چی بورسه. ممکنه دات نت باشه و ممکنه جاوا باشه یا اگر تصمیمتون این شده که برین سراغ استارتاپ موبایلی شخصی خودتون، معلومه که باید یا iOS یاد بگیرین یا Android Development که یک جاهایی بین جدول بالا افتاده.

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

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

تا اینجا خوندین؟ (: پس شاید دوست داشته باشین این شماره ویژه پادکست در مورد برنامه نویسی رو هم گوش بدین.

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

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

صادق توی کامنت‌ها نوشته:

ضمن تایید حرف‌های جادی می‌خواستم برای کسایی که تازه می‌خوان شروع کنند یه چند تا نکته را یادآوری و تاکید کنم:
۱.سعی کنید با زبانی مثل python شروع کنید که هم زود بتونین نتیجه بگیرین و هم عادت‌های خوب کدنویسی براتون نهادینه بشه.
۲. از خوندن و یادگرفتن Design patternها و Best practiceها ولو با زبان دیگه‌ای غیر از زبان تخصصی شما پیاده‌سازی شده غفلت نکنید که موجب پشیمانیست.
۳. از ابتدای کار عادت کنید برای کدهاتون کامنت مناسب و واضح بنویسید.
۴. کد خوب بخونید (توی پروژه‌های آزاد اغلب کدها خیلی خوبند چون تعداد زیادی توش مشارکت می‌کنند)، توی توسعه پروژه‌های آزاد مشارکت کنید از گزارش باگ گرفته تا نوشتن پلاگین و …
۵. سعی کنید ارتباط‌هاتون با آدم‌های متخصص توی زمینه کاریتون زیاد کنید، از فرصت گپ زدن باعاشون استفاده کنید، توی فروم و irc فعال باشین نه فقط برای پرسیدن که برای مشارکت و پاسخ دادن.
۶. خوشبین باشید و شاد. ماری را انجام بدین که ازش لذت می‌برین. البته لذت بردن خیلی وقت‌ها به معنی آسون بودن یا پول زیاد درآوردن نیست. در ضمن سعی نکنید تقلید کنید.
۷. وقتی دارین کد می‌خونید واقعا بفهمید چی به چیه. و بد نیست فکر کنید روش بهتری برای پیاده‌سازی اون کد به ذهنتون می‌رسه یا نه.
۸. وقتی تونستید کد بقیه را سریع دیباگ کنید می‌تونید کم‌کم حس کنید که حرفه ای شدین. البته یادگرفتن انتها نداره.

ایده ای جذاب برای قابلیت جدید گوگل:‌ قاچاق سایت ها توسط ایمیل

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

بازار سرمایه به ضرر بازار ایده؛ بحثی اقتصادی در مورد استارتاپ‌ها

استارتاپ ورد زبون همه است. از استارتاپ ویکندهایی مثل استارتاپ ویکند تبریز تا اخبار جهان . این لغت قبلا اصولا در زبون ما نبود ولی یکهو ظاهر شد و دنیا رو برداشت و این روزها از هر کس بپرسی یک ایده استارتاپی داره:

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

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

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

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

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

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

معرفی کتاب رایگان: راهنمای دیتا ماینینگ برای برنامه‌نویس‌ها

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

تقارن روز برنامه نویسی و روز ایدز حتما دلیلی داره. من بهتون می گم!

امروز هم روز جهانی ایدز است و هم ۲۵۶مین روز سال و در نتیجه روز برنامه نویس‌ها. شاید فکر کنین این دو تا اتفاقی کنار هم افتادن و اتفاقا حق هم با شماست اما می شه از این فرصت استفاده کرد و چیزهای مفیدی گفت!

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

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

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

virus

عدم توجه به سلامت فیزیکی کاندوم

یک تحقیق نشون داده که ۷۵٪ استفاده کنندگان از کاندوم قبل از استفاده به سلامت فیزیکی اون دقت نمی کنن. این افراد حتی اگر اشتباه مرسوم باز کردن کاندوم با قیچی رو هم مرتکب شده باشن، کماکان نمی دونن که باید قبل از استفاده نگاهی بندازن و مطمئن بشن که کاندوم پاره نشده باشه.

عدم بررسی تاریخ مصرف کاندوم

تقریبا ۶۱٪ مردهای جهان به تاریخ اکسپایر شدن کاندوم که روی بسته چاپ شده نگاه نمی کنن. خیلی از کاندوم‌ها تا ۵ سال تاریخ مصرف دارن ولی اصلا بعید نیست یک نرد کلاسیک، کاندوم رو با تمام امید ۵ سال نگه داره و مورد مصرفش پیش نیاد یا یک نفر دیگه در یک موقعیت اضطراری، کاندومی رو ته کمد پیدا کنه و یادش بره به تاریخ مصرفش نگاهی بندازه.

دیر پوشیدن کاندوم

در یک تحقیق مربوط به روابط جنسی، ۴۳٪ مردها گفتن که پیش اومده که کاندوم رو بعد از اینکه دخول (اینترکورس) شروع شد، گذاشتن. مهمه بدونیم که در تمام ترشحات ممکنه ویروس‌های بیماری زا وجود داشته باشن و حتی اسپرم ممکنه در این ترشحات یافت بشه. کاندم رو لازمه قبل از دخول استفاده کنیم.

نذاشتن فضای کافی در بالای کاندوم

تقریبا ۴۰٪ کاربران کاندوم نمی دونستن که باید حین گذاشتن کاندوم، نوک اون رو کمی فشار بدن تا توش هوا نباشه و منی بتونه اونو پر کنه. اگر اینکار رو نکنین هوا در اون قسمت می مونه و احتمال پاره شدن کاندوم بسیار بالاتر می ره.

زود برداشتن کاندوم

تقریبا ۱۵٪ مردها گفتن که به دلایل مختلفی از جمله از دست دادن ایرکشن (راست بودن) کاندوم رو قبل از اتمام اینترکورس برداشتن. اکثرا فکر می کنیم که بدون ایرکشن نمی شه به ارگاسم رسید ولی این درست نیست. همچنین نبودن کاندوم انتقال انواع ویروس‌ها و بیماری‌های جنسی رو بسیار راحت می کنه.

اشتباه پوشیدن کاندوم

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

استفاده مجدد از کاندوم

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

استفاده از دو کاندوم

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

نگهداری اشتباه

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

باز کردن قبل از پوشیدن

کاندوم رو باید مثل کلاه روی آلت گذاشت و مثل یک لوله اونو با چرخوندن پایین کشید. هر روش دیگه‌ای پوشیدن اون رو بسیار بسیار سخت می کنه.

عدم استفاده از لیز کننده‌ها

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

عدم استفاده از کاندوم

و بزرگترین اشتباه، استفاده نکردنه وقتی که لازمه!

روز برنامه نویسان به تقویم ایرانی با کلی نکته جانبی

تقویم ایرانی و غربی

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

روز برنامه نویسان به تقویم ایرانی یا خارجی

روز برنامه نویس‌ها که ۲۵۶مین روز ساله و باید بحث کنیم این رو بذاریم روی تقویم ایرانی (۱۰ آذر) یا ۲۵۶مین روز سال میلادی (یک جاهایی تو سپتامبر فکر کنم). توی ایران گروهی که دارن این جشن رو می گیرن تصمیم گرفتن این رو بذارن روی تقویم ایرانی. نظر من برعکسشه. من ترجیح می دادم این گذاشته بشه روی تقویم خارجی به این دلایل:

– ما بهتره جزیی از جهان باشیم تا یک جزیره جدا. فیسبوک فارسی لازم نیست یک دامین جدا داشته باشه و روزهای ما هم بهتره کنار روزهای جهانی باشن.
– این روز شور و هیجانی داره که بهتره ما اونو با بقیه شریک بشیم. جذاب نیست بریم گوگل و ببینیم زده «روز برنامه نویس مبارک» و بعد بگیم «اما مال ما که دو ماه دیگه است» و بعد که ما داریم جشن می گیریم اونها یک روز خیلی طبیعی داشته باشن

پس می شه غر بزنیم؟

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

ولی اگر ایرانی نباشه وارد تقویم رسمی نمی شه

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

حالا چیکار کنیم؟

خوشحال باشیم، بخندیم، صفحه فیسبوک رو لایک کنیم و نوشته های مربوط به برنامه نویسی رو بخونیم و هر کار دیگه که دوست داریم!

ورودی خروجی فایل‌ها در جاوا

fileio

درسته که ۲۵۶مین روز سال و روز برنامه نویس‌ها است ولی باید یک سوزن هم به خودمون بزنیم دیگه.

روز برنامه نویس ها مبارک

Programmer-Day1

امروز روز ۱۱۱۱۱۱۱۱ سال است.. البته به زبون کامیپوترها که به زبون آدمیزاد می شه روز ۲۵۶م سال (با احتساب روز صفر! می دونین که ؟ کامپیوتری ها گاهی برای خنده چیزها رو از صفر می شمرن تا یادآور لوپ‌های زبون سی باشن). برنامه نویس‌ها مثل جادوگرها هستن. کسانی هستن که می فهمن پشت اینهمه ابزار عجیب غریب چی خوابیده و این ابزار چطوری کار می کنن.

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

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

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