PDA

View Full Version : سوال: مراحل مورد نیاز جهت فراگرفتن #c



aria80
چهارشنبه 12 فروردین 1388, 16:20 عصر
ضمن عرض خسته نباشید خدمت عزیزان و اساتید گرامی
یک سوال :

اول - بگم هدف من آموزش زبان #C ( میگن یکی از کاملترین و جدید ترین و قدرمند ترین , ... زبانهاست )

دوم - من یه کمی زبان C بلدم و میخوام این زبان را کامل فرا بگیرم ( چون با قطعات الکترونیکی و میکرو سرکار دارم )

سوم - اینکه بعضی ها میگن اگه به خوای #C خوب یاد بگیری باید با مفهوم شی گرایی آشنا بشی (ومن آشنا نیستم) و توصیه می کنند بعد از C برو سراغ ++C (چون میگن شی گرایی رو هم شامل میشه !!) و بعد از ++C باید بری سراغ #C : آیا این درسته ؟؟

چهارم - اینکه واقعا" این زبان ارزشش رو داره و بعد #C هم انواع داره و اگه داره کدوم بهتره ؟؟ چرا ؟؟؟



http://www.ashiyane.org/forums/images/smilies/thumbsupsmileyanim.gif پیشاپیش از راهنمایی دوستان سپاسگذارم .http://www.ashiyane.org/forums/images/smilies/thumbsupsmileyanim.gif
.

shervin_agh67
چهارشنبه 12 فروردین 1388, 16:50 عصر
اینکه سی شارپ یکی از ساده ترین و بهترین زبانهای دنیاست شکی درش نیست . ولی باید دید آیا به درد کار شما می خوره یا نه ؟ این توضیح رو بدم که برای شما که با قطعات الکترونیکی کار میکنید زیاد کاربرد نداره و بیشتر سی به درد شما می خوره . سی شارپ درسته که کلاسهایی برای ارتباط با پورتها هم داره ولی بیشتر برای تولید نرم افزار(تجاری) استفاده میشه .
در مورد یادگیری سی++ هم خیر . چون اون خودش یک دریائیه و کاملا با سی شارپ فرق داره تازه شی گرائیش هم کامل نیست . شما بعد از اینکه یک مقداری به زبان سی مسلط شدید و اصلا معنا و مفهوم الگوریتم رو یاد گرفتید به سی شارپ بیاید . که در این مرحله نیاز به یک کتاب خوب دارید که با توجه به سطح زبان انگلیسیتون یا منبع فارسی و لاتین انتخاب می کنید از منابع فارسی کتاب آقای هاشمیان کتاب بسیار عالی هست که از همین سایت هم قابل دانلوده .
راستش من از ارزش داشتن نمی دونم منظور شما چیه ولی با توجه به نکاتی که گفتم خودتون تصمیم بگیرید .



** کاش یک نفر هم پیدا میشد سوالات من رو جواب میداد **

salehbagheri
چهارشنبه 12 فروردین 1388, 23:14 عصر
اول - بگم هدف من آموزش زبان #C ( میگن یکی از کاملترین و جدید ترین و قدرمند ترین , ... زبانهاست )

هدف شما آموزش ديدن زبان #C هست يا آموزش دادن؟


اینکه بعضی ها میگن اگه به خوای #C خوب یاد بگیری باید با مفهوم شی گرایی آشنا بشی (ومن آشنا نیستم) و توصیه می کنند بعد از C برو سراغ ++C (چون میگن شی گرایی رو هم شامل میشه !!) و بعد از ++C باید بری سراغ #C : آیا این درسته ؟؟

شما هر زباني رو كه ياد بگيريد به نفعتونه! ولي همه ابتدا زبان راحت تر رو انتخاب مي كنند! توصيه من اينكه كه پس از يادگيري #C به سراغ ++C بريد!


چهارم - اینکه واقعا" این زبان ارزشش رو داره و بعد #C هم انواع داره و اگه داره کدوم بهتره ؟؟ چرا ؟؟؟

منظور شما از ارزش چيه؟ اگر كار و يا هدفتون برنامه نويسي، طراحي سايت و ... هست خوب ارزشش رو داره! اگر نيست خوب معلومه كه فقط وقتتون رو تلف كرديد!
در رابطه با نسخه هاي #C معلوماتي ندارم ولي من #C مايكروسافت رو پيشنهاد ميكنم!

aria80
چهارشنبه 12 فروردین 1388, 23:23 عصر
.
خیلی ممنون از دوستان و اساتید گرامی
همانطور که عرض کردم C نیاز الکترونیکی بنده است / اما می خوام یه زبان برنامه نویسی آینده دار و خوب که در بخش امنیت - شبکه - هک و ... که کاربرد داره را شروع کنم / اما دقیقا" نمی دانم که انتخابم درست است یا خیر ؟!؟ در حقیقت این زبان را بین دلفی و جاوا و
سی شارپ برای آینده انتخاب کردم / به نظر شما انتخاب خوبی هست ؟؟؟ اگه نیست بهتر در بین زبانها برای کاربردهای ذکر شده کدام است ؟؟؟ راستی مطلب زیر هم یکی از دغغه های من شده (لطفا" این مطلب را نیز در نظر بگیرید)

عدم وابستگي زبان برنامه نویسی به يك سيستم عامل خاص
از ويژگي هاي يك زبان برنامه نويسي مناسب، عدم وابستگي به يك سيستم عامل خاص مي باشد. يعني اينكه بتوان :
1- برنامه توليد شده توسط زبان برنامه نويسي مورد نظر، در سيستم عامل هاي مختلف قابل اجرا باشند.
2- خود زبان برنامه نويسي به سيستم عامل خاصي وابسته نباشد.
.

vcldeveloper
پنج شنبه 13 فروردین 1388, 02:31 صبح
در مورد یادگیری سی++ هم خیر . چون اون خودش یک دریائیه و کاملا با سی شارپ فرق داره تازه شی گرائیش هم کامل نیست . قبلا چند باری توضیح داده شد که زبان هایی مثل #C یا جاوا زبان های Pure OOP هستند، و زبان هایی مثل ++C هم زبان Hybrid. اینکه گفته میشه یک زبان Hybrid هست، به معنی آن نیست که شی گرایی آن کامل نیست! بلکه به معنی آن هست که علاوه بر OOP، از یک یا چند روش دیگه هم پشتیبانی میکنه. پس عبارت "شی گرائیش هم کامل نیست" عبارت نادرستی هست.


توصیه می کنند بعد از C برو سراغ ++C (چون میگن شی گرایی رو هم شامل میشه !!) و بعد از ++C باید بری سراغ #C : آیا این درسته ؟؟این توصیه هم بطور کلی صحیح نیست. یعنی اگر منظور این هست که فرد باید از زبانی مثل C شروع کند، و سیر تاریخی تحولات زبان های برنامه نویسی را طی کند تا به #C برسد، این تصور اشتباه هست. این مطلب مثل این هست که به یک نفر گفته بشه برای یادگیری VB.Net باید از VB6 شروع کنه! در حالی که VB6 چه از نظر مفاهیم، چه از نظر Syntax کلا با VB.Net فرق میکنه، و یادگیری آن برای کسی که قصد یادگیری VB.Net را دارد، اگر نگیم فایده ایی نداره، حداقل فایده اش بسیار ناچیز هست. کسی هم که میخواد #C یاد بگیره، نیازی نیست قبلش بره C یاد بگیره. البته اگر کسی با C آشنا باشه، و بعد بخواد با #C آشنا بشه، مسلما کار بسیار راحتری نسبت به کسی که از قبل دانش برنامه نویسی نداشته، خواهد داشت؛ اما این به معنی آن نیست که اگر فردی که قصد یادگیری #C را دارد، چند ماه وقت صرف C بکند، فایده خاصی بدست خواهد آورد.


اول - بگم هدف من آموزش زبان #C ( میگن یکی از کاملترین و جدید ترین و قدرمند ترین , ... زبانهاست )هر وقت بهتون همچین حرفی زدند، ازشون بپرسید؛ کاملترین و قدرتمند ترین زبان برنامه نویسی برای چه نوع کاربردهایی؟


چهارم - اینکه واقعا" این زبان ارزشش رو داره و بعد #C هم انواع داره و اگه داره کدوم بهتره ؟؟ چرا ؟؟؟اینکه آیا ارزشش رو داره یا نه، بر میگرده که به این که شما بخوای باهاش چیکار کنی؛ یعنی باید حداقل مشخص کنی که اولا چه نوع برنامه ایی میخوای بنویسی، و ثانیا این برنامه باید در چه بستری اجرا بشه.

اگر بستر (یا پلت فرم) هدفت محصولات مایکروسافت باشه، اون وقت دات نت یک گزینه معقول هست. اگر هدف بسترهای غیرمایکروسافتی باشه، اون وقت باید پارامترهای بیشتری را مسئله وارد کرد تا مشخص بشه که آیا استفاده از دات نت توجیه پذیر هست یا نه.
اگر به فرض انتخاب شما دات نت باشه، اون وقت به اینجا می رسیم که اصولا دات نت وابسته به زبان خاصی نیست، و شما می تونید از هر زبان برنامه نویسی دات نتی که دوست داشتید، استفاده کنید، و کارایی برنامه شما در این زبان های مختلف در بستر دات نت هم تا حد بسیار بسیار زیادی مشابه هم خواهد بود.
آن وقت عمده مزیتی که #C نسبت به سایر زبان های دات نتی پیدا می کند آن هست که:
اولا بخش عمده ایی از کتاب ها و منابع دات نتی مثال های خود را با #C ارائه می کنند.
ثانیا، چون این زبان توسط توسعه دهنده بستر دات نت (یعنی مایکروسافت) توسعه داده میشه، همیشه قبل از سایر زبان ها از جدیدترین امکانات این بستر استفاده میکنه؛ یعنی اگر قابلیت جدیدی در دات ارائه بشه، #C همان زمان از این قابلیت پشتیبانی میکنه، ولی زبان های سایر شرکت ها با تاخیری چند ماهه می توانند آن قابلیت را ارائه کنند.

علاوه بر بستر اجرای برنامه، نوع برنامه هم مهم هست. البته انتخاب نوع برنامه و بستر دو امر جدا از هم نیستند، و به هم وابسته هستند. منظور از نوع برنامه این هست که برنامه شما قرار هست چه کاری انجام بده. بستری مثل دات نت سعی در کاهش درگیر کردن برنامه نویس با جزئیات کار و با سخت افزار داره، به همین دلیل هم برای بسیاری از امور متداول در آن از قبل راه حل هایی موجود هست. همچین بستری عموما برای برنامه های تحت وب و برنامه های Enterprise بستر مناسبی محسوب می شود، ولی برای برنامه هایی که با سخت افزار درگیر هستند، یا برنامه های سیستمی بستر مناسبی محسوب نمی شود.

شما بیشتر از آنکه دغدغه انتخاب زبان برنامه نویسی داشته باشید، باید دغدغه یادگیری مفاهیم برنامه نویسی و توسعه نرم افزار را داشته باشید. هر چه روی این مفاهیم تسلط بیشتری داشته باشید، یادگیری یک یا چند زبان برنامه نویسی یا سوئیچ کردن از یک زبان به زبان دیگر، برای شما ساده تر خواهد بود. شما سعی کنید مفاهیم را به خوبی یاد بگیرید، برای زبان برنامه نویسی، هر زبانی که فکر می کنید خودتان با آن راحتر هستید، یا فکر می کنید بازار کار بهتری برای نوع کار شما دارد، را انتخاب کنید، و آن مفاهیم را با آن زبان برنامه نویسی پیاده سازی کنید.

احمد سامعی
پنج شنبه 13 فروردین 1388, 23:04 عصر
عدم وابستگي زبان برنامه نویسی به يك سيستم عامل خاص
از ويژگي هاي يك زبان برنامه نويسي مناسب، عدم وابستگي به يك سيستم عامل خاص مي باشد. يعني اينكه بتوان :
1- برنامه توليد شده توسط زبان برنامه نويسي مورد نظر، در سيستم عامل هاي مختلف قابل اجرا باشند.
2- خود زبان برنامه نويسي به سيستم عامل خاصي وابسته نباشد.


دوستان مخصوصاً جناب كشاورز توضيحات كاملي دادن
اما لازم به ذكر كه گفتن جمله ( عدم وابستگي به سيستم عامل ...)اشتباه است. همانطور هم كه جناب كشاورز گفتن بسته به نوع كاربردي كه شما مي خواهيد داشته باشيد پس نمي شود با يك كلمه وابستگي كل يك زبان زير سؤال برد چون بيشترين استفاده در دنيا از ويندوز به التبع اكثر برنامه نويسان هم براي اين سيستم عامل برنامه مي نويسند اما شما كه مي خواهيد با سخت افزار كار كنيد C گذينه بهتري است
اما از آنجا كه شما با برنامه نويسي آشنايي زيادي نداريد طبيعي است كه با Net. و مواردش هم آشنايي نداريد
شما كه دنبال كار با سخت افزار بدون وابستگي به سيستم عامل هستيد استفاده از زبان هاي تحت دات نت و مخصوصاً #C كه صرفاً تحت دات نت قابليت اجرا دارد، اشتباه است. چون فقط بر روي ويندوز قابليت اجرا دارد(هر چند من شنيدم دات نت لينوكس هم هست اما نديدم، كه خوب بايد برنامه خواص خودش دوباره نوشت)