نمایش نتایج 1 تا 8 از 8

نام تاپیک: راهنمایی از اساتید و متخصصین c و C++‎ در رابطه با انتخاب محیط کاری برای طراحی یک نرم افزار تحت شبکه

  1. #1
    کاربر دائمی آواتار aminghaderi
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    مشهد
    پست
    1,557

    راهنمایی از اساتید و متخصصین c و C++‎ در رابطه با انتخاب محیط کاری برای طراحی یک نرم افزار تحت شبکه

    با سلام خدمت دوستان و اساتید گرامی .
    سوالم کمی طولانی شد ولی از همه متخصصین و اساتید گرامی تقاضا دارم در این زمینه من رو راهنمایی کنند ، چون خیلی به راهنمایی شما ها نیازمندم.

    یه برنامه تحت شبکه می خواهم طراحی کنم ، که می خواهم با زبان c یا C++‎ باشه.
    اما به دلیل اینکه من C#‎ کار هستم نیاز به راهنمایی شما بزرگواران رو دارم.
    اینکه می خواهم برنامه تحت دات نت نباشد.
    و اینکه کد های برنامه من به زبان ماشین ترجمه بشه نه مثل دات نت به زبان میانی .
    امنیت کد ها خیلی برام مهمه ، می خوام جوری باشه که نهایتن به سختی دی کامپایل بشه.
    محیط سبکی داشته باشه .(مثل دات نت طراح رو مقید به رعایت چارچوب نکنه).
    خیلی خیلی علاقه مند هستم محیط برنامه از مرامین پایه زبان برنامه نویسی و توابع پایه اون استفاده کنه و شاخ و برگ به محیط کاری اضافه نکنه .(می خوام مثل زبان c معمولی که شامل توابع پایه خودش هست این هم به همین صورت باشه و مثل دات نت راه حل ارائه نداده باشه مثل هزاران توابعی که برای در فریم ورکش قرار داده و برای کار حتمی از انها باید استفاده کنیم و از داخل کلاس ها هم نمی شه زیاد سر در اورد.)
    و بحث دیگه اینکه می خواهم زبان و محیط شفاف باشه یعنی من به عنوان یه برنامه نویس راحت بتونم از محتویات کلاس ها و توابع اون باخبر بشم و بررسیشون کنم.
    اگر به صورت متن باز باشه خیلی بهتره ولی ویژگی های بالا برای من مهمتره که داشته باشه.

    اما کاری که می خواهیم انجام دهیم :
    طراحی نرم افزار تحت شبکه برای یه شبکه wan که در آن واحد بین 1 تا 10 و نهایتا 100 درخواست رو باید برنامه بتونه جواب بدهد که در دقیقه بین 60 تا نهایتا 6000 درخاست رو باید پاسخ گو باشه؟!

    با این تفاسیر شما کدام زبان و محیط کاری رو به من پیشنهاد می کنید؟؟؟؟
    و کدام سیستم عامل ؟

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

  2. #2
    کاربر دائمی آواتار aminghaderi
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    مشهد
    پست
    1,557

    نقل قول: راهنمایی از اساتید و متخصصین c و C++‎ در رابطه با انتخاب محیط کاری برای طراحی یک نرم افزار ت

    تا جایی که فهمیدم ، باید از ++Turbo C‎ به روش Native عمل کنم ؟؟؟درست متوجه شدم؟؟
    برای محیط یا همون IDE به نظرتون از چه محیطی استفاده کنم؟؟؟
    VS2010 رو دوستان توصیه کردند ولی خوب این محیط برای .NET هست ، در جریان هستم که قابلیت کامپایل به صورت Native هم دارد ، می خوام ببینم محیطی بهتری و سبکتری وجود ندارد؟؟؟
    آیا این محیط C++‎‎‎ استاندارد هست یا دستکاری شده و توابع بهش اضافه کردند؟
    -----------------------
    یه گلیه کوچک از دوستان C++‎‎‎ / c اگر مشابه همین سوال که در بخش asp.net می شد و من می دیدم همان جا راهنمایی کامل می کردم ، طوری که دیگه نیاز نباشه طرف از کسی دیگه سوال کنه ، اما این سوال مبتدی من چند روزه داره خاک می خوره تا امروز کلی سرچ و جستجو تا کمی دستم آمد چی به چی هست .
    از اساتید و متخصصین تقاضا دارم راهنمایی بفرمایند و تجربیات ارزندشون رو به اشتراک بگذارند باور کنید عمر ما ها اینقدر جواب نمی ده که همه چیز رو خودمون تجربه کنیم ، مثلا این نرم افزار رو من تهیه کنم بعد بفهمم C++‎‎‎ در زمینه شبکه ضعیف هست و ....

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

  3. #3

    نقل قول: راهنمایی از اساتید و متخصصین c و C++‎ در رابطه با انتخاب محیط کاری برای طراحی یک نرم افزار ت

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

    نکته اول: ویژوال استودیو دات نت بر خلاف تصور شما و عده‌ای از دوستان صرفاً برای دات‌نت نیست، شما می‌توانید در این محیط به زبان C++‎ مایکروسافت، که قبلا vC++‎ نامیده میشد و اینک با نام mC++‎ شناخته می‌شود استفاده کنید. mC++‎ به معنی managed C++‎ است. به این معنی که می‌توانید از این نسخه از C++‎ از کدهای مدیریت شده‌ای که از دات‌نت نیز بهره میبرند، استفاده کنید. (توجه کنید: می‌توانید نه اینکه محبور هستید) که بدیهیست در صورت تمایل می‌توانید به روال سابق C++‎ کد نویسی مدیریت نشده انجام دهید که در این صورت خروجی شما به دات‌نت نیاز نخواهد داشد و فقط می‌توانید از امکانات C++‎ استفاده کنید (مانند mfcو...)

    نکته دوم: سعی کنید یک فریم‌ورک حداقل برای رابط کاریری نرم‌افزار انتخاب کنید (باور کنید عمر شما اونقدر نیست که خودتون بنویسیدش!) نامزدهای این انتخاب از نظر بنده عبارتند از:

    • MFC
    • Qt

    MFC فقط در کامپایلر مایکروسافت کار خواهد کرد در حالی که کیوت به دلیل استاندارد بودن محدودیتی ندارد. پس باید انتخاب کنید هدف سکوی مایکروسافتی است یا غیر آن. اگر سکوی مایکروسافتی را انتخاب کنید محدود به ویندوز خواهید بود. اما در طرف مقابل انتخاب کیوت به همراه یک کامپایلر استاندارد به شما این امکان را می‌دهد تا یک نرم‌افزار کراس‌پلت‌فرم ایجاد کنید که پوئن کمی نیست.


    مزایای Qt نسبت به MFC از نظر من:

    • روال کاری بسیار روان‌تر مخصوصا در زمینه رابط نرم‌افزاری
    • ساخت رابط‌های گرافیکی منعطف‌تر نسبت به MFC مخصوصا رابط‌های استایل پذیر
    • امکان کامپایل برای انواع سیستم‌عامل ها و سکوها
    • ...

  4. #4
    کاربر دائمی آواتار aminghaderi
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    مشهد
    پست
    1,557

    نقل قول: راهنمایی از اساتید و متخصصین c و C++‎ در رابطه با انتخاب محیط کاری برای طراحی یک نرم افزار ت

    ممنون از راهنمایی بسیار خوبتان .
    خلاصه ( Code::Blocks + GCC (MinGW انتخاب خوبیه.
    به وبسایت رسمی Code::Blocks در ادرس زیر رفتم :
    http://www.codeblocks.org

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

    در باره GCC :
    آیا وبسایت رسمی برای اون وجود نداره ؟؟ که مستندات و توابع و کلا تغیراتش به نسخه بالاتر و راهنمایی برای استفاده داشته باشه؟؟
    در گوگل این gcc.gnu.org رو پیدا کردم ولی فکر نکنم صفحه اصلی این مترجم باشه؟؟

    نکته دوم: سعی کنید یک فریم‌ورک حداقل برای رابط کاریری نرم‌افزار انتخاب کنید (باور کنید عمر شما اونقدر نیست که خودتون بنویسیدش!) نامزدهای این انتخاب از نظر بنده عبارتند از:
    MFC
    Qt
    منظور از رابطه کاربری چه هست؟؟ همین پنجره و فرم ها منظور هست؟؟ یعنی خود C++‎‎ این امکان رو به خودی خود نداره؟؟؟
    من زیاد به فریم ورک نیاز ندارم ، الان در دات نت با اون همه کلاس و توابع فقط همون Ado رو استفاده می کنم و یه سری کلاس دیگه و اگر بخوام فریم ورک درست کنم ، کل فریم ورک من شامل نهایتا 20 تا کلاس بیشتر نیست ولی با این تفاسیر QT رو خیلی شنیدم و قبول دارم یه فریم ورک جامع هست.
    آیا این فریم ورک ها متن باز نیستند تا توابع و کلاس های مد نظرمون رو از داخل اونها برداشته و همه اونها رو که نیاز هست فریم ورک کنیم؟؟

    من چند سالی هست از C#‎‎ استفاده می کنم محیط خیلی قوی داره ولی همین که برنامه نویس رو محدود می کنه خیلی سخته ، مثلا من کار X رو با کلاس Y انجام می دهم ولی اگر بگویند همون کلاس رو شبیه سازی کنیم ، قادر به این کار نیستیم چون اصلا سر در نمی یاریم کلاس داره دقیقا چه کاری می کنه ، مثل همین AdO خوب اطلاعات از دیتابیس واکشی می کنه و ثبت می کنه و کوئری اجرا می کنه ، حالا چطوری این کار رو می کنه ، من که نمی دونم ؟! من به این می گم محدود کردن ، یا عدم شفاف سازی ، شاید علم من کمه در C#‎‎ که قطعا همین طور هست ولی دیگه نباید اونقدر هر کلاسی رو مهر و موم کنند که هر کس بخواد سر در بیاره باید یک هفته فقط سرچ کنه؟!

    با سپاس فراوان از راهنمایی های ارزشمند شما و وقتی که برای راهنمایی من می گذارید.

  5. #5

    نقل قول: راهنمایی از اساتید و متخصصین c و C++‎ در رابطه با انتخاب محیط کاری برای طراحی یک نرم افزار ت

    منظور از رابطه کاربری چه هست؟؟ همین پنجره و فرم ها منظور هست؟؟ یعنی خود C++‎‎ این امکان رو به خودی خود نداره؟؟؟
    بله منظور همونه، خیر نداره. حتی سی‌شارپ هم چنین امکانی نداره. این دات‌نته که این امکان رو بهش میده!

    آیا این فریم ورک ها متن باز نیستند تا توابع و کلاس های مدر نظرمون رو از داخل اونها برداشته و همه اونها یی که نیاز هست فریم ورک کنیم؟؟
    فریم‌ورک‌های متن‌باز زیادی برای سی‌پلاس‌پلاس وجود دارند. اما کاری که فرمودید بیهودست!

    من چند سالی هست از C#‎‎ استفاده می کنم محیط خیلی قوی داره ولی همین که برنامه نویس رو محدود می کنه خیلی سخته ، مثلا من X رو با کلاس Y انجام می دهم ولی اگر بگویند همون کلاس رو شبیه سازی کنیم ، قادر به این کار نیستیم چون اصل سر در نمی یاریم کلاس داره دقیقا چه کاری می کنه ، مثل همین AdO خوب اطلاعات از دیتابیس واکشی می کنه و ثبت می کنه و کوئری اجرا می کنه ، حالا چطوری این کار رو می کنه ، من که نمی دونم ؟! به این می گم محدود کردن ، یا عدم شفاف سازی ، شاید علم من کمه در C#‎‎ که قطعا همین طور هست ولی دیگه نباید اونقدر هر کلاسی رو مهر و موم کنند که هر کس بخواد سر در بیاره باید یک هفته فقط سرچ کنه؟!
    نمیشه گفت محدود کننده در این موردی که فرمودید.
    کلاس Y میگه من عمل X رو انجام میدم اگه میخوای از من استفاده کن اگه نمیخوای خود دانی!

  6. #6
    کاربر دائمی آواتار aminghaderi
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    مشهد
    پست
    1,557

    نقل قول: راهنمایی از اساتید و متخصصین c و C++‎ در رابطه با انتخاب محیط کاری برای طراحی یک نرم افزار ت

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

    2- پایگاه داده با این شرایط (مثل همین IDE و زبان ++C) به نظرتون چی استفاده کنم؟؟ در حال حاظر با SqlServer ماکروسافت کار می کنم که اون هم مطلوب من نیست ، MySql رو هم که یه سری حروف حدیث براش هست :
    MySQL با توجه به مجوز GPL آن در شرايط زير رايگان خواهد بود:
    - قصد توزيع مجدد آن‌را نداشته باشيد.
    - همچنين برنامه‌ي شما نيز به صورت سورس باز تحت مجوز GPL ارائه گردد.
    و تنها زماني در مورد MySQL بايد هزينه كنيد كه:
    -قصد توزيع مجدد آن‌را داشته باشيد.
    -برنامه‌ي شما سورس باز نبوده و قصد نداريد آن‌را تحت مجوز GPL ارائه دهيد. (كه عموما در مورد برنامه‌هاي تجاري به همين صورت است)
    http://www.dotnettips.info/2010/12/mysql.html
    با این تفاسیر آیا پایگاه مناسبی هم برای استفاده به صورت متن باز و شرایطی همچون قابلیت اعتماد مدنظر شما هست؟؟

  7. #7
    کاربر دائمی آواتار amir.bakhtiari
    تاریخ عضویت
    بهمن 1389
    محل زندگی
    کرج
    پست
    161

    نقل قول: راهنمایی از اساتید و متخصصین c و C++‎ در رابطه با انتخاب محیط کاری برای طراحی یک نرم افزار ت

    GNU---->GNU's Not Unix
    گنو یک مخفف بازگشتی است و از اولین حرف کلمات GNU's Not Unix به معنای گنو یونیکس نیست گرفته شده است. همچنین گنو نام نوعی گاومیش است که در مناطق شمالی آمریکای شمالی زندگی می‌کند.
    اینجا

  8. #8
    کاربر دائمی آواتار amin1softco
    تاریخ عضویت
    شهریور 1386
    محل زندگی
    پای آن سرو بلند
    پست
    1,832

    نقل قول: راهنمایی از اساتید و متخصصین c و C++‎ در رابطه با انتخاب محیط کاری برای طراحی یک نرم افزار ت

    به به باریکلا ........
    خوب در کل به نظره بنده که هیچ تجربه ایی در زمینه برنامه نویسی سوکت ندارم باید بگم که مگه این مایکروسافت مشکلش چیه خوب دوست داره شما بد بختی های کار رو نبینید حالا مگه شما اسمبلی رو ببنید خیلی مشکلاتتون برطرف می شه که حالا گیر دادین همه چیزو ببنید کلاً سعی کنید فقط چیزی که مربوط به کارتون می شه رو ببنید حالا ado ارتباط با پایگاه رو تأمین کنه یا odbc برای شما چه فرقی داره آخه!!! مهم اینه که کلاس هایی که شما لازم دارید رو در اختیارتون بگذاره تازه سوئیچ کردن اینا اصلاً کاری نداره چیزی هم که فراوونه جایگزینه!!!
    در آخر این QT فرم ورک خوبیه به نظرم هرچیزی شما لازم داشته باشید فراهم می کنه چه اتصال به پایگاه چه توابع سوکت چه کارایی....

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •