انجمنهای فارسی اوبونتو
کمک و پشتیبانی => برنامهسازی => نویسنده: sajadspeed در 03 اسفند 1400، 02:10 قظ
-
سلام دوستان عزیز میدونم خیلیهاتون الان با عنوان این موضوع گارد محکمی گرفتید که بیاید اینجا حسابی از خجالت من دربیاید ولی خوب منم دلایلی دارم که شاید شخصی باشه برای اینکه از پایتون بدم بیاد. قبل از اینکه شروع کنم باید بگم که من برای خیلی از کارهام از پایتون استفاده میکنم چون کتابخانه و فریمورکهای متنوع و قدرتمندی داره و اصلا مخالف پایتون نیستم، بیشتر مشکل من با سینتکس اون هست.
1. اگه بخوام مشکل اصلیم رو با سینتکس این زبان بگم، اینه که واقعا یه جاهایی که اصلا لازم نیست داره از قاعده خارج میشه، به عنوان مثال آدم داره کد میزنه یه دفعهای میبینه خطا سینتکس داره اونم برای اینکه بجای && از خود کلمه and استفاده کرده :( واقعا لازم بوده این کار؟ ببینید اگه قراره این دلیل دوستان بیارن که میخواسته به زبان انسان شبیهتر بشه الان علامت & دقیقا چه معنای دیگهای میتونه داشته باشه؟ یا مثلا میگه elif که یکی از احمقانهترین چیزایی بود که من دیدم، لینک زیر از نشون میده که همچین سوال سادهای چقدر میتونه rate بگیره ](*,):
https://stackoverflow.com/questions/2395160/what-is-the-correct-syntax-for-else-if (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
-
همهٔ این چیزهایی که گفتی، ناشی از اینه که پایه و فلسفهٔ زبان رو درست درک نکردی. همهشون دلیل منطقی دارن. میتونی از اینجا شروع کنی:
https://docs.python.org
-
آقای بهزادی بخدا چند سری همین به خودم گفتم اتفاقا همین داکیمونشن خود پایتون را هم که رفرنس دادید قسمتهایی که برای مثلا برنامهنویس های ++c مثال زده بود خوندم، چندین بار به قول معروف مغزم ریست کردم و بدون هیچ پیشداوری دوباره رفتم سرش ولی واقعا موضوعاتی که گفتم هیچ وقت حل نشدن، یعنی شما معتقدی:
it's not a bug it's a feature
](*,) من هنوز معتقدم طبق عادت برنامهنویسها که استاد به حقیقت رساندن این جمله هستن، هنوز اینها مشکلات پایتون هست نه ویژگیهای اون.
-
سلام دوستان عزیز میدونم خیلیهاتون الان با عنوان این موضوع گارد محکمی گرفتید که بیاید اینجا حسابی از خجالت من دربیاید ولی خوب منم دلایلی دارم که شاید شخصی باشه برای اینکه از پایتون بدم بیاد. قبل از اینکه شروع کنم باید بگم که من برای خیلی از کارهام از پایتون استفاده میکنم چون کتابخانه و فریمورکهای متنوع و قدرتمندی داره و اصلا مخالف پایتون نیستم، بیشتر مشکل من با سینتکس اون هست.
1. اگه بخوام مشکل اصلیم رو با سینتکس این زبان بگم، اینه که واقعا یه جاهایی که اصلا لازم نیست داره از قاعده خارج میشه، به عنوان مثال آدم داره کد میزنه یه دفعهای میبینه خطا سینتکس داره اونم برای اینکه بجای && از خود کلمه and استفاده کرده :( واقعا لازم بوده این کار؟ ببینید اگه قراره این دلیل دوستان بیارن که میخواسته به زبان انسان شبیهتر بشه الان علامت & دقیقا چه معنای دیگهای میتونه داشته باشه؟ یا مثلا میگه elif که یکی از احمقانهترین چیزایی بود که من دیدم، لینک زیر از نشون میده که همچین سوال سادهای چقدر میتونه rate بگیره ](*,):
https://stackoverflow.com/questions/2395160/what-is-the-correct-syntax-for-else-if (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 و به جاش میتونی اسم دیگه ای بزاری ولی باز هم یک چیز قراردادی بین توسعه دهندگان پایتون هست!
پ.ن: به نظر من به غیر از چند تا بیشتر اشکال ها برای کسانی هست که پایتون اولین زبانش نبوده و قابل درک و فهمه!
-
من تقریباً با تمام مواردی که گفتید موافقم. ولی هیچ زبانی کامل نیست.
-
به به چناب پایتون لی یادی از ما کردید :D
به شخصه با ترو و فالس موافق هستم و علاقه ای به گرفتن شیفت با حرف ندارم
-
چارش اینه که آپدیت بشن
-
به شخصه با ترو و فالس موافق هستم و علاقه ای به گرفتن شیفت با حرف ندارم
علاقهٔ شما مهم نیست. ثابتهای توکار در پایتون به صورت SnakeCase نوشته میشن:
True
False
None
NotImplemented
Ellipsis
باید از سازندگان زبانهای دیگه پرسید که چرا زبانشون با خودشون ناسازگاره و None رو با حرف بزرگ مینویسن، ولی true رو با حرف کوچیک.
-
به شخصه با ترو و فالس موافق هستم و علاقه ای به گرفتن شیفت با حرف ندارم
علاقهٔ شما مهم نیست. ثابتهای توکار در پایتون به صورت SnakeCase نوشته میشن:
True
False
None
NotImplemented
Ellipsis
باید از سازندگان زبانهای دیگه پرسید که چرا زبانشون با خودشون ناسازگاره و None رو با حرف بزرگ مینویسن، ولی true رو با حرف کوچیک.
شبیه مار شد!
-
منطقی است
-
میگم با این اوصاف به نظرتون بهترین زبان شبیه و بهتر از پایتون چیه ؟ ( چون میخواستم برنامه نویسی رو شروع کنم و هدفم پایتون بود ، همه دوره های پایتون جادی رو هم گرفتم ! ) چون یادمه یجا شنیدم یه دانشگاهی یه زبانی توسعه میده که فک کنم اسمش R بود اگه اشتباه نکنم ! با هدف سادگی مثل پایتون و قدرت و مزایای همه زبان ها عاری از ایراداتشون ! پیشنهادتون چیه ؟ یا همین پایتون ؟
-
پایتون بعد از سی، بهترین، منطقیترین و منظّمترین زبانه. من خودم R کار میکردم و حتا سال ۸۹، اولین کنفرانس R ایران رو با حضور توسعهدهندههاش برگزار کردیم. ولی خب در شیش هفت سال گذشته، تقریباً همهٔ Rکارها به خاطر سرعت بالاتر و راحتی عملکرد پایتون، به پایتون مهاجرت کردن.
-
به شخصه با ترو و فالس موافق هستم و علاقه ای به گرفتن شیفت با حرف ندارم
علاقهٔ شما مهم نیست. ثابتهای توکار در پایتون به صورت SnakeCase نوشته میشن:
True
False
None
NotImplemented
Ellipsis
باید از سازندگان زبانهای دیگه پرسید که چرا زبانشون با خودشون ناسازگاره و None رو با حرف بزرگ مینویسن، ولی true رو با حرف کوچیک.
ببخشید آقای بهزادی کدوم زبان دقیقا داره این کار میکنه؟ و واقعا دلیلش چیه که باید ثابتها باید SnakeCase باشن؟ چرا مثل بقیه زبانها کل روند روی همون Camelcase پیش نمیره؟ منم میدونم پایتون قواعدی داره ولی با همین قواعد مشکل دارم، دلایلی که برای این نوع نوشتار دارن واقعا ارزشش داره که اینقدر پراکندگی به وجود بیاد داخل این زبان؟
-
آقای بهزادی اگه میشه نظرتون به شکل دقیق در مورد اشکال 5 میخوام بدونم.
-
سلام دوستان عزیز میدونم خیلیهاتون الان با عنوان این موضوع گارد محکمی گرفتید که بیاید اینجا حسابی از خجالت من دربیاید ولی خوب منم دلایلی دارم که شاید شخصی باشه برای اینکه از پایتون بدم بیاد. قبل از اینکه شروع کنم باید بگم که من برای خیلی از کارهام از پایتون استفاده میکنم چون کتابخانه و فریمورکهای متنوع و قدرتمندی داره و اصلا مخالف پایتون نیستم، بیشتر مشکل من با سینتکس اون هست.
1. اگه بخوام مشکل اصلیم رو با سینتکس این زبان بگم، اینه که واقعا یه جاهایی که اصلا لازم نیست داره از قاعده خارج میشه، به عنوان مثال آدم داره کد میزنه یه دفعهای میبینه خطا سینتکس داره اونم برای اینکه بجای && از خود کلمه and استفاده کرده :( واقعا لازم بوده این کار؟ ببینید اگه قراره این دلیل دوستان بیارن که میخواسته به زبان انسان شبیهتر بشه الان علامت & دقیقا چه معنای دیگهای میتونه داشته باشه؟ یا مثلا میگه elif که یکی از احمقانهترین چیزایی بود که من دیدم، لینک زیر از نشون میده که همچین سوال سادهای چقدر میتونه rate بگیره ](*,):
https://stackoverflow.com/questions/2395160/what-is-the-correct-syntax-for-else-if (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 رو صدا میزنید و چیز سراسری نسیت فقط در همه تایپ ها مشخص شده . و به نظرم این ایده شی گرایی بودن زبان رو تقویت میکنه
-
واقعا لزومی نداره وقتی از براکت استفاده میکنی حتما از سمیکالن هم استفاده بکنی. الان JS میتونی از سمیکالن استفاده نکنی ولی {} هم داره، با مورد بعدی هم که عرض کردید موافق هستم ولی شما منظور منو متوجه نشدید.
-
به به چناب پایتون لی یادی از ما کردید :D
به شخصه با ترو و فالس موافق هستم و علاقه ای به گرفتن شیفت با حرف ندارم
قربان شما جناب :)
ولی True و False یک چیز قراردادی هست و به نظرم آنقدر هم چیز بدی نیست!
بیشت بستگی داره که شما اول با کدام زبان و کدام قرارداد ها کار کرده باشید.
-
پایتون بعد از سی، بهترین، منطقیترین و منظّمترین زبانه. من خودم R کار میکردم و حتا سال ۸۹، اولین کنفرانس R ایران رو با حضور توسعهدهندههاش برگزار کردیم. ولی خب در شیش هفت سال گذشته، تقریباً همهٔ Rکارها به خاطر سرعت بالاتر و راحتی عملکرد پایتون، به پایتون مهاجرت کردن.
خوبه پس ، تشکر …
( یه سوال ؟ یه عمر حتی رو اشتباه مینوشتیم ما ؟ چون فک نمیکنم شمایی که اینقدر حساسین در این مورد اشتباه نوشته باشید ، اونم شمایی که حتی جاهایی که نیازه نیم فاصله میزارید ، دفعه اولی که دیدم شک کردم که شاید دستتون خورده اما این دومین باره ! )
-
پایتون بعد از سی، بهترین، منطقیترین و منظّمترین زبانه. من خودم R کار میکردم و حتا سال ۸۹، اولین کنفرانس R ایران رو با حضور توسعهدهندههاش برگزار کردیم. ولی خب در شیش هفت سال گذشته، تقریباً همهٔ Rکارها به خاطر سرعت بالاتر و راحتی عملکرد پایتون، به پایتون مهاجرت کردن.
خوبه پس ، تشکر …
( یه سوال ؟ یه عمر حتی رو اشتباه مینوشتیم ما ؟ چون فک نمیکنم شمایی که اینقدر حساسین در این مورد اشتباه نوشته باشید ، اونم شمایی که حتی جاهایی که نیازه نیم فاصله میزارید ، دفعه اولی که دیدم شک کردم که شاید دستتون خورده اما این دومین باره ! )
تا جایی که اطلاع دارم حتی رو حتا هم میشه نوشت. مثل مصلا، مبتلا، فتوا و ...
-
پایتون بعد از سی، بهترین، منطقیترین و منظّمترین زبانه. من خودم R کار میکردم و حتا سال ۸۹، اولین کنفرانس R ایران رو با حضور توسعهدهندههاش برگزار کردیم. ولی خب در شیش هفت سال گذشته، تقریباً همهٔ Rکارها به خاطر سرعت بالاتر و راحتی عملکرد پایتون، به پایتون مهاجرت کردن.
خوبه پس ، تشکر …
( یه سوال ؟ یه عمر حتی رو اشتباه مینوشتیم ما ؟ چون فک نمیکنم شمایی که اینقدر حساسین در این مورد اشتباه نوشته باشید ، اونم شمایی که حتی جاهایی که نیازه نیم فاصله میزارید ، دفعه اولی که دیدم شک کردم که شاید دستتون خورده اما این دومین باره ! )
بله توی یک پستی ایشون گفتند تو فارسی حتی وجود نداره و کتاب های درسی هم حتا می نویسن.
البته من حتا تایپ می کنم مرورگر خط قرمز می کشه زیر کلمه.
لطفاً اگر میشه پست های مربوط به پایتون رو از تاپیک تغییر نام ها در ترمینال منتقل کنید اینجا.
بنظرتون پایتون حتی از php بهتره؟ پس چرا این انجمن با پی اچ پی نوشته شده؟
پی اچ پی هم کنده؟ یادش نگیرم؟
-
درود !
یک سوالی دارم :
شما از پایتون خوشتون نمیاد و این تاپیک رو درست کردید که سعی کنید بیاید روی پایتون یا ...
دقیقا هدفتون رو میشه بفرمایید شاید تونستیم بهتر راهنماییتون کنیم : )
-
درود !
یک سوالی دارم :
شما از پایتون خوشتون نمیاد و این تاپیک رو درست کردید که سعی کنید بیاید روی پایتون یا ...
دقیقا هدفتون رو میشه بفرمایید شاید تونستیم بهتر راهنماییتون کنیم : )
منظورتون با منه؟ البته من این تاپیک رو نزدم.
از پایتون بدم نمیاد منتها حس خوبی نسبت بهش ندارم. مخصوصا این که خیلی جاها میگن کنده که ظاهراً اشتباه می کردم.
-
لطفاً اگر میشه پست های مربوط به پایتون رو از تاپیک تغییر نام ها در ترمینال منتقل کنید اینجا.
بنظرتون پایتون حتی از php بهتره؟ پس چرا این انجمن با پی اچ پی نوشته شده؟
پی اچ پی هم کنده؟ یادش نگیرم؟
راستش بهتری نداریم ! هر کدوم با قابلیت های مشخصی هستن دیگه ...
اون هم زبان خیلی خوب و سریع تری هستش نسبت به پایتون امید وارم صحبتم رو بد برداشت نکرده باشید !
-
درود !
یک سوالی دارم :
شما از پایتون خوشتون نمیاد و این تاپیک رو درست کردید که سعی کنید بیاید روی پایتون یا ...
دقیقا هدفتون رو میشه بفرمایید شاید تونستیم بهتر راهنماییتون کنیم : )
منظورتون با منه؟ البته من این تاپیک رو نزدم.
از پایتون بدم نمیاد منتها حس خوبی نسبت بهش ندارم. مخصوصا این که خیلی جاها میگن کنده که ظاهراً اشتباه می کردم.
نه !
اون دوستمون که گفته بود متنفرم !
بله قطعا کند نیست
-
سلام
کند بودنش که فکر میکنم بخاطر مفسری بودن این زبانه ولی خب تا جایی که من میدونم توی برنامه های خیلی بزرگ این مسئله حس میشه نه برنامه های معمولی
ولی کلا اینکه اولین زبانت پایتون باشه ممکنه باعث شه واسه سوییچ به زبان های دیگ کمی اذیت شی
ضمنا اینا نظرات شخصی هر فرده و هر زبانی درجای خودش بهترینه (البته نه هرزبانی !)
نسبت به هم گارد نگیریم و به سلایق هم احترام بزاریم
-
ببخشید آقای بهزادی کدوم زبان دقیقا داره این کار میکنه؟
مثلاً C++ و جاوا.
و واقعا دلیلش چیه که باید ثابتها باید SnakeCase باشن؟ چرا مثل بقیه زبانها کل روند روی همون Camelcase پیش نمیره؟
البته من موقع نوشتن،مار و شتر رو با هم قاطی کردم ((:
این ثابتها، مثل کلاسها به صورت CamelCase نوشته میشن؛ چرا که ذاتاً MetaClass هستن. نام متفیرها، تابعها و روشها به صورت snake_case نوشته میشه.
منم میدونم پایتون قواعدی داره ولی با همین قواعد مشکل دارم، دلایلی که برای این نوع نوشتار دارن واقعا ارزشش داره که اینقدر پراکندگی به وجود بیاد داخل این زبان؟
اتّفاقاً با این کار، زبان یکپارچهتر و قابل پیشبینیتر شده. من خودم هر بار که میبینم تو C++ ثابت true با حرف کوچیکه و ثابت None با حرف بزرگ، برگهام میریزه!
آقای بهزادی اگه میشه نظرتون به شکل دقیق در مورد اشکال 5 میخوام بدونم.
متوجه نشدم این اشکالی که میگی چیه. برای مثال نخستین برخورد من با جنگو، چند سال پیش بود که چون پایتون بلد بودم، ازم خواستن برم جایی و برای تیمی که در حال توسعهٔ یه پروژهٔ نرمافزاری بود، نقش مربی رو بازی کنم. وقتی رسیدم اونجا فهمیدم که درواقع مربی جنگو میخواستن. توی یک ربع تا ۲۰ دقیقه مستندات جنگو رو خوندم و نیم ساعت بعد، بهشون چنگو یاد دادم و در آخر اون روز، پروژه رو بسته بودن.
بله توی یک پستی ایشون گفتند تو فارسی حتی وجود نداره
نگفتم حتی وجود نداره :D
گفتم حتی یه واژهٔ عربیه که ما تو فارسی بهش میگیم «تا».
حتا یا هتا یه واژهٔ فارسیه که معنیش همینیه که تو ذهنتونه.
بنظرتون پایتون حتی از php بهتره؟
اصلاً بحث بهتر و بدتر تو زبانها بیمعنیه. بهترین زبان، اونیه که بهش تسلط داری.
ولی برای نمونه عرض کنم، من قبلاًphpکار بودم و یه پروژهٔ شخصی (https://bazaar.launchpad.net/~dani.behzi/mirspreader/trunk/files) داشتم که حدود ۳۰۰۰ خط شده بود و خیلی کثیف شده بود. هر باگی که توش پیدا میشد، چند روز وقت میبرد که بشه ریشهاش رو پیدا و رفعش کرد.
یه روز به خودم گفتم من که الآن دارم همهٔ پروژهها رو با پایتون میزنم. بذار این رو هم ببرم رو پایتون. نهایت میخواد یه ماه وقت بگیره دیگه!
نشون به اون نشون که تو یه بعد از ظهر اون پروژه رو پورت کردم (https://framagit.org/danialbehzadi/mirspreader/tree/twitter) به پایتون. حجمش شد حدود ۳۰۰ خط، منطقش بهبود داده شد، نیازش به ابزارهای جانبی از بین رفت، سرعت و کاراییش خیلی بالاتر رفت و اونقدر توسعهاش راحت شد که عصر همون روز، دو تا از ویژگیهایی که مدّتها بود تو ذهنم بود و میترسیدم برم سمتش، چون احتمالاً چند ماهی ازم وقت میگرفت رو هم توش پیاده کردم.
باز هم میگم. این به این معنی نیست که پایتون بهتره. بلکه برای اون کار و با تسلط من، پایتون بهترین گزینه بود.
-
پایتون بعد از سی، بهترین، منطقیترین و منظّمترین زبانه. من خودم R کار میکردم و حتا سال ۸۹، اولین کنفرانس R ایران رو با حضور توسعهدهندههاش برگزار کردیم. ولی خب در شیش هفت سال گذشته، تقریباً همهٔ Rکارها به خاطر سرعت بالاتر و راحتی عملکرد پایتون، به پایتون مهاجرت کردن.
خوبه پس ، تشکر …
( یه سوال ؟ یه عمر حتی رو اشتباه مینوشتیم ما ؟ چون فک نمیکنم شمایی که اینقدر حساسین در این مورد اشتباه نوشته باشید ، اونم شمایی که حتی جاهایی که نیازه نیم فاصله میزارید ، دفعه اولی که دیدم شک کردم که شاید دستتون خورده اما این دومین باره ! )
بله توی یک پستی ایشون گفتند تو فارسی حتی وجود نداره و کتاب های درسی هم حتا می نویسن.
البته من حتا تایپ می کنم مرورگر خط قرمز می کشه زیر کلمه.
لطفاً اگر میشه پست های مربوط به پایتون رو از تاپیک تغییر نام ها در ترمینال منتقل کنید اینجا.
بنظرتون پایتون حتی از php بهتره؟ پس چرا این انجمن با پی اچ پی نوشته شده؟
پی اچ پی هم کنده؟ یادش نگیرم؟
نگاه کنید اگر قرار به پرفورمنس وب هست خب قطقا پی اچ پی خیلی راحت تره من خودم از اون هایی هستم که سر سختانه جنگو کار میکنن اما برام سخته برا یک وبسایت ساده کلی خرت و پرت نصب کنم تا روی هاست اجرا شه و هاست هایی هم که به صورت رایگان هستن کمه اما پیاتون مث یک زبان کراس پلتفرم میخواد عمل کنه و تمام تمرکزشو روی وب نزاره ..
خب پایتون رو در داده میخوان با متلب مقایسه کنن
در وب مبخوان با پی اچ پی مقایسه کنن
در بحث دسکتاپ هم همین طوره
اما پیاتون در حد قابل قبولی خوش درخشیده و میتونیم بگیم داره انتظارات رو کملا براورده میکنه
-
از لحاظ سادگی پایتون راحت تره بنظرتون سینتکسش؟
من چند ماه با سی شارپ کار کرده بودم. یکم هم جاوا اسکریپت بلدم و قبلا هم خیلی کم آردوئینو کار کرده بودم. جاوا هم یکم یاد گرفتم ولی دیگه ادامه ندادم.
ولی تنها زبانی که سینتکسش با اینا خیلی تفاوت داشت پی اچ پی بود.
سینتکس اینا یکم شبیه همه ولی تو پی اچ پی من خیلی اذیت شدم مخصوصا سر $، با این حال پایتون برای من بنظرتون مناسبه؟
-
از لحاظ سادگی پایتون راحت تره بنظرتون سینتکسش؟
من چند ماه با سی شارپ کار کرده بودم. یکم هم جاوا اسکریپت بلدم و قبلا هم خیلی کم آردوئینو کار کرده بودم. جاوا هم یکم یاد گرفتم ولی دیگه ادامه ندادم.
ولی تنها زبانی که سینتکسش با اینا خیلی تفاوت داشت پی اچ پی بود.
سینتکس اینا یکم شبیه همه ولی تو پی اچ پی من خیلی اذیت شدم مخصوصا سر $، با این حال پایتون برای من بنظرتون مناسبه؟
پایتون یک زبان خیلی ساده در عین حال خیلی کارا میشه باهاش کرد
-
از لحاظ سادگی پایتون راحت تره بنظرتون سینتکسش؟
من چند ماه با سی شارپ کار کرده بودم. یکم هم جاوا اسکریپت بلدم و قبلا هم خیلی کم آردوئینو کار کرده بودم. جاوا هم یکم یاد گرفتم ولی دیگه ادامه ندادم.
ولی تنها زبانی که سینتکسش با اینا خیلی تفاوت داشت پی اچ پی بود.
سینتکس اینا یکم شبیه همه ولی تو پی اچ پی من خیلی اذیت شدم مخصوصا سر $، با این حال پایتون برای من بنظرتون مناسبه؟
پایتون یک زبان خیلی ساده در عین حال خیلی کارا میشه باهاش کرد
پس با این حال، خداحافظ پی اچ پی. سلام پایتون!
فقط لطفاً لینک دوره پایتون جادی رو میشه بدید. (چند قسمته؟)
فقط پایتون و جنگو راحتن؟
در ضمن من فکر می کنم خیلی از مشکلات من توی برنامه نویسی بلد نبودن مفاهیم اونه، بنظرتون اول مفاهیم اولیه رو باید یاد بگیرم؟
اگر منبعی در این مورد دارید لطفاً معرفی کنید.
-
یه زمانی میرفتی توی سایت PHP و مینوشتی I hate PHP کاربر رو redirect میکرد به python.org!
من قبل از اینکه جدی پایتون کد بزنم مهم ترین پروژههام رو با زبانهای دیگه مثل C یا PHP و ... نوشته بودم. و این سالهای اخیر که چند پروژه بسیار وسیع با Python کار کردم متوجه شدم چه قدر همه چیز منظم و باقاعده هست و چقدر خوندن کد دیگرن (نه ۴ خط کد! چند هزار خط کد) راحته.
من یکم روزنامه وار اولین پست این تایپیک رو هم خوندم. ایراداتی که گرفته شده صرفا من انتظار دارم اینجوری کار کنه، چرا اونجوری کار میکنه هست. خوب الان عین همین تایپیک رو میشه برای هر زبان دیگهای زد و از دید یه برنامه نویس اسمبلی همه تصمیمات و طراحی اون زبان رو زیر سوال برد...
بیخیال... انرژی خودتون به جای صرف تنفر از یک زبان تو زبانی که باهاش حال میکنید صرف کنید.
-
پس با این حال، خداحافظ پی اچ پی. سلام پایتون!
فقط لطفاً لینک دوره پایتون جادی رو میشه بدید. (چند قسمته؟)
فقط پایتون و جنگو راحتن؟
در ضمن من فکر می کنم خیلی از مشکلات من توی برنامه نویسی بلد نبودن مفاهیم اونه، بنظرتون اول مفاهیم اولیه رو باید یاد بگیرم؟
اگر منبعی در این مورد دارید لطفاً معرفی کنید.
[/quote]
اگه قصد دارید توی وب کار کنید دوتا گزینه ی بسیار محبوب دارید توی دنیای پایتون !
flask - django
من خودم با هر دوی اینها کار کردم و فعلا از توسعه دهنده ی django هستم ولی اگر موقعیتی پیش بیاد از flask هم استفاده میکنم .
از لحاظ راحتی شاید در عمل فکر کنید که flask راحت تره ! ولی بعدا اگه با جنگو کار کنید متوجه میشید خیلی دقیق تر میتونید route ها و app ها یا blueprint ها رو درک کنید.
بستگی به خودتون داره به هر حال . من تجربه ی خودم رو گفتم حالا اگر دوستان دیگه ای هم بیشتر از من از flask کار کردن یا جدی فعالیت میکنند خوشحال میشم مشکل این پیام رو بهم بگن : )
-
از لحاظ سادگی پایتون راحت تره بنظرتون سینتکسش؟
من چند ماه با سی شارپ کار کرده بودم. یکم هم جاوا اسکریپت بلدم و قبلا هم خیلی کم آردوئینو کار کرده بودم. جاوا هم یکم یاد گرفتم ولی دیگه ادامه ندادم.
ولی تنها زبانی که سینتکسش با اینا خیلی تفاوت داشت پی اچ پی بود.
سینتکس اینا یکم شبیه همه ولی تو پی اچ پی من خیلی اذیت شدم مخصوصا سر $، با این حال پایتون برای من بنظرتون مناسبه؟
پایتون یک زبان خیلی ساده در عین حال خیلی کارا میشه باهاش کرد
پس با این حال، خداحافظ پی اچ پی. سلام پایتون!
فقط لطفاً لینک دوره پایتون جادی رو میشه بدید. (چند قسمته؟)
فقط پایتون و جنگو راحتن؟
در ضمن من فکر می کنم خیلی از مشکلات من توی برنامه نویسی بلد نبودن مفاهیم اونه، بنظرتون اول مفاهیم اولیه رو باید یاد بگیرم؟
اگر منبعی در این مورد دارید لطفاً معرفی کنید.
به قطع اول مفاهیم یادبگیرید
-
اقای بهزادی پروژه ای که میخواستند چی بود ؟ بیست دقیقه ای یاد گرفتید و نیم ساعته یاد گرفتند و یک روزه تموم کردند ؟
-
یه زمانی میرفتی توی سایت PHP و مینوشتی I hate PHP کاربر رو redirect میکرد به python.org!
من قبل از اینکه جدی پایتون کد بزنم مهم ترین پروژههام رو با زبانهای دیگه مثل C یا PHP و ... نوشته بودم. و این سالهای اخیر که چند پروژه بسیار وسیع با Python کار کردم متوجه شدم چه قدر همه چیز منظم و باقاعده هست و چقدر خوندن کد دیگرن (نه ۴ خط کد! چند هزار خط کد) راحته.
من یکم روزنامه وار اولین پست این تایپیک رو هم خوندم. ایراداتی که گرفته شده صرفا من انتظار دارم اینجوری کار کنه، چرا اونجوری کار میکنه هست. خوب الان عین همین تایپیک رو میشه برای هر زبان دیگهای زد و از دید یه برنامه نویس اسمبلی همه تصمیمات و طراحی اون زبان رو زیر سوال برد...
بیخیال... انرژی خودتون به جای صرف تنفر از یک زبان تو زبانی که باهاش حال میکنید صرف کنید.
با جمله آخرتون خیلی موافقم، نه چند جا من اشاره کردم که از پایتون بدم میاد، تازه جالب اینه مثلا یکی از تاپیکها یه اسکریپت ساده با همون پایتون برای یه بنده خدایی نوشتم بعد زیرش گفتم بدم میاد و دلیل پرسیدن، گفتم این تاپیک بزنم بد نباشه، ولی اولشم گفتم بیشتر سلیقهای هست برای من و نظراتم، به قول شما خوب من با JS واقعا حال میکنم پس بیشتر پروژههام رو میبرم همون سمت، ولی خوب به قطع برای یک API ساده نمیام از NodeJs استفاده کنم چون مسائل Async توی JS هنوز به بلوغ نرسیده، واقعا اذیت میکنه یک جاهایی، پس میرم سمت PHP، برای کارهای کاربدی هم خوب اگه نشه با JS هندلشون کرد میام سمت Python
-
درود !
یک سوالی دارم :
شما از پایتون خوشتون نمیاد و این تاپیک رو درست کردید که سعی کنید بیاید روی پایتون یا ...
دقیقا هدفتون رو میشه بفرمایید شاید تونستیم بهتر راهنماییتون کنیم : )
نه برادر برای یک دوست دیگر هم نوشتم، من از پایتون استفاده میکنم، واقعا خیلی جاها کار راهبندازه، گیتهابم هم ببینید که یه موقع اسکریپتهای ساده کاربردی را به اشتراک گذاشتم بیشتریها پایتون هست، ولی خوب این دلایلی که گفتم اذیتم میکرد همیشه برای کار با این زبان، برای همین گفتم بد نباشه این دلایلی بگم شاید دوستان چیزی گفتن و من قانع شدم یا حداقل کمتر بدم بیاد ](*,)
-
مثلاً C++ و جاوا.
راست میگید بله ++C را یادم نبود، جاوا هم که فکر کنم یه جایی واقعا از خجالتش در اومدم ](*,)
اتّفاقاً با این کار، زبان یکپارچهتر و قابل پیشبینیتر شده. من خودم هر بار که میبینم تو C++ ثابت true با حرف کوچیکه و ثابت None با حرف بزرگ، برگهام میریزه!
ببینید خوب دقیقا حرف منم همینه، میگم باید قاعده داشته باشه، یا کوچیک یا بزرگ، دلیل اینکه شما بیاید از چند نوع اسم گذاری استفاده بکنی را متوجه نمیشم. در واقع میدونم میخواستن چیکار کنن ولی میگمم ارزشش نداشته این کار.
متوجه نشدم این اشکالی که میگی چیه. برای مثال نخستین برخورد من با جنگو، چند سال پیش بود که چون پایتون بلد بودم، ازم خواستن برم جایی و برای تیمی که در حال توسعهٔ یه پروژهٔ نرمافزاری بود، نقش مربی رو بازی کنم. وقتی رسیدم اونجا فهمیدم که درواقع مربی جنگو میخواستن. توی یک ربع تا ۲۰ دقیقه مستندات جنگو رو خوندم و نیم ساعت بعد، بهشون چنگو یاد دادم و در آخر اون روز، پروژه رو بسته بودن.
حدس میزدم نتونم منظورم برسونم، به خاطر این هست که این بیشتر توی روند پروژهها حس میشه، به همین خاطر میگم، شاید اینطور عرض کنم بهتره، من اگه JS بلد باشم، خیلی راحت، واقعا راحت میتونم از تمام فریمورکهاش حتی بدون استفاده از داکیومنشن استفاده کنم، مثال میزنم:
چند وقت پیش من یک برنامه تقریبا ساده میخواستم بنویسم برای لینوکس که یکسری اطلاعات متنی را به صورت رئالتایم رمزنگاری و رمزگشایی کنه با AES و خوب باید یک ادیتور ساده هم برای ویرایش متن داخلش میبود، من فقط همون ++C و جاوا را تا حدودی کار کرده بودم که اونا هم فقط میتونستم روی ترمینال اجراشون کنم و گرافیک داخلشون بلد نبودم، رفتم سراغ پایتون که از اون استفاده کنم که دیدم طراحی گرافیکی برنامه فقط چند روز طول میکشه با این روند، فقط یادم افتاد JS یک فریمورک برای برنامههای دسکتاپ داره به اسم الکترون، صرفا با یک مقاله بیست خطی من توی یک نصف روز برنامه را نوشتم، تا حالا هم از الکترون استفاده نکرده بودم.
خیلی زبانهای دیگه این یکپارچگی حفظ کردن ولی به نظر من، تاکید میکنم حداقل من نتونستم اینو توی پایتون ببینم
-
در ضمن من فکر می کنم خیلی از مشکلات من توی برنامه نویسی بلد نبودن مفاهیم اونه، بنظرتون اول مفاهیم اولیه رو باید یاد بگیرم؟
پیش از نوشتن یک خط کد، باید الگوریتم و فلوچارت رو یاد بگیری.
اگه قصد دارید توی وب کار کنید دوتا گزینه ی بسیار محبوب دارید توی دنیای پایتون !
flask - django
توصیهٔ من همیشه اینه که اول جنگو رو یاد بگیرید. وقتی به جنگو مسلّط شدید، میتونید با فلسک هم درست کد بزنید. ولی وقتی چنگو رو بلد نباشید، احتمالاً کد بسیار کثیفی توی فلسک یا DRF یا FastAPI خواهید زد.
اقای بهزادی پروژه ای که میخواستند چی بود ؟ بیست دقیقه ای یاد گرفتید و نیم ساعته یاد گرفتند و یک روزه تموم کردند ؟
کیف پول الکترونیک.
من بیست دقیقهای یاد گرفتم. اونّا دو سه ساعته یاد گفتن و تا آخر شب تمومش کردن. هرچند طبیعتاً کد بینقصی نبود.
حدس میزدم نتونم منظورم برسونم، به خاطر این هست که این بیشتر توی روند پروژهها حس میشه، به همین خاطر میگم، شاید اینطور عرض کنم بهتره، من اگه JS بلد باشم، خیلی راحت، واقعا راحت میتونم از تمام فریمورکهاش حتی بدون استفاده از داکیومنشن استفاده کنم، مثال میزنم:
چند وقت پیش من یک برنامه تقریبا ساده میخواستم بنویسم برای لینوکس که یکسری اطلاعات متنی را به صورت رئالتایم رمزنگاری و رمزگشایی کنه با AES و خوب باید یک ادیتور ساده هم برای ویرایش متن داخلش میبود، من فقط همون ++C و جاوا را تا حدودی کار کرده بودم که اونا هم فقط میتونستم روی ترمینال اجراشون کنم و گرافیک داخلشون بلد نبودم، رفتم سراغ پایتون که از اون استفاده کنم که دیدم طراحی گرافیکی برنامه فقط چند روز طول میکشه با این روند، فقط یادم افتاد JS یک فریمورک برای برنامههای دسکتاپ داره به اسم الکترون، صرفا با یک مقاله بیست خطی من توی یک نصف روز برنامه را نوشتم، تا حالا هم از الکترون استفاده نکرده بودم.
خیلی زبانهای دیگه این یکپارچگی حفظ کردن ولی به نظر من، تاکید میکنم حداقل من نتونستم اینو توی پایتون ببینم
خب پایتون فلسفهاش این نیست. هدفش اینه که یه منطق محکم و یه هستهٔ کوچیک داشته باشه و بقیه بیان این رو برای کاربردشون گسترش بدن.
مثلاً خود پایتون چیزی به اسم ماتریس رو نمیشناسه. اونهایی که نیاز به محاسبات ماتریسی داشتن، با همون منطق، بستهٔ numpy رو براش نوشتن که الآن با متلب قابل مقایسه نیست و در بعضی جاها از R هم عملگرد بهتری داره.
اگه پایتون میخواست خودش ماتریسها رو اضافه کنه،هم از هدف و شعارش دور میشد، هم هیچوقت نمیتونست اینقدر قدرتمند بشه. چون توسعهدهندههای خودش برنامهنویسن، نه ریاضیدان. در حالی که توسعهدهندههای numpy، ریاضیدانن دقیقاً.
البته اینجوری هم نست که طراحی گرافیکی برنامه تو پایتون چند روز طول بکشه. طراحی رابط گرافیکی کاربراتور (https://framagit.org/tractor/carburetor/) با گلید (https://glade.gnome.org/) نیم ساعت هم زمان نبرد.
-
خب پایتون فلسفهاش این نیست. هدفش اینه که یه منطق محکم و یه هستهٔ کوچیک داشته باشه و بقیه بیان این رو برای کاربردشون گسترش بدن.
مثلاً خود پایتون چیزی به اسم ماتریس رو نمیشناسه. اونهایی که نیاز به محاسبات ماتریسی داشتن، با همون منطق، بستهٔ numpy رو براش نوشتن که الآن با متلب قابل مقایسه نیست و در بعضی جاها از R هم عملگرد بهتری داره.
اگه پایتون میخواست خودش ماتریسها رو اضافه کنه،هم از هدف و شعارش دور میشد، هم هیچوقت نمیتونست اینقدر قدرتمند بشه. چون توسعهدهندههای خودش برنامهنویسن، نه ریاضیدان. در حالی که توسعهدهندههای numpy، ریاضیدانن دقیقاً.
البته اینجوری هم نست که طراحی گرافیکی برنامه تو پایتون چند روز طول بکشه. طراحی رابط گرافیکی کاربراتور با گلید نیم ساعت هم زمان نبرد.
بله متوجه شدم، شاید به قول شما میخواسته به هدفش که میفرمایید نزدیک بشه. اتفاقا من خودمم برای کارای دانشگاه که خوب کلی نیاز به ماتریس و گراف دارم از پایتون و numpy استفاده میکنم، کلا هم یادگیریماشین رو هم اصلا نمیشه بدون پایتون تصور کرد.
در مورد کاربراتور و گلید هم مطالعه میکنم، ممنون
-
در ضمن من فکر می کنم خیلی از مشکلات من توی برنامه نویسی بلد نبودن مفاهیم اونه، بنظرتون اول مفاهیم اولیه رو باید یاد بگیرم؟
پیش از نوشتن یک خط کد، باید الگوریتم و فلوچارت رو یاد بگیری.
اگه قصد دارید توی وب کار کنید دوتا گزینه ی بسیار محبوب دارید توی دنیای پایتون !
flask - django
توصیهٔ من همیشه اینه که اول جنگو رو یاد بگیرید. وقتی به جنگو مسلّط شدید، میتونید با فلسک هم درست کد بزنید. ولی وقتی چنگو رو بلد نباشید، احتمالاً کد بسیار کثیفی توی فلسک یا DRF یا FastAPI خواهید زد.
اقای بهزادی پروژه ای که میخواستند چی بود ؟ بیست دقیقه ای یاد گرفتید و نیم ساعته یاد گرفتند و یک روزه تموم کردند ؟
کیف پول الکترونیک.
من بیست دقیقهای یاد گرفتم. اونّا دو سه ساعته یاد گفتن و تا آخر شب تمومش کردن. هرچند طبیعتاً کد بینقصی نبود.
حدس میزدم نتونم منظورم برسونم، به خاطر این هست که این بیشتر توی روند پروژهها حس میشه، به همین خاطر میگم، شاید اینطور عرض کنم بهتره، من اگه JS بلد باشم، خیلی راحت، واقعا راحت میتونم از تمام فریمورکهاش حتی بدون استفاده از داکیومنشن استفاده کنم، مثال میزنم:
چند وقت پیش من یک برنامه تقریبا ساده میخواستم بنویسم برای لینوکس که یکسری اطلاعات متنی را به صورت رئالتایم رمزنگاری و رمزگشایی کنه با AES و خوب باید یک ادیتور ساده هم برای ویرایش متن داخلش میبود، من فقط همون ++C و جاوا را تا حدودی کار کرده بودم که اونا هم فقط میتونستم روی ترمینال اجراشون کنم و گرافیک داخلشون بلد نبودم، رفتم سراغ پایتون که از اون استفاده کنم که دیدم طراحی گرافیکی برنامه فقط چند روز طول میکشه با این روند، فقط یادم افتاد JS یک فریمورک برای برنامههای دسکتاپ داره به اسم الکترون، صرفا با یک مقاله بیست خطی من توی یک نصف روز برنامه را نوشتم، تا حالا هم از الکترون استفاده نکرده بودم.
خیلی زبانهای دیگه این یکپارچگی حفظ کردن ولی به نظر من، تاکید میکنم حداقل من نتونستم اینو توی پایتون ببینم
خب پایتون فلسفهاش این نیست. هدفش اینه که یه منطق محکم و یه هستهٔ کوچیک داشته باشه و بقیه بیان این رو برای کاربردشون گسترش بدن.
مثلاً خود پایتون چیزی به اسم ماتریس رو نمیشناسه. اونهایی که نیاز به محاسبات ماتریسی داشتن، با همون منطق، بستهٔ numpy رو براش نوشتن که الآن با متلب قابل مقایسه نیست و در بعضی جاها از R هم عملگرد بهتری داره.
اگه پایتون میخواست خودش ماتریسها رو اضافه کنه،هم از هدف و شعارش دور میشد، هم هیچوقت نمیتونست اینقدر قدرتمند بشه. چون توسعهدهندههای خودش برنامهنویسن، نه ریاضیدان. در حالی که توسعهدهندههای numpy، ریاضیدانن دقیقاً.
البته اینجوری هم نست که طراحی گرافیکی برنامه تو پایتون چند روز طول بکشه. طراحی رابط گرافیکی کاربراتور (https://framagit.org/tractor/carburetor/) با گلید (https://glade.gnome.org/) نیم ساعت هم زمان نبرد.
البته الگوریتم و فلوچارت و این چیزا رو چند سال پیش کار کردم.
ولی بنظرم کار بیهوده ایه. هیچ چیزی از این کار دستگیرم نشد. یک سری اشکال بودن فقط که هر کدوم یک کار رو می کرد.
نمی دونم چه منظوری رو می خواد برسونه.
منظورم از مفاهیم چیزایی مثل شبکه، http و این چیزاست.
البته http رو دورش رو گذروندم ولی در کل چیزی نفهمیدم کلا این سری مفاهیم (route، api، http) برام گنگه توی هیچ دوره ای اینا رو توضیح نمیدن که اصلا چی هستن و فقط میگن توی این فریم ورک اینجوری میشه با این ها کار کرد.
-
دوست عزیز منظور آقای بهزادی این بود که شما باید بیس و منطق برنامهنویسی که همون الگوریتم هست را یادبگیرید، اگر فکر میکنید الگوریتم چیز بیهودهای هست پس اصلا کلا برنامهنویسی را هم همین میگید، فلوچارتی که شما میگی چهارتا شکل برای این تعبیه شده که شما بتونی به سادهترین شکل ممکن الگوریتمت رو برای حل اون مسئله پیادهسازی کنی، حالا شما دوست نداری با فلوچارت کار کنی مشکلی نداره همون الگوریتمت به شکل فارسی برای خودت مرحله به مرحله بنویس، در کل که باید ذهن آماده حل مسئله پیدا کنی، نه این که همینجوری بشینی مثل این فیلمها تایپ دهانگشتی داشته باشی و دائم بنویسی، انگار مسابقه بین تایپیستهاست.
-
دوست عزیز منظور آقای بهزادی این بود که شما باید بیس و منطق برنامهنویسی که همون الگوریتم هست را یادبگیرید، اگر فکر میکنید الگوریتم چیز بیهودهای هست پس اصلا کلا برنامهنویسی را هم همین میگید، فلوچارتی که شما میگی چهارتا شکل برای این تعبیه شده که شما بتونی به سادهترین شکل ممکن الگوریتمت رو برای حل اون مسئله پیادهسازی کنی، حالا شما دوست نداری با فلوچارت کار کنی مشکلی نداره همون الگوریتمت به شکل فارسی برای خودت مرحله به مرحله بنویس، در کل که باید ذهن آماده حل مسئله پیدا کنی، نه این که همینجوری بشینی مثل این فیلمها تایپ دهانگشتی داشته باشی و دائم بنویسی، انگار مسابقه بین تایپیستهاست.
البته من هنوز به مسئله ای بر نخوردم که بخوام بدونم توانایی این کار رو دارم یا نه ;D
کلا کار من شده بازی کردن با کد ها، یک بار هم که قبلا (با سی شارپ) گفتم یک بار هم که شده جدی کار کنم و خودمو درگیر حل مسئله کنم، کلا توی نوشتن برنامه به مشکل خوردم (چون درکی از پشت پرده سی شارپ نداشتم)
از اون موقع تا الان هم من فقط دارم سینتکس یاد میگیرم، هنوز کار خاصی انجام ندادم.
حالا دوباره برم سراغ الگوریتم و فلوچارت؟ البته من قبل از اینکه کلا وارد دنیای برنامه نویسی شم الگوریتم و فلوچارت رو کار کردم.
-
دوست عزیز منظور آقای بهزادی این بود که شما باید بیس و منطق برنامهنویسی که همون الگوریتم هست را یادبگیرید، اگر فکر میکنید الگوریتم چیز بیهودهای هست پس اصلا کلا برنامهنویسی را هم همین میگید، فلوچارتی که شما میگی چهارتا شکل برای این تعبیه شده که شما بتونی به سادهترین شکل ممکن الگوریتمت رو برای حل اون مسئله پیادهسازی کنی، حالا شما دوست نداری با فلوچارت کار کنی مشکلی نداره همون الگوریتمت به شکل فارسی برای خودت مرحله به مرحله بنویس، در کل که باید ذهن آماده حل مسئله پیدا کنی، نه این که همینجوری بشینی مثل این فیلمها تایپ دهانگشتی داشته باشی و دائم بنویسی، انگار مسابقه بین تایپیستهاست.
البته من هنوز به مسئله ای بر نخوردم که بخوام بدونم توانایی این کار رو دارم یا نه ;D
کلا کار من شده بازی کردن با کد ها، یک بار هم که قبلا (با سی شارپ) گفتم یک بار هم که شده جدی کار کنم و خودمو درگیر حل مسئله کنم، کلا توی نوشتن برنامه به مشکل خوردم (چون درکی از پشت پرده سی شارپ نداشتم)
از اون موقع تا الان هم من فقط دارم سینتکس یاد میگیرم، هنوز کار خاصی انجام ندادم.
حالا دوباره برم سراغ الگوریتم و فلوچارت؟ البته من قبل از اینکه کلا وارد دنیای برنامه نویسی شم الگوریتم و فلوچارت رو کار کردم.
برادر اصلا توی صحبتهای شما کاملا مشخصه که بیس برنامهنویسی دستت نیومده، یه بنده خدایی قشنگ میگفت: میگفت سینتکس و کیوردهای یک زبان که برای یک بچه ده ساله هم میتونی توی یه روز توضیح بدی و اون هم متوجه بشه، اصلا مهم سینتکس نیست، مهم مهارت حل مسئله شماست، تا توی این سطح قرار دارید هیچ زبان برنامهنویسی برای شما هیچ فرقی نداره، چون همشون دارن کار بیسیکی که شما میخواهید را انجام میدهند، اصلا زبان هم نمیخواد میتونید فقط فلوچارت مسئله را بکشید و در نرمافزارهایی مخصوص این کار درج کنید خودشون واست اجرا میکنن الگوریتمش رو، در هر حال برنامنویسی هم مثل ساز زدن هست، هر چقدر هم شما بخوای نتخواندن یاد بگیری یا با تاریخچه ساز آشنا بشی بازم نمیتونی ساز بزنی، باید بگیری دستت و تمرین کنی.
از مسائل ساده شروع بکن تا دستت راه بیفته، با هر زبانی هم که راحتتری کار بکن، اگه با همون پایتون یا ++C شروع کنی بهتره، سمت زبانهایی مثل JS و PHP برای شروع حل مسائل نری بهتره. من حالا یه سرچ کردم توی اینترنت نمونه تمرین برنامهنویسی یه چندتایی پیدا شد میتونی با اونها شروع کنی:
− این لینک زیر یکسری سوال برای بالا بردن مهارت برنامهنویسی داره، البته من بررسی نکردمم ببینم خوبه یا نه ولی خوب توشون نمونه سوالهای مرسوم که معمولا برای شروع مطرح میکنند بود:
https://backendbaz.ir/practice/ (https://backendbaz.ir/practice/)
− اینم ۵ تا مسئله ساده بود بد نیست یک نگاهی بهش بندازی:
https://sokanacademy.com/blog/5-%D9%85%D8%B3%D8%A6%D9%84%D9%87%D8%A7%DB%8C-%DA%A9%D9%87-%D9%87%D8%B1-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%A8%D8%A7%DB%8C%D8%AF-%D8%A8%D8%AA%D9%88%D8%A7%D9%86%D8%AF-%D8%B2%DB%8C%D8%B1-%DB%8C%DA%A9-%D8%B3%D8%A7%D8%B9%D8%AA-%D8%A2%D9%86%D9%87%D8%A7-%D8%B1%D8%A7-%D8%AD%D9%84-%DA%A9%D9%86%D8%AF (https://sokanacademy.com/blog/5-%D9%85%D8%B3%D8%A6%D9%84%D9%87%D8%A7%DB%8C-%DA%A9%D9%87-%D9%87%D8%B1-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%A8%D8%A7%DB%8C%D8%AF-%D8%A8%D8%AA%D9%88%D8%A7%D9%86%D8%AF-%D8%B2%DB%8C%D8%B1-%DB%8C%DA%A9-%D8%B3%D8%A7%D8%B9%D8%AA-%D8%A2%D9%86%D9%87%D8%A7-%D8%B1%D8%A7-%D8%AD%D9%84-%DA%A9%D9%86%D8%AF)
-
برای شروع برنامه نویسی، یاد گرفتن زبان نشانه گذاری HTML خیلی کمک می کنه. جناب Mt فکر کنم شما هنوز این رو یاد نگرفتید، درسته؟
-
برای شروع برنامه نویسی، یاد گرفتن زبان نشانه گذاری HTML خیلی کمک می کنه. جناب Mt فکر کنم شما هنوز این رو یاد نگرفتید، درسته؟
بله منم موافق هستم، ولی بیشتر برای کسی که هیچ تجربه کدنویسی نداشته باشه، زیاد لازم نیست ولی خوب اگه با HTML, CSS هم شروع بکنه خوبه
-
برای شروع برنامه نویسی، یاد گرفتن زبان نشانه گذاری HTML خیلی کمک می کنه. جناب Mt فکر کنم شما هنوز این رو یاد نگرفتید، درسته؟
چرا کار کردم. البته هیچ علاقه ای بهش نداشتم ولی چون این چیزا پیش نیاز بک انده رفتم یاد گرفتم.