مشاهده نسخه کامل
: راهنمایی : نوشتن برنامه برای ویندوز
resident2011
14-04-2011, 08:44
من ++c کنسول رو تقریباً یادگرفتم و حالا می خوام در کنار مباحث پیشرفته ،برنامه نویسی ویندوز رو شروع کنم .اما نمی دونم از چی باید استفاده کنم.win Api یا MFC و........... ممنون میشم دوستان راهنمایی کنن.
مباحٍ زیادی رو هم توی سایت خوندم ولی بیشتر گمراه کننده بودند و از رو علایق شخصی بودند .خواهش می کنم دوستان براساس دلایل علمی جواب بدند.
من می خوام با Direct x و OpenGl کار بکنم .می خواستم با win Api شروع کنم که ظاهراً منابعش کمه و خیلی ها هم میگن منسوخ شده .
resident2011
15-04-2011, 23:24
دوستان منتظر راهنمایی شما هستم:11:
برای شروع میتونی همون Win API رو شروع کنی دید خوبی نسبت به نحوه کار برنامه ها توی ویندوز بهت میده
بعد که این دیدو پیدا کردی (یا نخواستی) می تونی بری سمت کتابخانهای دیگه مثل MFC یا Qt
البته Qt بدرد کار با DirectX نمی خوره ولی OpenGL میشه باهاش کار کرد و MFC هر دو رو میشه کار کرد.
Qt روی هر سیستم عاملی قابل اجراست.
MFC فقط برای ویندوز هست.
در مورد اینکه Win API منسوخ شده باید بگم این چیزی نیست که منسوخ بشه یا از بین بره
به دلیل پیچیده بودن برنامه نویسی با API خصوصا در پروژه های بزرگ کل یه برنامه خصوصا GUI رو با API نمینویسن
ولی آشنایی در حدی که بتونین با API کار کنین خصوصا اگر در ویندوز می خواین برنامه نویسی کنین خیلی مفید میتوه باشه
resident2011
17-04-2011, 17:48
تقریباً منابع اون قدیمیه و خیلی از برنامه ها رو که با ++c ازمایش می کنم جواب نمیدن ولی وقتی همون برنامه رو با پسوند c ازمایش می کنم جواب می گیرم .می خواستم بدونم منبع جدیدی که ++c باشه سراغ دارین .
اگه قرار باشه win APi در حد اشنایی باشه به نظر شما در کنارش کدوم روش رو استفاده کنم.
به دلیل پیچیده بودن برنامه نویسی با API خصوصا در پروژه های بزرگ کل یه برنامه خصوصا GUI رو با API نمینویسن
پس از چی ستفاده می کنن؟
تقریباً منابع اون قدیمیه و خیلی از برنامه ها رو که با ++c ازمایش می کنم جواب نمیدن ولی وقتی همون برنامه رو با پسوند c ازمایش می کنم جواب می گیرم
چی رو با ++C تست کردین کار نکرده و .... و چی قدیمیه ؟
می خواستم بدونم منبع جدیدی که ++c باشه سراغ دارین .
اگر فقط ++C می خواین اینا خوبه، البته یه مدت دیگه استاندارد جدید ++C هم منتشر میشه و باید منتظر کتابهای جدید تر بود
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اگه قرار باشه win APi در حد اشنایی باشه به نظر شما در کنارش کدوم روش رو استفاده کنم.
پس از چی ستفاده می کنن؟
اینکه چی استفاده کنید بیشتر سلیقه ای هست من تو نرم افزار های مختلف همه جور کتابخانه ای دیدم اینا یکسری مثال
Qt در Autodesk Maya , Google Earth , VLC , VirtualBox, Skype و ....
MFC در NOD32 , ACDSee , Nero و ...
GTK+ در بخشهایی از VMware و ....
wxWidget در BitTorrent و ...
توضیح بیشتر :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
ولی چیزی که الان خودم ترجیح میدم ادامه بدم Qt چون داره رشد میکنه و آینده خوبی داره اینجا(ایران) چه اونجا(!!! :31:)
باز بستگی به خودتون داره
موفق باشید
resident2011
17-04-2011, 23:49
چی رو با ++C تست کردین کار نکرده و .... و چی قدیمیه ؟
مثلاً
#include <windows.h>
int WINAPI
WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR pszCmdLine, int iCmdShow)
{
MessageBox(NULL,"Hello World!", "First Win App", MB_OK | MB_ICONEXCLAMATION);
return 0;
}
وقتی فایل به صورت cpp ذخیره میشه پیغام خطا میده ولی وقتی با پسوند c ذخیرش می کنم به خوبی کامپایل میشه.
از VS هم استفاده می کنم .چرا بعضی موقعها وقتی برنامه ایی رو کامپایل می کنم به جای اینکه پیغام به صورت انگلیسی نمایش داده بشه به صورت کلمات چینی نمایش داده میشه؟
اینکه چی استفاده کنید بیشتر سلیقه ای هست من تو نرم افزار های مختلف همه جور کتابخانه ای دیدم اینا یکسری مثال
ولی سلیقه در درجه آخر قرار می گیره .
البته Qt بدرد کار با DirectX نمی خوره ولی OpenGL میشه باهاش کار کرد و MFC هر دو رو میشه کار کرد.
ولی به طور حتم در Maya از dirct x استفاده شده اونم هم به طور گسترده پس به نظر نمیاد نشه باهاش dirctکار کرد.
میشه در برنامه ایی که با qt نوشته شده از win api استفاده کرد؟
وقتی فایل به صورت cpp ذخیره میشه پیغام خطا میده ولی وقتی با پسوند c ذخیرش می کنم به خوبی کامپایل میشه.
از VS هم استفاده می کنم .چرا بعضی موقعها وقتی برنامه ایی رو کامپایل می کنم به جای اینکه پیغام به صورت انگلیسی نمایش داده بشه به صورت کلمات چینی نمایش داده میشه؟
خیلی وقته که ویژوال استادیو بطور پیشفرض از توابع نوع یونیکد استفاده میکنه یعنی اگه تابع رشته ای میگیره رشته باید بصورت یونیکد به تابع داده بشه
این یه مثال تعریف رشته از نوع یونیکد به سه صورت متفاوت
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
کد شما مثلا میتونه به این شکا بشه
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
البته میشه غیر فعال کردش، کافیه این کد رو ابتدای برنا قرار بدین
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
ولی سلیقه در درجه آخر قرار می گیره .
در یه حد و حدودی همه اینا خوبن در نتیجه سلیقه ای میشه مثالها رو دادم که ببینید شرکتا هر کدوم از یه کتابخانه متفاوت استفاده میکنن که بعضیاش پروژه های بزرگی به حساب میان Maya ، Vmware، NOD32
البته بعضی از این پروژه ها هم ممکنه مجبوری به خاطر اینکه از اول با یک کتابخانه ابزاراشون رو توسعه دادن با همون ادامه دادن
تفاوتها هم تو برخی امکانات و تکنولوژی های استفاده شده، پشتیبانی، تیم توسعه فعال برای بروز کردن، جامعه های فعال برای سوال و جواب، مساله لایسنس و .... هست
ولی به طور حتم در Maya از dirct x استفاده شده اونم هم به طور گسترده پس به نظر نمیاد نشه باهاش dirctکار کرد.
استفاده DirectX تو Qt یکم دنگو فنگ داره چون همیجوری Qt امکانی برای کار تو خودش جا نداده با خاطر (cross-platform بودن) ولی خوب اینجوری نیست که کلا نشه
راستی از کجا می دونید تو مایا از direcX استفاده شده؟
میشه در برنامه ایی که با qt نوشته شده از win api استفاده کرد؟
بله میشه با اکثر کتابخانه ها میشه اینکارو کرد
resident2011
19-04-2011, 11:22
راستی از کجا می دونید تو مایا از direcX استفاده شده؟
تقریباً توی تمام برنامه های گرافیکی که 3D هستن و با سه بعد کار دارن ازیا از direct یا از Opengl استفاده میشه البته بیشترشون هردو رو استفاده میکنن.مثل انجینهای بازی سازی و یا همین نرم افزارهای مایا و مکس و بلندر و......
البته بلندر که هم یه انجینه و هم یه نرم افزار 3Dبه خاطر اپن سورس بودنش فقط از opengl استفاده کرده .
خودم خیلی دوست دارم هم win API هم Qt رو یاد بگیرم چون با Qt تنها به مشکل بر می خورم و مطمئناً به win API نیاز پیدا می کنم .اما یادگیری win خیلی سخته من همین ابتدای کار خیلی از چیزها رو متوجه نمیشم البته شاید هم ایراد از زبانم باشه که زیاد تعریفی نداره ولی نوشته های بعضاً فارسی رو که هم خوندم همین مشکل رو دارم.
اما منابع Qt واقعاً خوبن.
شما اگه جای من باشید چکار می کنید؟
در ضمن چرا اینجا اینقدر ساکته یعنی فقط شما توی این انجمن فعالیت می کنید؟
تقریباً توی تمام برنامه های گرافیکی که 3D هستن و با سه بعد کار دارن ازیا از direct یا از Opengl استفاده میشه البته بیشترشون هردو رو استفاده میکنن.مثل انجینهای بازی سازی و یا همین نرم افزارهای مایا و مکس و بلندر و......
البته بلندر که هم یه انجینه و هم یه نرم افزار 3Dبه خاطر اپن سورس بودنش فقط از opengl استفاده کرده .
اینکه مشخصا کدوم یکی از اینا استفاده شده باشه، اینو چی از کجا میشه فهمید؟ من فکر میکردم بیشتر OpenGL باشه ولی الان گفتین DirectX می خوام بدونم چطور میشه فهمید
شما اگه جای من باشید چکار می کنید؟
راهت نیست جای کس دیگه بخوای باشی و بجای اون تصمیم بگیری، ولی اگه همین خودم رو در نظر بگیرم هر چی میدونم بزارم کنار دوباره بخوام همه چیرو از صفر شروع کنم اینکارو میکنم
همون کاری رو می کردم که قبلا کردم، ++C/C رو خوب یاد میگرفتم (در کنارش اسمبلی رو مسلط میشدم) بعد Win API رو شروع می کردم ولی اینبار وقتم رو بهتر مدیریت میکنم که 2 سال یاد گرفتش طول نکشه و حالا که 2 سال دیگه هم گذشته (البته این وقت زیاد به خاطر کار های متفرقه و الکی بوده متاسفانه) میشینم Qt ای که برای یاد گرفتنش 2 سال صبر کردم رو می خونم، در یه حد اولیه یادگیری این کار برام یک هفته طول کشید ، نسبت به API تنها خیلی راحت تره (خیلی راحت) اینکه میگم یه دید اولیه داشتن به API خوبه یه دلیلش اینه که سریعتر میشه چیزای دیگه رو یاد گرفت حالا هم از هر دوتا کنار هم میتونم استفاده کنم
تو API اگه بخواین شروع کنین و مشکل خوردین میتونم کمکتون کنم میدونم چه چیز کوفتی هست.
در ضمن چرا اینجا اینقدر ساکته یعنی فقط شما توی این انجمن فعالیت می کنید؟
اگه یه نگاه به آخرین پسهای من بعد این چنتا پست بکنید منم یه مدتی هست انجا پستی نزدم:20:
Mehran NZ
19-04-2011, 16:58
دوست عزیز شما حرفاتون خیلی مبهمه معلومه خودتون هم کامل گیج شدین !
اولش می گین من می خوام برنامه نویسی ویندوز یاد بگیرم بعد می گید می خوام OpenGL , DirectX یاد بگیرم (من نمی فهمم مگه یاد گرفتن اینا کشکه که شما می خواین جفتش و باهم یاد بگیرین؟!) از اونور هم می گین می خوام WinApi رو یاد بگیرم که بعدش نفهمیدم با این می خواین OpengGL کار کنید یا برنامه گرافیکی بنویسید؟!خوب این چه ربطی دارن به هم؟
ببین عزیز من فکر می کنم شما اون بحث ما رو با جناب hoax3r خوندین و منظورتون از "ولی بیشتر گمراه کننده بودند و از رو علایق شخصی بودند" همون بحث ما بود دیگه ؟!
عرض کنم که اونجا من واقعیت و گفتم و از روی علایق شخی حرف نزدم (دقیقا با کجای بحثم مشکل داشتین؟)یکبار گفتم دوباره می گم پیشنهاد می کنم که دور WinAPI,MFC رو کلهم یه خط قرمز بکش و از تو زندگی برنامه نویسیت بندازش دور و بیا تو این خطی که دارم بهت می گم مطمئن باش که اینقدر چیز واسه برای یاد گرفتن هست که همین جوری دور خودت بچرخی!فکرش و بکن مایکروسافت هر سال داره یه چیز جدید می ده بیرون همین کار با دیتابیسش و نگاه کن ADO.NET نیومده دوسال دیگه LINQ میاد هنوز اینا جا نیافتاده Entity Framework اومده یعنی همین جوریش هم عقبی بعد مثلا بشینی تو این شلوغی و پیشرفت هر روزه دو سال WinApiکار کنی که در واقع برنامه نویسان Win3.1 تقریبا 20 سال پیش انجام میدادند کار عاقلانه ای بنظر نمیاد!
راستی دور DirectX و OpenGL و هم فعلا خط بکش بعدا برو توش اینا مباحثشون خیلی پیچیده تره!
الان عاقلانه این هست که یا وارد تکنولوژی دات نت بشی یا جاوا (QT هم خوبه ولی من حقیقتش کار نکردم) البته در دنیای امروز باید وارد هر دو تاش بشی منتها فقط دیر و زورد داره و بستگی به خودت داره که کدوم و اول وارد بشی!
خوب تا اینجا که مسیرت مشخص شده برای برنامه نویسی گرافیکی یا میری تو دات نت یا جاوا الان فقط مونده منابع! برای منابع هم که میری توش سایت آمازون کتابهات و سرچ می کنی رویوها رو کامل می خونی که از چه چیزیش بدی گفتن و از چه جیزیش خوشت اومده بعد که کتاب مورد علاقت و پیداش کردی میری این سایتهایی که برات پایین می زارم پیداشون می کنی و می خونی زیاد هم به کتابهای زیر 2005 فکر نکن مخصوصا برای دات نت چون از نسخه 1 به 2 کلی تغییر کرده!
اگرم باز شک داری و فکر می کنی برای برنامه نویسی ویندوز باید بری API یاد بگیری کاری نداره توی اول کتابهایی که تو سایت آمازون پیدا می کنی اون قسمتی که نوشته Who should read this book? رو ببین حرفی از سابقه تجربه داشتن در WinApi برای پیشنیاز این کتابها زده شده یا نه؟!
اینم سایتهایی برای دانلود کتاب چند تا از بهترینهاش و برات می ذارم-مخصوصا اولیش و نگاه کن که تازه پیدا کردم و دقت کن که لینکهاش در موتورهای جستجو لینک نمی شن پس نمی تونی لینکاش و پیدا کنی موضوع دیگه اینکه تقریبا همه کتابهاش و توی ifile.it هم گذاشته که قابلیت ریزوم داره!
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
موفق باشی
آقا شما همش گفتی LINQ و دات نت و ال و بل با اطمینان میگی تو این عالم تکنولوژی چیزای جدید که زرت و زورت ظاهر میشن و آدم نمیدونه کی وقت پیدا می کنه این همه چیزو یاد بگیره حالا یکسری بیکار پیدا بشن با API که مال 20 سال پیشه (اوه ه ه ) برنامه بنویسن
حالا بزار یجور دیگه به قضیه نگاه کنیم، API یعنی چی اصلا یه سری رابط یا تابع یا هر چی برای اینکه یه برنامه نویس بتونه با محصول یک شرکت مورد نظر کار کنه، اون شرکت ماکروسافت مثلا باشه، اون محصول هم سیستم عامل ویندوز، این یعنی چی یعنی برای ارتباط با ویندوز ما هیچ راهی بجز استفاده از API نداریم چون همیجوری اجازه نداریم مثلا به حافظه دسترسی داشته باشیم، فایل ها رو دستکاری کنیم، به شبکه وصل بشیم، حتی یه پنجره ساده ترسیم کنیم
یه سوال پیش میاد، پس اگه اینجوریه همه کتابخانه ها هم هر کاری بخوان بکنن باید حتما از API استفاده کنن؟
درسته همینطوره کلا یکسری آدم بیکار توی دنیا داریم اینا مسلطن به API و شرکت های مختلف اینارو استخدام میکنن که در نهایت کتابخانه هایی مثل Qt ، MFC, .NET, GDK و ... تولید بشن و در نهایت این شرکت ها به اینا برای این همین کار پول میدن که اون برنامه نویسای بدبخت بتونن برن خوش بگزرونن
ولی مساله مهم اینه که افرادی که از یه کتابخانه مثل همینا که گفتیم استفاده میکنن ممکنه تو یه پروژه به مشکلی بر بخورن یه مشکلی که اون کتابخانه امکانی برای حلش نداشته باشه یا اگر داره خیلی ناقصه، حتی بدتر از تو اینترنت plugin برای اون کتابخانه نیست که بشه ازش استفاده کرد
خوب این وسط اونی که فقط اون کتابخانه رو بلده چی کار میتونه بکنه؟ خوب دو تا کار می تونه انجام بده 1 - تو سره خودش بزنه و اون امکان رو بی خیال بشه 2 - از یکی که وارد تره سوال کنه تا اون براش یه plugin بسازه
اونی که کمی API ها رو بشناسه و بدونه اون کارو با چه API هایی میشه انجام داد چی کار میتونه بکنه؟ سادس برای اون کتابخانه یه plugin می نویسه
حالا این همه داستان گفتیم دیگه بیخیال میشم ولی شما جناب Mehran NZ که می گی برای DirectX لازم نیست API بلد بود تا حالا یه سورس ساده DirectX رو باز کردی ببینی تو چی هست؟ یا حتی در مورد OpenGL ؟
شما متاسفاته اینقدر با ابزار آلات سطح بالا سروکله زدی اصلا خبر نداری اینا خودشون چطوری کار می کنن، سورس بعضی از برنامه های open source که برای ویندوزه و مثلا با زبان ++C هست یه بار باز کنید ببینید، بعد بیاین هر چی خواستین بگین.
در ضمن در آخر بگم من دشمنی با هیچ کدوم از تکنولوژی ها مثل Net. و امثالهم ندارم در آینده اگه وقتشو داشته باشم حتما سمت اینا میرم، مساله تفکرات عجیب غریبی هست که بعضیا دارن، به هر حال
موفق باشید
Mehran NZ
19-04-2011, 22:56
[/COLOR]
آقا شما همش گفتی LINQ و دات نت و ال و بل با اطمینان میگی تو این عالم تکنولوژی چیزای جدید که زرت و زورت ظاهر میشن و آدم نمیدونه کی وقت پیدا می کنه این همه چیزو یاد بگیره حالا یکسری بیکار پیدا بشن با API که مال 20 سال پیشه (اوه ه ه ) برنامه بنویسن
حالا بزار یجور دیگه به قضیه نگاه کنیم، API یعنی چی اصلا یه سری رابط یا تابع یا هر چی برای اینکه یه برنامه نویس بتونه با محصول یک شرکت مورد نظر کار کنه، اون شرکت ماکروسافت مثلا باشه، اون محصول هم سیستم عامل ویندوز، این یعنی چی یعنی برای ارتباط با ویندوز ما هیچ راهی بجز استفاده از API نداریم چون همیجوری اجازه نداریم مثلا به حافظه دسترسی داشته باشیم، فایل ها رو دستکاری کنیم، به شبکه وصل بشیم، حتی یه پنجره ساده ترسیم کنیم
یه سوال پیش میاد، پس اگه اینجوریه همه کتابخانه ها هم هر کاری بخوان بکنن باید حتما از API استفاده کنن؟
درسته همینطوره کلا یکسری آدم بیکار توی دنیا داریم اینا مسلطن به API و شرکت های مختلف اینارو استخدام میکنن که در نهایت کتابخانه هایی مثل Qt ، MFC, .NET, GDK و ... تولید بشن و در نهایت این شرکت ها به اینا برای این همین کار پول میدن که اون برنامه نویسای بدبخت بتونن برن خوش بگزرونن
ولی مساله مهم اینه که افرادی که از یه کتابخانه مثل همینا که گفتیم استفاده میکنن ممکنه تو یه پروژه به مشکلی بر بخورن یه مشکلی که اون کتابخانه امکانی برای حلش نداشته باشه یا اگر داره خیلی ناقصه، حتی بدتر از تو اینترنت plugin برای اون کتابخانه نیست که بشه ازش استفاده کرد
خوب این وسط اونی که فقط اون کتابخانه رو بلده چی کار میتونه بکنه؟ خوب دو تا کار می تونه انجام بده 1 - تو سره خودش بزنه و اون امکان رو بی خیال بشه 2 - از یکی که وارد تره سوال کنه تا اون براش یه plugin بسازه
اونی که کمی API ها رو بشناسه و بدونه اون کارو با چه API هایی میشه انجام داد چی کار میتونه بکنه؟ سادس برای اون کتابخانه یه plugin می نویسه
حالا این همه داستان گفتیم دیگه بیخیال میشم ولی شما جناب Mehran NZ که می گی برای DirectX لازم نیست API بلد بود تا حالا یه سورس ساده DirectX رو باز کردی ببینی تو چی هست؟ یا حتی در مورد OpenGL ؟
شما متاسفاته اینقدر با ابزار آلات سطح بالا سروکله زدی اصلا خبر نداری اینا خودشون چطوری کار می کنن، سورس بعضی از برنامه های open source که برای ویندوزه و مثلا با زبان ++C هست یه بار باز کنید ببینید، بعد بیاین هر چی خواستین بگین.
در ضمن در آخر بگم من دشمنی با هیچ کدوم از تکنولوژی ها مثل Net. و امثالهم ندارم در آینده اگه وقتشو داشته باشم حتما سمت اینا میرم، مساله تفکرات عجیب غریبی هست که بعضیا دارن، به هر حال
موفق باشید
اخه برادر شما از کجا می دونی که من کار نکردم و خبر ندارم همین جوری برای خودت توضیح واضحات میدی!
من دایرکت ایکس کار نکردم ولی با اوپن جی ال یه مقدار اشنایی دارم ولی اینا ربطی به بحث ما نداره یا من نمی فهمم ربطش چیه؟! من گفتم کتابهایی که در این زمینه هستن همچین پیش نیازی برای شما در نظر نگرفتن و همین کافیه که یه دیویلاپر دایرکت ایکس بشی چون باید اون کتابها رو بخونی وبا کتابخونش کار کنی نه مستقیما با Api های ویندوز کارکنی(حالا این دوستمون که تازه C++ شو تموم کرده هنوز مونده بخواد در مورد این چیزها بحث کنه) از این گذشته مگه اصلا Api های دایرکت ایکس با API های ویندوز یکی هستن که خوندن این بخواد به اون کمک کنه؟ من مطمئنم که اگه چیزی لازم باشه در این زمینه یاد گرفته بشه این همه کتاب Directx خودشون حتما اشاره خواهند کرد و لازم نیست آدم سرخود بره سراغ همچین چیزهایی که نه منبع درست و حسابی داره نه روش درست حسابی برای کار باهاشون!
شما دارین ناخواسته این رفیقمون و به راه بد می کشونید این بحثی که شما می فرمایید در مورد یاد گیری WinApi رک بگم اونقدر ارزش نداره که آدم بخواد 2 سال عمرش و روش بذاره اینجوری باشه که آدم بد بخت میشه مثلا ممکنه من در یه پروژه ای در یه برنامه ای مربوط به سیستم عامل مک به مشکل بربخورم و می خوام پلاگین؟!!! بنویسم پس برم 2 سال هم API های گرافیکی مک و یاد بگیرم لول (تازه این چه مشکلیه که تو کل دنیا فقط برای من پیش اومده ؟شخصا اگه همچین اتفاق ناگواری برام پیش بیاد بجای نوشتن پلاگین حتما خودم و به یه ترپیست معرفی می کنم لول)
عزیز من کتابخونه گرافیکی رو برای این درست کردن که شما عمر با ارزشت و 2 سال برای یادگیری همچین چیزایی نذاری شما اگه تو اون دو سال دات نت یا جاوا کار می کردی الان برنامه نویسی دسکتاپ و شبکه و دیتابیس و وب و موبایل رو می خوردی! بازم برو خدا رو شکر کن بخاطر این لج بازیهات نرفتی سراغ MFC و رفتی QT کار کردی که حداقل یه آینده ای داره !
در ضمن شما متاسفانه یه اخلاقی بدی داری که مثلا به خودت می قبولونی که چون فلان برنامه از فلان چیز استفاده کرده پس لابد خوبه من قبلا هم اونجا بهت گفتم که شما تا تو پروژه مربوطه نباشی نمی تونی و نباید الکی بیای نظر بدی این ممکنه 1001 تا دلیل داشته باشه قدیمی بودن برنامه- استفاده از برنامه نویسهای قدیمی و فسیل شده - هزینه زیاد تغییرات برنامه- نبود وقت کافی برای تغییر برنامه و .....
شما این برنامه نویسهای فسیل شده که نتونستن خودشون و آپدیت کنن رو متاسفانه همین الانش در هنگام کار با همون ابزارهای بقول شما سطح بالا می تونی ببینی چه برسه به ابزارهای باطل شده مثلا این دو تا کتاب در زمینه ASP.NET که دقیقا یک روش و در پیش گرفتن و یک پروژه رو رد در طول کتاب دیویلاپ می کنن بهت معرفی می کنم که اولیش از کدهاش مشخصه که طرف نتونسته از دنیای ASP بیرون بیاد و سبک برنامه نویسیش در طول کتاب اذیتت می کنه ولی دومی خیلی حرفه ای و زیبا شی گرا و برنامه می نویسه
BUILD YOUR OWN ASP.NET 3.5 WEB SITE USING C# & VB BY CRISTIAN DARIE & WYATT BARNETT
Wrox Beginning ASP.NET 4: in C# and VB
این رو همیشه در نظر داشته باشد حالا که داری تو این بیزینس که هر روز داره عوض می شه کار می کنی همیشه باید به روز باشی و ببینی جدید ترین چیهو تعصب الکی رو هم بذاری کنار دیگه باخودت!
================================================
ویرایش:
این هم خدمت دوست عزیز جناب resident2011 و احتمالا بقیه خوانندگانی که ممکنه فکر کنند من دارم از روی تعصب و علایق شخصی حرف می زنم و می خوان برن سراغ MFC و WINAPI و طبق معمول منبع کم دارن!
برای اینکه همچین فکرهایی در مورد ما نکنید لول این بیشترین منابعی بود که من تونسته بودم پیدا کنم فکر نکنم چیزهای دیگه ای بتونید پیدا کنید سایتهای دانلود هم که صفحه پیش گذاشتم برید دانلود کنید و بخونید حال کنید لول
Visual C++ 6 for Dummies
Teach Yourself Visual CPP In 21 Days
Programming Windows With MFC Second Edition Microsoft Press
Professional MFC with VS6 Wrox
Microsoft Visual C++ Windows Applications by Example
Microsoft Visual C++ 2005 Express Edition Programming (2006) - allfreeebook
Microsoft - Programming Windows API 5th
mfc-black-book.9781576101858.25965
Advanced MFC Programming
Learn_the_MFC_C++_Classes
Beginning MFC COM Programming by Julian Templeman
Windows 2000 API SuperBible
Microsoft - Programming Windows API 5th
Wrox.Ivor.Hortons.Beginning.Visual.C.Plus.Plus.200 8-0470225904
من منظورم از API فقط ساختن GUI نیستا اصلا GUI رو زیاد کار ندارم GUI در حد یه اسکلت برنامه با مفاهیم پیام ها به اضافه ی GDI چون مفاهیم مشترک داره با DirectX
کار با API باعث میشه مفاهیم رو عمیقتر یاد بگیرین چون جزئیات بیشتری رو مجبوری در نظر بگیری مفاهیمی مثل Thread Scheduling, Memory Management, Semaphore, Event و ... چقدر با این مسائل کار کردی یا آشنایی تو یه برنامه بزرگ یه پروژه پیچیده هر چه قدر به این قبیل مسائل مسلط تر باشی کار دقیق تری میتونی ارائه بدی حتی دقیق تر میتونی یه برنامه رو تحلیل کنی و در موردش نظر بدی الان ممکنه اینا برات اهمیتی نداشته باشه بگی من دارم برنامه مینویسم و اصلا به این موارد احتیاجی ندارم. ولی با دونستن کمی از این مفاهیم میبینی حتی یه برنامه کوچیک ولی حرفه ای میتونی بسازی، بعضی از اینا تا یه حد و حدودی تو کتابخانه ها پیاده شده ولی اونقدر دقیق روش بحث نشده
و اینو میدونم که خیلیا اصلا این مفاهیم رو نمیشناسن
اگه تو اون دو سال دات نت یا جاوا کار می کردی الان برنامه نویسی دسکتاپ و شبکه و دیتابیس و وب و موبایل رو می خوردی!
همین الانشم اینا رو می خورم( البته تو موبایل کار نزدم)، بجز وب همه این کارا رو میتونم انجام بدم چه با API چه یدون API :31
در ضمن شما متاسفانه یه اخلاقی بدی داری که مثلا به خودت می قبولونی که چون فلان برنامه از فلان چیز استفاده کرده پس لابد خوبه من قبلا هم اونجا بهت گفتم که شما تا تو پروژه مربوطه نباشی نمی تونی و نباید الکی بیای نظر بدی این ممکنه 1001 تا دلیل داشته باشه قدیمی بودن برنامه- استفاده از برنامه نویسهای قدیمی و فسیل شده - هزینه زیاد تغییرات برنامه- نبود وقت کافی برای تغییر برنامه و .....
من نگاه میکنم که اکثر برنامه ها چکار می کنن خصوصا اون رنج برنامه هایی که علاقه دارم منم ازشون یه خط مشی می گیرم
نمیگم لابد مطمعنا که خوبه،
یه اخلاق بدی هم که شما دارین اینه که یه سری داستانو از خودتون در آوردن بیشتر برای راحت طلبی و طبق همونا رفتین یه چیزایی یاد گرفتین
این رو همیشه در نظر داشته باشد حالا که داری تو این بیزینس که هر روز داره عوض می شه کار می کنی همیشه باید به روز باشی و ببینی جدید ترین چیهو تعصب الکی رو هم بذاری کنار دیگه باخودت!
من چیزهای جدید رو میشناسم لازم باشه یادشون میگیرم، هر چیزی رو جای خودش استفاده میکنم،
و البته خودم رو محدود به یکسری کتابخانه آماده نمیکنم:21:
Mehran NZ
20-04-2011, 06:19
من منظورم از API فقط ساختن GUI نیستا اصلا GUI رو زیاد کار ندارم GUI در حد یه اسکلت برنامه با مفاهیم پیام ها به اضافه ی GDI چون مفاهیم مشترک داره با DirectX
به قول اون یارو کلاه قرمزی یا پسرخاله یادم نمیاد دقیقا کی بود با چه زبونی بگم برادر که اینا رو می دونم اینا توضیح واضحات هست هر بچه ای می دونه
کار با API باعث میشه مفاهیم رو عمیقتر یاد بگیرین چون جزئیات بیشتری رو مجبوری در نظر بگیری مفاهیمی مثل Thread Scheduling, Memory Management, Semaphore, Event و ... چقدر با این مسائل کار کردی یا آشنایی تو یه برنامه بزرگ یه پروژه پیچیده هر چه قدر به این قبیل مسائل مسلط تر باشی کار دقیق تری میتونی ارائه بدی حتی دقیق تر میتونی یه برنامه رو تحلیل کنی و در موردش نظر بدی الان ممکنه اینا برات اهمیتی نداشته باشه بگی من دارم برنامه مینویسم و اصلا به این موارد احتیاجی ندارم. ولی با دونستن کمی از این مفاهیم میبینی حتی یه برنامه کوچیک ولی حرفه ای میتونی بسازی، بعضی از اینا تا یه حد و حدودی تو کتابخانه ها پیاده شده ولی اونقدر دقیق روش بحث نشده
و اینو میدونم که خیلیا اصلا این مفاهیم رو نمیشناسن
این مفاهیم مربوط به درس سیستم عامل می شه هم می دونیم چیه هم کنکورش و دادیم پدرمون هم در اومده لول
در مورد بقیه مسائل بحث ما متاسفانه چه الان چه همون موقع هم بسمت کل کل رفته بود بخاطر همین زیاد جدی نگرفته یودمش به هر حال هر کسی تو زندگیش یه راهی میره امیدوارم شما تو راهت موفق باشی ما هم تو راه خودمون
فعلا
resident2011
22-04-2011, 11:19
اولش می گین من می خوام برنامه نویسی ویندوز یاد بگیرم بعد می گید می خوام OpenGL , DirectX یاد بگیرم (من نمی فهمم مگه یاد گرفتن اینا کشکه که شما می خواین جفتش و باهم یاد بگیرین؟!) از اونور هم می گین می خوام WinApi رو یاد بگیرم که بعدش نفهمیدم با این می خواین OpengGL کار کنید یا برنامه گرافیکی بنویسید؟!خوب این چه ربطی دارن به هم؟
منظورم این بود که توی آینده می خوام برم سراغشون نه همزمان لااقل یه سالی هست دارم ++c رو می خونم میدونم برنامه نویسی چجوری و همزمان نمیشه مباحثی به این بزرگی رو همزمان خوند.
مباحٍ زیادی رو هم توی سایت خوندم ولی بیشتر گمراه کننده بودند و از رو علایق شخصی بودند .خواهش می کنم دوستان براساس دلایل علمی جواب بدند.
خواهشاً دوستان تایپک رو به یه بحث مقایسه ایی تبدیل نکنید .
من یه یه ماهی هست دارم تحقیق می کنم فقط بخاطر اینکه نمی خوام بی خودی برم سراق یه چیزی که عمرم تلف بشه .ولی اگه راه درست رو پیدا کنم هرچقدر وقت لازم باشه براش می زارم.
درضمن من فعلاً نمی خوام هیچ زبان برنامه نویسی دیگه ایی رو یاد بگیرم همین زبان ++c برام کافیه .
عرض کنم که اونجا من واقعیت و گفتم و از روی علایق شخی حرف نزدم (دقیقا با کجای بحثم مشکل داشتین؟)یکبار گفتم دوباره می گم پیشنهاد می کنم که دور WinAPI,MFC رو کلهم یه خط قرمز بکش و از تو زندگی برنامه نویسیت بندازش دور و بیا تو این خطی که دارم بهت می گم مطمئن باش که اینقدر چیز واسه برای یاد گرفتن هست که همین جوری دور خودت بچرخی!فکرش و بکن مایکروسافت هر سال داره یه چیز جدید می ده بیرون همین کار با دیتابیسش و نگاه کن ADO.NET نیومده دوسال دیگه LINQ میاد هنوز اینا جا نیافتاده Entity Framework اومده یعنی همین جوریش هم عقبی بعد مثلا بشینی تو این شلوغی و پیشرفت هر روزه دو سال WinApiکار کنی که در واقع برنامه نویسان Win3.1 تقریبا 20 سال پیش انجام میدادند کار عاقلانه ای بنظر نمیاد!
در مورد MFC از چند نفر که باهاش کار می کنن شخصاً سوال کردم .همون توصیه شما رو کردن.
به هرحال بابت راهنمایی ها ممنون ولی احتمالاً برم سراغ win API ولی در کنارش شاید با Qt هم کار کنم.
Mehran NZ
22-04-2011, 15:02
به هرحال بابت راهنمایی ها ممنون ولی احتمالاً برم سراغ win API ولی در کنارش شاید با Qt هم کار کنم.
یادمه اون زمان خودم هم که می خواستم بقول خودم API رو یاد بگیرم خیلی شوق و ذوق داشتم و احتمالا حرف ادمی مثل خودم رو اون زمان قبول نمی کردم حالا شما برید توش اونقدرهام ضرر نداره احتمالا به همین مباحثی که مطرح کردم خودتون می رسین یه تجربه ای هم می شه براتون ولی یه لطفی به خودت بکن و خودت و پاش پیر نکن!شما باید ببینی دنیای نرم افزار و دیویلاپمند داره کجا میره همون جهت و بگیری سعی کن از استادای درس مهندسی نرم افزار-واقعا کار هر کسی نیست بخواد مهندسی نرم افزار و درست درس بده- اگه می بینی چیزی حالیشونه جهت بگیری مثلا تئوریسینهای نرم افزار از بحث کامپوننت نویسی هم رفتن اونور تر ولی متاسفانه در عمل توی شی گرایی هستیم-حقیقتش الان دقیق یادم نیست که شی گرایی تو کدوم level بود- و هنوز ابزارهای کامپوننت نویسی درست و حسابی نیومدن البته XML هست که نتونسته اونطور که باید و شاید جواب نیازها رو بده حالا شما می گی من API کار می کنم حالا برای تجریه هم شده برو توش ولی توجه کن این دیویلاپمنت کردن باهاش حتی بصورت شی گرا هم نیست یعنی می شه یه چیز فوق پشمی و توی نرم افزار خیلی وقته از این چیزها عبور شده!
اگه زبانتون اصلا نمی خواین تغییر بدین هم که فعلا همین QT بنظر بهترین انتخاب باشه چون در غیر این صورت باید بری به سمت C++.NET که این رو قبل از یاگرفتن کامل C# توصیه نمی کنم-فقط این و در نظر داشته باش C++ قوی هست درست ولی هر گز شی گراییش به پای جاوا و C# نمی رسه پس از نظر مهندسی نرم افزار هم بخوای حساب کنی این زبانها خیلی بهتر عمل می کنن این و می تونی توی کوچ کردن کتابهای دانشگاهی و یاتدریس دانشگاهها از C++ به سمت جاوا رو کاملا حس کنی
حالا بعدا که دایره زبانهات گسترده تر شد شاید سراغ زبانهای عجیب و غریب و کامپایلر نویسی و این حرفها هم بری چون با یاد گرفتن اینها همیشه یک سر و گردن از بقیه برنامه نویسها جلوتر خواهی بود!
حرف دیگه ای ندارم بزنم امیدوارم راهت و درست بری و موفق باشی
god of war 2
22-04-2011, 16:42
سلام.
مباحث زیادی رو هم توی سایت خوندم ولی بیشتر گمراه کننده بودند و از رو علایق شخصی بودند
اگر قبلا تاپیکی که در این زمینه داخلش بحث شده بود خوانده باشید باید بگم موضوع و هدف اون تاپیک چیز دیگه ای بود و چند درصدی از مطالب هم جنبه ی اسپم داشت.
به هرحال بابت راهنمایی ها ممنون ولی احتمالاً برم سراغ win API ولی در کنارش شاید با Qt هم کار کنم.
نمیخوام چندین خط بنویسم و توضیحات اضافی بدم و فقط میخواهم با توجه به تجربیات قبلی نظرمو بگم.اگر هدفتون از برنامه نویسی کسب درامد هست و نه علاقه و تفریح پیشنهاد میکنم به تکنولوژی های روز تکیه کنید.اگر آگهی های استخدام برنامه نویس در روزنامه هارا خوانده باشید 90 درصد نیاز به برنامه نویس #C به همراه Sql دارند و این نیاز امروز و با توجه به پیشرفتی که در این زمینه وجود دارد شاید هم تا چندین سال آینده هست.
استفاده کامل فقط از API ها به منظور طراحی یک نرم افزار مثل این میمونه که شما دوچرخه را دوباره اختراع کنید!
افرادی قبلا وقت و سرمایه خود را به منظور استفاده راحت و سریعتر از API های سطح پایین مصرف کردند و آنها را بسته بندی کرده و تبدیل به تکنولوژی های سطح بالایی شدن که امروز از آنها استفاده میشود و حالا چه لزومی دارد که شخصی بخواهد این مراحل را به عقب برگردد و با وجود این همه سختی و پیچیدگی دوباره از API های سطح پایین برای طراحی یک نرم افزار استفاده کند!!!
در رابطه با استفاده و کار با DirectX هیچ نیازی به آشنایی با API های ویندوز ندارید و بیشتر باید به زبانی که میخواهید از آن استفاه کنید و کتابخانه DirectX آشنا باشید.
و در آخر باید بگم که بنده هم با حرفهای آقای Mehran NZ موافق هستم.
موفق باشید.
resident2011
22-04-2011, 17:43
اگه زبانتون اصلا نمی خواین تغییر بدین هم که فعلا همین QT بنظر بهترین انتخاب باشه چون در غیر این صورت باید بری به سمت C++.NET که این رو قبل از یاگرفتن کامل C# توصیه نمی کنم-فقط این و در نظر داشته باش C++ قوی هست درست ولی هر گز شی گراییش به پای جاوا و C# نمی رسه پس از نظر مهندسی نرم افزار هم بخوای حساب کنی این زبانها خیلی بهتر عمل می کنن این و می تونی توی کوچ کردن کتابهای دانشگاهی و یاتدریس دانشگاهها از C++ به سمت جاوا رو کاملا حس کنی
حالا بعدا که دایره زبانهات گسترده تر شد شاید سراغ زبانهای عجیب و غریب و کامپایلر نویسی و این حرفها هم بری چون با یاد گرفتن اینها همیشه یک سر و گردن از بقیه برنامه نویسها جلوتر خواهی بود!
تا جایی که میدنم زبان #c و جاوا از c به وجود امدن .یه جایی هم خوندم که زبان #C رو مایکروسافت واسه گرفتن مجوز یکی دیگه از زبانها که یادم نیست درست کرد.
اگه منظرتون از کتابهای دانشگاهی ایرانه که من اصلاً سیستم آموزشی ایران رو قبول ندارم وگرنه بعد از 12 سال درس خوندن که 7 سالش زبان انگلیسی تدریس میشه با 2 ترم دانشگاه حداقل باید نصفمون زبان رو تا حد قابل قبولی متوجه بشیم که نمیشیم.
نمیخوام چندین خط بنویسم و توضیحات اضافی بدم و فقط میخواهم با توجه به تجربیات قبلی نظرمو بگم.اگر هدفتون از برنامه نویسی کسب درامد هست و نه علاقه و تفریح پیشنهاد میکنم به تکنولوژی های روز تکیه کنید.اگر آگهی های استخدام برنامه نویس در روزنامه هارا خوانده باشید 90 درصد نیاز به برنامه نویس #C به همراه Sql دارند و این نیاز امروز و با توجه به پیشرفتی که در این زمینه وجود دارد شاید هم تا چندین سال آینده هست.
راستش من دنبال استخدام توی هیچ شرکتی نیستم .چون نمی تونم توی هیچ شرکتی دوام بیارم .تا حالا هم دوبار کارم رو ول کردم .چون اندازه کاری که می کنی توی ایران بهت پول نمیدن .تبعیض زیادی هم بین کارکنانشون قائل میشن .
ولی اینو میدونم هیچ وقت سراغ #C نمی رم ولی واسه زبان دوم ممکنه پایتون رو انتخاب کنم.
Mehran NZ
22-04-2011, 22:25
@God Of War اقا من یه اعترافی در مورد بحث اون موردمون بکنم که این بد بخت Charles Petzold اینجوری نگفته بود که شما بجای MFC برید ویژوال بیسیک یاد بگیرید و این سوتی من بود که شمام گرفته بودینش لول در واقع اینجوری گفته شده بود که MFC بد پیاده سازی شده و راههای دیگه ای برای برنامه نویسی ویندوز هست مثل ویژوال بیسیک که من از روی گیجیم اون حرف و زده بودم شرمنده وقتی که اون پست و می دادم یادم میاد از وقتی که اینا از من گرفته بودن خیلی عصبانی بودم و نمی خواستم کسی راه من و بره!
این حرفها در سال 1998 زده شده و البته در چاپ پنجم کتاب الان نویسنده مربوطه یه چندتایی کتاب در زمینه WinForm ,WPF,..... داره
Any software layer on top of the native Windows API necessarily restricts you to a subset of full functionality. You might find, for example, that Visual Basic is ideal for your application except that it doesn't allow you to do one or two essential chores. In that case, you'll have to use native API calls. The API defines the universe in which we as Windows programmers exist. No approach can be more powerful or versatile than using this API directly.
MFC is particularly problematic. While it simplifies some jobs immensely (such as OLE), I often find myself wrestling with other features (such as the Document/View architecture) to get them to work as I want. MFC has not been the Windows programming panacea that many hoped for, and few people would characterize it as a model of good object-oriented design. MFC programmers benefit greatly from understanding what's going on in class definitions they use, and find themselves frequently consulting MFC source code. Understanding that source code is one of the benefits of learning the Windows API.
تا جایی که میدنم زبان #c و جاوا از c به وجود امدن .یه جایی هم خوندم که زبان #C رو مایکروسافت واسه گرفتن مجوز یکی دیگه از زبانها که یادم نیست درست کرد.
اگه منظرتون از کتابهای دانشگاهی ایرانه که من اصلاً سیستم آموزشی ایران رو قبول ندارم وگرنه بعد از 12 سال درس خوندن که 7 سالش زبان انگلیسی تدریس میشه با 2 ترم دانشگاه حداقل باید نصفمون زبان رو تا حد قابل قبولی متوجه بشیم که نمیشیم.
در واقع C++ از C بوجو اومد چون شی گرا نبود-حالا بعد Objective C بوجود اومد به کنار- بعد جاوا از C++ بوجود اومد و مشکلات شی گراییش و حل کرد بعدش هم C# از جاوا -که در واقع C# تئوریهای نرم افزار رو دونه به دونه بصوت فوق العاده زیبا پیاده سازیش کرد واقعا باید به مایکروسافت بخاطر شاهکارش تبریک گفت- یکی از ویژگیهای خیلی بزرگی که این دو زبان دارن علاوه بر شی گرایی فوق العاده قدرتمندشون وجود بیش از 4000 کلاس هست که با IDE شون شیپ می شه که باعث می شه شما چرخها رو دوباره اختراع که یه بحث فوق العاده مهم توی مهندسی نرم افزاره -نه برادر ایران چیه منظور کتابهای افرادی مثل جناب اولمن و بوچ و ....هست که دنیای نرم افزار و تکون دادن پایتان و اینا جزو همون زبانهای عجیب و غریب حساب می شن که زیاد نتونستن جا باز کنن یاد بگیرش ولی جاوا و C# رو حتما باید یاد بگیری شما خودت هم بخوای یکدندگی کنی جهان امروز این اجازه رو بهت نمیده نمیده مثلا شما میری تاپترین کتاب UML رو خرید که نه دانلود می کنی بعد می بینی مثلا تازه از C++ مهاجرت کرده به جاوا و کلی هم مثالها تاپ و روز هم آورده برات اونوقت می خوای چیکار کنی مگه راهی بجز یاد گرفتن جاوا برات می مونه؟
نمی خواستم دوباره وارد این بحث بشم نمیدونم چرا باز اومدم، من حالا کاری به بقیه ندارم که API براشون مفدیه یا نه
من به شخصه اینو تجربه کردم و بین افراد مختلف دیدم، کسایی که از ابتدا یکسری مفاهیم سطح پایین رو یاد گرفتن خیلی بهتر و
عمیقدر تکنولوژی های جدیدتر رو یاد میگیرن و میتونن استفاده کنن خواستی نمونه افرادی تو سایت های دیگه بهت معرفی میکنم
پستهای اون افراد رو ببین و مقایسه کن با بقیه
من الان خودم دارم تو یک شرکتی کار می کنم پروژه یی که الان اونجا دارن روش کار میکنن یه آنتی ویروسه، این پروژه واقعا بزرگ و
پیچیده است حالا اینو برای بزرگ کردن خودم نمیگم اتفاقا اونجا من یه عضو کوچیکم خیلی قوی تز از من اونجا هستن ولی با اطمینان
بهت میگم اگر با API اشنا نبودم کار اونجا برام خیلی راحت نبود. ببین هر روز برنامه های مختلف رو باید برسی کنم، سورس های متفوات
رو میبینم از افراد مختلفی مشاوره میگیرم میدونم راهی که رفتم اشتباه نبوده اون 2 سالی که گفتم صرف کردم بیهوده نبوده
کاری ندارم که درک این چیزا ممکنه برای بعضی سخت باشه ولی با اینکه هنوز خیلی مبتدی ولی به بعضی از هدفام رسیدم
یه اشتباهی که اکثرا می کنیم اینه که رو حرف هر کسی اتکا میکنیم، شما اگر هدفت معلومه، حوزه کاریت مشخصه بگرد دنبال
بهترین افراد تو اون زمینه اونا رو الگوی خودت قرار بده پا میشی میای تو این فروم سوال میکنی هر کی میاد برات یه چیزی میگه
این بیشتر باعث گمراهی شما میشه
اگه هدفت از برنامه نویسی اینه که یه چنتا فرم کنار هم بزاری روشون یکسری جدول بریزی وصل کنی به دیتابیس
پروژ هایی مثل انبار داری، حسابداری، فروشگاه بزنی درسته API زیاد بدرد نمیخوره ولی اگه غیر از اینه و هدفای بزرگ داری سعی کنی API ها
رو تا یه حدی بشناسی اینی که میگم در مورد هر سیستم عاملی است چه ویندوز، لینوکس، مک یا هر چیز دیگه
resident2011
22-04-2011, 23:16
یه اشتباهی که اکثرا می کنیم اینه که رو حرف هر کسی اتکا میکنیم، شما اگر هدفت معلومه، حوزه کاریت مشخصه بگرد دنبال
بهترین افراد تو اون زمینه اونا رو الگوی خودت قرار بده پا میشی میای تو این فروم سوال میکنی هر کی میاد برات یه چیزی میگه
این بیشتر باعث گمراهی شما میشه
خوشبختانه من تا در مورد یه چیزی کامل تحقیق نکنم واردش نمیشم همیشه هم به فرم های اینترنتی اتکا نمی کنم تا الان از چند نفر برنامه نویس هم سوال کردم .نتایج خوبی داشت .البته توی فرمها هم در بعضی موارد خیلی خوب هستن مخصوصاً بحث ها جنجالی چون هرکی در مورد ویژگی های زبان خودش و کاستی ها زبان دیگری حرف میزنه که باعث روشن شدن خیلی مسائل میشه .
پروژ هایی مثل انبار داری، حسابداری، فروشگاه بزنی درسته API زیاد بدرد نمیخوره ولی اگه غیر از اینه و هدفای بزرگ داری سعی کنی API ها
رو تا یه حدی بشناسی اینی که میگم در مورد هر سیستم عاملی است چه ویندوز، لینوکس، مک یا هر چیز دیگه
مشکل خیلی از برنامه نویسهای ما همینه مطمئن هستم یه روزی ایران هم به جامعه قوانین نرم افزار می پیونده.(ای کاش زودتر اینکار صورت بگیره )اون موقع دیگه بحث نرم افزاری توی ایران فقط کا با جداول و دیتابیس نخواهد بود.
Mehran NZ
23-04-2011, 00:20
نمی خواستم دوباره وارد این بحث بشم نمیدونم چرا باز اومدم
لول جالبه اتفاقا من خودم یه آدم فوق بی حالم معجزه بوده اومدم تو این بحث و چند تا پست پشت سر هم دادم احتمالا این جناب رزیدنت کریزمایی چیزی داره!
================
اگه هدفت از برنامه نویسی اینه که.....
اصلا همین جا این حرف اشتباه هست ! اصلا هدف نباید برنامه نویسی و برنامه نویس بودن باشه هدف باید دیویلاپمنت و دیویلاپر شدن باشه که تازه برنامه نویسی میره آخرین لایه دیویلاپمندی!چرا یکی مثل دکتر رانکوهی میاد توی کلاس درسش می گه که یاد دادن برنامه نویسی در دانشگاه توهینی هست به دانشجو؟
کسی می تونه جایی از نوشته های من چه اینجا چه جاهای دیگه چیزی رو پیدا کنه که من گفته باشم حالا که WinForm و ابزارهای پیشرفته اومدن که کارها رو راحت کردن پس کشکی و پشمی مثلا بیای نرم افزار حسابداری بنویسی؟یا ارکیتکتهای نرم افزاری و چرخه های تولید نرم افزار پشم هستند؟!
فقط این دوستمون یه حرف خوبی زد که من هم قبول دارم آدم نباید از هر کسی سوال کنه بهترین منبع کسانی هستند که تو کار تدریس دروسی مثل "مهندسی نرم افزار" و RUP و دیتابیس و مدلینگش و.....هستند افرادی حرفه ای که احتمالا خودتون حتما تو محیط دانشگاه خواهید دید
ویرایش:
@ resident راستی اون چیزی هم که گفته بودین تا حدی درست هست مایکروسافت قدرت جاوا رو درک کرده بود و می خواست جاوا و برنامه نویسهاش و بسمت خودش بیاره ( C# تقلیدی از جاوا هست) و زبانهایی مثل J++ رو قبل از دات نت و J# رو بعد از دات نت معرفی کرد ولی هر بار هم شکست خورد مثلا همین J# توی ویژوال استادیوی 2005 وجود داشت و بعد سان قرار دادش و باهاش بهم زد و کلا یه پروژه باطل شده هست و دیگه جزو زبانهای ویژوال استادیو محسوب نمیشه برای اطلاعات بیشتر خودت می تونی سرچ کنی
فعلا
سلام به همه دوستان و مهندسای نرم افزاری و سخت افزاری.:31:
ارادت مندیم. من مهندس نرم افزار نیستم ، کارم انیمیشن و طراحی سه بعدی هست و بخاطر علاقه ای که به برنامه نویسی گرافیکی داشتم به سراغ Direct3D که بخشی از دایرکت ایکس هست رفتم و البته بخاطر سادگی یاد گرفتن با دلفی برنامه هامو کار میکردم. تقریبا یکی دو سال طول کشید تا با دایرکت تری دی تونستم برنامه های قابل قبولی بنویسم و چند تا کار طراحی هم با گروهمون سفارش گرفتیم و انجام دادیم.
بنده که با دایرکت ایکس کار کردم پیشنهاد میکنم که دوستمون کمی برنامه نویسی ویندوز در حدی که یک پنجره ساده و نهایتا چند تا دکمه بتونه توش بگذاره یاد بگیره و بعد دایرکت ایکس رو یاد بگیره (می دونم که خیلی سخته ولی چون خودم تونستم پس میگم میشه).
و اما دایرکت ایکس چیه؟
دایرکت ایکس یکسری API هست که به برنامه نویس اجازه میده که مستقل از سخت افزار کاربر ، از سخت افزار با تمام تواناییش استفاده کنه و بدون اینکه فکرش درگیر کدهای هر سخت افزار از شرکتهای مختلف برای انجام دستورات بشه ، از توابع دایرکت ایکس استفاده کنه و فکرش رو صرف خلاقیت بکنه. دایرکت ایکس فقط تحت ویندوز کار میکنه توسط مایکروسافت ارائه می شه و اکثرا برای نرم افزار های ملتی مدیا استفاده میشه که بخشهای مختلفی داره که هر کدوم برای ارتباط با بخشی از توانایی های سخت افزار استفاده میشن از جمله :
Direct3D برای گرافیک سه بعدی
DirectSound برای صوت
DirectMusic برای موسیقی
DirectPlay برای بازی شبکه ای
DirectInput برای دستگاه های ورودی مثل موس، کیبورد و جوی استیک
در حالی که OpenGL فقط رابط گرافیکی هست و میتونیم اون رو فقط معادل Direct3D که بخشی از DirectX هست حساب کنیم.
البته اگر دوستمون بخواد کار گرافیکی با دایرکت تری دی انجام بده لازمه که کمی هم با 3DsMax یا Maya و مانند اینها کار کنه چون باید با مفاهیم گرافیک سه بعدی آشنا باشه وگر نه خیلی که زرنگ باشه میتونه نهایتا یه Box یا یه متن سه بعدی نمایش بده البته یک
نکته مهم هم وجود داره اینکه اگر میخای دایرکت ایکس رو یاد بگیری به نظرم اگه از ورژن DirectX9 شروع کنی راحت تر باشه حتی کتاب فارسی هم داره. الان که این متنو مینویسم DirectX11 روی دستگاهم نسبه و DirectX11_SDK رو هم دارم ولی چون سخت افزار های قدیمیتر نمیتونن اونو پشتیبانی کنن از طرفی هم یاد گرفتنش سخت تر از DirectX9 هست بیخیالش شدم.
خود 3DsMax برای نمایش Viewport اش هم از Direct3D و هم از OpenGL میتونه استفاده کنه که به طور پیشفرض روی دایرکت ایکس تنظیمه طبق تجربه بنده هم با دایرکت ایکس هماهنگ تر هست. مایا هم همینطور و هسته اصلی مایا با ++C نوشته شده. البته برای شروع کار، مایا مشکلتر و تخصصی تره و من برای شروع 3DsMax رو پیشنهاد میکنم.
بازم اگه نظری دارید بفرمایید.
موفق باشید.:20:
سلام.
بهتره ++C رو بذارید کنار و اونو فراموش کنید.
البته من نمیدونم این تاپیک مال کی هست که الان اومده بالا....
اگر با دایرکت ایکس میخواهید کار کنید بهتره زبان XNA رو حالا با سی شارپ(پیشنهاد میشه) یا وی بی کار کنید.
یا میتونید با خود WPF یا WP7 یا Silverlight کار کنید.
این سه زبان کپی هم هستند و کافیست یکیشو یاد بگیرید.
موفق و سربلند باشید در پناه حق:11:.
سلام.
بهتره ++C رو بذارید کنار و اونو فراموش کنید.
البته من نمیدونم این تاپیک مال کی هست که الان اومده بالا....
اگر با دایرکت ایکس میخواهید کار کنید بهتره زبان XNA رو حالا با سی شارپ(پیشنهاد میشه) یا وی بی کار کنید.
یا میتونید با خود WPF یا WP7 یا Silverlight کار کنید.
این سه زبان کپی هم هستند و کافیست یکیشو یاد بگیرید.
موفق و سربلند باشید در پناه حق:11:.
خیلی ممنون از راهنماییتون. البته خیلی فرقی نمیکنه چون توابع دایرکت ایکس تو هر زبانی که دایرکت ایکس با اون ارائه شده باشه یکی هست و مهم اینه که شما بتونید درک خوبی از این توابع داشته باشید و البته ریاضی هم خیلی مهمه مخصوصا برای Direct3D که خیلی از ماتریس ها استفاده میکنه پس باید اون ها رو یاد بگیریم و دایرکت ایکس تو زبانهای مختلف از یک شیوه استفاده میکنه و مهم اینه که شما با محیط نرمافزارتون و کامپایلرتون آشنایی داشته باشید و باهاش احساس راحتی کنید. هرچند که دایرکت ایکس توسط مایکروسافت به زبان ++C ارائه میشه و نمونه ها و Sample ها و Referencهای اون معمولا با زبان ++C هست ولی بنده به خاطر آشنا بودن با دلفی با همون کارم رو شروع کردم و مشکلی هم از این جهت ندارم.
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.