# زبان های اسکریپتی > دیگر زبان های اسکریپتی >  پايتون يا سي پلاس پلاس

## kiarashk

سلام دوستان
من بين سي پلاس پلاس و پايتون گير كردم نمي دونم كدوم براي كار من بهتره من برنامه نويسي را با وي بي شروع كردم نمي خوام بگم زبان بدي بود ولي فقط بدرد ويندوز مي خورد وبس من دنبال ساخت نرم افزارم نه امنيت يا شبكه . يه مدت روي objective c كاركردم وكتاب انتشارات wiley رو هم مطالعه كردم اما ادامه ندادم چند وقت پيش هم سي پلاس پلاس رو شروع كردم از كتاب ديتل اما واقعا نمي خوام دوباره تجربه وي بي دات نت رو تكرار كنم مي خوام فقط روي يك زبان متمركز بشم در مورد سي پلاس پلاس اطلاعاتي دارم مثل فريم ورك كيوت كه به راحتي مي شه باش برنامه هاي با رابط كاربري چند سيستم عامله (cross-platform ) ساخت اما در مورد پايتون هيچي حتي يه كد هم ازش نديدم لطفا راهنمايي كنيد كه كدوم زبان براي من كه مي خوام نرم افزار با رابط كاربري خوب طراحي كنم بهتره و ساده تر هست.

----------


## black phoenix

زبان برنامه نویسیه پایتون زبانی شئ گرا و بسیار قدرتمنده.جالبه بدونید که از زبان های پر کاربرد در شرکت گوگل و همین طور ناسا‌ست.
یادگیریش خیلی آسونه و ازش در پروژه‌های بزرگ استفاده می‌شه و مطمئن باشید که تمام نیاز هاتون رو برطرف می‌کنه.به تمام این ویژگی‌ها خاصیت cross platform و open source بودن رو هم اضافه کنید.برای رابط گرافیکی هم می تونید از frame work اختصاصی Qt برای این زبان،به نام PyQt استفاده کنید.
برای دانلود پایتون اینجا کلیک کنید.
و اگر به یه خود‌آموز احتیاج داشتید به نظر من این کتاب (python 3.0)برای شروع بهترینه.
اما در مورد بازار کار پایتون در ایران راستش من اطلاع زیادی ندارم ولی اونچه که مسلمه اینه که ++C مشتریه بیشتری داره.

----------


## kiarashk

> زبان برنامه نویسیه پایتون زبانی شئ گرا و بسیار قدرتمنده.جالبه بدونید که از زبان های پر کاربرد در شرکت گوگل و همین طور ناسا‌ست.
> یادگیریش خیلی آسونه و ازش در پروژه‌های بزرگ استفاده می‌شه و مطمئن باشید که تمام نیاز هاتون رو برطرف می‌کنه.به تمام این ویژگی‌ها خاصیت cross platform و open source بودن رو هم اضافه کنید.برای رابط گرافیکی هم می تونید از frame work اختصاصی Qt برای این زبان،به نام PyQt استفاده کنید.
> برای دانلود پایتون اینجا کلیک کنید.
> و اگر به یه خود‌آموز احتیاج داشتید به نظر من این کتاب (python 3.0)برای شروع بهترینه.
> اما در مورد بازار کار پایتون در ایران راستش من اطلاع زیادی ندارم ولی اونچه که مسلمه اینه که ++C مشتریه بیشتری داره.


ممنون ولي لينك كتاب خرابه لطفا يه لينك ديگه بديد

----------


## black phoenix

http://www.swaroopch.com/notes/Python

----------


## vcldeveloper

> یادگیریش خیلی آسونه و ازش در پروژه‌های بزرگ استفاده می‌شه


حقیقتا در مقایسه با سایر زبان های مطرح برنامه نویسی مثل ++C/C، جاوا، #C و غیره؛ چندتا پروژه بزرگ دیدید که با پایتون نوشته شده باشند؟!




> جالبه بدونید که از زبان های پر کاربرد در شرکت گوگل و همین طور ناسا‌ست.


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




> نمي دونم كدوم براي كار من بهتره من برنامه نويسي را با وي بي شروع كردم  نمي خوام بگم زبان بدي بود ولي فقط بدرد ويندوز مي خورد وبس من دنبال ساخت  نرم افزارم نه امنيت يا شبكه .


شما اول مشخص کنید که دقیقا دنبال چه کاری هستید، بعدش درخواست راهنمایی کنید. اینجا که فقط گفتید فقط دنبال ساخت نرم افزار هستید؛ خب همه برنامه نویس ها دنبال ساخت نرم افزار هستند! شما باید مشخص کنید که میخواید وارد چه نوع بازار کاری بشید، یا در چه حوزه هایی از توسعه نرم افزار فعالیت کنید. اون وقت میشه گفت که آیا فلان زبان برنامه نویسی میتونه ابزار مناسبی برای شما باشه یا نه. البته برای اینکه برنامه نویس خوبی بشید، باید به جای اینکه به فکر تمرکز بر روی یک زبان برنامه نویسی بخصوص باشید، روی مفاهیم اولیه برنامه نویسی تمرکز کنید. یادگیری Syntax یک زبان برنامه نویسی و مطالعه کتابخانه های مختلفش بدون داشتن دانش کافی درباره اصول توسعه نرم افزار و شناخت کافی از حوزه ایی که میخواید درش فعالیت کنید، شما را برنامه نویس نمیکنه.

----------


## Beginner2013

Java
 بسیار قوی تر از پایتونه.
مثل پایتون Cross Platform هست.
سیتکسش به object c شما شبیهه.
طراحی رابط کاربری با اون حتی تو نوتپد هم آسونه.
برنامه نویسی باهاش آسون تر از C++‎‎ هست.

C#‎‎ 
همه ویژگی های فوق رو داره اما زیاد نمی تونید رو Cross Platform بودنش حساب باز کنید.

C++‎‎ 
همه ویژگی های فوق رو داره اما Cross Platform بودنش بستگی به نوع برنامه نویسی شما داره.
از دو زبان بالا قدرمندتره 
 میشه باهاش برنامه نویسی سطح  پایین هم انجام داد.
برنامه نویسی باهاش برا من که سخت بوده.

----------


## kiarashk

> حقیقتا در مقایسه با سایر زبان های مطرح برنامه نویسی مثل ++C/C، جاوا، #C و غیره؛ چندتا پروژه بزرگ دیدید که با پایتون نوشته شده باشند؟!
> 
> بله، در محیط هایی مثل گوگل از پایتون زیاد استفاده میشه، ولی عمدتا برای Prototyping. یعنی با توجه به سادگی پایتون، اسکریپتی بودنش، و قابلیت های مختلفی که در داخل زبان یا کتابخانه های استانداردش قرار داده شده، در همچین محیط هایی پایتون زبان مناسبی برای تست سریع ایده ها یا الگوریتم های مختلف هست.
> 
> شما اول مشخص کنید که دقیقا دنبال چه کاری هستید، بعدش درخواست راهنمایی کنید. اینجا که فقط گفتید فقط دنبال ساخت نرم افزار هستید؛ خب همه برنامه نویس ها دنبال ساخت نرم افزار هستند! شما باید مشخص کنید که میخواید وارد چه نوع بازار کاری بشید، یا در چه حوزه هایی از توسعه نرم افزار فعالیت کنید. اون وقت میشه گفت که آیا فلان زبان برنامه نویسی میتونه ابزار مناسبی برای شما باشه یا نه. البته برای اینکه برنامه نویس خوبی بشید، باید به جای اینکه به فکر تمرکز بر روی یک زبان برنامه نویسی بخصوص باشید، روی مفاهیم اولیه برنامه نویسی تمرکز کنید. یادگیری Syntax یک زبان برنامه نویسی و مطالعه کتابخانه های مختلفش بدون داشتن دانش کافی درباره اصول توسعه نرم افزار و شناخت کافی از حوزه ایی که میخواید درش فعالیت کنید، شما را برنامه نویس نمیکنه.


منظورم دقيقا اپليكشن هست ساخت نرم افزار هايي مثل Word كه گستردگي كدش زياده ولي خيلي توي مطالب ديگه سرك نمي كشه (مطالبي مثل كار بر روي پروتكل ها، امنيت ، شبكه) اما خيلي مهمه كه cross-platform باشه و البته چون كد نويسي مجبورم زياد بكنم ساده بودن سينتكش هم برام مهمه .تمركزم روي بازارهاي ايران نيست بيشتر ترجيح مي دم تا با اپ استور هاي خارجي يا پروژه هاي اپن سورس كار كنم حداقل تا به حال اين طوري بوده و فعلا هم قصد ندارم تغييرش بدم . و خوب مطالعاتي در باره روش ها و مدل هاي تعامل با كاربر و software desgin و الگوريتم نويسي مطالعه كردم اما اگه منابع خاصي در باره اصول مهندسي برنامه نويسي سراغ داريد معرفي كنيد ممنوون مي شم.




> Java
> بسیار قوی تر از پایتونه.
> مثل پایتون Cross Platform هست.
> سیتکسش به object c شما شبیهه.
> طراحی رابط کاربری با اون حتی تو نوتپد هم آسونه.
> برنامه نویسی باهاش آسون تر از C++‎‎‎‎ هست.
> 
> C#‎‎‎‎ 
> همه ویژگی های فوق رو داره اما زیاد نمی تونید رو Cross Platform بودنش حساب باز کنید.
> ...


واقعا جاوا در مورد طراحي رابط كاربري راحته؟ اما C#‎‎ هم كه خيلي وضع بهتري نسبت به وي بي نداره!؟

----------


## Beginner2013

برا ساخت یه برنامه مث Word به نظرم C#‎ و Java دو گزینه مناسب و عالین.



> واقعا جاوا در مورد طراحي رابط كاربري راحته؟


بله.



> اما C#‎‎‎ هم كه خيلي وضع بهتري نسبت به وي بي نداره!؟


اگه منظورت VB6 هست،باید بگم،این دو اصلا به هم شبیه نیستن.اما حالا که گفتید میگم،مگه VB چشه؟برنامه ای که شما می خواید بسازید رو با VB6 هم بخوبی میشه پیاده کرد.
اما چون گفتید برنامتون گسترده هست بهتره از C#‎ یا جاوا استفاده کنید که مدیریت پروژتون راحت تر باشه.البته گزینه های زیادی هست اما چون شما سینتکس C بلدید اینا براتون راحته.

----------


## kiarashk

> برا ساخت یه برنامه مث Word به نظرم C#‎ و Java دو گزینه مناسب و عالین.
> 
> بله.
> 
> اگه منظورت VB6 هست،باید بگم،این دو اصلا به هم شبیه نیستن.اما حالا که گفتید میگم،مگه VB چشه؟برنامه ای که شما می خواید بسازید رو با VB6 هم بخوبی میشه پیاده کرد.
> اما چون گفتید برنامتون گسترده هست بهتره از C#‎ یا جاوا استفاده کنید که مدیریت پروژتون راحت تر باشه.البته گزینه های زیادی هست اما چون شما سینتکس C بلدید اینا براتون راحته.


 خير دوست عزيز منظورم VB.net هست و به VB.net هم مسلط هستم و درحال حاظر برنامه مي نويسم اما من مي خوام از زبان ها و فريم ورك هاي cross-platform استفاده كنم اين مسله برام بسيار مهم هست كه متاسفانه Vb.Net توي اين زمينه حرفي براي گفتن نداره

----------


## amir.bakhtiari

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

----------


## kiarashk

> پایتون یا پیتون
> سی
> سی++
> سی شارپ
> دلفی
> وی بی
> جاوا
> و..................
> شما ببین برای چی میخوای یه زبان دیگه یاد بگیری بقول دوستمون همه دنبال نوشتن نرم افزارن,تادلتون بخواد کلی مطلب درباره ویژگی زبان های برنامه نویسی مختلف وجود داره شما اول نیاز خود رو مشخص کن بعد زبان برنامه نویسیتو انتخاب کن
> ...


فکر کنم توی پست شماره ۷ توضیح کافی داده باشم که احتیاجم چی هست!

----------


## amir.bakhtiari

> فکر کنم توی پست شماره ۷ توضیح کافی داده باشم که احتیاجم چی هست!


منم خدمتتون عرض کردم مناسب با نیازتون انتخاب کنید

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

----------


## emadfa

دوست عزیزم...

من پست اول شما را که دقیق مطالعه کردم ذکر کردید که به دنبال ابزاری برای توسعه برنامه های cross-platform هستید. 

در حال حاضر در دنیا هیچ کتابخانه ای قویتر و گسترده تر از Qt برای توسعه برنامه های Cross-platform وجود نداره... این کتابخانه به طور کلی به زبان ++C هست اما نسخه ای از اون به نام PyQt وجود داره برای زبان Python. (هر چند تجربه شخصی من ثابت کرده و اطلاعاتی که دارم اکثر شرکت های دنیا که از Qt استفاده می کنند از binding مربوط به زبان های دیگه مثل python  استفاده نمی کنند و به زبان C++‎‎ با اون برنامه نویسی می کنند.)

بنابراین به طور کلی اگر:
1) به دنبال توسعه نرم افزارهای دارای performance بالا هستید (برنامه های گرافیکی, چندرسانه ای, کاربردی...)
2) هدفتون نرم افزارهای چند سکو هست بر روی سیستم عامل های مختلف به شکلی که مجبور نشید که برای هر سیستم عامل کد ها را از صفر بنویسید و با یک بار طراحی رابط گرافیکی برنامه تون را تنها در سیستم عامل مورد نظر کامپایل کنید.

توصیه می کنم از Qt و زبان ++C استفاده کنید.

----------


## kiarashk

> دوست عزیزم...
> 
> من پست اول شما را که دقیق مطالعه کردم ذکر کردید که به دنبال ابزاری برای توسعه برنامه های cross-platform هستید. 
> 
> در حال حاضر در دنیا هیچ کتابخانه ای قویتر و گسترده تر از Qt برای توسعه برنامه های Cross-platform وجود نداره... این کتابخانه به طور کلی به زبان ++C هست اما نسخه ای از اون به نام PyQt وجود داره برای زبان Python. (هر چند تجربه شخصی من ثابت کرده و اطلاعاتی که دارم اکثر شرکت های دنیا که از Qt استفاده می کنند از binding مربوط به زبان های دیگه مثل python  استفاده نمی کنند و به زبان C++‎‎ با اون برنامه نویسی می کنند.)
> 
> بنابراین به طور کلی اگر:
> 1) به دنبال توسعه نرم افزارهای دارای performance بالا هستید (برنامه های گرافیکی, چندرسانه ای, کاربردی...)
> 2) هدفتون نرم افزارهای چند سکو هست بر روی سیستم عامل های مختلف به شکلی که مجبور نشید که برای هر سیستم عامل کد ها را از صفر بنویسید و با یک بار طراحی رابط گرافیکی برنامه تون را تنها در سیستم عامل مورد نظر کامپایل کنید.
> ...


ممنون و دقيقا منظورم همين بود

----------


## black phoenix

> حقیقتا در مقایسه با سایر زبان های مطرح برنامه نویسی مثل ++C/C، جاوا، #C و غیره؛ چندتا پروژه بزرگ دیدید که با پایتون نوشته شده باشند؟!


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

----------


## eshpilen

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


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

درمورد اینکه کاربرد Embed کردن و افزودن قابلیت برنامه نویسی برای زبانهای دیگه چیه، فکر میکنم بقدر کافی روشن باشه، ولی مثلا حتما میدونید که خیلی برنامه ها چنین قابلیت هایی دارن. مثلا قابلیت ماکرونویسی/برنامه نویسی در نرم افزارهای آفیس میکروسافت.
یه مثال دیگه هم فکر میکنم فایرفاکس باشه چون تاجاییکه دیدم و فهمیدم اکستنشن های فایرفاکس با زبان جاوااسکریپت نوشته میشن.

پس اینکه میگه در فلان برنامه ها استفاده میشه لزوما معناش این نیست که هستهء اون برنامه با پایتون نوشته شده. معمولا زبانهای اسکریپتی برای برنامه نویسی داخلی در برنامه های دیگه استفاده میشن و نوشتن اکستنشن و ماکرو و غیره. البته الان دیگه این امر معمول شده که بخشهای اصلی/هسته رو که پرفورمنس بالاتر میخوان با زبان کامپایل شونده مینویسن و بخشهای سطح بالاتر و فرعی رو با زبانهای اسکریپتی (چون راحتتر و سریعتر و خواناتره و قابلیت دیباگ و ویرایش خوبی میده).

----------


## black phoenix

> پس اینکه میگه در فلان برنامه ها استفاده میشه لزوما معناش این نیست که هستهء اون برنامه با پایتون نوشته شده


من با حرف دوستمون موافقم.معمولا خیلی کم پیش میاد که در پروژه های بزرگ نرم‌افزاری، فقط از یه زبان استفاده کنن.
و باید بگم در اینکه ++C/C پرکاربرد ترین زبان های حال حاضر هستند شکی نیست اما این دلیل نمی شه که فکر کنیم چون پایتون و امثال اون کاربرد کمتری دارن از قدرت کافی برخوردار نیستن و از پس پروژه های بزرگ بر نمیان.اریک ریموند به اون هایی که می خوان برنامه نویسی رو شروع کنن توصیه کرده که پایتون یاد بگیرن چون علاوه بر سادگیه سینتکس و تمیزیه اون اسباب بازی نیست و برنامه های مهمی رو میشه با اون نوشت.

----------


## black phoenix

ضمنا دوستان می تونن با مراجعه به این لینک لیستی از مهم ترین برنامه های نوشته شده با پایتون رو ببینند.

----------


## leonard

من یک پروژه ای رو با پایتون و کیوت  شروع کردم  فوق العاده ساده و با پرفورمنس بالا هست این پایتون
ولی مشکل اصلی در ابزار های تولید نرم افزار هست ساده ترینش gui designer که کیوت دیسانر وقتی حجم برنامه زاید بشه کار باهاش سخت میشه
یا اگه برنامتون به ریپورت جنریتور نیاز داشته باشه هر چند امثال ریپورت لب و جسپر ریپورت و ncreport هستند ولی کار رو مشکل میکنه 
یا مثلا ide  مناسب در حدی که دیگر زبانها از اون برخوردارند برای پایتون پیدا نمیکنید (من از اکلیپس استفاده میکنم)
من توصیه میکنم حتما پایتون رو یاد بگیرید اما برای پروژه های متوسط وبزرگ از جاوا و بندرت از C++‎ , QT استفاده کنید
برنامه های کوچک با پایتون فوق العاده سریعتر نوشته میشوند اما هر چه کد برنامه بیشتر شود این قضیه معکوس میشود

----------


## sahama

به به
شمع و گل و پروانه وم بلبل همه جمعند
همه دوستان حرفای خوبی زدند منم نظرم رو می گم
من خودم با جاوا و سی شارپ و سی پلاس پلاس و پایتون در هر دو سیستم عامل ویندوز و لینوکس برنامه نویسی کرده ام
محصولات مایکروسافت کتابخانه گرافیکی مخصوص خودشون رو دارند که می تونید ازشون استفاده کنید و GUI بسازید و واقعا راحتند اما اینکه شما چند سکویی می خواهید مسلما با مایکروسافت کارتون سخت می شه
جاوا هم کتابخانه های گرافیکی مخصوص خودش رو داره و کار با اون هم بسیار راحته و البته با توجه به اینکه بدون نیاز به کامپایل و بعد از تبدیل به بایت کد تفسیر می شه یعنی اوج چند سکویی بودن
همچین وضعی رو در پایتون هم داری چون اون هم یه زبان تفسیریه و به شرطی که از کتابخونه های اختصاصی یه سیستم عامل استفاده نکنی براحتی همه جا قابل اجرا است
سی پلاس پلاس یه کم متفاوته بهتر از سی شارپ و در رتبه ی بعد از دو زبان پایتون و جاوا قرار می گیره چون کامپایل می شه پس باید برای هر سیستم عامل به طور مجزا کامپایلش کنی ولی می تونی مطمئن باشی که اگر از کتابخونه های اختصاصی یه سیستم عامل استفاده نکرده باشی براحتی در هر سیستم عاملی کامپایل و اجرا می شه
خوب بحث می رسه به رابط گرافیکی : گفتیم کا سی شارپ کتابخونه های دات نت رو استفاده می کنه و جاوا کتابخونه های خودش رو استفاده می کنه که البته هر دو هم عالی هستند ولی در مورد سی پلاس پلاس و پایتون اینطور نیست و باید انتخاب کنی که از چه کتابخونه ای استفاده می کنی خوب من Qt رو برای این منظور انتخاب کردم که بی شک اگر نگم قوی ترین کتابخونه، یکی از قویترین ها است و کار با اون هم واقعا لذت بخشه البته باید در نظر داشته باشی در کتابخونه کیوت مفهمی به نام سیگنال و اسلات وجود داره (در مقابل مفهوم رویداد در کتابخونه های دیگه) که احتمالا چند ساعتی طول می کشه تا بهش عادت کنی ولی وقتی عادت کنی می بینی چقدر خوب طراحی شده
برای همه اینها علاوه بر اینکه می تونی دستی کد رابط گرافیکیت رو بنویسی نرم افزاری هم وجود داره که فرم های گرافیکی رو برات طراحی کنه
سی شارپ در ویژوال استادیو - جاوا در نت بینز - و Qt در QtDesigner 
البته اگر بخواهی با سی پلاس پلاس بنویسی Qt creator هم هست که اونم یه IDE کامله واقعا عالیه
حالا بعد از اینها بحث می رسه به انتخاب زبان :
در قدرت سی پلاس پلاس هیچ شکی وجود نداره و حتی اگر هیچ وقت فصد نداری با اون برنامه بنویسی توصیه من اینه که یادش بگیری گرچه از بقیه زبانهای مطرح شده در اینجا سخت تره
زبانهای جاوا و سی شارپ سینتکس های بسیار شبیه به هم دارند و پایه هر دو سی پلاس پلاس است  و البته سینتکسشون بسیار شسته رفته و تمیز است
اما در نهایت پایتون که واقعا کار باهاش لذت بخشه سریع جمع و جور و تمیز و راحت و فرقی نداره پروژه شما بزرگ باشه یا کوچه در هر صورت جوابگو است تنها یه ایراد اساسی داره برای برنامه نویس هایی که به IDE ها اهمیت زیادی می دهند اونم اینه که IDE خیلی جامعی مثل اون 3 زبان دیگه نداره گرچه با pyDev و Eclipse به خوبی کارات رو انجام بدیو رابط گرافیکیت رو با QtDesigner بسازی برای اینکه کد هات هم به هم نریزه و در برنامه های بزرگ دچار مشکل نشی کد هر فرم رو جدا کانه در یه فایل قرار بده و اسلات های اون فرم رو هم جداگانه در یه فایل دیگه و اینها رو با هم به یه پکیج تبدیل کن و در هر جایی از برنامه که بهش نیاز پیدا کردی استفاده کن 
در نهایت باید بگم که انتخاب یکی از این زبان ها علاوه بر اینکه به نیازت بستگی داره و اینکه چه جور برنامه ای می خواهی بنویسی بیشتر سلیقه ایه ولی انتخاب خود من اول پایتون و بعد از اون جاوا است (توجه داشته باش اللان پایتون 2 نسخه داره 2.7 و 3.2 کار با 3.2 راحت تره ولی 2.7 الان فراگیر تره و کتابخونه های بیشتری برای کارای مختلف براش وجود داره)

----------


## eshpilen

> باید در نظر داشته باشی در کتابخونه کیوت مفهمی به نام سیگنال و اسلات وجود داره (در مقابل مفهوم رویداد در کتابخونه های دیگه) که احتمالا چند ساعتی طول می کشه تا بهش عادت کنی ولی وقتی عادت کنی می بینی چقدر خوب طراحی شده


 والا بنظر بنده سیگنال و اسلات همون رویداد رو پیاده سازی میکنه ولی به شکل دیگری.
رویداد یعنی چی؟ یعنی مثلا وقتی روی یک دکمه کلیک شد. این یک رویداد است، و متدهایی که مشخص کردیم درصورت بروز اون رویداد اجرا بشن اجرا میشن.
سیگنال و اسلات هم داره دقیقا همین کار رو انجام میده. تفاوت خاصی نمیبینم  :متفکر: 
حالا اینکه چرا Qt به این شکل و با این اسمه، بنظرم بخاطر اینکه برای راحتی یا بالا بردن سطح کار برنامه نویسی رویدادگرا (یا احتمالا افزودن بعضی امکانات و خصایص دیگر زبانهای سطح بالاتر در این زمینه) در سی++، اومده یک سیستم متشکل از ماکروها و پیش پردازندهء خودش رو پیاده سازی کرده و یک بخشی از عملیات رو برده پشت صحنه و یکسری کارها و هوشمندی اضافه رو هم اون پشت خودش انجام میده.
چون میدونید که سی++ امکانات خاصی برای برنامه نویسی رویدادگرا نداره و رویدادگرایی بوسیلهء کتابخانه ها و بخشهای دیگر پیاده سازی میشه و البته بازهم از نظر حجم و خوانایی و پیچیدگی کد و امکانات و امنیت به حد زبانهای سطح بالاتر که از ابتدا با این امکانات بصورت درونی طراحی شدن نمیرسه. مثلا اگر از سیستم سیگنال و اسلات کیوت استفاده نکنیم باید بجاش Function pointer به اینور و اونور پاس و ست کنیم که یکسری دردسرها و افزایش باگهایی رو موجب میشه (تاحالا برنامه نویسی رویدادگرا بدون کیوت کار نکردم ولی در داکیومنت های خود کیوت که یک زمانی کامل خوندم تاجاییکه یادمه همچین چیزایی نوشته بود).

----------


## mirage0411

سوال بنده هم همین بود برای همین تاپیک جدیدی نزدم .
بنده تو حوزه مهندسی نرم افزار فعالیت دارم و البته علاقه مند به بدافزار و تولید نرم افزار در حوزه مهندسی معکوس هستم .
استارت اسمبلی رو زدم و می خونم و و دوست دارم اندروید رو هم برای تولید بازی و اپلیکیشن های ساده یاد بگیرم .و البته یک زبان پایتون یا سی پ پ رو بلد باشم برای برنامه نویسی در این حوزه ها .قطعا برنامه هایی که خواهم نوشت برنامه های حسابداری و ... نخواهد بود و بیشتر پلاگین نویسی و انالیزی خواهد بود .
( البته در زبانهای سی شارپ - پایتون - سی پ پ فعالیتهایی داشتم )
سوالی که الان دارم این هست که :
با توجه به حوزه علاقمندی بنده به مهندسی معکوس و اپلیکیشن اندرویدی و همچنین قدرت هر دو زبان سی پ پ و پایتون ( ida با پایتون و انالیزرهای قدرتمندی با سی پ پ ) و بازار کارم هم فقط داخل رو در نظر نگیریم (البته بیشتر رایگان نوشته میشن - open source ) کدوم مسیر رو برم بهتره ؟

----------

