PDA

View Full Version : پرل یا ؟



Poryawixx
پنج شنبه 01 آذر 1386, 20:42 عصر
با عرض سلام خدمت دوستان عزیز
دوستان بنده قصد دارم برنامه نویسی یاد بگیرم
هنوز از هیچ زبانی شروع نکردم
چرا تا حدودی وی بی کار کردم

میخواستم بدونم برای شروع از چه زبانی شروع کنم که اسون و قوی باشه

پرل چطوره؟
چون علاقه خاصی به این زبان دارم
با تشکر

Poryawixx
جمعه 02 آذر 1386, 17:02 عصر
ممنون میشم زودتر راهنمایی کنید

Folaani
یک شنبه 04 آذر 1386, 19:47 عصر
خب بستگی به خودت داره و هدف و امکاناتت.
بخوای اول از سنگین و پیچیده شروع کنی یا سبک تر و جالب و جذاب.
بخوای زبان همه کاره باشه یا مثلا روی برنامه نویسی وب تمرکز کنی.
سبک خوبیش اینه زودتر جواب میگیری و لازم نیست خیلی سمج و صبور باشی و نتیجه گرفتن زودتر از کارت بهت حال و انگیزه میده.
اما سنگین بدرد آدمهای جدی و خیلی سمج و صبور میخوره که وقت و منابع کافی دارن (مثلا فورا دنبال کار و پول نباید برن) و میخوان پایه هاشون رو مثل کوه محکم کنن و بعد تازه برن سراغ مقولات دیگه.
خلاصه اینطوریاس بنظر بنده ...
اگر بخوای درکنارش زود جواب بگیری و بعد از مدت متوسطی یه کاری و تخصصی پیدا کنی که توی بازار کار و حتی برای ارایه به دیگران بهت قابلیت لازم رو بده، احتمالا باید روی یک بخش خاص تمرکز کنی و زبان مورد انتخابت هم خیلی سنگین نباشه فعلا.
البته چون چنین گزینه هایی هست میگم (فرضا پی اچ پی در برنامه نویسی وب). وگرنه بهتره زبان درپیت و غیراستاندارد یاد نگیری و وقتت رو روش تلف نکنی. یه زبان قویتر و استاندارد و مقبول بهتره.
البته همون برنامه نویسی وب رو هم دست کم نگیر؛ چند بخش داره و فقط پی اچ پی نیست. کلی استاندارد و مسایل امنیتی رو هم باید یاد بگیری.
خلاصه بستگی به شرایطت داره. منابعش رو داشته باشی و وقتت آزاد باشه و فقط بخوای حال کنی و هرجا دلت میخواد هرچقدر وقت بذاری خیلی فرق میکنه با اینکه باید حداکثر یکی دو سال دیگه به فکر کار باشی.

Poryawixx
یک شنبه 04 آذر 1386, 23:30 عصر
والا به نظر من اول از آسون شروع کنم و بعدش کم کم سختش کنم بهتره
چون پایه هام محکم میشه

والا نمی دونم به نظر دوستان پرل چطوره برای شروع؟
چون وی بی هم کار کردم

Folaani
دوشنبه 05 آذر 1386, 09:59 صبح
بنده پرل کار نکردم. ولی تاجایی که میدونم یک زبان همه کاره هست تقریبا (البته اسکریپتی).
زیاد آسون هم نیست و خیلی وسیع هست و امکانات بسیاری براش وجود داره بخاطر طول عمر و جایگاهی که تاحالا داشته. ولی مثلا از وقتی پی اچ پی مطرح شد، خیلی از برنامه نویسیهای وب دیگه با پرل انجام نشد.
با اینکه پی اچ پی به اندازهء پرل گسترده و کامل نیست، ولی در ازاش فواید زیادی داره که بر اینها میچربه!
ساده و سریع هست و تخصصی برای وب طراحی شده. خوبیش اینه همه جا هم هست و در کار و بازارش هم بدرد میخوره و امروزه روز خیلی نرم افزارها با پی اچ پی نوشته شدن و باهاش سر و کار دارن.

اما شما اگر نمیخوای فعلا برنامه نویسی وب بکنی، و مثلا سیستمی یا اپلیکیشن دسکتاپ دوست داری، احتمالا باید بری سراغ زبان دیگری؛ خصوصا کامپایل شونده.

Poryawixx
دوشنبه 05 آذر 1386, 18:42 عصر
والا نمی دونم
آره زیاد علاقه ای به برنامه نویسی وب ندارم
یعنی فعلا قصد هم ندارم به سمت این کار برم

بیشتر اپلیکیشن و سیستمی دوست دارم تا وب
حالا میرم سراغ پرل ببینم چطوره
مرسی

Poryawixx
دوشنبه 05 آذر 1386, 18:45 عصر
البته به مباحث امنیتی و سکیوریتی خیلی علاقه دارم
که فکر کنم پرل یکی از مطرح ترین زبان ها در این باره باشه

Folaani
سه شنبه 06 آذر 1386, 09:34 صبح
بهرحال هر طور خودتون تشخیص میدید و علاقه دارید.
از ویکی پدیا غافل نباشید که سرنخ و نقطهء استارت بسیار خوبی هست اغلب.

Poryawixx
سه شنبه 06 آذر 1386, 22:17 عصر
والا ویکی پدیا هم در مورد پرل خیلی چیزای خوبی نوشته
نوشته که هم آسونه هم خیلی قوی
نوشته که در مسائل امنیتی و cgi و ... خیلی کاربرد داره
حالا ما شروع می کنم ببینم چطور میشه

مرسی

unix_svr4
چهارشنبه 07 آذر 1386, 18:40 عصر
دوست عزیز
به نظر من Python را یاد بگیرید.
چون هم آسونه و همچنین قدرت و محبوبیت خاصی در بین برنامه نویسان کد باز داره
کدهای پرل از نظر برنامه نویسان حرفه ای به اصطلاح کثیف هستش و به درد تازه کاره ها نمی خوره.

موفق باشید.

Poryawixx
پنج شنبه 08 آذر 1386, 21:46 عصر
والا من کتاب آموزشیشو خریدم
مال پرلو میگم

همچین سخت نیست
ام خوب در کل سختی هایی هم دارم

یعنی به نظرتون نمی تونم یادش بگیرم؟

البته اینو بگم من به پرل علاقه خاصی دارم

Nima_NF
جمعه 07 دی 1386, 02:42 صبح
دوست عزیز
به نظر من Python را یاد بگیرید.
چون هم آسونه و همچنین قدرت و محبوبیت خاصی در بین برنامه نویسان کد باز داره
کدهای پرل از نظر برنامه نویسان حرفه ای به اصطلاح کثیف هستش و به درد تازه کاره ها نمی خوره.
پیشنهاد من هم python هست ، چون زبانی هست که در چند سال اخیر کاربرد هایش بسیار زیاد شده و با سرعت در حال گرفتن حوزه های مختلف اسکریپتی هست , چون هم بسیار قوی هست و همین طور ساده. حداقل با یادگیری آن برای شروع ، نه تنها در آینده بیشتر به نیاز شما خواهد آمد (چون کمتر به حوزه خاصی وابسته است)، بلکه حتی می توانید از قابلیت اسکریپتی در نرم افزار های دیگر استفاده کنید ، در ضمن در آینده هم شاهد فراگیر شدن بیشتر از این نیز خواهید بود.

مثلا فقط برای یک نمونه همین امسال maya یکی از بزرگترین نرم افزارهای گرافیکی 3D و جلوه های ویژه سیستم اسکریپتی خود را با وجود زبان اسکریپتی (MEL) خودش به python تغییر داد و شما حتی API های maya که به زبان C هست را نیز با آن می توانید فراخوانی کنید.


یعنی به نظرتون نمی تونم یادش بگیرم؟مطمئن باشید که یادگیری زبان های برنامه نویسی (آن هم اسکریپتی) آن قدر سخت نیست که کسی از آن ترس داشته باشد و نتواند یاد بگیرد. ما فقط وظیفه داریم که پیشنهاد کنیم و راه های خوب دیگر (و یا شاید بهتر را) پیش روی شما قرار دهیم و در آخر تصمیم با شماست.

ARA
سه شنبه 18 دی 1386, 14:24 عصر
به نظر من الان دیگه کسی دنبال برنامه های تحت وب با پرل نمیره چون عمر cgi تموم شده

بزرگترین برتری پرل برای کار با رشته ها و زبانهاست

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

من این رو تجربی دیدم که پرل در مورد Pattren recongizing چه قدرت شگرفی به برنامه نویس میده و اون مثل برنامه های دیگه مشکل فارسی عربی و یا غیره رو نداره

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

unix_svr4
یک شنبه 23 دی 1386, 02:40 صبح
پرل برای انتخاب دوم هم مناسب نیست.
به نظر من و طبق بیانات آقای اریک ریموند جاوا به عنوان زبان برنامه نویسی دوم مناسبه.

موفق باشید.

ARA
یک شنبه 23 دی 1386, 09:49 صبح
پرل برای انتخاب دوم هم مناسب نیست.
به نظر من و طبق بیانات آقای اریک ریموند جاوا به عنوان زبان برنامه نویسی دوم مناسبه.

موفق باشید.

راست میگی ،:متفکر:
شایدم سوم :گیج:

Cave_Man
چهارشنبه 26 دی 1386, 15:16 عصر
بعضیها اول دنبال زبان برنامه نویسی هستن و بعد دنبال به کاربردن اون اما حقیقت اینه که شما باید اول ببین میخای چکار کنی و بعد یک زبان رو انتخاب کنی.قبل از انتخاب هم باید در مورد اون زبانها مطالعه و تحقیق بکنی تا بهترین زبان برای مقاصد خودت رو پیدا کنی برای هر کاری یک زبان خاص پیشنهاد میشه.

amir222
جمعه 05 بهمن 1386, 03:49 صبح
دوستان خواهشا اگه اطلاعات نه چندان کاملی درباره ی چیزی دارید لطفا بقیه رو هم با این اطلاعات خودتون گمراه نکنین.... تا الآن فکر کنم هزار باری شده که من مشاهده میکنم دوستان پایتون رو به عنوان یک زبان اسکریپتی معرفی میکنن ولی بدبختانه دارم میبینم که این رویه توی سایت پرباری مثل برنامه نویس هم داره تکرار میشه و من مجبورم برای هزار و یکمین بار توضیح بدم که """""دوستان عزیز من, پایتون یک زبان اسکریپتی نیست!""""

بله, پایتون مانند زبانی مثل PHP یک زبان اسکریپتی نیست. پایتون یک زبان سطح بالا, شی گرا, پویا, همه منظوره, و مفسری هستش که -- یکی -- از جنبه های کاربرد اون می تونه استفاده به عنوان یک زبان اسکریپتی باشه. حتی اگه به خود سایت پایتون هم برید در صفحه ی اول سایت وقتی اومده زبان رو معرفی کنه اون رو به عنوان یه زبان اسکریپتی قلمداد نکرده که این کار از طرف جامعه ی پایتون کاملا عمدی هستش و تازگی نداره ( بر عکس سایت PHP که اون رو صریحا به عنوان یه زبان اسکریپتی معرفی کرده)

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

پایتون -- می تونه -- به عنوان یه زبان اسکریپتی هم استفاده بشه مثل همین مثالی که دوستمون در مورد برنامه ی Maya زدند. یکی از رفقای پایتون به اسم Ruby هم یه زبان اسکریپتی نیست :) حتی PHP و پرل که ذاتا جزو زبان های اسکریپتی به حساب می یان هم در حال حاظر به عنوان زبان های مستقل و کاملی شناخته میشن. حتی از جاوا و سی هم میشه به عنوان یه زبان اسکریپتی استفاده کرد که البته کاملا غیر عقلانی هستش.

در آخر هم باید بگم دوست عزیز گول دبدبه و کبکبه ی زبان ها رو نخور.... اگه یه زبان ساده ولی قدرتمند می خوای که دیگه مجبورت نکنه زبان دیگه ای یاد بگیری من بهت پایتون رو پیشنهاد میدم ....

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

C و ++C هم که دیگه هیچ کی حال و حوصله ی برنامه نویسی باهاشون رو نداره چون خیلی سختن و وقت میبرن البته در عوض کارایی بالایی دارن.....

دات نت رو از بیخ و بن بی خیال شو, مذخرفه, نمی دونم چرا تو ایران این همه طرفدار داره؟ تا اونجا که من میدونم توی خارج کشور جز کسایی که گول ماکروسافت رو خوردن زیاد با دات نت کار نمی کنن, آخه یکی نیست بگه ویندوز چیه که حالا برنامه نویسی واسه اون بخواد چی باشه.....

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

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

unix_svr4
شنبه 06 بهمن 1386, 12:13 عصر
پرل یه زبان کثیفه و برنامه هات بیشتر از 100 خط برسه توی کدهات گم میشی چه برسه به برنامه های واقعی و بزرگ....

در اینکه پرل یک زبان کثیفه شکی نیست! ولی میدونید تا به حال چند میلیون سرور یونیکس و لینوکس از پرل برای پیکربندی خودشون استفاده می کنند؟؟؟؟ ( یاد گرفتن پرل به همین سادگی ها هم نیست! بهتره بگم کار هر کسی نیست! با 3-2 تا کتاب فارسی که همشون هم اشتباه و غلط ترجمه شدن نمی توانید برنامه نویس پرل شوید!)


C و ++C هم که دیگه هیچ کی حال و حوصله ی برنامه نویسی باهاشون رو نداره چون خیلی سختن و وقت میبرن البته در عوض کارایی بالایی دارن.....
شما از کجا می دونید که کسی حل و حوصله کا با زبانهای C و ++C رو ندارد!! C و ++C از بهترین زبانهای برنامه نویسی هستند! همه نرم افزارهای محبوب دنیا به زبان ++C نوشته می شوند! یونیکس با زبان C باز نویسی شده! شما اگر فرد راحت طلب هستید و دوست ندارید برای رسیدن به هدفتون زیاد تلاش کنید همون زبان Python برای شما مناسب است!


دات نت رو از بیخ و بن بی خیال شو, مذخرفه, نمی دونم چرا تو ایران این همه طرفدار داره؟ تا اونجا که من میدونم توی خارج کشور جز کسایی که گول ماکروسافت رو خوردن زیاد با دات نت کار نمی کنن, آخه یکی نیست بگه ویندوز چیه که حالا برنامه نویسی واسه اون بخواد چی باشه.....
با شما شدیدا موافق هستم! الان هر بی سوادی یک کتاب VisualBasic.NET میخونه و شغل نون و آبدار در این کشور برای خودش پیدا می کنه! در صورتی که افرادی مانند من و خیلی های دیگه که اصلا ویندوز و مایکروسافت را قبول ندارند بیکار نشسته اند و در انجمن ها با طرفداران مایکروسافت بحث می کنند!


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

جاوا باید هم هیاهو داشته باشه! جاوا از پس هر کاری بر می آید ( این رو از من که جاوا کار می کنم قبول کنید )! همین پایتونی که شما باهاش پز میدید! تاحالا چندتا روبات رو تونسته کنترل کنه! چندتا وب سرور داریم که مبتنی بر پایتون باشه!!! چندتا شرکت بزرگ در دنیا هستند که از پایتون برای کارهای تجاری استفاده می کنند!! پایتون فقط یک زبان آموزشی است و بس! شما با پایتون نمی توانید یک وب سرور راه اندازی کنید!!! ضمنا جاوا هم در امور سازمانی و هم در امور معمولی کاربردهای فراوانی داره! تازه از این گذشته! در جاوا وقتی یک Application و یا یک Project رو می نویسی در نهایت یک فایل jar داری که همه جا می تونی انتقال بدی ( Windows, Unix, Linux, Mobile )! با یک کلیک ناقابل بر روی این فایل jar برنامه شما اجرا میشه! ولی پایتون چیِِ!
کمی عاقل باشید! دیگران را هم با حرف هاتون گمراه نکنید! ضمنا در حال حاضر جاوا داره پیشرفت زیادی می کنه! چرا؟؟؟ چون OpenSource شده!

موفق باشید.

Bayazee
شنبه 06 بهمن 1386, 17:56 عصر
سلام
دوست عزیز شما هم بدون داشتن اطلاعات کافی زبان پایتون رو زیر سوال بردید . تعصب بی جا هیچ موقع خوب نیست . به چند مورد مطرح شده در مورد پایتون جواب می دم . قصد از این پاسخ مقایسه پایتون با جاوا یا زبان دیگر نیست . نشون دادن فوق ستاره بودن پایتون هم نیست ! فقط به عنوان کسی که مدتی هست از این زبان استفاده می کنم مطالبی رو بیان می کنم که این زبان مطلوم واقع نشه !


همین پایتونی که شما باهاش پز میدید! تاحالا چندتا روبات رو تونسته کنترل کنه

خوب تعدادشو دقیقا نمی دونم ! اما امکانش هست ! برای مثال پروژه pyro یک ابزار بسیار حرفه ای برای این زمینه هست ! در زمینه های مختلف رباتیک و علوم وابسته کاربرد داره ! از شبیه ساز فوتبال گرفته تا هوش مصنوعی و ... !
http://pyrorobotics.org

پروژه هایی چون PyMite هم هستند . PyMite مفسر ۸ بیتی پایتون هست ! پس برنامه های پایتون می تونه در کنترلر ها وپ انواع سخت افزار های خاص ۸ بیتی و بالاتر استفاده بشه !
http://pymite.python-hosting.com

روش های بسیار دیگر هم هست که از گوگل می تونید تعدایشو پیدا کنید . اما برای نمونه یک پروژه عملی :

سخت افزاری برای رد یابی وسایل نقلیه بوسیله gps و gsm که از زبان پایتون استفاده می کنه :
http://www.hackaday.com/2007/08/18/python-on-the-telit-gsm-gps-module-vehicle-tracking


چندتا شرکت بزرگ در دنیا هستند که از پایتون برای کارهای تجاری استفاده می کنند!!

شرکت گوگل در موارد بسیار و مخصوصا در google map بسیار از این زبان بهره برده . سایت youtube با پایتون نوشته شده ! شرکت ها و سازمان هایی چون ناسا ، کنگره امریکا ، یاهو و ... از این زبان خیلی استفاده می کنند . شرکت هایی هم هستند که بصورت رسمی از این زبان حمایت می کنند . مثلا مایکروسافت در پروژه دات نت خود از پایتون با نام IronPython استفاده می کنه یا نوکیا این مفسر رو دوباره برای گوشی های خودش نوشته و ...


پایتون فقط یک زبان آموزشی است و بس! شما با پایتون نمی توانید یک وب سرور راه اندازی کنید!!!

ابدا ! پایتون یکی از بهترین زبان ها برای ایجاد پروژه های بزرگ هست ! برای مثال و در مقایسه با جاوا تعداد خطوط برنامه های یکسان تا ۱۰ برابر کمتر از جاوا هست ! نمونه هایی رو در بالا ذکر کردم که در اینترنت هم بسیار زیاد هست . با پایتون می شه وب سرور راه اندازی کرد ! راه اندازی وب سرور کار سختی نیست . اگر منظورتون نوشتن یک وب سرور با پایتون هست اونم می شه . لینک زیر رو ببینید :

http://www.pylearn.com/fa/wiki/index.php/Tricks:web_server

یک وب سرور نسبتا کامل فقط با یک خط دستور پایتون !! ببینید چند صد هزار خط کد باشه چی می شه :چشمک: چند پروژه وب سرور و سرور های مختلف با پایتون هست . تو اینترنت رو جستجو کنید .


در جاوا وقتی یک Application و یا یک Project رو می نویسی در نهایت یک فایل jar داری که همه جا می تونی انتقال بدی ( Windows, Unix, Linux, Mobile )! با یک کلیک ناقابل بر روی این فایل jar برنامه شما اجرا میشه! ولی پایتون چیِِ!

پایتون هم یک فایل py به شما می ده که روی تقریبا تمامی سیستم های موجود قابل اجراست ! بدون کوچکترین تغییری . در سیستم های مختلف می شه به فایل اجرایی مستقل هم تبدیلش کرد که بدون نیاز به مفسر اجرا بشه ! پس مثل جاوا نیازی نیست حتما مفسر نصب باشه !


کمی عاقل باشید! دیگران را هم با حرف هاتون گمراه نکنید! ضمنا در حال حاضر جاوا داره پیشرفت زیادی می کنه! چرا؟؟؟ چون OpenSource شده!

رو این حرفتون کمی فکر کنید ! کی گمراه می کنه و کی ... !! جاوا الان اپن سورس شده ولی پایتون از سال ۱۹۹۰ اپن سورس و آزاد هست !
لطفا در مواردی که اطلاعات کامل و کافی ندارید با قطعیت حرف نزنید و اونو زیر سوال نبرید ! من قصدم تعریف از پایتون یا بد گفتن از جاوا نیست . قصدم دفاع از حقوق پایمال شده یک زبان برنامه نویسی مظلوم !‌ و فوق العاده قوی و مناسب هست :چشمک:

amir222
شنبه 06 بهمن 1386, 19:27 عصر
والا من اصلا نفهمیدم که چی شد که بحث به این جور جاها کشید... قصد من راهنمایی کردن کسی بود که این تاپیک رو ایجاد کرد و تمام توضیحاتم هم برای کسی بود که قراره برای اولین بار "ب" برنامه نویسی رو شروع کنه.... نه شما که تو انجمن های مختلف نظراتتون رو خوندم.... شما کسی نیستی که من بخوام واسش از سختی ++C صحبت کنم, شما شاید حتی جای استاد من هم باشید....

در ضمن من همیشه سعی کردم در مورد چیزهایی که اطلاعات ندارم ابراز نظر نکنم. در مورد جاوا اونقدر اطلاعات دارم که به خودم این اجازه ی ابراز نظر رو بدم. در مورد پایتون هم نمی دونم چی بگم... چند سالی میشه که دارم باهاش به طور کامل کار میکنم (دقیقا وقتی نسخه ی 2.3 در اومد) و تا حد ناچیزی بلد هستم که آقای بیاضی من رو قابل بدونه و به عنوان یکی از کمک دست هاش بخوام تو سایتش فعالیت کنم. (User:AmirrezaGhaderi)

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

در ضمن من میدونم که پرل هنوز کاربرد داره. من میدونم که C و ++C هنوز کاربرد دارن و همچنین من هیچ کدوم از زبان هایی که باهاشون آشنایی دارم رو هم از روی منابع فارسی یاد نگرفتم هر چند که معتقدم همه ی منابع فارسی اونقدرها هم که میگن بد نیستن.

اما به هر حال من شرمندم که باعث ناراحتیتون شدم. من نمی خوام افرادی مثل شما رو که ممکنه روزی به کمکم بیان رو از دست بدم. در مورد داوری های صورت گرفته در این تاپیک هم به هر حال کاربران سایت می تونن خودشون نظر بدن.

Nima_NF
شنبه 06 بهمن 1386, 21:13 عصر
والا من اصلا نفهمیدم که چی شد که بحث به این جور جاها کشید...
شاید به این خاطر که شما چند خط اول صحبت ها تون را خوب شروع کردید (و در مورد python کاملا درست است و کسی هم خلاف آن هم نگفت ) بعد شروع کردید به نابود سازی تمامی زبان های قدرتمند دنیا.
برای نمونه:

تا اونجا که من میدونم توی خارج کشور جز کسایی که گول ماکروسافت رو خوردن زیاد با دات نت کار نمی کنن
C و ++C هم که دیگه هیچ کی حال و حوصله ی برنامه نویسی باهاشون رو نداره چون خیلی سختن و وقت میبرن البته در عوض کارایی بالایی دارن.....اما یک نکته را فراموش کردید ، آن هایی که از دات نت استفاده نمی کنند از چه زبان جایگزینی استفاده می کنند و اصلا چرا ؟

1) در آمریکا ، کانادا ، انگلیس و بسیاری مناطق دیگر دنیا که دنیای نرم افزار در سلطه آنان قرار گرفته ، برای محصولات تجاری بزرگ/متوسط هنوز از ++C/C استفاده می کنند ، حتی برای محصولات جدید خود (نکته ای که شما نادیده گرفتید) و دلیل آن هم چند مورد هست :
- مثل نیاز به کیفیت بالا ، حتی به خاطر تفاوت چند در صد اندک در ازای کار بیشتر.
- و یا نیاز به cross-platform بودن نرم افزار ها در دنیای امروز .

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

2) در کشوری مثل آلمان ، به میزان بسیار بالا از java استفاده می کنند (که شاید برای خیلی ها معقول نباشد)

در سایر کشور ها هم به همین شکل بنا به نیاز و دلایل خودشان ، شرکت ها ، سازمان های دولتی یا غیر دولتی ، زبان خودشان را انتخاب می کنند نه از روی تعصب یا میزان تعداد کاربران آن.

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

در هر صورت امیدوارم اینگونه بحث ها ادامه پیدا نکند تا مجبور به قفل کردن آن نباشم.

unix_svr4
شنبه 06 بهمن 1386, 21:15 عصر
آقای بیاضی عزیز من از رفتارم معذرت می خواهم.
همه اینهایی که شما میگین درست! ولی وقتی که من به یک پروژه پایتون و سورس های آن نگاه می کنم یاد کدهای Basic می افتم! خیلی ساده به نظر میرسند! ولی قدرتی ندارند! به نظر غیر حرفه ای می آیند. ( شاید هم چون من تا به حال با این زبان کار نکرده ام این احساس رو دارم ).

پایتون هم یک فایل py به شما می ده که روی تقریبا تمامی سیستم های موجود قابل اجراست ! بدون کوچکترین تغییری . در سیستم های مختلف می شه به فایل اجرایی مستقل هم تبدیلش کرد که بدون نیاز به مفسر اجرا بشه ! پس مثل جاوا نیازی نیست حتما مفسر نصب باشه !
بله درسته! ولی این در صورتی است که برنامه ما فقط یک ماژول داشته باشه! اگر چند تا داشته باشه چی؟؟؟؟ ضمنا تبدیل کردن به فایل اجرایی در سیستم عامل های مختلف قابلیت Port شدن برنامه را از آن سلب می کند ولی در جاوا اینطور نیست! در جاوا اگر برنامه شما 100 تا فایل class هم داشته باشه در نهایت یک فایل jar خواهید داشت!
پیشنهاد می کنم مقاله چگونه هکر شویم را مطالعه فرمایید.
این مقاله در سایت Technotux.org موجود می باشد.

موفق باشید.

amir222
شنبه 06 بهمن 1386, 22:06 عصر
البته آقای بیاضی احتمالا بسته های egg رو فراموش کرده بودند که معادل همون فایل های Jar در جاوا هستند با این تفاوت که بسته های egg پایتون به مراتب کنترل بیشتری روی سیستم عامل و برنامه دارن. تو حالت دیگه میشه یه بسته ی egg رو چیزی بین jar و deb معرفی کرد.

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

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

Inprise
شنبه 06 بهمن 1386, 22:16 عصر
ولی وقتی که من به یک پروژه پایتون و سورس های آن نگاه می کنم یاد کدهای Basic می افتم! خیلی ساده به نظر میرسند! ولی قدرتی ندارند! به نظر غیر حرفه ای می آیند. ( شاید هم چون من تا به حال با این زبان کار نکرده ام این احساس رو دارم ).

کاری به غیرفنی بودن این جملات ندارم . جمله و ادبیات به وضوح عمق سواد رو نشون میدن .
کافی هست که بدونی در گوگل - فقط به عنوان نمونهء مورد علاقهء من - برای سالها جاوا تنها محیط مورد استفاده بود و حالا برنامه های گوگل عمدتا با پایتون نوشته میشن . وبلاگ گوگل رو یک نگاهی بنداز . یکی از دوستان ( و هم کلاسی دورهء ارشد ) من که سه سال قبل استخدام گوگل شد الان دو سال است که تمام وقت پایتون مینویسه . مهمترین ابزارهای مهندسی معکوس که این روزها من به شخصه ازشون استفاده میکنم ( Canvas - PaiMei - Immunity Debugger ... ) و بخش مهمی از ابزارهای جانبی ای که این روزا در جامعه مهندسی معکوس و هکینگ و ... متداول هستند با پایتون نوشته شدن . پایتون یک زبان فوق العاده قدرتمند و پر طرفدار هست .


ولی این در صورتی است که برنامه ما فقط یک ماژول داشته باشه! اگر چند تا داشته باشه چی؟

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


ضمنا تبدیل کردن به فایل اجرایی در سیستم عامل های مختلف قابلیت Port شدن برنامه را از آن سلب می کند

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


پیشنهاد می کنم مقاله چگونه هکر شویم را مطالعه فرمایید.

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

با توجه به اینکه سالها قبل با جاوا برنامه مینوشتم ( به اقتضاء شرایط ) دوستان جاوا کار زیادی دارم نه فقط در ایران . جالب هست بدونید که تعداد قابل توجهی از برنامه نویسهای جاوا ، به سمت زبانهائی مثل پایتون و روبی متمایل شدن . اگر اهل گشت و گذار روی سایتهای فعال پایتون و روبی باشید هم این رو دیدید و حس کردید . خودم هم این روزا برای کارهای ساده شخصی ام از روبی استفاده میکنم . شاید چون هزینهء توسعه با جاوا برای وظایف کوچک خیلی بالاست ، من واقعا یکی از مسائل خیلی ساده ای که امروز با حدود 40 خط روبی حلش کردم رو در عین تسلط به جاوا باید صدها خط براش مینوشتم . ارزش جاوا در Framework ها و سازمان و سازکار جامعه جاوا برای توسعه ابزارها و کتابخانه های مفید برای توسعه سازمانی بوده . روبی کارهائی که امروز میشناسم و سایتها و وبلاگهاشون رو میبینم و میخونم بدون استثناء قبلا جاوا کار بودند . در مورد پایتون هم وضعیت خیلی متفاوت نیست . پایتون یک زبان سطح بالا با تاریخچه طولانی ای هست . من حتی یه سری برنامه روی گوشی موبایلم دارم که با پایتون نوشته شدن ( یکی از بچه ها در یک بخش دیگه مشغول جمع کردن یه همچین چیزهائی هست که اگر ادامه پیدا کنه کار خوبیه )

پرل با بقیه زبونها یک تفاوت خیلی مهم داره . چون توسعه پرل همراه با توسعه یونیکس بوده و به دلائل مختلف مهمترین ابزار دست مدیران سیستم و هکرها و ...بوده از مسیرهای مختلفی رشد کرده . کتابخانه های "فوق العاده زیاد"ی داره که از هیچ الگوی مشخصی تبعیت نمیکنن . ساختارش شی گرا نیست ، هر چند که میشه باهاش برنامه شی گرا نوشت ، مثل PHP ( و بر خلاف روبی و پایتون و ، البته جاوا ) همین مسئله باعث چند مشکل میشه :

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

امکانی در پرل وجود نداره که در سایر محیطها نباشه ، و مطلقا ویژگی ای نداره که سایرین ازش بی بهره باشن . اما پرل یک جور Legacy داره . سالهای سال زبان شماره یک یونیکس بوده ، اسکریپتهای زیادی باهاش/براش نوشته شده . خیلی از برنامه نویسهای قدیمی ، مدیران سیستم باهاش آشنا هستن و نمونه کد و مثالهای زیادی هم براش هست . این مسئله باعث شده پرل محو نشه ، ولی این اتفاق میفته . وقتی زبانهای برنامه نویسی برای کسب مخاطب بیشتر با چنگ و دندون به اضافه کردن امکان و ارائه خلاقیت مشغول هستن ، Legacy عمر زیادی نداره .

در کل در این تاپیک در مورد پرل و جاوا و پایتون و ...حرف زده شد . توصیه کردن ساده هست و بی فایده . واقعا این مسئله به عوامل زیادی بستگی داره که خود فرد مهمترینشه . اما من این توصیهء ساده و بی فایده رو میکنم . اگر میخواهی زبان برنامه نویسی جدیدی رو یاد بگیری ، از پایتون یا روبی شروع کن . خیالت جمع باشه که اینکار رو بدون حداقل یک دانش محدود از C نمیتونی انجام بدی ، پس اینم روش . حالا که هر کسی تجربه شخصیش رو هم اضافه میکنه اینم نظر من : به عنوان کسی که چند زبان رو بلده و مدت زیادی با اینها برنامه نوشته بهت میگم عمرت رو در یاد گیری چندین زبان و شیطونی کردن بین سی و دات نت و جاوا و دلفی و پایتون و ...تلف نکن . عاقبت پشیمون میشی . خوب هست که یک زبان مناسب که به اندازه "کافی" ( = وابسته به نیازت ) امکان داشته باشه رو انتخاب کنی و با همون بری جلو . پایتون و روبی روی سیستمهای عامل مختلف اجرا میشن . با جاوا و دات نت به عنوان دو زیر سیستم جدی رابطه خوبی دارن ، امکانات گرافیکی ، شبکه ای و دیتابیستی فوق العاده خوبی دارن . پایتون روی وب چندان قوی نیست ، هر چند که فریم ورکهای خوبی داره ، ولی متقابلا روبی با ریلز روی وب بی نظیره اما روبی خیلی خیلی کندتر از پایتون هست . شاید زبانهای مطرح دیگری هم باشن که اونها هم این مزایا رو داشته باشن و من نمیدونم .

amir222
شنبه 06 بهمن 1386, 22:40 عصر
پایتون روی وب چندان قوی نیست

البته من خودم که چن سالی میشه دارم با پایتون کار میکنم فکر میکنم پایتون روی وب خیلی قوی تر و البته جذاب تر از طرف دسکتاپ خودشه. پایتون Zope , TG , Pylons و صد البته Django و خیلی چیزهای دیگه رو برای وب داره. اما مساله ی وب دیر به فکر پایتون افتاد. شایدم به فکرش افتاده بود اما انقلابی که تو اون سال ها PHP راه انداخته بود به کسی اجازه نمی داد که بخواد در مورد چیز دیگه ای فکر کنه. بعد این همه مدت تازه الآن که تقریبا خیلی ها از PHP دلسرد شدن دارن یاد پایتون و روبی میفتن.

illegalyasync
سه شنبه 09 بهمن 1386, 12:10 عصر
مهمترین مزیت زبونهایسطح بالا ( پایتون و روبی ) این هست که سرعت انجام کارها رو خیلی بالا میبرن من از روز اول که الفبای برنامه نویسی رو یاد گرفتم تا این اواخر بعد از چندین سال کار نه با زبانی غیر از C کار کردم نه اعتقاد داشتم لازمه طرف چیزی برم اما طی این چندماه که با پایتون کار میکنم دیگه واقعا برام سخته یک پروژه سی رو شروع کنم ! تو بعضی از موارد نمیشه از این زبانها استفاده کرد چون برای کار سطح پائین یا کار با پرفورمنس بالا طراحی نشدن اما برای بقیه حالت ها ایده آلن :)

saeed_Z_F
سه شنبه 09 بهمن 1386, 17:07 عصر
سلام
من تصادفی این تاپیک رو مشاهده کردم ولی اونقدر برام جذاب بود که تا آخرشو خوندم . دستتون درد نکنه .

kebriamafia
دوشنبه 09 دی 1387, 21:06 عصر
تا حالا بحث به ابن داغي و جالبي نديدم.من از بيسيک شروع کردم و با وي‍وال بيسيک ادامه دادم.
بعد با اوپن سورس آشنا شدم و شروع به کار با PHP و My sql شدم.بعد با ++C آشنا شدم.الان هم دارم در مورد پايتون تحقيق ميکنم . ++ C رو بخاطر اين ميخوام بخونم تا بتونم تو لينوکس بکارش ببرم .الان سوالم اينه که آيا فقط با ++ C ميشه تو لينوکس دستکاري کرد .يا با پايتون هم ميشه . آيا پايتون قدرت ++ C رو داره ؟
با تشکر

Mehdi Asgari
دوشنبه 09 دی 1387, 21:29 عصر
منظورت از قدرت چیه ؟
قدرت در دسترسی به منابع سیستم ؟ قدرت به عنوان پرفورمنس اجرا ؟ قدرت به معنی سریع تر انجام دادن امور ؟
اصلا این دو قابل مقایسه نیستن .
مثل این می مونه که بخوای اره مویی رو با اره برقی مقایسه کنی. هیچ کدوم قوی تر از دیگری نیستن چون اصلا قابل مقایسه نیستن. هر کدوم موارد استفادۀ خاص خودشون رو دارن

منظورت از دسترسی چیه ؟ اگه میخوای کد کرنل رو بخونی و بفهمی باید سی بلد باشی (و اسمبلی)
اگه صرفا میخوای برنامه بنویسی ، بله میتونی از پایتون در لینوکس استفاده کنی

saeed.afshari
دوشنبه 09 دی 1387, 22:19 عصر
چند نکته:
در حال حاظر قابلیت خوانایی(readability) کد خیلی مهمتر از قابلیت نوشتاری(writability) اونه.(البته اگه نخوای هکر بشی)
پرل زبانی با writability بالا و readability پایینه,پس من توصیه می کنم که دنبال زبانی بری که نحو ساده ای داشته با شه و کدهاشم خوانا و قابلیت نگهداری باشه.
بعضی مواقع پرل کارا کدهایی که خودشون نوشتن رو نمیتونن بخونن.
به قول یه عزیزی مشکلات پرل عبارتند از:
-قابلیت خوانایی پایین
-قابلیت نگهداری پایین

Bayazee
سه شنبه 10 دی 1387, 17:22 عصر
صرف سرعت اجرای چند برنامه توسط یک زبان دلیل بر برتری اون زبان نمی تونه باشه . اگر اینطوری می بود دیگه زبانی بجز اسمبلی بوجود نمی اومد چون سریعترین زبان ممکنه هست !! برنامه نویس و کاربر در ازای از دست دادن کمی سرعت ، بسیاری ویژگی جدید رو بدست می یارن . زبان چون بیسیک یک زبان ابتدایی هست و شاید مناسب پروژه های بسیار گسترده و پیچیده نباشه . بیسک امکانات بسیار کمی داره و دست برنامه نویس هم باز نیست پس معلومه سریعتر اجزا می شه . برای هر تعریف متغییر در پایتون کلی کد اضافی اجرا می شه و در نتیجه سرعت کمی پایین می یاد . از طرفی با روش هایی می شه سرعت اجرای برنامه های پایتون رو بسیار بهتر کرد . حتی در مواردی نزدیک زبان هایی چون c . اینم در نظر داشته باشید که در اکثر مواقع این الگوریتم هست که روی سرعت اجرا تاثیر داره .

Mehdi Asgari
چهارشنبه 11 دی 1387, 02:39 صبح
Perl: The only language that looks the same before and after RSA encryption
Keith Bostic

ali32n70
پنج شنبه 19 دی 1387, 21:30 عصر
سلام نظر من اینه
از زبان برنامه نویسی که مفسر خاص بخواد یعنی بیوا سته اجرا نشه حالم بهم میخوره
یعنی چی که صبر کن برم فریم ورکش رو بیارم بعد برنامه اجرا بشه
ولی مثل اینکه زورکی باید یکی رو انتخاب کرد ولی کدومش رو ؟
ایران + تجاری = دات نت
کنترل سیستم = ؟
------------------------------------------------------------------------
در دلم بود که بی دوست نمانم هرگز چه توان کرد که کار من و دل باطل بود
بی دوست = برنامه نویسی که بتواند ابزار بدرد بخور بنویسد

mkajbaf
جمعه 28 آبان 1389, 08:54 صبح
سلام نظر من اینه
از زبان برنامه نویسی که مفسر خاص بخواد یعنی بیوا سته اجرا نشه حالم بهم میخوره
یعنی چی که صبر کن برم فریم ورکش رو بیارم بعد برنامه اجرا بشه
ولی مثل اینکه زورکی باید یکی رو انتخاب کرد ولی کدومش رو ؟
ایران + تجاری = دات نت
کنترل سیستم = ؟
------------------------------------------------------------------------
در دلم بود که بی دوست نمانم هرگز چه توان کرد که کار من و دل باطل بود
بی دوست = برنامه نویسی که بتواند ابزار بدرد بخور بنویسد

من فقط به خاطر اين پست وارد بحث شدم كه شما حالت بهم نخوره.
اگر مشكل استفاده از فريم ورك داري؛ خوب پايتون رو كامپايل كن.
مي‌خواي دات نتي باشه؟ خب پايتون رو براي دات نت كامپايل كن.
مي‌خواي بايت كامپايل كني؛ فايل .pyc هست، استفاده كن.
مي‌خواي بايت كامپايل براي جاوا باشه؛ خوب JPython استفاده كن.
ديگه چي مي‌خواي عزيزم؟:متفکر:

اگر مي‌خواي برنامه تجاري توي ايران بنويسي، باز هم پايتون كار كن. فقط چند خط سي شارپ بزن تنگش، بگو سي شارپ نوشتم. بچه‌هاي ما كه همون چند خط سي شارپ رو هم نمي‌زدن تنگش.
اما براي كنترل سيستم، من فقط پايتون رو پيشنهاد مي‌كنم. فوقش بايد يه كتابخانه سي پيدا كني كه ارتباطت رو برقرار كنه؛ اگر بلد نباشي خودت بنويسي.

براي شبكه، غير از پايتون پيشنهادي نمي‌دم. يه سوكت ايجاد كن، پيام بده، پيام بگير. يا حتي بهتر، يه سرور HTTP ايجاد كن، بر اساسش وب سرويس بده.

---------

خوبي پايتون، به خاطر وجود ابزارها و اشياء از پيش آماده نيست. دات نت هم شيء و ابزار زياد داره. بلكه، در پايتون راحت مي‌توني ابزار جديدت رو طراحي كني.
درباره هدفت فكر كن، بهش تو ذهنت ساختار بده، ساختارت رو عين باقلوا به پايتون بنويس و بدون دغدغه سمي‌كالن، ديباگ كن!
در واقع، تفكري كه پشت طراحي پايتون بوده، 1- سادگي استفاده از ابزار موجود و 2- تبديل ساده فكر به كد هست.

مثال مي‌زنم. همين وب سرويس كه بالا همين طوري نوشتم.

براي توليد يه وب سرويس از صفر در پايتون؛ چند مرحله كار داريم.

1- لازمه يه wrapper براي سوكت بركلي بنويسيم كه به سادگي در پايتون ممكنه. (و البته كتابخانه‌اش آماده است)
2- بعدش بايد يه سرور طراحي كني كه بر اساس سوكت‌ها، يه پورت باز كنه و ديتا منتقل كنه (البته اينهم آماده هست)
3- بعد، يه سرور http بايد بنويسي كه روي پورت 80 سرويس بده و چندتا دستور پايه وب رو داشته باشه: option، get، head، post (كه اينهم آماده هست)
4- كتابخانه‌ي xml هم كه آماده هست؛ ولي پردازش متن هم در پايتون راحته.
5- در نهايت، وب سرويست رو بنويس.
:قلب:

به همين سادگي كه 5 مرجله بالا رو "نوشتم" و به همين خوشمزگي كه شما اين 5 مرحله رو "خوندي"؛ واقعا كد نويسي پايتون (حتي اگر بخواي از صفر شروع كني)،همينقدر ساده است، يعني باقلواست!
حالا در نظر بگيريد كه در پايتون، مراحل 1 تا 4 آماده هست؛ با كدهاي باز و بسيار سبك.
كافيه ماژولهاي httpserver و xml در پايتون رو بلد باشيد؛ و فقط به وب سرويستون فكر كنيد!

كارآييش هم به دليل اينكه پردازش‌هاي روي ساختارهاي داده موجود (كه بسياري از نيازها رو برآورده مي‌كنه) به زبان سي نوشته شده؛ بسيار بالاست.:بوس:
به اینجا (http://rooz-e-no.blogspot.com/2010/11/blog-post.html)هم سر بزنید.

black phoenix
جمعه 23 دی 1390, 20:47 عصر
بهترین زبان برای شروع برنامه نویسی به تایید برنامه نویسان دنیا پایتونه
یادگیریه این زبان علاوه بر اینکه باعث میشه زبان های مطرح دیگه رو خیلی راحت تر یاد بگیرید منطق برنامه نویسی رو هم به شما یاد میده.
با وجود اینکه خیلی آسونه و کد های تمیزی داره به قول اریک ریموند اسباب بازی نیست و برنامه های خیلی بزرگی باهاش نوشته میشه.
کسانی که رو پایتون تعصب دارن معتقدن که با یاد گرفت پایتون دیگه احتیاج به هیچ زبانی ندارید که گمون نمی کنم این طور باشه .

IamOverlord
دوشنبه 26 دی 1390, 03:31 صبح
حتما این دو تا رو ببینید:

مقایسه ی Python و PHP (http://codepleasure.blogfa.com/post-19.aspx)
مقایسه ی Python با زبان های دیگر (http://codepleasure.blogfa.com/post-20.aspx)

ASedJavad
پنج شنبه 29 دی 1390, 06:38 صبح
میتونید یه مثال کامل از پایتون بذارید که قابلیتاش رو نشون بده؟
مثلا یه فایل که با پایتون نوشته شده و تبدیل شده به اگزه و ...

aminghaderi
پنج شنبه 29 دی 1390, 19:14 عصر
سلام
من تصادفی این تاپیک رو مشاهده کردم ولی اونقدر برام جذاب بود که تا آخرشو خوندم . دستتون درد نکنه .
با سلام خدمت دوستان و اساتید عزیز و عرض تشکردارم بابت تاپبک پر بار که توسط شما ها ایجاد شده.
حقیقت امر من C#‎‎‎ کار هستم و تخصصم هم Asp.Net هست.
ولی چند وقتی هست دستم بسته شده ، دیگر مثل سابق کارهایی که می خواهم انجام دهم نمی تونم پیاده سازی کنم و این اتفاق ظاهرا با رشد علمی من بوده (البته همچین علمی هم نیست.) و اینکه نیاز بیشتر دارم که به لایه های داخلی .NET ورود پیدا کنم. خلاصه قرار رویه برنامه نویسی رو تغییر بدهم به یه زبان قوی تر و ایدال تر کوچ کنم.
سه مرورد رو بررسی و کاندید کردم :

C++‎‎‎.
Python .
Java.


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

عده‌اي GPL‌ رو يك نوع سرطان مي‌دونند؛ از اين لحاظ كه اگر طرف اون رفتيد بايد كل برنامه خودتون رو سورس باز ارائه بديد. به همين جهت كساني كه كار تجاري انجام مي‌دهند از طرف سورس‌هاي پروژه‌هاي مبتني بر GPL رد هم نمي‌شوند.
http://www.dotnettips.info/2011/06/wtfpl.html
2- قابلیت مستقل از سکو و فریم ورک خاصی ، حالا اگر مربوط به زات زبان باشه و بعد از کامپایل دیگه به اون نیاز نداشته باشه هم می شه یکاریش کرد ولی مثل دات نت که وابسه به فریم ورک خودش هست و همچنین به زبان میانی کامایل می شه ، از دید من خیلی ناجور هست ، می خواهم ترجمه برنامه ها به زبان ماشین باشه.
3- امنیت سورس کد ها ، الان از خیلی از اساتید شنیدم تمام نوع کد ، حتی ماشین رو هم به کد قبلی بر می گردونند ، نمی دونم من که گیج شدم ، شخصا کد C#‎‎‎ رو به زبان میانی برگرداندم ، ولی خوب نتونستم ازش سر در بیارم ، حالا می گن به زبان ماشین هم در می یارند ؟! این طور باشه خیلی ناجور هست.
4- IDE خوب و شفاف ، که اجازه بررسی سورس کد های کلاس ها و توابع و حتی موتور IDE رو به برنامه نویس بدهد ، قابل اعتماد هم باشه ، داشته باشه.
5 - به توسعه دهنده هم اجازه اجازه کار در هر سطی رو بدهد .(سخت افزاری :ثبات های CPU نرم افزاری : بررسی Token های شبکه سیستمی هم : مچ بودن با سیستم عامل های مختلف ، ویندوز ، لینوکس ، مک).

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

با تشکر فراوان.

ehp_kz6597
جمعه 30 دی 1390, 09:39 صبح
سلام
شما بوسیله IronPython میتونید از قابلیتهای پایتون در سی شارپ استفاده کنید به این ترتیب با کمترین هزینه (جهت انتقال به زبان جدید) ، بهترین کارایی رو میتونید داشته باشید
در این زمینه کتاب Professional IronPython (http://www.amazon.com/Professional-IronPython-Wrox-Guides/dp/0470548592) میتونه مفید باشه

aminghaderi
جمعه 30 دی 1390, 22:07 عصر
سلام
شما بوسیله IronPython میتونید از قابلیتهای پایتون در سی شارپ استفاده کنید به این ترتیب با کمترین هزینه (جهت انتقال به زبان جدید) ، بهترین کارایی رو میتونید داشته باشید
در این زمینه کتاب Professional IronPython میتونه مفید باشه
ممنون از پاسختون .
ولی برای من دشواری کار و یا صرفا استفاده از پایتون مهم نیست ، مهم برای من شناخت هست ، که خوب اساتید و دوستان یا سوال منو ندیدند یا تمایلی به پاسخ ندارند ، حالا دلیل این موضوع رو من نمی دونم.
فکر می کنم قوی ترین همون ++C هستش با توجه به توضیحاتی که دوستان در تالار C/++C فرمودند.
++C قابلیت های زیر رو دارد :

زبان ایدال از نظر من :
1- وابستگی تجاری نداشته باشه (ترجیحا متن باز باشه) مجوز استفاده اون هم ، مجوز بدرد بخوری باشه : مجوزی باشه که فردا بعد تولید نرم افزار درگیر مجوز ها و...نشیم .
می دونم توی ایران زیاد مجوز رو تحویل نمی گیرند ولی برای من شخصا مهمه و اینکه تحت وب هم کار می کنم امکان بلاک شدن هم هست و هر اتفاقی که من ازش بی خبر هستم ، به هر حال مهمه.
به نقل از سایت مهندس نصیری :
عده‌اي GPL‌ رو يك نوع سرطان مي‌دونند؛ از اين لحاظ كه اگر طرف اون رفتيد بايد كل برنامه خودتون رو سورس باز ارائه بديد. به همين جهت كساني كه كار تجاري انجام مي‌دهند از طرف سورس‌هاي پروژه‌هاي مبتني بر GPL رد هم نمي‌شوند.
http://www.dotnettips.info/2011/06/wtfpl.html
2- قابلیت مستقل از سکو و فریم ورک خاصی ، حالا اگر مربوط به زات زبان باشه و بعد از کامپایل دیگه به اون نیاز نداشته باشه هم می شه یکاریش کرد ولی مثل دات نت که وابسه به فریم ورک خودش هست و همچنین به زبان میانی کامایل می شه ، از دید من خیلی ناجور هست ، می خواهم ترجمه برنامه ها به زبان ماشین باشه.
3- امنیت سورس کد ها ، الان از خیلی از اساتید شنیدم تمام نوع کد ، حتی ماشین رو هم به کد قبلی بر می گردونند ، نمی دونم من که گیج شدم ، شخصا کد C#‎‎‎‎ رو به زبان میانی برگرداندم ، ولی خوب نتونستم ازش سر در بیارم ، حالا می گن به زبان ماشین هم در می یارند ؟! این طور باشه خیلی ناجور هست.
4- IDE خوب و شفاف ، که اجازه بررسی سورس کد های کلاس ها و توابع و حتی موتور IDE رو به برنامه نویس بدهد ، قابل اعتماد هم باشه ، داشته باشه.
5 - به توسعه دهنده هم اجازه اجازه کار در هر سطی رو بدهد .(سخت افزاری :ثبات های CPU نرم افزاری : بررسی Token های شبکه سیستمی هم : مچ بودن با سیستم عامل های مختلف ، ویندوز ، لینوکس ، مک).

فقط گزینه 3 رو نتونسته زیاد کنترل کنه ولی خوب از زبانی های دات نتی بهتر هست.

ehp_kz6597
شنبه 01 بهمن 1390, 08:54 صبح
سلام
خب بستگی داره کلمه قدرت رو چطور برداشت کنیم .
انگار شما بیشتر بین جاوا و سی پلاس مرددی ؟
اینجا (http://barnamenevis.org/showthread.php?203763-%D8%AA%D9%81%D8%A7%D9%88%D8%AA-%D8%B2%D9%85%DB%8C%D9%86%D9%87-%D9%87%D8%A7%DB%8C-%DA%A9%D8%A7%D8%B1%DB%8C-%D8%AC%D8%A7%D9%88%D8%A7-%D9%88-%D8%B3%DB%8C-%D9%BE%D9%84%D8%A7%D8%B3-%D9%BE%D9%84%D8%A7%D8%B3)رو دیدید ؟ فکر کنم مفید باشه
ولی همیشه قدرتمند بودن به معنای بهترین بودن نیست .
البته فرقی زیادی نمیکنه که کدوم یکی از این دو زبان رو انتخاب کنید چون در هر دو صورت پایتون در کنارشماست :لبخند:
پایتون این قابلیت رو داره که همراه با زبانهای متعددی مورد استفاده قرار بگیره . پس یه پیشنهاد کوچولو : چه سی پلاس و چه جاوا ، هرکدوم رو که انتخاب کردید درکنارش پایتون رو هم کار کنید . مطمئن باشید پشیمون نمیشید
جواب به این سوال تو جمع دوستداران پایتون از این بهتر درنمیاد :چشمک:
شاد باشید

dodvaod
چهارشنبه 05 بهمن 1390, 23:56 عصر
والا من اصلا نفهمیدم که چی شد که بحث به این جور جاها کشید... قصد من راهنمایی کردن کسی بود که این تاپیک رو ایجاد کرد و تمام توضیحاتم هم برای کسی بود که قراره برای اولین بار "ب" برنامه نویسی رو شروع کنه.... نه شما که تو انجمن های مختلف نظراتتون رو خوندم.... شما کسی نیستی که من بخوام واسش از سختی ++C صحبت کنم, شما شاید حتی جای استاد من هم باشید....

در ضمن من همیشه سعی کردم در مورد چیزهایی که اطلاعات ندارم ابراز نظر نکنم. در مورد جاوا اونقدر اطلاعات دارم که به خودم این اجازه ی ابراز نظر رو بدم. در مورد پایتون هم نمی دونم چی بگم... چند سالی میشه که دارم باهاش به طور کامل کار میکنم (دقیقا وقتی نسخه ی 2.3 در اومد) و تا حد ناچیزی بلد هستم که آقای بیاضی من رو قابل بدونه و به عنوان یکی از کمک دست هاش بخوام تو سایتش فعالیت کنم. (User:AmirrezaGhaderi)

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

در ضمن من میدونم که پرل هنوز کاربرد داره. من میدونم که C و ++C هنوز کاربرد دارن و همچنین من هیچ کدوم از زبان هایی که باهاشون آشنایی دارم رو هم از روی منابع فارسی یاد نگرفتم هر چند که معتقدم همه ی منابع فارسی اونقدرها هم که میگن بد نیستن.

اما به هر حال من شرمندم که باعث ناراحتیتون شدم. من نمی خوام افرادی مثل شما رو که ممکنه روزی به کمکم بیان رو از دست بدم. در مورد داوری های صورت گرفته در این تاپیک هم به هر حال کاربران سایت می تونن خودشون نظر بدن.
با سلام
مجادله در علم وقتي منظور سازندگي باعث پيشرفت اون علم و افرادي ميشه كه بحث ميكنند
حالا اگه كسي در اين بين از حرفهاي ديگران ناراحت بشه به ضرر خودشه ! افراد ثابت قدم و مصمم دنبال رو هستند
براي همه دوستان آرزوي موفقيت دارم.