راستی این لینکی هم که دادین برخی از قابلیت هارو به نفع سی پلاس گفته:31:
لطفاً قسمت نظرات رو هم بخونید.
پستش هم واسه سال 2007 بیده.:31:
Printable View
راستی این لینکی هم که دادین برخی از قابلیت هارو به نفع سی پلاس گفته:31:
لطفاً قسمت نظرات رو هم بخونید.
پستش هم واسه سال 2007 بیده.:31:
شما نام ببرید چه برنامه هایی تحت ++C نوشته نمیشن؟!نقل قول:
خوب میشه بگید الان دیگه چه برنامه هایی دارن تحت سی پلاس نوشته میشن؟
خود 3dsmax شده داره از کتابخانه های دات نت استفاده میکنه.
فقط مونده Adobe که فکر کنم دلش نمیاد فتوشاپ و برنامه هایی که نوشته رو تحت دات نت کنه.البته تحقیق نکردم ببینم این کارو کرده یا نه.
من نمیگم سی پلاس بده.ولی وقتی چیزی به عنوان دات نت وجود داره خیلی زشته آدم بیاد با محیط سی برنامه بنویسه.
مایکروسافت دات نت داده که سی پلاس پلاس بره کنار...wpf داده که win App بره کنار حالا هم ویندوز 8 داده که ویندوزهای قبلی برن کنار...
اکثر نرم افزارهای بزرگ توسط ++C ایجاد شده و توسعه داده شدن، و معدود نرم افزارهای بزرگی وجود دارن که بر بستر دات نت نوشته شده باشن. مهمترین دلیلش هم میتونه قابلیت پرتابل بودن (مستقل از سیستم عامل) و پرفورمانس بالاتر اون نصبت به #C در دات نت باشه.
ببینید برنامه نویسی که فقط ویندوز نیست، خیلی ها دوست دارند نرم افزارهای کراس پلتفورم ایجاد کنند تا شاید بتونن از این راه کاربرانی بیشتری رو به سمت خودشون جلب کنند. مطمئنا" #C و NET. نمی تونن به خوبی و سادگی ++C از این عهده ی اینکار بر بیان. یک مثال میزنم: یک نرم افزاری که با دات نت ایجاد شده اگر بخواد برای سیستم عامل مک/لینوکس هم پورت بشه، سختی به مراتب بیشتر از ++C داره، مثلا نصب mono بر این سیستم عاملها، تازه بماند اینکه ممکنه بعضی از API بر روی بستر Mono مثل ویندوزی به اجرا در نیان. ولی برنامه هایی که توسط ++C ایجاد شده باشن خیلی راحت میشه برای سیستم عاملهای مختلف پورت کرد. یکی از کوچک ترین مثالهاش میشه به نرم افزار Cyberduck اشاره کرد که تا همین 2-3 پیش فقط مخصوص سیستم عامل مک بود، ولی در حال حاضر شما میتونید نسخه های ویندوزی اون رو هم ببینید. دلیلش هم این هست که اکثر کتابخانه های مهم ++C مثل openssl, curl, zlib, boost و خیلی از کتابخانه های بزرگ خانواده ++C کاملا مستقل از سیستم عامل توسعه داده شدن و شما میتونید از اونها براحتی در نرم افزارها تون بکار ببریدشون.
همچنین باوجود فریم ورکها و کتابخانه هایی مثل QT و wxWidget برای ++C این عمل با سرعتی دو برابر از قبل انجام میگیره...
درضمن فکر نمیکنم مایکروسافت دات نت رو داده باشه که ++C بره کنار، اگر اینطور بود حداقل نسخه CLI از CPP رو برای دات نت ایجاد نمیکرد، چون میدونه CPP هم برنامه نویس های خاص خودش رو داره. در مورد win app هم بگیم Win32 API بهتره... ببینید گاهی اوقات برای عملیات سطح پایین تر حتی wpf هم جوابگو نیست و شما مجبورید به استفاده از Win32 Api رو بیارید، فکر میکنید این کامپوننتهایی مثل Telerik از چه طریقی اینکار رو انجام میدن? wpf؟ اگر اینطور بود که دیگه هیچ کس سراغ این نوع کامپوننت ها نمیرفت!
من خودم از سادگی بیش از حد در برنامه نویسی بدم میاد:دی وقتی دارید با WPF برنامه مینویسید مثلما" لذتی که Win32 API به شما میده رو نمیبرید! WPF صرفا برای تسریع در عمل طراحی بوجود اومده که از جهاتی خوب و از جهاتی هم بد هست.
خوب اگر بخوایم اینطور حساب کنیم که میشه گفت تمامی زبانها (حداکثر) شبیه به هم هستن، حداقل در نحوه ی مفهوم کاربردی که دارن. ولی چیزی که CPP رو از #C متمایز میکنه اینه که تمامی اجزا رو در کنترل دارید و حتما باید به کوچیکترین چیزها هم توجه کنید (این یکی از مواردی هست که من رو خیلی درگیر خودش کرده!) و تا باهاش کار نکنید متوجه منظور من نمیشید! مهمترینش هم میشه گفت بخاطر کنترل حافظه هست که در C/CPP شوخی بردار نیست!نقل قول:
من سی شارپ بلد بودم.سی پلاس پلاس رو بدون مطالعه یاد گرفتم...یعنی تا حلقه ها هیچ فرقی با هم نمیکنن..مگه اینا سینتکس نیستن؟
ولی دیگه سمت کلاس ها و ایناش نرفتم ببینم چقدر شباهت دارن.
منم گفتم تقریباً شبیه هستن...تنها فرقشونم فکر کنم طریقه ی استفاده از کتاب خانه هاشونه که دات نت خیلی کار رو راحت کرده.
موفق باشید.
سلام.
نام بردم دیگه:31:.الان 3dmax 2010 و 2011 نیاز به دات نت دارن.فتوشاپ اینارو نمیدونم.نقل قول:
شما نام ببرید چه برنامه هایی تحت ++C نوشته نمیشن؟!
شما همین نسخه آخر Nero رو ببینید حدود 300 مگابایته...البته من نمیدونم اینا چی توش جا دادن ولی همین رو اگه با دات نت بخوای سر هم کنی به 2 مگ هم نمیرسه:31:.
خوب معلوم شد که چرا اینقدر طرف سی پلاسو گرفتید:31:.اینطور که بوش میاد شما یا با wpf کار نکردید یا تا حدی که به لذت برسید کار نکردید.(شکست در پروژه های متعدد)نقل قول:
من خودم از سادگی بیش از حد در برنامه نویسی بدم میاد [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] وقتی دارید با WPF برنامه مینویسید مثلما" لذتی که Win32 API به شما میده رو نمیبرید! WPF صرفا برای تسریع در عمل طراحی بوجود اومده که از جهاتی خوب و از جهاتی هم بد هست.
پروژه ی mono چه مشکلی داره؟من باهاش کار نکردم ولی شنیدم که به راحتی میشه برای لینوکس و مک با سی شارپ برنامه نویسی کرد.چون اطلاعاتی ندارم درموردش چیزی نمیگم.
ولی اینکه شما لذت برنامه نویسی WPF رو با C++ مقایسه کردید خیلی عجیبه.
حاضرم همینجا چهار تا برنامه گرافیکی بنویسیم یکی با سی بنویسه و یکی با wpf تا به بقیه دوستان هم بفهمونیم توی کدوم کد نویسی راحت تر و لذت و گرافیک بیشتره.
من تجربه دارم میگم وگرنه اصلاً فردی نیستم که فقط با تعصب طرف زبان برنامه نویسی خاصی رو بگیرم:31:.
خیالم راحته که باهاشون کار کردم...آره 4 سال پیش که با vb6 کار میکردیم فکر میکردیم هیچی بهتر از این نیست ولی یکم تنوع هم بد نبود واقعاً لذت رو احساس کردم.
--------------
خیلی ممنونم از همه دوستان بزرگوار که در بحث ها شرکت میکنن و این موضوع رو با نگاه تبادل علم و پیشرفت دوستان دنبال میکنن.
نقل قول:
خوب معلوم شد که چرا اینقدر طرف سی پلاسو گرفتید.اینطور که بوش میاد شما یا با wpf کار نکردید یا تا حدی که به لذت برسید کار نکردید.(شکست در پروژه های متعدد)
سوء برداشت شد:دینقل قول:
ولی اینکه شما لذت برنامه نویسی WPF رو با C++ مقایسه کردید خیلی عجیبه.
حاضرم همینجا چهار تا برنامه گرافیکی بنویسیم یکی با سی بنویسه و یکی با wpf تا به بقیه دوستان هم بفهمونیم توی کدوم کد نویسی راحت تر و لذت و گرافیک بیشتره.
ببینید من معتقدم که برنامه نویس باید بدونه با چی داره کار میکنه، چی پشت سر داره اتفاق میوفته. حداقلش اینکه بدونه داره با این API از سیستم عامل ارتباط برقرار میکنه و وظیفه اون API رو درک میکنه. ولی شما ممکنه به من بگید در WPF هم شما چنین چیزی رو میتونید متوجه بشید؟
اتفاقا همین خودش یک مزیت هست! وقتی برنامه نویس از پایه با چیزی آشنا بشه مطمئنا" خیلی قدرت مانور بیشتری بر روی چیزی که طراحی میکنه داره. در WPF شما دارید با یک چهارچوب خاصی ui رو طراحی میکنید و اگر به محدودیت برسید دیگه wpf به تنهایی جوابگو نیست و مجبورید از API های سطح پایینتر استفاده کنید. هدفم از اینی که گفتم این بود که شما میتونید با هردو نرم افزارهای گرافیکی و فوق العاده گرافیکی بنویسید، و فقط WPF این توانایی رو نداره بلکه CPP فراتر از اون چیزی که شما فکرش رو بکنید می تونه عمل کنه منتها باید چندین برابر بیشتر از نوع WPF ی اش کد بنویسید!
سلام دوستان
چطوری میشه نام یه فرم رو که مثلا Form1 توی اون نوار بالا به حرکت درآورد (بچرخه، تا آخر فرم بره و دوباره از اول شروع بشه)
سلامنقل قول:
البته بیشتر حرفاتون و در مورد C++ قبول دارم ولی این حرفهایی که اینجا زدین در برنامه نویسی مدرن جایی نداره قرار نیست شما بدونید پشت صحنه چه اتفاقی داره می افته این عین شی گرای و مفهوم جعبه سیاه هست!
کتابخانه WPF هم علاوه بر اینکه هیچ دست کمی از توابع Win32 نداره از API های Win32 هم استفاده نمی کنه که دونستن این بخواد به برنامه نویسیستون کمک کنه اتفاقا بر عکس لطمه خواهد زد بهتون چون سیستم برنامه نویسی در GDI و توابعش متریکها و نوع نمایش و هزار و یک چیز دیگش با WPF فرق می کنه (پیشرفته تر و بهتره؟ نخیر کاملا برعکس دایرکت ایکس کجا و GDI , GDI+ کجا)حتی بین GDI و GDI+ که در واقع فقط یک wrapper هست برای GDI علاوه بر اینکه برنامه نویسیشون کامل فرق حتی در موارد ابتدایی مثل Pen هم نوع استفاده و تشخیص و ...کاملا عوض می شن دیگه چه برسه به WPF!
در کل می خوای گیک بازی دربیاری میری تو دنیای یونیکس و لینوکس که مثلا یک ویرایشگر مثل vi رو که اصلا مال ترمینالهای بدون موس بود و کیبوردش کلا فرق می کرد طراحی شده بود و مال همون زمان بود هنوزم استفاده می شه و براش کتاب میاد بیرون (هر کی هم بلد نباشه بهش می گن بچه ننه) ولی با مایکروسافت فقط باید مدرن بود و مدرن برنامه نویسی کرد چون اصلا حق انتخاب نداری جا بمونی له می شی نمونه بارزش پشتیبانی نکردن کامل Win7 از WinForm بود که واقعا یک سیستم اونقدرهام قدیمی نبود که اینجوری باهاش برخورد شد هیچ مسوولیتی هم مایکروسافت برای این موارد قبول نمی کنه می گه یا از سیستم جدیدی که من می گم استفاده کن یا باگهای احتمالی یا تناقضی که ممکنه در سیستم عامل آیندم با برنامت بوجود بیاد رو خودت برطرف کن!
البته الان که دیگه WinRT اومده و دیگه حتی نباید Win32 و فریمورکهاش بحث کرد چه برسه یاد گرفتنش!
سلام
چون در بحث نبودم، خیلی تمایل نداشتم، پابرهنه بپرم وسط بحث!
ولی یکی از دوستان خواستند، من هم نظری در این تاپیک بدهم...
ضمنا من فقط دراین تاپیک شروع بحث که در مورد Silverlight و Win8 بود را خوانده ام و پست های اخیر دوستان را نخواندم.
=====
چیزی که از تمام مقالات ویندوز 8 بر می آید، تکیه ویندوز 8 بر XAML است که شباحت کدنویسی آن با WP7 هم بسیار تکرار شده.
نمیدانم تلاشی روی WP7 داشته اید یا نه؟ برای خودم که کمی عجیب بود، کلاً پشتیبانی از WinForm ها برداشته شده و جای آن را Silverlight گرفته، درست به همین دلیل برنامه های WM5 و WM6 دیگر روی WP7 اجرا نمیشوند.
تکیه زیاد Win8 بر XAML مهاجرت از WPF و Silverlight را راحت تر میکند.
یه بیان دیگر و بدون تردید، کمترین دردسر و زحمت برای یادگیری و تولید نرم افزارهای Win8 برای افراد و شرکت هایی است که الآن تجربه و دانش Silverlight را دارند.
نمی خواهم بیش از این اتاله کلام کنم.
در پایان فقط به یکی از آخرین مقالات این هفته (همین چندروزقبل) خبرنامه codeproject اکتفا میکنم.
(این را فقط به این جهت انتخاب کردم که مربوط به چندروز قبل بود و راحت دم دستم بود!)
نویسنده: Rockford Lhotka
http://en.wikipedia.org/wiki/Rockford_Lhotka
مقاله:
http://www.lhotka.net/weblog/WinRTAndNET.aspx
گزیده ای از مقاله:
درک این مطلب مهم است که از دات نت کاملاً به WinRT میتوان دسترسی داشت.کد:But the important thing to understand is that WinRT is fully accessible from .NET. The model is quite similar to Silverlight for Windows Phone. You write a program using C# or VB, and that program runs within the CLR, and has access to a set of base class libraries (BCL) just like a .NET, Silverlight, or WP7 app today. Your program also has access to a large new namespace where you have access to all the WinRT types.
این مدل کار بسیار شبیه برنامه نویسی Silverlight و WP7 است.
شما بوسیله #C یا VB برنامه ای مینویسید که درون محیط CLR اجرا میشود،
و به مجموعه کتابخانه BCL دسترسی پیدا میکنید، درست مانند برنامه های امروزی Silverligh و WP7.
...
... آن دقیقاً مانند برنامه های Silverlight و WP7 است.کد:That is exactly like Silverlight and WP7 apps. The BCL features available in Silverlight or WP7 are also restricted to disallow things that aren't safe, or that make no sense in those environments.
امکانات کتابخانه BCL در Silverlight یا WP7 در دسترس هستند.
ولی یک چیزهایی که استفاده از انها از نظر برنامه نویسی روش ایمنی نیست، محدود شده است ...
(((
اشاره به امکانات کاهش یافته Silverlight در WP7
همانطور که گفتم WP7 فقط برنامه های Silverlight را میپذیرد ولی دوستانی که تلاش کردند برای این محیط کدنویسی کنند، حتماً در همان دقایق اول متوجه فقدان برخی توابع شدند
)))
در حقیقت، از چیزهایی که من تا حالا دیده ام، اینطور بنظر میرشد که امکانات کتابخانه WinRT BCL قابل مقایسه با Silverlight هستند تا پلتفرمهای دیگر.کد:In fact, from what I've seen so far, it looks like the WinRT BCL features are more comparable to Silverlight than anything else. So I strongly suspect that Silverlight apps will migrate to WinRT far more easily than any other type of app.
درنتیجه، من قویاً فکر میکنم که برنامه های Silverlight بسیار ساده تر از هر نوع دیگری میتوانند به ویندوز جدید مهاجرت کنند.
هیچ کدام از اینها من را ننگران نمیکند.کد:None of this gives me any real worry or concern. Yes, if you are a Windows Forms developer, and very possibly if you are a WPF developer, you'll have some real effort to migrate to WinRT, but it isn't like you have to learn everything new from scratch like we did moving from VB/COM to .NET. And if you are a Silverlight developer you'll probably have a pretty easy time, but there'll still be some real effort to migrate to WinRT.
اگر شما برنامه نویس WinForm و WPF هستید، شما واقعاً باید برای مهاجرت به ویندوز جدید تلاش کنید.
اما مانند آن نیست که در انتقال از VB6 و COM به دات نت، مجبور شدید همه چیز را از اول یاد گیرید.
و اگر شما برنامه نویس SL هستید، احتمالاً یک انتقال راحت را سپری خواهید کرد هرچند باز باید برای مهاجرت به WinRT تلاش کنید.
=====
از تمام مطالب خوانده شده من بر می آید که بهترین پلتفرم آینده نگرانه برای ادامه XAML و WPF و Silverlight است.
پس انقراضی در کار نیست، بلکه بحث سر تکامل است و سررشته این تکامل در ویندوز جدید و دات نت در اختیار Silverlight است.
=====
جدا از بحث های فوق که بیشتر رویکردی به برنامه های دسکتاپی Win8 داشت، باید عرض کنم با جایگزینی SL و Flash بجای HTML در وب سایت ها بشدت مخالف هستم.
از SL و Flash فقط باید برای پوشش ضعف های جزئی HTML (مثل بازی های انلاین و بنرهای گرافیکی و...) استفاده کرد.
وبه دلایل زیاد (که دیگر وقت توضیحش را ندارم) باید شالوده یک وب سایت HTML باشد.
موفق باشید.
سلام.نقل قول:
این یه نمونه ساده اش هست:
البته بهتر از این هم میشه یه جا یه کدی دیده بودم یادم رفت.کد:public Form1()
{
InitializeComponent();
Form1.CheckForIllegalCrossThreadCalls = false;
this.Text = title;
System.Threading.Thread th = new System.Threading.Thread(start);
th.Start();
}
void start()
{
using (Graphics g = this.CreateGraphics())
{
while (true)
{
string newTitle = " " + this.Text;
if (g.MeasureString(newTitle, this.Font).Width > this.Width)
newTitle = title;
this.Text = newTitle;
System.Threading.Thread.Sleep(200);
}
}
}
const string title = "Application Title";
موفق باشید.
فقط ضد حال بزرگ این بود که Browser ویندوز 8 در محیط Metro کاملاً Plugin free هست و خبری از flash و حتی Silverlight نیست که بشدت ناراحت کنندست این اتفاق، مخصوصاً که برای ARM ماکروسافت دیگه نمی خواد محیط کلاسیک ویندوز رو هم ارائه بده.
البته یکی از اهداف اصلی ماکروسافت از ارائهی SL در زمینهی ساخت RIAها بود که واقعاً میشه یک محیط خیلی خوب و پویا با SL ساخت به این دلیل که من خودم در این زمینه زمان گذاشتم و ماژولهای زیادی هم روی ابزارهای مختلف مثل MS CRM ساختم میگم، واقعاً خیلی جاها SL کار رو راحت کرده و کارهای عالی میشه باهاش انجام داد مخصوصاً برای RIA بشدت پلتفرم بهتر و قویتریه نسبت به ترکیب HTML و JS برای همین من این حرف رو که SL فقط بدرد بنر و کلیپ تصویری میخوره اصلاً قبول ندارم، در مورد فلش و فلکس، Air نظر نمیدم چون کار نکردم ولی در مورد SL اینجور نیست واقعاً؛ ماکروسافتم در این زمینه واقعاً نیرو گذاشته (یا گذاشته بود) نمونش همین LightSwitch هست که دوستمون بهش اشاره کرد و تازه نسخهی نهاییش اومده که گوشهای از تواناییهای SL رو نشون میده.نقل قول:
البته کلاً من اینو قبول دارم که از Win32 به سمت یه پلتفرم مشترک بر پایه XAML رفتم از جانب ماکروسافت حرکت مثبتیه و برای WPF و SLکارا هم بد نمیشه.
آخرم بد نیست یادی از HTML5 و JS بکنیم که ماکروسافت خیلی داره روش مانور میده البته بماند که JS یک زبون لوزلی نفهمه ولی ماکروسافت کارهای بسیار جالبی در مورد JS کرده مخصوصاً اینکه WinRT API مستقیماً از JS قابل دسترسه و حتی میشه کدهای ترکیبی JS/C#/VB نوشت.