سلام تو جوونیامون از این بحثا زیاد میکردیم
هر زبانی اعم از کامپایلری بودن یا مفسری بودن، مزیت های خاص خودشو داره.. بسته به کاری که دارید انجام میدید و میزان تسلط شخص به زبان مورد نظر، انتخاب زبان میتونه متفاوت باشه!
تقریبا 2 سال قبل از دبیرستان qbasic رو شروع کردم! خیلی میگفتن ضعیفه و.. 3،4سال روش بودم! فکر کنم ظرف مثلا 2ماه یه بازی نوشتم که عکسش تو آواتاره بنده هست (یه جویستیک ساخته بودم! وصل میشد پورت موازی و باهاش بازی که ساختم رو لذت می بردم! رکوردها تو فایل ذخیره میشد، تنظیمات داشت و هوش مصنوعی ساده داشت! یک نفره یا دو نفره بود و.. انیمیشن های فوق العاده ای روش گذاشته بودم! اول کار هم پرمورمنس سیستم رو برای تایمینگ صحیح محاسبه میکردم تا رو سیستم های مختلف گیم پلی کند یا تند نداشته باشه و خیلی چیزای دیگه که یادم نیس!) خلاصه میخام بگم برای اون هدفم این زبان پیش پا افتاده کافی بود!
یه پروژه رو یادمه که شبیه ساز CNC بود، با qbasic زدم، سالهای بعد با اسمبلی و بعدها با سی شارپ و هرکدوم مزیت خاص خودشو داشت! برای اسمبلی هم 15 سال پیش، پیشرفته ترین IDE اون زمان (برای اسمبلی) رو طراحی کردم و توش کد میزدم! و ویزاردهای زیادی این IDE بنده داشت که کدنویس اسمبلی رو خیلی ساده و روان میکرد، که هنوزم دارمش
بعدها که حرفه ای تر کار کردیم به یه سری نتایج رسیدم شاید بدرد بخوره: تعصب رو هیچ زبانی ندارم!
-مثلا همکاری داشتیم که کراس پلتفرم کار میکرد و از سایز فایلهایی که تولید میشد می نالید و البته کند بودن اجرای اپ های تولید شدش. اما برای صرفه جویی در زمان اینکارو میکرد! همون همکار وقتی سر یه پروژه ای مسئول کدنویسی اپ، برای گوشی های اپل شد، اومد رو آبجکتیو سی، پدرش در اومد بنده خدا! سریع بود اما واقعا اذیت شد میگفت سویفت بهتره و..!
- دوستی رو هم میشناسم به شدت عاشق سی بود و سی رو خدا میدونست! ولی الان همون دوستمون پایتون رو خدا میدونه! چون نوع فعالیتش متفاوت شده! در واقع هر دو برای کاری که ساخته شدن عالی هستن.
الان زبانهای مفسری در واقع فقط نقش صدا زننده ی توابعی رو دارند که اون توابع در زبانهای سطح پایین مثل سی، سی پلاس یا حتی اسمبلی تولید شدند و بنابراین بشدت سریع هستن.
این خیلی مهمه:
یعنی شما راحتی کار با زبان پایتون (یا سی شارپ)رو دارید و نوشتن سریع کد و مدیریت و نگهداری آسان تر! در عین حال و همزمان، اجرای سریع کد رو به واسطه کتابخونه های سریع تحت سی یا سی پلاس دارید.
برای مثال سر پروژه ای که سرویسش با پایتون نوشته شده بود و بخش کوچیکش رو بنده انجام داده بودم، اومدم و به واسطه 15 سال تجربه دات نت کار بودنم، با همکارا سر اینکه سرویس رو با سی شارپ بزنم صحبتی کردم! با کمال تعجب دیدم تکنولوژی که داره در اون پروژه بکار میره (اگر اشتباه نکنم NIO) نسبت به کد نویسی سنتی ما در دات نت که به ازای هر کانکشن یک thread ران میکردیم و.. به شدت سریع تره و منابع کمتری سمت سرور اشغال میکنه!!! مخصوصا در زمانی که چندصد هزار یا میلیونها درخواست میاد سمت سرور (کاری به پیکربندی شبکه و سخت افزار ندارم بحثش طولانیه)این تکنولوژی برنده ی روش پیشنهادی بنده بود!(شاید در دات نت هم NIO بود یا بعدا اومد) به همین سادگی، فهمیدم اشتباه میکردم! کلاینت دسکتاپ رو با سی شارپ زدم ولی سرویس دهنده همچنان با پایتون بود! و در لینوکس هم قابلیت اجرا داشت. این ها تجربیات عملیه.
و البته اگر زبان اشتباه برای کاری انتخاب بشه(نه اینکه کار پیش نره) ولی شدیدا اذیت میکنه آدم رو! الان صبح ها جایی مدیر شبکه هستم و بعد از ظهرها کد نویس! جایی که هستم یه برنامه تحت ویندوز نوشتن که دیتابیس حدود 100 گیگ رو داره هندل میکنه (البته هندلش که با DBMS هست!)، طرف اومده این برنامه با سورس 2.5 میلیون خطی رو با دلفی نوشته و با توجه به تجربم، دارم میبینم سر کار و اتصال به سرویس های جدید چقدر داره به مشکل میخوره! اما مشابهش رو اومدن با سی شارپ نوشتن، مقایسش مثل مقایسه پژو و بنزه! سی شارپ برای اون پروژه بشدت بهتر جواب میداده و خواهد داد.
طرف برای کاری که بنده تو کمتر از یه هفته (اجبارا برای محل کارم) انجامش دادم با سی شارپ، 2 ساله به مشکل خورده. البته ایشون برنامه نویس قوی هست، منتها امکانات یه زبان و فریم وورک هاش مهمه..
ضمنا با PHP کسیو میشناسم که بزرگترین سایت خرید واسط ایران رو طراحی کرده بود و هنوزم رو این زبان هست! و کل کل همیشگی باهاش سر دات نت داریم. البته الان اون سایتشون رو (افراد بالا!) پر پر کردن! و پروژه جدیدشون اینه:
بیت پی، درگاه پرداخت اینترنتی امن با کمترین هزینه و دریافت سریع.
bitpay.ir
دوست باهوش سی و سی پلاس کارمون (با ایشونم کل کل زیاد داشتیم) هم که الان بیشتر زبان های سطح بالا کار میکنه، اولین سایت آموزش هوش مصنوعی شبکه های عصبی عمیق فارسی رو تو ایران زدن:
محلی برای آشنایی و یادگیری Deep learning یا همان یادگیری عمیق
deeplearning.ir
البته به احتمال زیاد در آینده بواسطه ی هوش مصنوعی، شاهد حذف زبان های برنامه نویس خواهیم بود.
خودم به شخصه 10،20 درصد زمان برنامه نویسی رو صرف یادگیری و کد زنی برنامه های من در آووردی! هوش مصنوعی میکنم که عقب نمونم.
در نهایت سرتون رو درد آوردم و موفق باشید