PDA

View Full Version : سوال: پلت فرم بودن سی شارپ



ravand
پنج شنبه 16 شهریور 1391, 21:07 عصر
سلام
ببخشید اگه سوالم تکراریه.
آخه از هر کی می پرسم جواب درستی نمیده.
یه نفر میگه سی شارپ پلت فرمه یعنی برنامه هاش روی همه ی سیستم عامل ها اجرا میشه و یه نفر دیگه میگه نه اینطور نیست و فقط روی ویندوز اجرا میشه.
دیگه اینکه این سی شارپ برنامه ای که باهاش نوشته میشه سورس باز هست یا بسته؟
متشکرم.

Twoplus2010
پنج شنبه 16 شهریور 1391, 21:34 عصر
یه نفر میگه سی شارپ پلت فرمه یعنی برنامه هاش روی همه ی سیستم عامل ها اجرا میشه و یه نفر دیگه میگه نه اینطور نیست و فقط روی ویندوز اجرا میشه.

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


سی شارپ برنامه ای که باهاش نوشته میشه سورس باز هست یا بسته؟


وقتی شما برنامه نوشته شده خودتونو تبدیل به فایل اجرایی یا همون exe می کنید خبری از سورس برنامه نیست فقط و فقط برنامه نویسی که ان را نوشته به سورس اون دسترسی داره

ehsan7007
پنج شنبه 16 شهریور 1391, 21:44 عصر
سلام دوست عزیز تا اونجایی که من میدونم برنامه های سیشارپ روی ویندوز فقط اجرا میشه حالا بقیه دوستانم نظراتشونو میدن شاید من اشتباه کنم

بستگی داره دوست عزیز.
برای آندروید هم میشه نوشت.

فکر کنم منظور اینه که برای پلت فرم های متفاوت می تونید با سی شارپ بنویسید.
یه جورایی خیلی جاها بکار میاد ، مثل تلفن همراه یا بازی های رایانه ای.

ravand
پنج شنبه 16 شهریور 1391, 21:47 عصر
بستگی داره دوست عزیز.
برای آندروید هم میشه نوشت.
نه نه من میخوام بدونم برای لینوکس و ویندوز هم میشه برنامه نوشت؟ کاری به مبایل و تبلت ندارم

فرید نجفلو
پنج شنبه 16 شهریور 1391, 22:34 عصر
سلام
دوست من اساسا سی شارپ یک زبان دات نتی هست و دات نت هم منحصرا برای ویندوز ایجاد شده!
پس تک پلتفرمی هست
البته ذکر این نکته بی ربط نیست که تلاش هایی مثل پروژه مونو(Mono) هم وجود دارن تا بتونن برنامه های دات نت رو بر روی سایر پلتفرم ها هم اجرا کنن

در مورد سورس هم در حالت عادی (و میشه گفت همیشه) برنامه شما اوپن سورس هست!!!
فقط تنها چیزی که فرق کرده دستور زبان هست در واقع وقتی شما یه برنامه سی شارپ رو کاپایل می کنید به زبان ماشین تبدیل نمیشه بلکه به یه زبان دیگه به نام زبان میانی (IL) تبدیل میشه که در زمان اجرا به زبان ماشین (Native) ترجمه میشه که این زبان میانی هم به راحتی قابل باز شدن ، خوانده و تغییر دادن هست

ehsan7007
پنج شنبه 16 شهریور 1391, 22:34 عصر
نه نه من میخوام بدونم برای لینوکس و ویندوز هم میشه برنامه نوشت؟ کاری به مبایل و تبلت ندارم

برا ویندوز که میشه ، برچی نشه!
اما برای لینوکس فکر نمی کنم ، من تاحالا ندیدم ، شاید از دوستان کسی بدونه.

ravand
جمعه 17 شهریور 1391, 07:02 صبح
من توی این سایت خوندم که نوشته بود سی شارپ پلت فرم هست بازم از خودش پرسیدم و روی حرفش تاکید داشت:
http://www.webtarget.ir/blog/%d8%b2%d9%86%da%af-%d8%b3%db%8c%e2%80%8c%d8%b4%d8%a7%d8%b1%d9%be-%d9%82%d8%b3%d9%85%d8%aa-%d8%a7%d9%88%d9%84-1/

ehsan7007
جمعه 17 شهریور 1391, 08:15 صبح
پس این چیه؟!


بله دوست عزیز، سی‌شارپ کراس پلت‌فرم هست.

سی‌شارپ کراس دیگه چیه؟!

ravand
جمعه 17 شهریور 1391, 08:24 صبح
این مطلب رو امروز یکی از اساتید بهم گفت:
#C پلت فرم نیست، #C یک زبان هست که تحت پلت فرم NET Framework. کار میکنه

mohamadlvs
جمعه 17 شهریور 1391, 15:08 عصر
#C پلت فرم نیست، #C یک زبان هست که تحت پلت فرم NET Framework. کار میکنه
من که زیاد سر رشته ندارم ولی این به نظر از همه درست تر میاد
ممنون

Farshid007
جمعه 17 شهریور 1391, 15:54 عصر
منظورت طرف از این که سی شارپ پلت فرمی هست هم همین بوده!
در واقع کلاس ها ی که ما تو سی شارپ استفاده می کنیم در دانت نت فریم ورک هستند و برای اجرا برنامه باید دات نت رو سیستم نصب باشه!
البته این فقط واسه سی شارپ نیست واسه VB , WPF ...هم هست

ravand
جمعه 17 شهریور 1391, 15:58 عصر
خب یه کلمه میگفت برای دانت نت فریم ورک !!!
اینقدر ما رو هم گیج نمیکرد. :لبخند:

uniqueboy_ara
جمعه 17 شهریور 1391, 17:29 عصر
طبق گفته دوستان، #C یه زبان برنامه نویسی، تحت پلت فرم Net. هستش
ولی میشه برای ios و Android هم باهاش برنامه نویسی کرد
برای اطلاعات بیشتر میتونید به این سایت یه سری بزنید: http://www.mono-project.com/Main_Page

samadblaj
جمعه 17 شهریور 1391, 19:06 عصر
سلام


#C یک زبان هست که تحت پلت فرم NET Framework. کار میکنه
همینه سی شارپ یه رابط برنامه نویسی هست تحت پلت فرم (کتابخانه) دات نت ،مکمل هم.
تمامی اجزای برنامه نویسی کد ها سین تکس ، اشیا در دات نت هستند زبان های برنامه نویسی (سی شارپ ، وی بی) ماشینی هستند که از دات نت استفاده میکنند.

mono هم یک تکنولوژی در بعضی از سیستم عامل ها (لینوکس) برای اجرای برنامه های غیر تحت دات نت (Native) هستش.

موفق باشید.

ravand
جمعه 17 شهریور 1391, 19:15 عصر
پس توی پلت فرم بودن به پای جاوا نمیرسه؟ :لبخند:
الان مثلا من سی شارپ یاد بگیرم باید برم جداگانه بحث mono رو هم یاد بگیرم تا بتونم یه برنامه ی پلت فرم بنویسم.
خب الان اگه جاوا رو یاد بگیرم دیگه نیازی نیست یه بحث جداگانه هم یاد بگیرم تا برنامه ام با همه ی سیستم عامل ها سازگار باشه؟
یا شایدم بتونم mono رو به تنهایی یاد بگیرم؟
نظر شما چیه؟

Mahmoud Zaad
جمعه 17 شهریور 1391, 19:29 عصر
پس توی پلت فرم بودن به پای جاوا نمیرسه؟ :لبخند:
الان مثلا من سی شارپ یاد بگیرم باید برم جداگانه بحث mono رو هم یاد بگیرم تا بتونم یه برنامه ی پلت فرم بنویسم.
خب الان اگه جاوا رو یاد بگیرم دیگه نیازی نیست یه بحث جداگانه هم یاد بگیرم تا برنامه ام با همه ی سیستم عامل ها سازگار باشه؟
یا شایدم بتونم mono رو به تنهایی یاد بگیرم؟
نظر شما چیه؟
سلام
دوست عزیز، این واژه "پلت فرم بودن" توی جمله اول این پست رو اگه میشه توضیح بدید. در ضمن مگه جاوا هم پلت فرمه؟ شما الان می خواید سی شارپ یا جاوا رو یاد بگیرید که برنامه پلت فرم بنویسید؟!!

ravand
جمعه 17 شهریور 1391, 19:32 عصر
اینطوری که میگن پلت فرم بودن یعنی سازگاری برنامه با تمام سیستم عامل ها.
من این لینک رو پیدا کردم که جاوا و سی شارپ رو مقایسه کرده:
http://en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Java

Mahmoud Zaad
جمعه 17 شهریور 1391, 19:42 عصر
اینطوری که میگن پلت فرم بودن یعنی سازگاری برنامه با تمام سیستم عامل ها.
من این لینک رو پیدا کردم که جاوا و سی شارپ رو مقایسه کرده:
http://en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Java
حرف من این بود که شما یک کلمه رو جا انداختید و اون "وابسته بودن" هست در واقع باید بفرمایید وابسته بودن سی شارپ به پلت فرم که دات نت هست و یا وابسته بودن جاوا به پلت فرم. بنابراین وقتی که می خواید سی شارپ رو با یه چیزی مقایسه کنید اون چیز باید یک "زبان برنامه نویسی" باشه مثل زبان برنامه نویسی جاوا ( به پلت فرمش کار نداریم).
در مورد سوال قبلی تون هم به قول یکی از دوستان گفته بودن اینجا تالار سی شارپ هست از هر کی بپرسی چی یاد بگیرم، میگن سی شارپ. ولی در مجموع از جهت وابسته بودن به پلت فرم و اون چیزی که شما دنبالش هستید برنامه های نوشته شده با سی شارپ بدون استفاده از مونو روی دیگر سیستم عامل ها اجرا نمیشن. حالا تصمیم با شماست.

ravand
جمعه 17 شهریور 1391, 19:45 عصر
خب جاوا هم برای اجراش به jdk نیاز داره که حجمش 60 مگابایت هست.
حالا mono چقدر حجم داره؟

ravand
جمعه 17 شهریور 1391, 19:51 عصر
یه سوال دیگه آیا این mono برنامه نویسش با خود سی شارپ فرق داره؟
یعنی بعد از یاد گیری سی شارپ من باید mono رو هم جداگانه یاد بگیرم؟
آخه ما توی بحث php یه موضوع شی گرایی داریم و یه غیر شی گرایی و یه mvc (معماری سه لایه ) که همشون با هم فرق دارن. یعنی اولی رو که یاد گرفتی دومی و سومی رو هم باید یاد بگیری. اینطوری نیست که همه چیزش شبیه هم باشه. بالاخره یه فرق هایی با هم دارن . که کار رو یه کم سخت میکنه. آیا mono هم این مشکل رو داره؟
متشکرم

Mahmoud Zaad
جمعه 17 شهریور 1391, 19:54 عصر
خب جاوا هم برای اجراش به jdk نیاز داره که حجمش 60 مگابایت هست.
حالا mono چقدر حجم داره؟
حجمش رو نمی دونم توی سایتش می تونید پیدا کنید ولی مساله ای که هست اینه که شما با همون jdk و نوشتن یک باره برنامه مشکلتون حل میشه. ولی اینجا احتمالا به جز سی شارپی که بلد هستید باید یه مطالب دیگه ای هم یاد بگیرید که از مونو استفاده کنید. در کل به نظرم بهتره از این به بعد بحث رو توی تالار مونو پیگیری کنید اونجا قطعاً اطلاعات بیشتری می تونید به دست بیارید.

the king
جمعه 17 شهریور 1391, 20:10 عصر
اینکه زبانی مثل Java یا #C یا Framework ای مثل Net. یک Platform به حساب بیایند اشتباه یا نامتعارف نیست، اما معمولا از عبارت Platform زمانی
استفاده می کنند که بتونه یک ترکیب متنوع مثل تنوع سخت افزاری یا نرم افزاری و یا سیستم عامل مختلف رو پوشش بده.
زبان ای مثل #C به واسطه تلاش هایی که Mono داشته اندکی از حالت تک Platform ای خارج شده، اما عملا در حد Java از این تنوع بهره برداری نشده.
به همین جهت هم Java رو بیشتر به عنوان Platform عنوان می کنند تا #C

در مورد Platform رجوع شود به :

پلت فرم چیست؟ (http://barnamenevis.org/showthread.php?352323)