انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


ارائه ۲۴٫۱۰ اوبونتو منتشر شد 🎉

نویسنده موضوع: تنفر از پایتون  (دفعات بازدید: 3165 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین sajadspeed

  • Hero Member
  • *
  • ارسال: 978
  • جنسیت : پسر
تنفر از پایتون
« : 03 اسفند 1400، 02:10 ق‌ظ »
سلام دوستان عزیز می‌دونم خیلی‌هاتون الان با عنوان این موضوع گارد محکمی گرفتید که بیاید اینجا حسابی از خجالت من دربیاید ولی خوب منم دلایلی دارم که شاید شخصی باشه برای اینکه از پایتون بدم بیاد. قبل از اینکه شروع کنم باید بگم که من برای خیلی از کارهام از پایتون استفاده می‌کنم چون کتابخانه و فریمورک‌های متنوع و قدرتمندی داره و اصلا مخالف پایتون نیستم، بیشتر مشکل من با سینتکس اون هست.

1. اگه بخوام مشکل اصلیم رو با سینتکس این زبان بگم، اینه که واقعا یه جاهایی که اصلا لازم نیست داره از قاعده خارج میشه، به عنوان مثال آدم داره کد می‌زنه یه دفعه‌ای می‌بینه خطا سینتکس داره اونم برای اینکه بجای && از خود کلمه and استفاده کرده  :( واقعا لازم بوده این کار؟ ببینید اگه قراره این دلیل دوستان بیارن که می‌خواسته به زبان انسان شبیه‌تر بشه الان علامت & دقیقا چه معنای دیگه‌ای میتونه داشته باشه؟ یا مثلا میگه elif که یکی از احمقانه‌ترین چیزایی بود که من دیدم، لینک زیر از نشون میده که همچین سوال ساده‌ای چقدر میتونه rate بگیره  ](*,):

https://stackoverflow.com/questions/2395160/what-is-the-correct-syntax-for-else-if

مورد بعدی که واقعا اذیت میکنه این True و False هست که با حروف بزرگ نوشته شده، خوب چرا؟ توی کدوم زبانی دیدید به این شکل عمل بشه، حداقل توی زبان‌هایی که من کار کردم هیچ وقت حروف بزرگ و کوچک با هم قاطی نمی‌کنن برای کلیدواژه‌ها، همه حروف کوچک هستند، یکی از بدترین کارهایی که میشه انجام داد و خطا‌های سینتکسی را بالا برد. الان فرض کنید من برای کلاینتم دارم React یعنی JS کار میکنم، میخوام بیام برای سرور هم از جنگو یا فلسک استفاده کنم، یه لحظه ببینید سوئیچ کردن مابین JS و پایتون چقدر میتونه اذیت کننده باشه، یعنی به قطع شما حداقل یک بار توی پایتون True و False را با حروف کوچک می‌نویسی و برعکس. از این موارد سینتکس عجیب غریب خیلی هست و دوستان هم واقعا می‌دونن چون اکثرا کسی که کارش با لینوکس هست بدون اینکه بخواد با پایتون هم مجبور حداقل کار بکنه.

2. فکر کنم اینو یک مشکل جدا در نظر بگیرم بهتره، واقعا چرا توی کلاس‌ها در Python باید توی هر تابعی self را صدا بزنیم  ](*,) ](*,) ](*,) یعنی یه هندل کردن this اینقدر سخت بوده؟ جدا اذیت کننده نیست که هر سری یه پارامتر اضافه داشته باشی؟ پایتون ادعای خوانایی داره، الان کسی که تا حالا پایتون کار نکرده ولی شی‌گرایی توی زبان دیگه مثلا #C بلد بوده یک کلاس پایتون نشون بدی، دو ساعت زل بزنه به صفحه بازم متوجه نمیشه این self واقعا چیه. یعنی میفهمه که همون this هست ولی بازم نمیتونه باور کنه  :'(

3. مشکل اصلی من، واقعا چرا باید {} حذف کنی و به جاش از تب و اسپیس استفاده کنی؟ خدایی خوانایی میبره بالا؟ حجم کد میاره پایین؟ داری کد می‌زنی از جایی کد کپی می‌کنی اون از تب استفاده کرده توی از اسپیس، خوب حالا باید یه افزونه روی ادیتورت نصب بکنی تا اینا رو تبدیل بکنه  >:( الان واقعا زبانی که وابسته باشه به ادیتور و افزونه و حتی IDE اینقدر تعریف داره؟ یعنی ارزشش داشت بیای اینجوری این همه مشکل به وجود بیاری سر این قضیه؟ حالا مشکلاتی مثل مینیفای نشدن کد و این حرفا به کنار ولی به نظرم این کار نه تنها خوانایی بالا نمیبره بلکه توی کدهای زیاد یک پروژه همون براکت‌ها باعث خوانایی بیشتر میشه که متاسفانه پایتون فاقد این امکان هست.

4. ورژن جدید میدید یا زبان جدید منتشر می‌کنید؟ فکر کنم همین یه جمله کافی باشه دیگه این قضیه ورژن بندی‌های پایتون برای همه آشکار هست.

5. ببینید یه موقع من دارم JS کار میکنم، تا حدی که برم جلو بیسیک نحوه کار زبان دستم میاد، مثلا میگم که خوب وقتی دارم توی PHP کد میزنم میدونم که تمامی امکانات اون توی توابع از پیش تعریف شده هست، پس برای اندازه آرایه نمیام به این شکل عمل کنم:
$array.length
میدونم که تابعی برای این کار هست، یا مثلا میخوام روی آرایه عملیات push و pop انجام بدم، خوب به قطع انتظار ندارم مثل مثال بالا عمل کنم، پس دنبال توابعی برای این کار میگردم و بعد هم مطمئن هستم که جواب حاصله از خود تابع بازگشت داده میشه نه اینکه خود متغیر تغییر کنه. و این موضوع توی زبان‌های دیگه هم به همین شکل هست، به عنوان مثال توی JS هم من انتظار اینو ندارم برای push کردن تابع سراسری داشته باشه، میدونم این تابع توی کلاس خود همون آرایه یا آبجکتم قرار داره.
ولی متاسفانه python قاعده کلی نداره، نه اینکه هر کسی هر جور دوست داره بنویسه، نه، این امکان JS هم داره، منظورم اون بیسیکی هست که خوب رعایت بشه تا من برای مواجه با مسائل جدید دوباره نخوام چند تا روش امتحان کنم. مثلا میخوام اندازه آرایه(شما بهش بگو لیست  ](*,)) بخونم باید از تابع سراسری len استفاده کنم، بعد میخوام آرایه را برعکس کنم حالا باید از خود ویژگی‌های آرایه تابع reverse صدا بزنم. همینجا توی نام گذاری این تابع‌ها هم میتونید اشکال بگیرید، یه سری‌ها مثل همین len مخفف و کوتاه شده هستن، یه سری‌ها کاملا، خوب آدم تکلیفش واقعا روشن نیست که باید چیکار کنه.
فکر کنم یه مثال دیگه بزنم همه چی روشن بشه، ببینید من JS کار کردم، خوب پس اگه از یک کتابخانه یا فریمورک اون بخوام استفاده کنم اصلا حتی شاید نیاز به داکیومنشن و آموزش هم نداشته باشم، دو روز بشینم کدها رو بخونم کامل متوجه میشم. شما JS بلدی یه مشت کد NodeJS میزارن جلوت، واقعا درک کردنش سخته واست، یا React؟ حالا فرض کن شما پایتون بلدی بخوای جنگو کار کنی چه اتفاقی میفته؟ دیگه قضاوت با دوستان، اگه برنامه‌نویس هستید و تا حالا جنگو را امتحان نکردید فقط یک django getting started سرچ کنید مطمئنم برق سه فاز از سرتون می‌پره،اصلا اون انتظاری که باید رو ندارید.
من زیادی از JS گفتم حالا دوستان فکر می‌کنن من انتظار دارم در پایتون از قواعد JS استفاده کنم و حال تغییر ندارم، در صورتی که من فقط مثال‌هام رو روی این زبان زدم و اصلا همچین انتظاری ندارم از پایتون، دیدید که تا جایی هم از PHP مثال زدم.

در آخر باید بگم مشکلات متعدد زیادی وجود داره که خوب الان دیگه توی ذهنم نمیاد ولی در حین انجام پروژه‌های هر چند کوچیک یا بزرگ واقعا این‌ها به چشم میان، از این بعد اونا رو یادداشت می‌کنم که از ذهنم نره.
اینو صرفا جهت شوخی میگم ولی حسی که به من دست میده وقتی دارم پایتون کار میکنم اینه که اولا زبانی بوده که به هیچ وجه هیچ پلنی برای این حجم از بزرگ شدن نداشته، واسه همین بیس خوبی که واقعا فکر شده باشه روش نداره، یکسری عقیده‌های چرتی مثل این که کسی که کد زنی بلد نیست هم بتونه کار کنه باهاش که به نظرم اومدن ابرو رو درست کنن زدن گردن یارو رو قطع کردن نه تنها چشمش رو واین که در نهایت حس همیشه من در حال کار کردن با این زبان: What the f*ck

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19720
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
پاسخ : تنفر از پایتون
« پاسخ #1 : 03 اسفند 1400، 02:55 ق‌ظ »
همهٔ این چیزهایی که گفتی، ناشی از اینه که پایه و فلسفهٔ زبان رو درست درک نکردی. همه‌شون دلیل منطقی دارن. می‌تونی از این‌جا شروع کنی:
https://docs.python.org
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین sajadspeed

  • Hero Member
  • *
  • ارسال: 978
  • جنسیت : پسر
پاسخ : تنفر از پایتون
« پاسخ #2 : 03 اسفند 1400، 03:24 ق‌ظ »
آقای بهزادی بخدا چند سری همین به خودم گفتم اتفاقا همین داکیمونشن خود پایتون را هم که رفرنس دادید قسمت‌هایی که برای مثلا برنامه‌نویس های ++c مثال زده بود خوندم، چندین بار به قول معروف مغزم ریست کردم و بدون هیچ پیش‌داوری دوباره رفتم سرش ولی واقعا موضوعاتی که گفتم هیچ وقت حل نشدن، یعنی شما معتقدی:
it's not a bug it's a feature
 ](*,) من هنوز معتقدم طبق عادت برنامه‌نویس‌ها که استاد به حقیقت رساندن این جمله هستن، هنوز این‌ها مشکلات پایتون هست نه ویژگی‌های اون.

آفلاین pythonly

  • Jr. Member
  • *
  • ارسال: 82
  • جنسیت : پسر
  • Arch one :)
پاسخ : تنفر از پایتون
« پاسخ #3 : 03 اسفند 1400، 05:59 ق‌ظ »
سلام دوستان عزیز می‌دونم خیلی‌هاتون الان با عنوان این موضوع گارد محکمی گرفتید که بیاید اینجا حسابی از خجالت من دربیاید ولی خوب منم دلایلی دارم که شاید شخصی باشه برای اینکه از پایتون بدم بیاد. قبل از اینکه شروع کنم باید بگم که من برای خیلی از کارهام از پایتون استفاده می‌کنم چون کتابخانه و فریمورک‌های متنوع و قدرتمندی داره و اصلا مخالف پایتون نیستم، بیشتر مشکل من با سینتکس اون هست.

1. اگه بخوام مشکل اصلیم رو با سینتکس این زبان بگم، اینه که واقعا یه جاهایی که اصلا لازم نیست داره از قاعده خارج میشه، به عنوان مثال آدم داره کد می‌زنه یه دفعه‌ای می‌بینه خطا سینتکس داره اونم برای اینکه بجای && از خود کلمه and استفاده کرده  :( واقعا لازم بوده این کار؟ ببینید اگه قراره این دلیل دوستان بیارن که می‌خواسته به زبان انسان شبیه‌تر بشه الان علامت & دقیقا چه معنای دیگه‌ای میتونه داشته باشه؟ یا مثلا میگه elif که یکی از احمقانه‌ترین چیزایی بود که من دیدم، لینک زیر از نشون میده که همچین سوال ساده‌ای چقدر میتونه rate بگیره  ](*,):

https://stackoverflow.com/questions/2395160/what-is-the-correct-syntax-for-else-if

مورد بعدی که واقعا اذیت میکنه این True و False هست که با حروف بزرگ نوشته شده، خوب چرا؟ توی کدوم زبانی دیدید به این شکل عمل بشه، حداقل توی زبان‌هایی که من کار کردم هیچ وقت حروف بزرگ و کوچک با هم قاطی نمی‌کنن برای کلیدواژه‌ها، همه حروف کوچک هستند، یکی از بدترین کارهایی که میشه انجام داد و خطا‌های سینتکسی را بالا برد. الان فرض کنید من برای کلاینتم دارم React یعنی JS کار میکنم، میخوام بیام برای سرور هم از جنگو یا فلسک استفاده کنم، یه لحظه ببینید سوئیچ کردن مابین JS و پایتون چقدر میتونه اذیت کننده باشه، یعنی به قطع شما حداقل یک بار توی پایتون True و False را با حروف کوچک می‌نویسی و برعکس. از این موارد سینتکس عجیب غریب خیلی هست و دوستان هم واقعا می‌دونن چون اکثرا کسی که کارش با لینوکس هست بدون اینکه بخواد با پایتون هم مجبور حداقل کار بکنه.

2. فکر کنم اینو یک مشکل جدا در نظر بگیرم بهتره، واقعا چرا توی کلاس‌ها در Python باید توی هر تابعی self را صدا بزنیم  ](*,) ](*,) ](*,) یعنی یه هندل کردن this اینقدر سخت بوده؟ جدا اذیت کننده نیست که هر سری یه پارامتر اضافه داشته باشی؟ پایتون ادعای خوانایی داره، الان کسی که تا حالا پایتون کار نکرده ولی شی‌گرایی توی زبان دیگه مثلا #C بلد بوده یک کلاس پایتون نشون بدی، دو ساعت زل بزنه به صفحه بازم متوجه نمیشه این self واقعا چیه. یعنی میفهمه که همون this هست ولی بازم نمیتونه باور کنه  :'(

قشنگ به عنوان یک برنامه نویس پایتون برای دو سال اخیر، حرف هاتون موافق و همزمان مخالفم!
۱.اینو قبول دارم ولی بیشتر یک چیز قراردادی هست، یعنی بستگی زبان بیس خودتون داره ولی این مورد رو با پوست و خون تجربه کرده ام!
۲.اینجا بزار پایتونیک بودنم رو نشون بدم (این مورد برای من خیلی طول کشید فهمش). اصلاً اجباری نیست گذاشتن self و به جاش میتونی اسم دیگه ای بزاری ولی باز هم یک چیز قراردادی بین توسعه دهندگان پایتون هست!
پ.ن: به نظر من به غیر از چند تا بیشتر اشکال ها برای کسانی هست که پایتون اولین زبانش نبوده و قابل درک و فهمه!
JUST SUDO IT
============
   LINUX

آفلاین alend

  • High Hero Member
  • *
  • ارسال: 1319
پاسخ : تنفر از پایتون
« پاسخ #4 : 03 اسفند 1400، 06:47 ق‌ظ »
من تقریباً با تمام مواردی که گفتید موافقم. ولی هیچ زبانی کامل نیست.

آفلاین جعفر فرقانلوژ

  • High Hero Member
  • *
  • ارسال: 5100
  • جنسیت : پسر
  • اممم . اره دیگه! mehr32
پاسخ : تنفر از پایتون
« پاسخ #5 : 03 اسفند 1400، 07:29 ق‌ظ »
به به چناب پایتون لی یادی از ما کردید  :D


به شخصه با ترو و فالس موافق هستم و علاقه ای به گرفتن شیفت با حرف ندارم
دیگر به انجمن باز نخواهم گشت شاید جایی با این نام پیدام کنید اگه کاری با من دارید : qxc9966@protonmail.com

آفلاین #unknown#

  • Sr. Member
  • *
  • ارسال: 441
  • جنسیت : پسر
پاسخ : تنفر از پایتون
« پاسخ #6 : 03 اسفند 1400، 11:04 ق‌ظ »
چارش اینه که آپدیت بشن

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19720
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
پاسخ : تنفر از پایتون
« پاسخ #7 : 03 اسفند 1400، 01:09 ب‌ظ »
به شخصه با ترو و فالس موافق هستم و علاقه ای به گرفتن شیفت با حرف ندارم
علاقهٔ شما مهم نیست. ثابت‌های توکار در پایتون به صورت SnakeCase نوشته می‌شن:
True
False
None
NotImplemented
Ellipsis

باید از سازندگان زبان‌های دیگه پرسید که چرا زبانشون با خودشون ناسازگاره و None رو با حرف بزرگ می‌نویسن، ولی true رو با حرف کوچیک.
« آخرین ویرایش: 03 اسفند 1400، 01:14 ب‌ظ توسط دانیال بهزادی »
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین behzad121

  • High Sr. Member
  • *
  • ارسال: 510
  • جنسیت : پسر
  • آرچ + گنوم
پاسخ : تنفر از پایتون
« پاسخ #8 : 03 اسفند 1400، 01:15 ب‌ظ »
به شخصه با ترو و فالس موافق هستم و علاقه ای به گرفتن شیفت با حرف ندارم
علاقهٔ شما مهم نیست. ثابت‌های توکار در پایتون به صورت SnakeCase نوشته می‌شن:
True
False
None
NotImplemented
Ellipsis

باید از سازندگان زبان‌های دیگه پرسید که چرا زبانشون با خودشون ناسازگاره و None رو با حرف بزرگ می‌نویسن، ولی true رو با حرف کوچیک.
شبیه مار شد!
دیگه زیاد اینجا نیستم و بیشتر تو گروه‌های گنو/لینوکسی تلگرام کمک می‌کنم، دور از هیچ اذیت و حواشی. تلگرام: behdev@

آفلاین جعفر فرقانلوژ

  • High Hero Member
  • *
  • ارسال: 5100
  • جنسیت : پسر
  • اممم . اره دیگه! mehr32
پاسخ : تنفر از پایتون
« پاسخ #9 : 03 اسفند 1400، 01:37 ب‌ظ »
منطقی است
دیگر به انجمن باز نخواهم گشت شاید جایی با این نام پیدام کنید اگه کاری با من دارید : qxc9966@protonmail.com

آفلاین سودو.

  • High Hero Member
  • *
  • ارسال: 3095
  • جنسیت : پسر
  • :(){ :|:& };:
پاسخ : تنفر از پایتون
« پاسخ #10 : 03 اسفند 1400، 02:30 ب‌ظ »
میگم با این اوصاف به نظرتون بهترین زبان شبیه و بهتر از پایتون چیه ؟ ( چون میخواستم برنامه نویسی رو شروع کنم و هدفم پایتون بود ، همه دوره های پایتون جادی رو هم گرفتم ! ) چون یادمه یجا شنیدم یه دانشگاهی یه زبانی توسعه میده که فک کنم اسمش R بود اگه اشتباه نکنم ! با هدف سادگی مثل پایتون و قدرت و مزایای همه زبان ها عاری از ایراداتشون ! پیشنهادتون چیه ؟ یا همین پایتون ؟
آرچ و گنوم!

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19720
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
پاسخ : تنفر از پایتون
« پاسخ #11 : 03 اسفند 1400، 02:39 ب‌ظ »
پایتون بعد از سی، بهترین، منطقی‌ترین و منظّم‌ترین زبانه. من خودم R کار می‌کردم و حتا سال ۸۹، اولین کنفرانس R ایران رو با حضور توسعه‌دهنده‌هاش برگزار کردیم. ولی خب در شیش هفت سال گذشته، تقریباً همهٔ Rکارها به خاطر سرعت بالاتر و راحتی عملکرد پایتون، به پایتون مهاجرت کردن.
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین sajadspeed

  • Hero Member
  • *
  • ارسال: 978
  • جنسیت : پسر
پاسخ : تنفر از پایتون
« پاسخ #12 : 03 اسفند 1400، 03:06 ب‌ظ »
به شخصه با ترو و فالس موافق هستم و علاقه ای به گرفتن شیفت با حرف ندارم
علاقهٔ شما مهم نیست. ثابت‌های توکار در پایتون به صورت SnakeCase نوشته می‌شن:
True
False
None
NotImplemented
Ellipsis

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

آفلاین sajadspeed

  • Hero Member
  • *
  • ارسال: 978
  • جنسیت : پسر
پاسخ : تنفر از پایتون
« پاسخ #13 : 03 اسفند 1400، 03:07 ب‌ظ »
آقای بهزادی اگه میشه نظرتون به شکل دقیق در مورد اشکال 5 می‌خوام بدونم.

آفلاین ابو مصعب

  • Jr. Member
  • *
  • ارسال: 28
  • جنسیت : پسر
  • ازادی گنو/لینوکس بی منت
پاسخ : تنفر از پایتون
« پاسخ #14 : 03 اسفند 1400، 03:27 ب‌ظ »
سلام دوستان عزیز می‌دونم خیلی‌هاتون الان با عنوان این موضوع گارد محکمی گرفتید که بیاید اینجا حسابی از خجالت من دربیاید ولی خوب منم دلایلی دارم که شاید شخصی باشه برای اینکه از پایتون بدم بیاد. قبل از اینکه شروع کنم باید بگم که من برای خیلی از کارهام از پایتون استفاده می‌کنم چون کتابخانه و فریمورک‌های متنوع و قدرتمندی داره و اصلا مخالف پایتون نیستم، بیشتر مشکل من با سینتکس اون هست.

1. اگه بخوام مشکل اصلیم رو با سینتکس این زبان بگم، اینه که واقعا یه جاهایی که اصلا لازم نیست داره از قاعده خارج میشه، به عنوان مثال آدم داره کد می‌زنه یه دفعه‌ای می‌بینه خطا سینتکس داره اونم برای اینکه بجای && از خود کلمه and استفاده کرده  :( واقعا لازم بوده این کار؟ ببینید اگه قراره این دلیل دوستان بیارن که می‌خواسته به زبان انسان شبیه‌تر بشه الان علامت & دقیقا چه معنای دیگه‌ای میتونه داشته باشه؟ یا مثلا میگه elif که یکی از احمقانه‌ترین چیزایی بود که من دیدم، لینک زیر از نشون میده که همچین سوال ساده‌ای چقدر میتونه rate بگیره  ](*,):

https://stackoverflow.com/questions/2395160/what-is-the-correct-syntax-for-else-if

مورد بعدی که واقعا اذیت میکنه این True و False هست که با حروف بزرگ نوشته شده، خوب چرا؟ توی کدوم زبانی دیدید به این شکل عمل بشه، حداقل توی زبان‌هایی که من کار کردم هیچ وقت حروف بزرگ و کوچک با هم قاطی نمی‌کنن برای کلیدواژه‌ها، همه حروف کوچک هستند، یکی از بدترین کارهایی که میشه انجام داد و خطا‌های سینتکسی را بالا برد. الان فرض کنید من برای کلاینتم دارم React یعنی JS کار میکنم، میخوام بیام برای سرور هم از جنگو یا فلسک استفاده کنم، یه لحظه ببینید سوئیچ کردن مابین JS و پایتون چقدر میتونه اذیت کننده باشه، یعنی به قطع شما حداقل یک بار توی پایتون True و False را با حروف کوچک می‌نویسی و برعکس. از این موارد سینتکس عجیب غریب خیلی هست و دوستان هم واقعا می‌دونن چون اکثرا کسی که کارش با لینوکس هست بدون اینکه بخواد با پایتون هم مجبور حداقل کار بکنه.

2. فکر کنم اینو یک مشکل جدا در نظر بگیرم بهتره، واقعا چرا توی کلاس‌ها در Python باید توی هر تابعی self را صدا بزنیم  ](*,) ](*,) ](*,) یعنی یه هندل کردن this اینقدر سخت بوده؟ جدا اذیت کننده نیست که هر سری یه پارامتر اضافه داشته باشی؟ پایتون ادعای خوانایی داره، الان کسی که تا حالا پایتون کار نکرده ولی شی‌گرایی توی زبان دیگه مثلا #C بلد بوده یک کلاس پایتون نشون بدی، دو ساعت زل بزنه به صفحه بازم متوجه نمیشه این self واقعا چیه. یعنی میفهمه که همون this هست ولی بازم نمیتونه باور کنه  :'(

3. مشکل اصلی من، واقعا چرا باید {} حذف کنی و به جاش از تب و اسپیس استفاده کنی؟ خدایی خوانایی میبره بالا؟ حجم کد میاره پایین؟ داری کد می‌زنی از جایی کد کپی می‌کنی اون از تب استفاده کرده توی از اسپیس، خوب حالا باید یه افزونه روی ادیتورت نصب بکنی تا اینا رو تبدیل بکنه  >:( الان واقعا زبانی که وابسته باشه به ادیتور و افزونه و حتی IDE اینقدر تعریف داره؟ یعنی ارزشش داشت بیای اینجوری این همه مشکل به وجود بیاری سر این قضیه؟ حالا مشکلاتی مثل مینیفای نشدن کد و این حرفا به کنار ولی به نظرم این کار نه تنها خوانایی بالا نمیبره بلکه توی کدهای زیاد یک پروژه همون براکت‌ها باعث خوانایی بیشتر میشه که متاسفانه پایتون فاقد این امکان هست.

4. ورژن جدید میدید یا زبان جدید منتشر می‌کنید؟ فکر کنم همین یه جمله کافی باشه دیگه این قضیه ورژن بندی‌های پایتون برای همه آشکار هست.

5. ببینید یه موقع من دارم JS کار میکنم، تا حدی که برم جلو بیسیک نحوه کار زبان دستم میاد، مثلا میگم که خوب وقتی دارم توی PHP کد میزنم میدونم که تمامی امکانات اون توی توابع از پیش تعریف شده هست، پس برای اندازه آرایه نمیام به این شکل عمل کنم:
$array.length
میدونم که تابعی برای این کار هست، یا مثلا میخوام روی آرایه عملیات push و pop انجام بدم، خوب به قطع انتظار ندارم مثل مثال بالا عمل کنم، پس دنبال توابعی برای این کار میگردم و بعد هم مطمئن هستم که جواب حاصله از خود تابع بازگشت داده میشه نه اینکه خود متغیر تغییر کنه. و این موضوع توی زبان‌های دیگه هم به همین شکل هست، به عنوان مثال توی JS هم من انتظار اینو ندارم برای push کردن تابع سراسری داشته باشه، میدونم این تابع توی کلاس خود همون آرایه یا آبجکتم قرار داره.
ولی متاسفانه python قاعده کلی نداره، نه اینکه هر کسی هر جور دوست داره بنویسه، نه، این امکان JS هم داره، منظورم اون بیسیکی هست که خوب رعایت بشه تا من برای مواجه با مسائل جدید دوباره نخوام چند تا روش امتحان کنم. مثلا میخوام اندازه آرایه(شما بهش بگو لیست  ](*,)) بخونم باید از تابع سراسری len استفاده کنم، بعد میخوام آرایه را برعکس کنم حالا باید از خود ویژگی‌های آرایه تابع reverse صدا بزنم. همینجا توی نام گذاری این تابع‌ها هم میتونید اشکال بگیرید، یه سری‌ها مثل همین len مخفف و کوتاه شده هستن، یه سری‌ها کاملا، خوب آدم تکلیفش واقعا روشن نیست که باید چیکار کنه.
فکر کنم یه مثال دیگه بزنم همه چی روشن بشه، ببینید من JS کار کردم، خوب پس اگه از یک کتابخانه یا فریمورک اون بخوام استفاده کنم اصلا حتی شاید نیاز به داکیومنشن و آموزش هم نداشته باشم، دو روز بشینم کدها رو بخونم کامل متوجه میشم. شما JS بلدی یه مشت کد NodeJS میزارن جلوت، واقعا درک کردنش سخته واست، یا React؟ حالا فرض کن شما پایتون بلدی بخوای جنگو کار کنی چه اتفاقی میفته؟ دیگه قضاوت با دوستان، اگه برنامه‌نویس هستید و تا حالا جنگو را امتحان نکردید فقط یک django getting started سرچ کنید مطمئنم برق سه فاز از سرتون می‌پره،اصلا اون انتظاری که باید رو ندارید.
من زیادی از JS گفتم حالا دوستان فکر می‌کنن من انتظار دارم در پایتون از قواعد JS استفاده کنم و حال تغییر ندارم، در صورتی که من فقط مثال‌هام رو روی این زبان زدم و اصلا همچین انتظاری ندارم از پایتون، دیدید که تا جایی هم از PHP مثال زدم.

در آخر باید بگم مشکلات متعدد زیادی وجود داره که خوب الان دیگه توی ذهنم نمیاد ولی در حین انجام پروژه‌های هر چند کوچیک یا بزرگ واقعا این‌ها به چشم میان، از این بعد اونا رو یادداشت می‌کنم که از ذهنم نره.
اینو صرفا جهت شوخی میگم ولی حسی که به من دست میده وقتی دارم پایتون کار میکنم اینه که اولا زبانی بوده که به هیچ وجه هیچ پلنی برای این حجم از بزرگ شدن نداشته، واسه همین بیس خوبی که واقعا فکر شده باشه روش نداره، یکسری عقیده‌های چرتی مثل این که کسی که کد زنی بلد نیست هم بتونه کار کنه باهاش که به نظرم اومدن ابرو رو درست کنن زدن گردن یارو رو قطع کردن نه تنها چشمش رو واین که در نهایت حس همیشه من در حال کار کردن با این زبان: What the f*ck


شما اگر بخوای تب و اسپیس رو برداری و {}‌جاش بزرای مجبور میشی تو زبانت از ; استفاده کنی و این خیلی برای یک زبان محاوره ای قشنگ نیست


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

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