سلام
اولاً باز این پیر انجمن VB ما را آب کرد!
دوماً
چشم! ما پیرمرد حرف گوش کنی هستیم ولی باور کنید با پایتون شفیق شما مشکلی ندارم!
عزیز جان من نمیخواهم بحث کنم ولی چون خودتان گفتید من مثالهایی اندک از قابلیت ها و تعداد خطوط برنامه نویسی را می آورم به هر کدام شک داشتید بگویید تا کدش را بگذارم ولی قبول کنید که الآن کدها زیاد میشود.
من که از اول هم قصد کوبیدن پایتون شفیقتان را نداشتم ولی به شما پیشنهاد میکنم اگر خواستید چیزی را بکوبید دست روی قوی ترین نقطه قوت آن نگذارید!!!!!
...
سلام
مرسي از جوابتون . اولا بگم كه قصد من از دفاع از پايتون نظرات شخصي بنده نيست ! كه هيچ وقت دوست ندارم نظراتم تحميل بشه ! فقط از اينكه مي بينم هم وطنانم تب زبانهاي بسته مايكروسافت رو دارند كه واقعا اونارو به يك مصرف كننده صرف تبديل مي كنه ناراحت مي شم ! نمي دونم خبرد دار بوديد يا نه مايكروسافت در فكر ايجاد استاندارد ها و قوانيني هست كه ضربات جبران ناپذيري رو ممكنه در پي داشته باشه ! فرمت تمامي نرم افزار هاي خودشو كاملا مخفي و انحصاري خواهد كرد ! در اين بين خيلي ها از آزادي موجود در تكنولوژي هاي آزاد و مزيت هاي اون باخبر نيستند . پس اين وظيفه افرادي مثل من هست كه بيام اينجا بحث كنم و براي مثال زباني مثل پايتون كه مظلوم واقع شده دفاع كنم ! وگرنه بيكار نيستم كه الكي اينجا بحث كنم . من با چند تا شركت نرم افزار همكاري مي كنم و شديدا مشكل زماني دارم با اين وجود اينگونه بحث هارو وظيفه خودم مي دونم . از شما و بحث شما هم ممنونم .
در مورد بحث كوتاه بودن بحث روي ساينتكس هست نه چند مثال خاص ! من اين مثال هاتونو ديدم . در 90 درصد موارد كدهاي پايتون مي تونه كوتاهتر باشه ! حالا بحثي ندارم شايد بشه يك بخشي از كد رو به عنوان يك ماژول نوشت و بعد ادعا كرد كه من فلان برنامه رو در يك خط نوشتم ! يا از ماژول ها و كتابخانه هايي كه در خود كتابخانه هاي زبان نيستند استفاده كرد ! اين بحث بحث جالبي هست و در زبان پايتون روش زياد كار شده ! شايد براي بسياري يك بحث بي اهميت و حتي مسخره و بچه گانه بياد ولي مبحثي در پايتون هست به نام Python One Liners كه سعي مي كنه هر برنامه اي رو در يك خط بنويسه ! و اين رو در سطح ساينتكس انجام مي دن نه با استفاده از ماژول ها و توابه آماده ! در اين حالت كد باز هم قابل فهم و واضح (حداقل براي برنامه نويس آشنا به زبان پايتون !) هست . چند مثال :
1. كد زير نام يك فايل رو به عنوان پارامتر هنگام اجرا مي گيره . فايل رو باز مي كنه . اونو مي خونه . سپس با منطق ------ اونو رمزگشايي مي كنه و دوباره در فايل جديدي كه اونرو هم از ترمينال و به عنوان پارامتر گرفته ذخيره مي كنه !
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اين البته يك كد معمولي هست كه شايد در زبانهاي ديگه هم بشه همچين كاري كرد .
2. كد تك خطي زير :
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
خروجي :
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
كه تا 128 بيت چاپ مي كنه .
و مثال هاي زياد كه مي تونيد از گوگل پيدا كنيد . اما اين مختصر بودن از ساينتكس هست ! نمي دونم منظورمو مي تونم برسونم يا نه ! براي مثال در پايتون اومده تگ هايي چون اكولاد يا لغاتي چون begin و end رو كه نشون دهنده شروع قطعه كد و خاتمش هست رو برداشته ! و بجاش از تو رفتگي استفاده مي كنه ! پس كد كوتاهتر شده و برنامه نويسي سريعتر مي شه ! در ضمن طرف مجبوره برنامه هايي زيبا بنويسه ! نمي شه همينطوري كد هارو زير هم نوشت رفت جلو ! كد ها حتما خوانا خواهند بود چون يك قانونه ! روشهاي بسياري هم براي مختصر نويسي هست ! براي مثال چند نمونه بسيار زيبا و كاربردي رو توضيح مي دم .
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
فكر مي كنم توضيح زيادي نخواد ! اعداد زوج تا 100 رو چاپ مي كنه . به امكان ادغام حلقه و شرط توجه داريد ؟ به اين مي گم مختصر نويسي لحاظ شده از لايه ساينتكس كد !
آخرين مثال ! كد زير رو در نظر بگيريد :
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اين كد طول لغات موجود در جمله رو حساب كرده و چاپ مي كنه . خروجي :
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اين كد مي تونه حاصل كار كسي باشه كه تازه پايتون ياد گرفته ! اما كسي كه آشنايي خوبي با اين زبان داره شايد همچين چيزي بنويسه :
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
همونطور كه مي بينيد منطق و ساينتكس زيان هست كه روشهايي براي مختصر نويسي فراهم مي كنه ! و در اين خلاصه نويسي بر خلاف زباني چون پرل خوانايي برنامه حفظ مي شه !و اين واقعا يك هنره !
حالا ممكنه در زباني مثل ...دات نت ماژولي باشه كه با يك تابع يا API تاريخ شمسي امروز رو بده ! خوب اين يك چيز طبيعي هست ! اما مي خواستي خودت اين ماژول رو بنويسي چند خط مي شد ؟!؟! و آيا خود اين ماژولي كه نوشته شده حجمش چقدره ؟ كل زبان پايتون 10 مگ هست !!! با كل كتابخونه هاي استانداردش و مفسرش و ... .