استخدام برنامه نویس C / استخدام برنامه نویس C++ / استخدام برنامه نویس C#
برای پرداختن به موضوع استخدام برنامه نویس C، استخدام برنامه نویس C++، استخدام برنامه نویس C# در ابتدا به توضیح این زبانهای برنامه نویسی میپردازیم. اگر به برنامه نویسی خانوادهی C علاقمندید و میخواهید از آن برای فعالیت به عنوان برنامه نویس در بازارکار استفادهکنید, بهتر است قبل از هر چیزی دانش و مهارت فنی خود را در این زمینه تقویتکنید.
در ادامه راجع به سه زبان C، C++، C# که زبانهای کامپایل شده هستند، بیشتر صحبت خواهیمکرد.
در ادامه راجع به سه زبان C، C++، C# که زبانهای کامپایل شده هستند، بیشتر صحبت خواهیمکرد.
زبان C چیست؟
یکی از زبانهای محبوب و قدرتمند برنامه نویسی، زبان C میباشد که شمار زیادی از برنامه نویسان را به خود جذبکردهاست. زبان C سال ۱۹۷۲ توسط «دنیسریچی» در آزمایشگاههای بل ساختهشد. این زبان برنامه نویسی، یک زبان همهمنظوره، سطح میانی، ساختیافته و دستوری است. میتوان زبان C را پدر زبان برنامه نویسی ++C و پدربزرگ زبان C# دانست. همچنین زبان جاوا و زبان سی پلاس پلاس بر پایهی زبان C نوشته و ایجاد شدهاند. در عصر امروز، سیستمعاملهای جدید و نرمافزارهای کاربردی، برنامهریزی ریزکنترلها و انواع سیپییوها توسط زبان C تولید شدهاند.
خصوصیات زبان برنامه نویسی C
تاثیرگذارترین زبان برنامه نویسی در دنیای کامپیوتر است.
یک زبان چند منظوره است.
زبانی قابل حمل (Portable) و ساخت یافته است.
زبان برنامه نویسی سیستم است.
تمام انواع دادههای عددی و غیر عددی به صورت کارا در C یافت میشوند.
تعداد کلمات کلیدی آن انگشت شمار است، زیرا C زبان کوچکی است.
یک زبان برنامه نویسی سطح میانی است
دارای قدرت، سرعت و انعطافپذیری بالاست.
C دارای توابعی از قبل نوشته شده، میباشد که «توابع کتابخانهای» نام دارند.
هیچ محدودیتی را برای برنامه نویسان به وجود نمیآورد.
تمام کلمات کلیدی این زبان با حروف کوچک نوشته میشوند و نسبت به حروف حساس است.
به سخت افزار یا سیستمعامل خاصی وابسته نمیباشد.
توسعهدهندگان کامپایلرها «محیطهای توسعهدهندهی مجتمع» یا (Integrated Development Envoirements) را برای این زبان برنامه نویسی ارائه میدهند.
یک زبان چند منظوره است.
زبانی قابل حمل (Portable) و ساخت یافته است.
زبان برنامه نویسی سیستم است.
تمام انواع دادههای عددی و غیر عددی به صورت کارا در C یافت میشوند.
تعداد کلمات کلیدی آن انگشت شمار است، زیرا C زبان کوچکی است.
یک زبان برنامه نویسی سطح میانی است
دارای قدرت، سرعت و انعطافپذیری بالاست.
C دارای توابعی از قبل نوشته شده، میباشد که «توابع کتابخانهای» نام دارند.
هیچ محدودیتی را برای برنامه نویسان به وجود نمیآورد.
تمام کلمات کلیدی این زبان با حروف کوچک نوشته میشوند و نسبت به حروف حساس است.
به سخت افزار یا سیستمعامل خاصی وابسته نمیباشد.
توسعهدهندگان کامپایلرها «محیطهای توسعهدهندهی مجتمع» یا (Integrated Development Envoirements) را برای این زبان برنامه نویسی ارائه میدهند.
نکاتی در رابطه با زبان برنامه نویسی C
بهعنوان یک برنامه نویس هنگام کار با زبان C نکات زیر را بخاطر داشتهباشید:
در زبان C هر بلوک برنامه با علامت { آغاز میشود و با علامت } پایان مییابد. این دو علامت معادل دستورات begin و end در زبانهای دیگر مانند Pascal میباشند.
هر برنامهی C باید دارای تابعی به نام main باشد که اجرای برنامه از آن شروع میشود و در اصل همان برنامهی اصلی است.
دستورات یا توضیحاتی که بعد از // هستند خوانده نمیشوند. ازین علامت صرفا برای توضیحات یک خطی استفاده میشود. چنانچه توضیحات بیش از یک خط بود، آن را با علامت /* شروع کرده و با */ پایان میدهیم.
حداکثر طول هر خط ۲۵۵ کاراکتر است.
در هر سطر میتوان چند دستور نوشت.
در پایان هر دستورالعمل از علامت ; استفاده میشود.
زبان C بین حروف کوچک و بزرگ تفاوت قائلاست. مثلا for با FOR متفاوت میباشد.
در زبان C هر بلوک برنامه با علامت { آغاز میشود و با علامت } پایان مییابد. این دو علامت معادل دستورات begin و end در زبانهای دیگر مانند Pascal میباشند.
هر برنامهی C باید دارای تابعی به نام main باشد که اجرای برنامه از آن شروع میشود و در اصل همان برنامهی اصلی است.
دستورات یا توضیحاتی که بعد از // هستند خوانده نمیشوند. ازین علامت صرفا برای توضیحات یک خطی استفاده میشود. چنانچه توضیحات بیش از یک خط بود، آن را با علامت /* شروع کرده و با */ پایان میدهیم.
حداکثر طول هر خط ۲۵۵ کاراکتر است.
در هر سطر میتوان چند دستور نوشت.
در پایان هر دستورالعمل از علامت ; استفاده میشود.
زبان C بین حروف کوچک و بزرگ تفاوت قائلاست. مثلا for با FOR متفاوت میباشد.
انواع متغیرها و دادهها در C
زبان برنامه نویسی C توانایی کار با دادههای عددی و غیرعددی بسیاری را دارد. در ادامه به اختصار به برخی از آنها اشاره خواهیمکرد:
int
این نوع داده از نوع عددی صحیح (integer) است. ۲ بایت فضا در حافظه اشغال میکند اما بعضی از کامپایلرها برای آن ۴ بایت در نظر میگیرند.
short int
برای دادههای صحیح که نیاز به حافظهی زیادی ندارند قابل استفاده است.
long int
برای دادههای صحیحی که در حافظه، فضای بیشتری نیاز دارند استفاده میشود و ۴ بایت فضا اشغال میکند.
unsigned int
این نوع داده از نوع عددی صحیح بدون علامت است.
float
این نوع داده از نوع اعشاری است. معمولاً در حافظه ۴ بایت فضا اشغال میکند و اعداد اعشاری مثبت و منفی را شامل میشود.
double
این نوع داده نیز برای استفاده در اعداد اعشاری است که مقدار بیشتری از فضای حافظه را اشغال میکنند. داده از نوع double، ۸ بایت فضا اشغال میکند.
char
این نوع داده برای ذخیرهی کاراکترها استفاده میشود و ۱ بایت فضا اشغال میکند.
int
این نوع داده از نوع عددی صحیح (integer) است. ۲ بایت فضا در حافظه اشغال میکند اما بعضی از کامپایلرها برای آن ۴ بایت در نظر میگیرند.
short int
برای دادههای صحیح که نیاز به حافظهی زیادی ندارند قابل استفاده است.
long int
برای دادههای صحیحی که در حافظه، فضای بیشتری نیاز دارند استفاده میشود و ۴ بایت فضا اشغال میکند.
unsigned int
این نوع داده از نوع عددی صحیح بدون علامت است.
float
این نوع داده از نوع اعشاری است. معمولاً در حافظه ۴ بایت فضا اشغال میکند و اعداد اعشاری مثبت و منفی را شامل میشود.
double
این نوع داده نیز برای استفاده در اعداد اعشاری است که مقدار بیشتری از فضای حافظه را اشغال میکنند. داده از نوع double، ۸ بایت فضا اشغال میکند.
char
این نوع داده برای ذخیرهی کاراکترها استفاده میشود و ۱ بایت فضا اشغال میکند.
کلمات کلیدی در زبان برنامه نویسی C
auto
struct
break
else
long
switch
case
enum
register
typedef
char
extern
return
union
const
float
short
unsigned
continue
for
signed
void
default
goto
sizeof
volatile
do
if
static
while
restrict
double
int
struct
break
else
long
switch
case
enum
register
typedef
char
extern
return
union
const
float
short
unsigned
continue
for
signed
void
default
goto
sizeof
volatile
do
if
static
while
restrict
double
int
امتیازات زبان برنامه نویسی C
اندازهی کد بهینه
فایلهایی که با سرعت برق اجرا میشوند؛ کد C، توسط اکثر کامپایلرها ایجاد میشود که بسیار سریع و موثر است.
کار با بیتها
دارای مجموعهی کوچکی از کلمات کلیدی
بررسی نوع محدود (Limited Type Checking)؛ راحتی و عدم سختگیری در برررسی به شما اجازه میدهد تا دادهها را به روشهای مختلف مشاهدهکنید.
ساختار ماژولار؛ کامپایل و Link کردن جداگانه
طراحی و پیادهسازی به صورت بالا به پایین
واسط پنهان برای زبان اسمبلی؛ روتینهای C در اکثر سیستمها میتوانند به زبان اسمبلی گنجانده شوند.
قابلیت آدرسدهی ناحیههای خاصی از حافظه به دلیل ویژگی نوع دادهای اشارهگر
ساختارهای قابل گسترش؛ امکان ترکیب ساختارها (رکوردها) و آرایهها به شکلهای مختلف
صرفهجویی در حافظه
قابلیت حمل از یک سکو به سکوی دیگر؛ برنامههایی که به زبان C نوشته میشوند، به راحتی از یک کامپیوتر یا سیستم به کامپیوتر یا سیستم دیگر قابل حمل هستند.
روتینهای کتابخانهای قدرتمند برای گرافیک، مدیریت فایلها، پشتیبانی از پایگاه دادهها، ورد دادهها و ...
فایلهایی که با سرعت برق اجرا میشوند؛ کد C، توسط اکثر کامپایلرها ایجاد میشود که بسیار سریع و موثر است.
کار با بیتها
دارای مجموعهی کوچکی از کلمات کلیدی
بررسی نوع محدود (Limited Type Checking)؛ راحتی و عدم سختگیری در برررسی به شما اجازه میدهد تا دادهها را به روشهای مختلف مشاهدهکنید.
ساختار ماژولار؛ کامپایل و Link کردن جداگانه
طراحی و پیادهسازی به صورت بالا به پایین
واسط پنهان برای زبان اسمبلی؛ روتینهای C در اکثر سیستمها میتوانند به زبان اسمبلی گنجانده شوند.
قابلیت آدرسدهی ناحیههای خاصی از حافظه به دلیل ویژگی نوع دادهای اشارهگر
ساختارهای قابل گسترش؛ امکان ترکیب ساختارها (رکوردها) و آرایهها به شکلهای مختلف
صرفهجویی در حافظه
قابلیت حمل از یک سکو به سکوی دیگر؛ برنامههایی که به زبان C نوشته میشوند، به راحتی از یک کامپیوتر یا سیستم به کامپیوتر یا سیستم دیگر قابل حمل هستند.
روتینهای کتابخانهای قدرتمند برای گرافیک، مدیریت فایلها، پشتیبانی از پایگاه دادهها، ورد دادهها و ...
C یک زبان ساختار یافته
لازم به ذکر است که زبان C از جمله زبانهای برنامه نویسی ساختار یافته است. زبانهای ساختار یافته نیز دارای نقاط قوتی هستند که در ادامه برخی از آنها را بیان کردهایم:
نوشتن برنامههای ساختیافته آساناست، زیرا برنامههای پیچیده به بخشهای کوچکتری تقسیم میشوند و هر بخش توسط تابعی نوشته میشود. دستورالعملها و دادههای موجود در تابع، مستقل از سایر بخشهای برنامه میباشد.
همکاری بین افراد را امکانپذیر ساختهاست. بهطوریکه هر فرد میتواند بخش مستقلی از برنامه را بنویسد.
اشکالزدایی این نوع برنامهها سادهتر است. اگر برنامه اشکالی داشته باشد، بررسی تابعی که این اشکال در آن به وجود آمده، راحتتر است.
موجب صرفهجویی در وقت میشود.
نوشتن برنامههای ساختیافته آساناست، زیرا برنامههای پیچیده به بخشهای کوچکتری تقسیم میشوند و هر بخش توسط تابعی نوشته میشود. دستورالعملها و دادههای موجود در تابع، مستقل از سایر بخشهای برنامه میباشد.
همکاری بین افراد را امکانپذیر ساختهاست. بهطوریکه هر فرد میتواند بخش مستقلی از برنامه را بنویسد.
اشکالزدایی این نوع برنامهها سادهتر است. اگر برنامه اشکالی داشته باشد، بررسی تابعی که این اشکال در آن به وجود آمده، راحتتر است.
موجب صرفهجویی در وقت میشود.
معایب زبان C
هیچ زبان برنامه نویسی بدون نقصی وجود ندارد. در آغاز هر پروژهی برنامه نویسی، یکی از مهمترین وظایف مهندسان نرم افزار این است که بهترین زبان را برای پروژه انتخاب کنند. انتخاب زبان برنامه نویسی مناسب همچنین در موفقیت پروژه، بسیار موثر است. در ادامه برخی از معایب زبان C مطرح میشود تا راهنمای شما در استفادهی به موقع از این زبان برنامهنویسی باشد.
۱. بررسی نوع محدود !
پیش از این گفتیم که زبان C در مورد نوع داده، خیلی سخت گیر نیست و برای کار با دادهها، انعطاف زیادی در اختیار شما قرار میدهد. درست است که این امر یکی از مزایای این زبان است، اما در عین حال میتواند نقطه ضعفی برای آن حساب شود.
بهعنوان مثال، عملگر انتساب (=) میتواند بیش از یک بار در یک عبارت ظاهر شود. این انعطافپذیری که میتوانید از آن به نفع خود استفاده کنید، به این معنی است که میتوان عباراتی نوشت که مقدار واضح و مشخصی نداشتهباشند. محدودیت در استفاده از عملگر انتساب و عملگرهای مشابه یا حذف تمام اثرات جانبی و نتایج غیر قابل پیشبینی، تا حد زیادی از قدرت و محبوبیت زبان C به عنوان یک زبان اسمبلی سطح بالا، کاسته است.
بهعنوان مثال، عملگر انتساب (=) میتواند بیش از یک بار در یک عبارت ظاهر شود. این انعطافپذیری که میتوانید از آن به نفع خود استفاده کنید، به این معنی است که میتوان عباراتی نوشت که مقدار واضح و مشخصی نداشتهباشند. محدودیت در استفاده از عملگر انتساب و عملگرهای مشابه یا حذف تمام اثرات جانبی و نتایج غیر قابل پیشبینی، تا حد زیادی از قدرت و محبوبیت زبان C به عنوان یک زبان اسمبلی سطح بالا، کاسته است.
۲. نظارت محدود در زمان اجرا
زمان اجرای C، عدم بررسی در سیستم میتواند منجر به عدم تشخیص بسیاری از مساثل پیچیده وگذرا خواهد شد. برای مثال، اگر برنامهی شما از محدودهی یک آرایه تجاوزکند، سیستم زمان اجرا اخطار نمیدهد.
زبان C++ چیست؟
زبان C++ (سی پلاس پلاس) توسط استراستروپ در سال ۱۹۸۰ در لابراتوار بل یا همان Bell Labs به عنوان یک نسخهی جدید از زبان برنامه نویسی C طراحی و پیادهسازی شد. این زبان یک زبان برنامه نویسی همهمنظوره، شیگرا و سطح میانی است، علاوه بر آن دارای قابلیت زبانهای سطح بالا و پایین بهصورت همزمان میباشد. امروزه در جهان بیشتر نرمافزارهای سیستمی از طریق C++ نوشته میشوند. بارها پرسیدهشده که آیا زبان C++همان C است؟ برای پاسخ به این سوال و آشنایی بیشتر با این زبان، ادامهی این مطلب از سایت چراغ را مطالعهفرمایید.
تفاوت زبان C و C++
قبل از هر چیزی باید گفت که C++، بسط یافتهی زبان C و بسیار قدرتمندتر و مجزا از آن است.
با زبان C++ میتوان عملیاتی را انجام داد که با زبان C نیاز به زحمت بسیار بالایی دارد.
در C امکان استفاده از رفرنسها وجود ندارد، در صورتی که در C++ این امکان وجود دارد.
در C تعریف تابع درون تابع دیگر ممکن است، اما در C++ این امکان وجود ندارد.
در C++، سربارگذاری توابع و عملگرها ممکن است اما در C این امکان وجود ندارد.
در بعضی حالات C++ تعداد کنترل نوع بیشتری نسبت به زبان C انجام میدهد.
در C ساختارها نمی توانند تابع داشته باشند (تابع عضو)، اما در C++ این کار ممکن است.
کامپایلر زبان C++ قادر است برنامههایی که به زبان C نوشته شدهاند را کامپایل کند.
مدیریت خطاها یا Exception Handling و همچنین ارثبری چندگانه یاmultiple inheritances در برنامه نویسی C++ معرفی شدند.
در زبان C++، امکاناتی مانند templateها، classها، توابع مجازی (virtual functions) وoperator overloadingها اضافه شدهاند. همچنین در سی پلاس پلاس قابلیتهای Type Checking بیشتری اضافه شدهاست.
با زبان C++ میتوان عملیاتی را انجام داد که با زبان C نیاز به زحمت بسیار بالایی دارد.
در C امکان استفاده از رفرنسها وجود ندارد، در صورتی که در C++ این امکان وجود دارد.
در C تعریف تابع درون تابع دیگر ممکن است، اما در C++ این امکان وجود ندارد.
در C++، سربارگذاری توابع و عملگرها ممکن است اما در C این امکان وجود ندارد.
در بعضی حالات C++ تعداد کنترل نوع بیشتری نسبت به زبان C انجام میدهد.
در C ساختارها نمی توانند تابع داشته باشند (تابع عضو)، اما در C++ این کار ممکن است.
کامپایلر زبان C++ قادر است برنامههایی که به زبان C نوشته شدهاند را کامپایل کند.
مدیریت خطاها یا Exception Handling و همچنین ارثبری چندگانه یاmultiple inheritances در برنامه نویسی C++ معرفی شدند.
در زبان C++، امکاناتی مانند templateها، classها، توابع مجازی (virtual functions) وoperator overloadingها اضافه شدهاند. همچنین در سی پلاس پلاس قابلیتهای Type Checking بیشتری اضافه شدهاست.
موارد استفاده از زبان C++
اگر بخواهیم موارد استفاده از زبان C++ را مورد بررسی قرار دهیم باید از دو جهت این موضوع رو مورد بررسی قرار دهیم. اول استفاده از زبان C++ در ایران و دیگری موارد استفاده از این زبان در خارج از کشور است. واقعیت امر این است که زبان C++ در داخل کشور، بیشتر در مدارس و دانشگاهها مورد استفاده قرار میگیرد و جنبهی آموزشی و آکادمیک دارد.
اما زبان برنامه نویسی C++ درخارج از ایران برای ایجاد بسیاری از محصولات نرمافزاری و حتی سیستمعامل ویندوزی که در پیش روی شماست، کاربرد داشتهاست. برخی دیگر از مواردی که توسط زبان سی پلاس پلاس برنامه نویسی و پیادهسازی شدهاند به شرح زیر میباشد:
صنایع فضایی
سیستمهای کامپیوتری
سیستمهای معماری و بانکی
صنعت خودرو سازی
کنسولهای بازی
تجهیزات مجهز به انواع حسگرها
هوش مصنوعی در علم پزشکی
نرم افزارهای مهندسی
تجهیزات مدرن و سختافزارهای رباتیک و هوش مصنوعی در انواع صنایع
اما زبان برنامه نویسی C++ درخارج از ایران برای ایجاد بسیاری از محصولات نرمافزاری و حتی سیستمعامل ویندوزی که در پیش روی شماست، کاربرد داشتهاست. برخی دیگر از مواردی که توسط زبان سی پلاس پلاس برنامه نویسی و پیادهسازی شدهاند به شرح زیر میباشد:
صنایع فضایی
سیستمهای کامپیوتری
سیستمهای معماری و بانکی
صنعت خودرو سازی
کنسولهای بازی
تجهیزات مجهز به انواع حسگرها
هوش مصنوعی در علم پزشکی
نرم افزارهای مهندسی
تجهیزات مدرن و سختافزارهای رباتیک و هوش مصنوعی در انواع صنایع
پروژههای نوشته شده به زبان C++
سیستمعامل ویندوز
مروگر وبگردی Opera
نرمافزار گرافیک سه بعدی 3Ds Max
مرورگر وبگردی گوگل کروم
نرمافزار ارتباط اسکایپ
نرمافزار ارتباط تیم ویور
سیستم عامل مک
مرورگر وبگردی فایرفاکس
نرمافزار گرافیکی فتوشاپ
نرمافزار ادوب اکروبات
بازی معروف CALL of DUTY
بازی معروف GOD of WAR
سیستمعامل اوبونتو
سیستمعامل ios
مروگر وبگردی Opera
نرمافزار گرافیک سه بعدی 3Ds Max
مرورگر وبگردی گوگل کروم
نرمافزار ارتباط اسکایپ
نرمافزار ارتباط تیم ویور
سیستم عامل مک
مرورگر وبگردی فایرفاکس
نرمافزار گرافیکی فتوشاپ
نرمافزار ادوب اکروبات
بازی معروف CALL of DUTY
بازی معروف GOD of WAR
سیستمعامل اوبونتو
سیستمعامل ios
استاندارد زبان C++
استانداردسازی C++، توسط یک گروه از تشکیلات ISO انجام میشود. تا به امروز، ۶ نسخه از استاندارد این زبان، تولید و منتشر شده است. هماکنون استاندارد C++20 نیز برای انتشار در سال ۲۰۲۰ برنامهریزی شدهاست. در جدول زیر، لیستی از استانداردهای انتشار یافته از زبان برنامه نویسی C++ را از سال ۱۹۹۸ تا کنون را آوردهایم.
سال استاندارد C++ نام غیررسمی
۱۹۹۸ ISO/IEC 14882:1998 C++98
۲۰۰۳ ISO/IEC 14882:2003 C++03
۲۰۰۷ ISO/IEC TR 19768:2007 C++07/TR1
۲۰۱۱ ISO/IEC 14882:2011 C++11
۲۰۱۴ ISO/IEC 14882:2014 C++14
۲۰۱۷ ISO/IEC 14882:2017 C++17, C++1z
۲۰۲۰ هنوز تعیین نشدهاست C++20
سال استاندارد C++ نام غیررسمی
۱۹۹۸ ISO/IEC 14882:1998 C++98
۲۰۰۳ ISO/IEC 14882:2003 C++03
۲۰۰۷ ISO/IEC TR 19768:2007 C++07/TR1
۲۰۱۱ ISO/IEC 14882:2011 C++11
۲۰۱۴ ISO/IEC 14882:2014 C++14
۲۰۱۷ ISO/IEC 14882:2017 C++17, C++1z
۲۰۲۰ هنوز تعیین نشدهاست C++20
برخی از خصوصیات زبان C++
بر اساس کتاب «طراحی و تکامل C++» از استراستروپ ویژگیهای زبان سیپلاسپلاس به شرح زیر بیان شدهاست:
در C++ حداکثر تطابق با C وجود دارد و یک انتقال راحت از C را ممکن میسازد.
یک زبان عمومی با کنترل نوع ایستا و همانند C قابل حمل و پربازده میباشد.
به برنامهنویسان امکان انتخاب میدهد، حتی اگر این انتخاب اشتباه باشد.
C++ از بکاربردن ویژگیهای خاص که مانع از عمومی شدن است خودداری مینماید.
C++ بدون استفاده ازیک محیط پیچیده عمل مینماید.
C++ از ویژگیهایی که بکار برده نمیشوند استفاده نمیکند.
بهصورت جامع و مستقیم از چندین شیوهی برنامه نویسی میتوان از آن استفادهکرد. (برنامه نویسی ساختیافته، انتزاع داده، شیگرا، و جنریک)
در C++ حداکثر تطابق با C وجود دارد و یک انتقال راحت از C را ممکن میسازد.
یک زبان عمومی با کنترل نوع ایستا و همانند C قابل حمل و پربازده میباشد.
به برنامهنویسان امکان انتخاب میدهد، حتی اگر این انتخاب اشتباه باشد.
C++ از بکاربردن ویژگیهای خاص که مانع از عمومی شدن است خودداری مینماید.
C++ بدون استفاده ازیک محیط پیچیده عمل مینماید.
C++ از ویژگیهایی که بکار برده نمیشوند استفاده نمیکند.
بهصورت جامع و مستقیم از چندین شیوهی برنامه نویسی میتوان از آن استفادهکرد. (برنامه نویسی ساختیافته، انتزاع داده، شیگرا، و جنریک)
معرفی C#
سی شارپ یک زبان برنامه نویسی مدرن، تابعی، دستوری، عمومی، شیگرا و جزءگرا میباشد. در اصل زبان سیشارپ ترکیبی از قابلیتهای خوب C++ و JAVA است. کسانی که با این دو زبان آشنا هستند، یادگیری سیشارپ برای آنها آسانتر خواهد بود. این زبان بهقدری راحت است که افرادی که قبلا برنامهنویسی نکردهاند و یا حتی دانشآموزان، بهسادگی میتوانند آن را فراگیرند. پس از تسلط به سیشارپ به راحتی میتوان با ASP.Net کار کرد و برنامههای تحت وب نوشت. روزانه بسیاری از شرکتها و سازمانها به دنبال برنامه نویس سیشارپ و ASP.Net هستند. بههمیندلیل میتوان گفت داشتن مهارت در دو زبان برنامه نویسی C# و ASP.Net به طور همزمان، امنیت شغلی را برای کارجویان رشتهی کامپیوتر فراهم میآورد.
تاریخچهی پیدایش C#
در سال ۱۹۹۹ شرکت Sun Microsystems اجازهی استفاده از زبان برنامهنویسی جاوا را در اختیار شرکت Microsoft قرار داد تا در سیستمعامل خود از آن استفادهکند. در واقع جاوا زبانی مستقل از سیستمعامل است اما مایکروسافت با زیر پا گذاشتن مفاد قرار داد، این قابلیت را از جاوا برداشت. شرکت Sun Microsystems در همین راستا پروندهای علیه مایکروسافت تشکیلداد و مایکروسافت مجبور به ساخت زبان شیگرای جدید با کامپایلر جدید و مشابه C++ شد. گروهی به سرپرستی آندرس هلزبرگ (Anders Hejlsberg) برای انجام این پروژه تشکیلشد و زبان جدید را «Cool» نامیدند. به دلیل نامناسب بودن این عنوان برای اهداف تجاری، در سال ۲۰۰۰ نام این زبان به C# (سیشارپ) تغییر یافت. زبان C# در قلب بسیاری از اپلیکیشنهایی که توسط .Net طراحی شدهاند قرار دارد. پس از گذشت چند سال از ارائهی C#، این زبان توانست استانداردهای ISO و Ecma را دریافتکند و بهعنوان یک زبان استاندارد به تایید رسید.
موارد استفاده از زبان C#
زبان برنامه نویسی C#، به عنوان زبان برگزیدهی شرکت مایکروسافت برای خلق سیستم عامل ویندوز و ویندوزفون مورد استفاده قرارگرفت. این زبان برای پیادهسازی سیستمعامل تلفنهای همراه از قبیلHTC ، مایکروسافت و نوکیا بسیار مفید واقع شد. علاوه بر آن، C# مانند زبان جاوا برای پروژههای بزرگ و اقتصادی، انتخاب بسیار خوبی است.
به جرات میتوان گفت اولین زبان برنامه نویسی دسکتاپی در ایران که بیشترین طرفدار را دارد، زبان سیشارپ است. این زبان قدرت بالایی در نوشتن انواع برنامه و اپلیکیشن دارد. شما با استفاده زبان سیشارپ میتوانید انواع برنامههای دسکتاپی، موبایل، تحت وب و . . . را بنویسید. از آنجایی که C# یک زبان بسیار قدرتمند و شیگراست، میتوان از آن برای ایجاد برنامههایی با قابلیت مدیریت بیشتر و درک آسان استفادهکرد.
به جرات میتوان گفت اولین زبان برنامه نویسی دسکتاپی در ایران که بیشترین طرفدار را دارد، زبان سیشارپ است. این زبان قدرت بالایی در نوشتن انواع برنامه و اپلیکیشن دارد. شما با استفاده زبان سیشارپ میتوانید انواع برنامههای دسکتاپی، موبایل، تحت وب و . . . را بنویسید. از آنجایی که C# یک زبان بسیار قدرتمند و شیگراست، میتوان از آن برای ایجاد برنامههایی با قابلیت مدیریت بیشتر و درک آسان استفادهکرد.
جایگاه زبان C# در بین زبانهای برنامه نویسی
اگر چه شمار برنامهنویسانی که با C# برنامه نویسی میکنند، به مراتب کمتر از برنامه نویسان جاوا میباشد، اما به لطف پشتیبانی مایکروسافت، این زبان یکی از مدعیان قوی در بین زبانهای برنامهنویسی است. نسخههای جدید آن نیز هر چند وقت یکبار توسط مایکروسافت ارائهمیشود که دارای قابلیتهای جدیدی است. با این تفاسیر میتوان گفت C# زبانی کاربردی و تمامنشدنی خواهدبود.
اگر بخواهیم راجع به رنکینگ و رتبهی C# صحبتکنیم، باید بگوییم این زبان برنامه نویسی از اعتبار و محبوبیت بسیار بالایی در دنیای برنامه نویسی برخوردار است. طبق فهرستبندی انجمنTIOBE ، زبان C# در ردیف چهارم جدول زبانهای برنامه نویسی قراردارد. از سوی دیگر بر اساس ردهبندیIEEE که فهرست برترین زبانهای برنامه نویسی سال ۲۰۱۷ را منتشر کرد، C# در ردیف پنجم زبانهای برنامهنویسی قرار گرفت. همچنین در ایران دو زبان برنامه نویسی C# و جاوا پرچمدار هستند و برای طراحی و پیادهسازی نرمافزارها و وبسایتهای سازمانهای دولتی و خصوصی، مورد استفادهمیباشند.
اگر بخواهیم راجع به رنکینگ و رتبهی C# صحبتکنیم، باید بگوییم این زبان برنامه نویسی از اعتبار و محبوبیت بسیار بالایی در دنیای برنامه نویسی برخوردار است. طبق فهرستبندی انجمنTIOBE ، زبان C# در ردیف چهارم جدول زبانهای برنامه نویسی قراردارد. از سوی دیگر بر اساس ردهبندیIEEE که فهرست برترین زبانهای برنامه نویسی سال ۲۰۱۷ را منتشر کرد، C# در ردیف پنجم زبانهای برنامهنویسی قرار گرفت. همچنین در ایران دو زبان برنامه نویسی C# و جاوا پرچمدار هستند و برای طراحی و پیادهسازی نرمافزارها و وبسایتهای سازمانهای دولتی و خصوصی، مورد استفادهمیباشند.
مزایای استفاده از زبان برنامه نویسی C#
زبان برنامه نویسی مدرن و همه منظوره
چند سکویی بودن (Cross Platform)
استفادهی گسترده
بخشی از دات نت فریم ورک است
زبان جزءگرا (componentoriented)
کاملا شیگرا (object oriented)
زبانی قابل فهم برای همه
قابل استفاده و کامپایل بر روی انواع کامپیوتر
قابل استفاده برای تولید برنامههای کارآمد
بازارکار جهانی خوب
بازارکار عالی در ایران
کدنویسی آسان در ویژوال استودیو (قدرتمندترین IDE موجود برای برنامه نویسی)
استفاده از C# و عدم نیاز به زبانهای دیگر برای برنامه نویسی در پلتفرمهای مختلف
زبانی ساختیافته (در زبانهای ساختیافته برنامهها را میتوان به اجزا و زیر برنامههای کوچکتر تقسیمکرد.)
چند سکویی بودن (Cross Platform)
استفادهی گسترده
بخشی از دات نت فریم ورک است
زبان جزءگرا (componentoriented)
کاملا شیگرا (object oriented)
زبانی قابل فهم برای همه
قابل استفاده و کامپایل بر روی انواع کامپیوتر
قابل استفاده برای تولید برنامههای کارآمد
بازارکار جهانی خوب
بازارکار عالی در ایران
کدنویسی آسان در ویژوال استودیو (قدرتمندترین IDE موجود برای برنامه نویسی)
استفاده از C# و عدم نیاز به زبانهای دیگر برای برنامه نویسی در پلتفرمهای مختلف
زبانی ساختیافته (در زبانهای ساختیافته برنامهها را میتوان به اجزا و زیر برنامههای کوچکتر تقسیمکرد.)
ویژگیهای مهم سی شارپ
زبالهروبی خودکار
شرطهای بولین
قابلیت نسخهبندی اسمبلیها
کتابخانهی استاندارد
دلیگیت و مدیریت رویدادها (Delegates and Events Management)
LINQ و Lambada
شرطهای کامپایلری
ایندکسها
یکپارچه با ویندوز
ستفاده آسان برای جنریک (برای مقادیر با نوع دادهی متفاوت)
برنامه نویسی ساده برای مالتیترد(Multi Threads)
شرطهای بولین
قابلیت نسخهبندی اسمبلیها
کتابخانهی استاندارد
دلیگیت و مدیریت رویدادها (Delegates and Events Management)
LINQ و Lambada
شرطهای کامپایلری
ایندکسها
یکپارچه با ویندوز
ستفاده آسان برای جنریک (برای مقادیر با نوع دادهی متفاوت)
برنامه نویسی ساده برای مالتیترد(Multi Threads)
نسخههای مختلف زبان C#
با به روز شدن دائم سیشارپ و همچنین افزودن قابلیتهای جدید به آن توسط مایکروسافت، این زبان به عنوان یکی از بهترین زبانهای برنامه نویسی .NET شناخته شدهاست. بد نیست با نسخههای ارائهشدهی مختلف زبان C# از ابتدا تا کنون که در جدول زیر آمده، آشنا شوید:
نسخه C# | نسخه .NET Framework | نسخه Visual Studio | تاریخ ارائه |
C# 1.0 | .NET Framework 1.0 | Visual Studio.NET 2002 | January 2002 |
C# 1.1 | .NET Framework 1.1 | Visual Studio.NET 2003 | April 2003 |
C# 2.0 | .NET Framework 2.0 | Visual Studio 2005 | November 2005 |
C# 3.0 | .NET Framework 3.0/3.5 | Visual Studio 2008 | November 2007 |
C# 4.0 | .NET Framework 4.0 | Visual Studio 2010 | April 2010 |
C# 5.0 | .NET Framework 4.5 | Visual Studio 2012/2013 | August 2012 |
C# 6.0 | .NET Framework 4.6 | Visual Studio 2015 | July 2015 |
C# 7.0 | .NET Framework 4.6.2 | Visual Studio 2017 | March 2017 |
C# 7.1 | .NET Framework 4.6.2 | Visual Studio 2017 (Version 15.3) | August 2017 |
C# 7.2 | .NET Framework 4.7.1 | Visual Studio 2017 (Version 15.5) | November 2017 |
C# 7.3 | .NET Framework4.7.2 | Visual Studio 2017 (Version 15.7) | May 2018 |
C# 8.0 | .NET Framework 4.8 .NET Core 3.0 |
Visual Studio 2019 (Version 16.3) | September 2019 |
استخدام بهعنوان برنامه نویس C، C++، C#
شرکتهای برنامه نویسی از روشهای مختلفی برای استخدام کارجویان خود استفاده میکنند. نحوهی اجرای این روشها از شرکتی تا شرکت دیگر متفاوت است و با توجه به اهداف، نیازها و تجارب آنها متغیر است. برای موفقیت در هر کدام از این روشها و بالا بردن شانس استخدام خود به عنوان برنامه نویس C باید مهارتهای فنی و مهارتهای نرم (Soft Skills) خود را تقویتکنید.
یک واقعیت غیر قابل انکار، این است که با وجود داشتن تمام پیشنیازهای یک برنامه نویس خوب، ممکن است شما را استخدام نکنند! اما این موضوع به معنای عدم صلاحیت شما نیست و نباید بر این اساس خود را مورد داوری و قضاوت قراردهید. توصیه میکنیم تحت هر شرایطی از تلاش برای تقویت مهارتهای خود دست نکشید و با شرکتهای برنامه نویسی دیگر مصاحبهکنید. بدونشک با انجام این کار قطعاً موقعیتکاری مناسبی در حوزهی برنامه نویسی به دستخواهید آورد.
یک واقعیت غیر قابل انکار، این است که با وجود داشتن تمام پیشنیازهای یک برنامه نویس خوب، ممکن است شما را استخدام نکنند! اما این موضوع به معنای عدم صلاحیت شما نیست و نباید بر این اساس خود را مورد داوری و قضاوت قراردهید. توصیه میکنیم تحت هر شرایطی از تلاش برای تقویت مهارتهای خود دست نکشید و با شرکتهای برنامه نویسی دیگر مصاحبهکنید. بدونشک با انجام این کار قطعاً موقعیتکاری مناسبی در حوزهی برنامه نویسی به دستخواهید آورد.