قدر مسلم باید توی هر پروژه ای با توجه به نیاز های اون پروژه, تکنولوژی های پیاده سازی اون پروژه رو انتخاب کرد.
زبان برنامه نویسی ای که قراره باهاش برنامه رو بنویسیم هم جزو همین انتخاب ها به حساب میاد. تمام این صحبت ها
درست... اما اگه قرار باشه ما برای هر برنامه ای بخوایم یه زبان جدید یاد بگیریم باید تمام عمرمون رو صرف یادگرفتن چیزهای
جدید بکنیم — نه تقویت کردن چیزهایی که قبلا بلد بودیم.
برای حل این مشکل باید سعی کنیم به طرف زبانی حرکت کنیم که محدوده ی وسیع تری از انواع برنامه ها رو ساپورت میکنه.
مثلا C در حال حاظر بیشتر به درد کارهای سطح پایین می خوره. یا PHP فقط در محدوده ی وب حرفی برای گفتن داره(از نظر من که
اونقدرها هم حرف برای گفتن نداره). پس برای مثال اگه بخواهید روی C متمرکز بشید, برای نوشتن برنامه های دیگه — مثلا یه
برنامه ی وب — مجبور به یادگیری زبان جدیدی می شید. البته به عنوان یه برنامه نویس شاید یاد گرفتن یه زبان جدید مثل یه قل دو قل
بازی کردن باشه, ولی همین مطلب باعث میشه هیچ وقت توی یه زبان واحد نتونید حرفه ای بشید.
من این جا قرار نیست چیزی رو به کسی توصیه کنم — چون اصلا در حد این حرفا نیستم — ولی مثل افراد دیگه نظر خودم رو میگم شاید
به در کسی خورد. نظر من استفاده از Python به عنوان زبان اصلی هستش. بدبختانه توی کشور ما به تنها چیزی که توجه نمیشه مسائل
تکنیکی کار هستش و همه چیز از روی اسم و رسمش انتخاب میشه. وقتی گفته میشه فلان برنامه رو جاوا یا سی شارپ نوشتن, اون
برنامه مورد قبول واقع میشه ولی اگه اسم زبان دیگه ای — مثل پایتون — بیاد وسط همه فکر میکنن که این برنامه مزخرف ترین برنامه ی
دنیاست.
من به دقت قابلیت های پایتون رو مورد بررسی قرار دادم و متوجه ی قابلیت های زیاد اون شدم. اگه دوست داشته باشین می تونم این
تجربه ها رو همین جا با شما در میون بگذارم اما الآن وقت صحبت در مورد نقاط ضعف و نقاط قوت این زبان نیست. فقط همین قدر بگم
که نظر من استفاده از Python هستش. نمی دونم چرا بعضی ها فکر می کنن وقتی میگن یه زبان — مثل پایتون — ساده و یا آسونه,
حتما باید ناکارآمد هم باشه — و یا حتما به درد مبتدی ها میخوره.
حالا فرض میکنیم که اینطور هستش. از نظر شما این که زبانی اونقدر خوش ساخت باشه که حتا کاربرهای مبتدی هم بتونن از اون استفاده
کنن, چیز بدیه؟
این که زبانی اونقدر ساده و قابل فهم هستش که به شما اجازه میده در زمان کمتر, برنامه های با کیفیت تری بسازید, چیز بدیه؟
ساده و آسون بودن پایتون دلیل ناکارآمد بودنش نیست — و برعکس جزو بهترین نقاط قوت این زبان زبان به حساب میاد. با ارتباطی که این زبان
میتونه با زبان های دیگه ای — مثل C — داشته باشه, تقریبا ساخت هر نوع برنامه ای با این زبان امکان پذیره. و این که بگیم : """ پایتون قدرت
پیاده سازی فلان برنامه رو نداره""" کاملا غلطه.
شاید بهتر باشه بگیم : """ بهتر است برای این برنامه از زبان مناسبتری استفاده بشه"""
به هر حال Python به اندازه ی کافی برای شرکت های بزرگ — مثل گوگل — کار آمد بوده — مگه برنامه های شما چقدر تخصصی یا
وسیع هستن که بعضی ها اینقدر ادعا میکنن که نباید از زبانی مثل پایتون استفاده بشه. کجای دنیا قانون حکم کرده که حتما باید برنامه های
تجاری بزرگ رو با چیزی مثل جاوا طراحی کرد. یه برنامه نویس خوب سعی میکنه به جای استفاده از بتون های گرون قیمت از خشت خام یه
خونه ی محکم و زیبا بسازه. برای مثال همین برنامه xFDC خودم... توی نسخه های اولیه به شدت کند بود اما با یه تغییر رویه کوچیک کاری
کردم که برنامه تا 80 برابر! سریعتر اجرا شد. به نظر شما این که من توی نسخه های اولیه برنامم از راه های خوبی برای پیاده سازی استفاده
نکرده بود, باید باعث بشه که همه فکر کنن پایتون حتی برای یه برنامه ی کوچیک مثل این هم جوابگو نیست؟
پایتون آسونه و آسون بودن جزو مزیت هاشه : شما به آسونی میتونید به برنامه ی بزرگ و حرفه ای بسازید.
برعکس بعضی زبان های دیگه — مثل ++C — : شما به سختی باید یه برنامه ی کوچک و بی کیفیت رو بسازید; حالا برنامه های بزرگ و حرفه ای
دیگه طلبتون!
با تمام این تفاصیل این فقط نظر من بود و این یه امره خیلی عادیه که نظرات افراد با هم فرق داشته باشه. به عنوان یه پیشنهاد دیگه استفاده
و یادگیری جاوا رو هم به شدت توصیه میکنم. بحث در مورد قابلیت های جاوا هم جزو این مطلب نیست اما جاوا چیزیه که وسعت زیادش و یا این
که بعضی ها فکر میکنن برنامه های جاوا خیلی کند اجرا میشه — که البته کاملا اشتباه میکنن — باعث میشه افراد ازش دوری کنن. اما از نظر من
جاوا یکی دیگه از زبان هایی هستش که میتونه به عنوان انتخاب اول و انتخاب اصلی برنامه نویس ها به حساب بیاد.
== اینم از اولین پست من تو این سایت; که چقدر هم طولانی شد!
==