PDA

توجه ! این یک نسخه آرشیو شده می باشد و در این حالت شما عکسی را مشاهده نمی کنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : زبان برنامه نویسی c++,c



sunyboy
09-25-2008, 02:04 AM
یکی از زبان های سطح بالا و قدیمی که توان بسیار زیادی در پیاده سازی برنامه های رایانه ای (http://iranictnews.ir/tags/1629/T______رایانه-ای.htm) دارد زبان سی (c) است.

بسیاری از افراد این زبان را به عنوان زبان سطح بالا نمی دانند و چون گاهی درک کدهای آن کمی مشکل است آن را زبانی بین سطح بالا و سطح پایین می دانند، اما در حقیقت سی خصوصیات یک زبان سطح بالا را دارد.
سی از جمله زبان های بسیار قدیمی است که هم به منظور برنامه نویسی های سیستمی و هم برای برنامه های کاربردی به کار می رفته است. همچنین در بسیاری از مراکز نیز به عنوان یک زبان آموزش (http://iranictnews.ir/tags/3524/T______آموزش.htm)ی به کار گرفته می شود. البته این زبان به منظور تامین اهداف آموزشی (http://iranictnews.ir/tags/258061/T______اهداف-آموزشی.htm) طراحی نشده است.
اما به دلیل توان بالا و کاربرد وسیع آن در امور مختلف آن را برای آموزش (http://iranictnews.ir/tags/3524/T______آموزش.htm) انتخاب می کنند. شاید دلیل دیگری که از این زبان به عنوان یک زبان آموزش (http://iranictnews.ir/tags/3524/T______آموزش.htm)ی استفاده می کنند این باشد که سی تمامی مفاهیم مربوط به یک زبان را در بر دارد و از این نظر یک زبان کامل به شمار می رود.

زبان و کامپایلر (http://iranictnews.ir/tags/86430/T______کامپایلر.htm) می دانیم که برنامه های نوشته شده به یک زبان باید با استفاده از نرم افزاری (http://iranictnews.ir/tags/194250/T______نرم-افزاری.htm) به نام کامپایلر (http://iranictnews.ir/tags/86430/T______کامپایلر.htm) به زبان قابل فهم ماشین تبدیل شود. یک زبان مستقل از کامپایلر (http://iranictnews.ir/tags/86430/T______کامپایلر.htm) طراحی و استانداردسازی می شود. سپس شرکت ها و اشخاص مختلف با در نظر گرفتن آن استانداردها، اقدام به طراحی کامپایلر (http://iranictnews.ir/tags/96474/T______طراحی-کامپایلر.htm) خود می کنند. سپس برای برتری دادن محصول خود به سایر محصولات.

امکانات و تسهیلاتی برای کاربران (http://iranictnews.ir/tags/194248/T______کاربران.htm) در نظر می گیرند که آن دیگر مربوط به زبان نیست. برای سی هم از ابتدای پیدایش تاکنون ده ها کامپایلر (http://iranictnews.ir/tags/86430/T______کامپایلر.htm) از سوی شرکت ها و افراد مختلف ارائه شده است.

دو شرکت مایکروسافت (http://iranictnews.ir/tags/517/T______شرکت-مایکروسافت.htm) و بورلند (http://iranictnews.ir/tags/49512/T______بورلند.htm)(borland) از بزرگ ترین شرکت هایی هستند که توانمندترین و کامل ترین ابزارهای مربوط به این زبان را از ابتدا تاکنون عرضه کرده اند. پس ازc، زبانی به نام ++c (سی پلاس پلاس) با تغییرات و افزودگی های بنیادی معرفی شد که یکی از این مفاهیم، شیء گرایی است. در حال حاضر کمتر به زبان سی برنامه نوشته می شود و اکثر ابزارها و کامپایلر (http://iranictnews.ir/tags/86430/T______کامپایلر.htm)های جدید مربوط به زبان++c است.

دو کامپایلر (http://iranictnews.ir/tags/86430/T______کامپایلر.htm) وide (http://iranictnews.ir/tags/20368/T______ide.htm) معروف و قدرتمند برای این زبان که از طرف دو شرکت مایکروسافت (http://iranictnews.ir/tags/517/T______شرکت-مایکروسافت.htm) و بورلند (http://iranictnews.ir/tags/49512/T______بورلند.htm) ارائه شده اند++ microsoft visual c و ++ buidler borland c (http://iranictnews.ir/tags/256168/T______borland-c-.htm)است. این ابزارها همچنان توسط شرکت هایشان پشتیبانی شده و نسخه های جدید (http://iranictnews.ir/tags/73017/T______نسخه-های-جدید.htm) آنها عرضه می شود. خوب است بدانیم که کامپایلر (http://iranictnews.ir/tags/86430/T______کامپایلر.htm) یک نرم افزار کوچک (http://iranictnews.ir/tags/39703/T______نرم-افزار-کوچک.htm) است که حجم آن معمولا کمتر از یک مگابایت (http://iranictnews.ir/tags/192507/T______مگابایت.htm) است. تمام حجم این ابزارها که در قالب یکcd یا dvd (http://iranictnews.ir/tags/29197/T______dvd.htm) عرضه می شوند مربوط به ide (http://iranictnews.ir/tags/20368/T______ide.htm) ، ابزارها و امکاناتی است که برای راحتی کار برنامه نویس در نظر گرفته شده است.

امروزه با استفاده از این ابزارها، کار برنامه نویسی بسیار ساده شده و فاصله زبان ها با کاربران (http://iranictnews.ir/tags/194248/T______کاربران.htm) بسیار کم شده است. ساده یا دشوار؟ c و++ c یکی از توانمندترین زبان های دنیا هستند که تقریبا هر برنامه ای را می توان با آن نوشت.

بسیاری افراد این زبان را برادر سطح بالای اسمبلی (http://iranictnews.ir/tags/39855/T______اسمبلی.htm) می دانند و برخی از آن به عنوان زبانی دشوار یاد می کنند، اما حقیقت این است که در زبان های سطح بالا بهتر است از واژه های راحت و راحت تر استفاده کرد بویژه با عرضه ابزارهای پیشرفته امروزی، می توان در عرض چند دقیقه برنامه هایی تولید کرد که اگر قرار بود به روش قدیمی در 10 سال پیش با ابزارهای آن زمان نوشته شود شاید ماه ها به طول می انجامید و شاید بخوبی برنامه امروز هم نمی شد.

sunyboy
09-25-2008, 02:04 AM
کاربردها اگر c و ++ cیک زبان کامل و توانمند هستند پس چرا همه به سراغ این زبان نمی روند و چرا زبان های دیگر معرفی می شوند؟ واقعیت آن است که هر زبان با در نظر گرفتن یک هدف اصلی طراحی می شود. بنابراین به خوبی پاسخگوی نیازهای آن هدف خواهد بود.ضمن آن که ممکن است بتواند اهداف دیگر را نیز تامین کند.

هدف طراحیc++ (http://iranictnews.ir/tags/254008/T______c--.htm),c بوجود آوردن یک زبان همه منظوره بوده است. شاید زبان هایی باشند که بسیاری از کارها را خیلی راحت تر از c انجام می دهند. به طوری که یک خط که در آن زبان معادل 100 خط که در زبان c (http://iranictnews.ir/tags/20849/T______زبان-c.htm) باشد. اما ممکن است آن زبان در انجام برخی امور ناتوان باشد. در حالی که در c آن امور هم قابل انجام است. بنابراین بهتر است هدف از انتخاب زبان و هدف از برنامه نویسی از پیش تعیین شود.
معمولا برای اشخاصی که می خواهند برنامه های سیستمی بنویسند و یا برای سخت افزارها (http://iranictnews.ir/tags/29167/T______سخت-افزارها.htm) نرم افزارها (http://iranictnews.ir/tags/192773/T______نرم-افزارها.htm) راه انداز طراحی کنند. انتخاب اول c است. (توجه داشته باشید که++ c هم کلیه توانایی های c را در بردارد) جالب است بدانیم که سیستم عامل (http://iranictnews.ir/tags/519/T______سیستم-عامل.htm) هایی نظیر یونیکس (http://iranictnews.ir/tags/29838/T______یونیکس.htm) (unix (http://iranictnews.ir/tags/13242/T______unix.htm)) و لینکس به زبان c نوشته شده اند و این بیانگر توانایی این زبان در نوشتن برنامه های سیستمی است.
البته باید توجه داشت که این مساله بدان معنا نیست که سایر زبان ها در این کار ناتوانند و یا c از سایر زبان ها قوی تر است. قدرت یک زبان را باید به دور از تعصب، در توانایی انجام هدفی بیان کرد که برای آن در نظر گرفته شده است. زبانی با وسعت بالای کاربرد کسانی که فکر می کنند در آینده قرار است

هرگونه برنامه ای در هر زمینه ای بنویسند، برایشان c یا++ c (http://iranictnews.ir/tags/254008/T______c--.htm)گزینه مناسبی است. البته شاید در برخی زمینه ها کارشان مشکل تر از کسی باشد که با زبانی مختص آن زمینه برنامه می نویسد. اما می داند که با تسلط کافی به آن می تواند برنامه های لازم را بنویسد

c زبانی است که در مقیاس کوچک می توان با آن به طراحی یک نرم افزار (http://iranictnews.ir/tags/256/T______نرم-افزار.htm) پخش فیلم و موسیقی (http://iranictnews.ir/tags/60147/T______پخش-فیلم-و-موسیقی.htm) و در مقیاس های بزرگ به طراحی سیستم عامل (http://iranictnews.ir/tags/115004/T______طراحی-سیستم-عامل.htm) و حتی یک زبان سطح بالای دیگر پرداخت.اشخاصی که می خواهند برای میکروکنترلرها (http://iranictnews.ir/tags/252599/T______میکروکنترلرها.htm) و ریز پردازنده (http://iranictnews.ir/tags/43725/T______ریز-پردازنده.htm) های دیگر غیر از پردازنده های رایانه های شخصی (http://iranictnews.ir/tags/145957/T______پردازنده-های-رایانه-های-شخصی.htm)، برنامه بنویسند، می توانند با این زبان از عهده چنین کاری نیز بربیایند. راه دیگر برای این اشخاص، دانستن زبان اسمبلی (http://iranictnews.ir/tags/46600/T______زبان-اسمبلی.htm) مخصوص همان ریز پردازنده (http://iranictnews.ir/tags/43725/T______ریز-پردازنده.htm) است که این کار در صورت وجود یک کامپایلر (http://iranictnews.ir/tags/86430/T______کامپایلر.htm) مناسب c برای آن ریز پردازنده (http://iranictnews.ir/tags/43725/T______ریز-پردازنده.htm)، به هیچ عنوان توصیه نمی شود (مگر در موارد خاص) در ساخت روبوت ها (http://iranictnews.ir/tags/95990/T______روبوت-ها.htm)، سیستم عامل (http://iranictnews.ir/tags/519/T______سیستم-عامل.htm) های کوچک مربوط به دستگاه های الکترونیکی (http://iranictnews.ir/tags/13498/T______دستگاه-های-الکترونیکی.htm) مثل یخچال های پیشرفته امروزی، خودروهای جدید، برخی سازهای موسیقی (http://iranictnews.ir/tags/193345/T______موسیقی.htm) الکترونیکی (http://iranictnews.ir/tags/2124/T______الکترونیکی.htm) و حتی در برخی موشک ها می توان از قابلیت ها و توانایی های زبان c بهره گرفت.

برنامه های نوشته شده به زبانc++ (http://iranictnews.ir/tags/254008/T______c--.htm),c سرعت (http://iranictnews.ir/tags/118137/T______سرعت.htm) بسیار خوبی دارند و تا حد زیادی به اسمبلی (http://iranictnews.ir/tags/39855/T______اسمبلی.htm) نزدیک هستند. اما نمی توان انتظار داشت که با آن هر برنامه ای به سرعت (http://iranictnews.ir/tags/118137/T______سرعت.htm) نوشته شود. گاهی نوشتن برخی برنامه ها با این زبان هم به زمان بیشتری نیاز دارد و هم در صورت بروز اشکال در برنامه، اشکال زدایی (http://iranictnews.ir/tags/80477/T______اشکال-زدایی.htm) آن دشوارتر خواهد بود.
برای نوشتن برنامه های محاسباتی و ریاضی نیز c زبان مناسبی است.

افرادی که در زمینه های ریاضی و محاسبات و شبیه سازی (http://iranictnews.ir/tags/65846/T______شبیه-سازی.htm) فعالیت داشته اند حتما با نرم افزار (http://iranictnews.ir/tags/256/T______نرم-افزار.htm) قدرتمندmatlab آشنایی دارند. این نرم افزار (http://iranictnews.ir/tags/256/T______نرم-افزار.htm) تمامی توانایی و قدرت خود را از c دارد زیرا این ابزار با c طراحی شده است. اما حقیقتا اگر قرار باشد هر یک از اموری را که باmatlab انجام می شود، مستقیما با c انجام دهیم، کاری بسیار طاقت فرسا خواهد بود.