برنامه نویسی چیست؟

همه چیز هایی که باید بدانید + کاربردها

برنامه نویسی چیست ؟‌ — از کاربرد تا یادگیری به زبان ساده

محبوبیت برنامه نویسی در سال‌های اخیر به قدری افزایش یافته است که تقریباً اکثر افراد در مورد آن چیزهایی شنیده‌اند. با توجه به درآمد و حقوق بالای برنامه نویسی و جذابیت‌های متعدد آن، افراد بسیاری تصمیم می‌گیرند که وارد دنیای برنامه نویسی شوند. در این راستا، اولین سوالی که به وجود می‌آید این است که اصلاً برنامه نویسی چیست و چه کاربردی دارد؟ علاوه بر آن، سوال‌های دیگری هم پیرامون مفهوم برنامه نویسی برای بسیاری از افراد به وجود می‌آیند. مثلاً این سوال که الگوریتم برنامه نویسی چیست ، انواع برنامه نویسی چیست ، هدف از برنامه نویسی چیست ، شرکت برنامه نویسی چیست و بسیاری از سوالات دیگر در خصوص برنامه نویسی وجود دارند. در این مقاله سعی شده است به طور جامع و با بیانی ساده به این سوال‌ها پاسخ داده شود و همچنین منابع آموزشی برای شروع یادگیری برنامه نویسی به علاقه‌مندان معرفی شده‌اند.

سیستم دودویی

دستگاه اعداد دودویی یا دستگاه اعداد باینری (به انگلیسی: Binary) هر عدد را به‌وسیله دو رقم ۰ و ۱ نشان می‌دهند. این حالت نمایش اعداد را نمایش اعداد در مبنای دو نیز می‌نامند.

 

شیوهٔ نمایشویرایش

یک عدد در مبنای دو به‌وسیله تعدادی ۰ و ۱ پشت سر هم نشان داده می‌شود. در رایانه‌ها، اعداد دودویی با دو سطحولتاژ مختلف نمایش داده می‌شوند؛ دلیل این امر آنست که پیاده‌سازی این سیستم توسط تجهیزات الکترونیکی بسیار ساده‌تر از دیگر سیستم‌های عددی است. مثلاً برای پیاده‌سازی این سیستم ممکن است ولتاژ ۵- به‌عنوان «صفر» در نظر گرفته شود و ولتاژ ۵+ به‌عنوان «یک» (حالت دو قطبی) یا ولتاژ صفر به‌عنوان «صفر» و ولتاژ ۵+ به‌عنوان «یک» (حالت دودویی) در نظر گرفته شود. در دیسکهای مغناطیسی نیز از نقاط دارای مغناطیس (یک) و بدون آن (صفر) برای نمایش داده‌ها و اعداد استفاده می‌شود.

 

تبدیل از ده‌دهی به دودوییویرایش

یکی از روش‌های تبدیل از مبنای ده‌دهی به دودویی تقسیم متوالی بر عدد دو است. که طی آن باقی‌مانده‌ها مورد استفاده قرار می‌گیرند. تقسیمات را تا صفر شدنخارج‌قسمت انجام می‌دهیم. در نهایت آخرین خارج قسمتو بعد از آن باقی‌مانده‌ها را از آخر به اول کنار همدیگر قرار می‌دهیم. عدد بدست آمده معادل دودویی خواهد بود.

 

تبدیل از دودویی به ده‌دهیویرایش

ابتدا ارزش مکانی رقم‌ها را محاسبه نموده بدین طریق که رقم اول از سمت راست در جایگاه {\displaystyle (2)^{0}}{\displaystyle (2)^{0}} ورقم دوم در جایگاه {\displaystyle (2)^{1}}{\displaystyle (2)^{1}} و.... می‌باشند. سپس هر کدام از رقم‌ها را در ارزش مکانیش ضرب کرده و همه را با هم جمع می‌کنیم(جمع در مبنای ده) عدد به دست آمده در مبنای ده وبرابر عدد ابتدایی در مبنای دو است.

 

ساعت باینریویرایش

نحوه خواندن ساعت باینری

ساعت باینری زمان را طبق اصول باینری نشان می‌دهد، ساعت،دقیقه و ثانیه در سه ستون با چهار سطر نشان داده می‌شود،مطابق شکل سطر اول رقم ۱، سطر دوم ۲، سطر سوم ۴، و سطر آخر رقم ۸ است، ستون سمت چپ رقم دهگان و ستون سمت راست رقم یکان را نشان می‌دهد که با جمع ارقام هر ستون و جمع بندی آن‌ها با هم عدد ساعت،دقیقه و ثانیه به دست می‌آید.

 

جستارهای وابستهویرایش

سیستم باینری به زبان ساده

پیش از شروع لازم به ذکر است که قسمت‌های اول،دوم، سوم، چهارم و پنجم این مطلب را می‌توانید از طریق کلیک کردن روی لینک مرتبط به هر بخش مطالعه کنید؛ در ریاضیات اعداد مثبت که شامل صفر نیز می‌شوند به‌صورت اعداد بی علامت نمایش داده می‌شوند. یعنی برای اینکه نشان بدهیم این اعداد مثبت هستند، علامت + در برابر آن‌ها قرار نمی‌دهیم.

با این حال وقتی با اعداد منفی سروکار داریم، یک علامت (-) در مقابل آن‌ها قرار می‌دهیم تا نشان دهیم که این عدد مقدار منفی دارد و از عدد بی علامت مثبت متفاوت است. اعداد باینری علامت‌دار نیز همینطور هستند.

در مدارهای دیجیتال هیچ تدارکی برای قرار دادن یک علامت بعلاوه یا منها در کنار عدد دیده نشده است. چون سیستم‌های دیجیتال با اعداد باینری کار می‌کنند که به‌صورت صفر و یک نمایش داده می‌شوند. زمانی که این «1» و «0» ها در مدارهای میکروالکترونیک کنار هم قرار می‌گیرند، بیت (bit) نامیده می‌شوند (که از عبارت BInary digiT اخذ شده است). این اعداد در چند واحد قرار می‌گیرند که به نام‌هایی مانند بایت (8 بیت) یا کلمه (word = دو بایت) نامیده شده‌اند.

یک عدد باینری هشت بیتی (یک بایت) می‌تواند مقداری بین 0 (000000002) تا 255 (111111112) داشته باشد یعنی 28=256 ترکیب مختلف از بیت‌ها، یک بایت ۸ بیتی منفرد را تشکیل می‌دهند. بنابراین یک عدد باینری بی علامت مانند 010011012 برابر با مقدار ده‌دهی 64 + 8 + 4 + 1 = 7710 خواهد بود. اما سیستم‌های دیجیتال و رایانه‌ها باید توانایی استفاده و تغییر اعداد منفی را نیز مانند اعداد مثبت داشته باشند.

نمادگذاری «علامت-بزرگی»

اعداد ریاضی به طور کلی از یک علامت و یک مقدار (بزرگی) تشکیل یافته‌اند که علامت، نشان می‌دهد عدد مثبت یا منفی است و مقدار نیز بزرگی عدد را نشان می‌دهد. برای مثال 23، 156+ یا 274-. نمایش اعداد به این‌ روش به‌صورت نمایش «علامت-بزرگی» نامیده می‌شود، زیرا بیتی که در سمت چپ قرار دارد علامت عدد را نشان می‌دهد و باقی ارقام بزرگی این عدد را نشان می‌دهند.

نمادگذاری «علامت-بزرگی» ساده‌ترین و یکی از رایج‌ترین روش‌های نمایش اعداد مثبت و منفی در دو طرف صفر است. بنابراین برای اعداد منفی، به سادگی با تغییر علامت، عدد مثبت متناظر به دست می‌آیند. بدین ترتیب هر عدد مثبت یک عدد متناظر با علامت منفی برای خود دارد برای مثال 2+ و 2+، 10+ و 10- و غیره.

اما وقتی تنها یک تعداد صفر و یک داریم، چگونه می‌توانیم اعداد باینری علامت‌دار را نمایش بدهیم. می‌دانیم که ارقام باینری تنها دو حالت دارند یعنی 1 یا 0 هستند. از طرف دیگر یک علامت هم دو حالت دارد، یعنی «+» یا «-» است.

در این صورت می‌بینیم که در نمادگذاری «علامت-بزرگی» (SM)، مقادیر مثبت و منفی با تقسیم کردن n بیت به دو قسمت تقسیم می‌شوند: یک بیت برای علامت و n-1 بیت برای مقدار که یک عدد باینری خالص است. برای مثال عدد ۵۳ را می‌توان به‌صورت یک عدد باینری علامت‌دار ۸ بیتی همانند زیر نمایش داد.

اعداد باینری علامت‌دار مثبت

اعداد باینری علامت‌دار منفی

مشکل این نحوه نمایش این است که ما قبلاً یک محدوده کامل از اعداد باینری بدون علامت n بیتی داشتیم، اما اینک یک عدد باینری علامت‌دار n-1 بیتی داریم که محدوده ارقام آن کاهش یافته است.

-2(n-1)    +2(n-1)

بنابراین برای مثال اگر چهار بیت برای نمایش یک عدد باینری علامت‌دار داشته باشیم (یک بیت برای علامت و 3 بیت برای نشان دادن بزرگی عدد) در این محدوده، اعداد واقعی که می‌توانیم در روش «علامت-بزرگی» نشان دهیم به‌صورت زیر خواهد بود:

-2(4-1)-1   →   +2(4-1)-1

-2(3)-1    →   +2(3)-1

7+   →    7-

در حالی که قبلاً محدوده اعداد باینری ۴ بیتی بدون علامت از ۰ تا ۱۵ یا در نمایش مبنای ۱۶ (هگزادسیمال) از 0 تا F بودند، اما در این‌ روش، نمایش به محدوده اعداد 7- تا 7+ کاهش یافته است. بنابراین عدد باینری بدون علامت، بیت منفرد علامت را ندارد و می‌تواند محدوده باینری بزرگ‌تری داشته باشد، چون معنی‌دارترین بیت (MSB، یعنی بیت سمت چپ) تنها نشان دهنده یک رقم است و به عنوان بیت علامت استفاده نمی‌شود.

0 مثبت است یا منفی؟

عیب دیگر نحوه نمایش «علامت-بزرگی» اعداد باینری این است که می‌توان هم یک نمایش مثبت برای عدد صفر داشت (0+) یا 00002 و هم یک صفر منفی، 0- یا 10002 که هر دو معتبر هستند ولی هیچ کدام صحیح نیستند.

در مثال زیر برای اعداد باینری علامت‌دار، مقادیر ده‌دهی را با استفاده از فرمت «علامت-بزرگی» به اعداد باینری علامت‌دار تبدیل می کنیم.

توجه داشته باشید که در همه اعداد باینری 4 بیت، 6 بیت، 8 بیت، 16 بیت یا 32 بیت، همه بیت‌ها باید مقداری داشته باشند، از این‌رو از 0 برای پر کردن فاصله بین بیت علامت که در سمت چپ قرار می‌گیرد و نخستین بیت با بالاترین مقدار 1 استفاده می‌شود.

نمایش «علامت-بزرگی» یک عدد باینری، روش ساده‌ای برای استفاده و درک اعداد باینری علامت‌دار است، چون ما از این سیستم به طور روزمره برای اعداد معمولی ده‌دهی (بر مبنای 10) در محاسبات ریاضی استفاده می‌کنیم. کافی است وقتی عدد باینری منفی است، یک (1) و وقتی مثبت است یک (0) به ابتدای آن اضافه کنیم.

با این حال استفاده از این روش «علامت-بزرگی» ممکن است به این حالت منتهی شود که دو الگوی بیتی مختلف، مقدار باینری یکسانی داشته باشند. برای مثال 0+ و 0- به ترتیب به‌صورت 0000 و 1000 به عنوان یک عدد باینری 4 بیتی نمایش می‌یابند. بنابراین می‌بینیم که در این روش برای عدد صفر ممکن است دو نمایش داشته باشیم، یعنی یک صفر مثبت (00002) و صفر منفی (10002) که موجب پیچیدگی‌های زیادی در سیستم‌های محاسباتی و دیجیتالی می‌شود.

«مکمل 1» یک عدد باینری علامت‌دار

مکمل یک (یا آن طور که غالباً استفاده می‌شود «مکمل 1») روش دیگری برای نمایش اعداد باینری منفی در یک سیستم اعداد باینری علامت‌دار است. در روش «مکمل 1» اعداد مثبت (به نام غیر مکمل نامیده می‌شوند) همانند روش قبلی بزرگی-علامت بدون تغییر باقی می‌مانند. اما اعداد منفی با انتخاب «مکمل 1» (معکوس سازی) عدد باینری مثبت ایجاد می‌شوند. از آنجا که اعداد مثبت همیشه با 0 آغازمی شوند، عدد مکمل همیشه با 1 آغاز می‌شود که نشان‌دهنده یک عدد منفی است.

«مکمل 1» یک عدد باینری منفی، معادل «مکمل 1» همتای مثبت آن است. بنابراین برای داشتن «مکمل 1» برای یک عدد باینری کافی است به ترتیب هر بیت را که 0 است به 1 و هر بیت را که 1 است به 0 تغییر دهیم. بدین ترتیب «مکمل 1» عدد 100101002 به‌سادگی عدد 011010112 است چون همه ارقام 1 به 0 تبدیل شده‌اند و برعکس.

آسان‌ترین روش برای یافتن «مکمل 1» یک عدد باینری علامت‌دار، در زمان ساخت مدارهای محاسبات باینری یا دیکودر منطقی، استفاده از اینورترها است. اینورتر یک تولیدکننده مکمل طبیعی است و می‌تواند به‌موازات اجزای دیگر برای محاسبه «مکمل 1» هر عدد باینری به‌صورت زیر مورد استفاده قرار گیرد.

«مکمل 1» با استفاده از اینورتر

در این صورت می‌بینیم که یافتن «مکمل 1» یک عدد باینری N آسان است، چون کافی است صرفاً بیت‌های 1 را 0 کنیم و بیت‌های 0 را به 1 تبدیل کنیم تا به عدد معادل N- برسیم. همچنین همانند روش نمایش قبلی «بزرگی-علامت» روش «مکمل 1» نیز می‌تواند یک نمادگذاری بیتی برای نمایش اعداد به‌صورت (n-1)2- و 1-(n-1)2+ داشته باشد. برای مثال یک نمایش 4 بیتی در قالب «مکمل 1» را می‌توان برای نمایش اعداد در محدوده‌ای از 8- تا 7+ داشت که همانند روش قبل دو نمایش برای صفر، به‌ صورت 0000 (0+) و 1111 (0-) خواهیم داشت.

جمع و تفریق با استفاده از «مکمل 1»

یکی از مزایای روش «مکمل 1»، در زمان جمع و تفریق دو عدد باینری قابل مشاهده است. در ریاضیات، تفریق می‌تواند به روش‌های مختلفی انجام گیرد. مثلاً A-B همان A+(-B) یا B+A- است. از این‌رو پیچیدگی تفریق دو عدد را با تبدیل کردن آن به جمع دو عدد می‌توان از میان برداشت.

می‌دانیم که هنگام جمع باینری از همان قواعد جمع معمولی استفاده می‌کنیم، به‌جز این‌که در حالت باینری تنها دو بیت (رقم) وجود دارند و بزرگ‌ترین رقم، «1» است (مانند «9» که بزرگ‌ترین رقم در سیستم ده‌دهی است) و از این‌رو ترکیب احتمالی جمع باینری به‌صورت زیر است:

وقتی هر دو عددی که می‌خواهیم جمع کنیم مثبت باشند (مجموع A+B) می‌توان آن‌ها را با استفاده از جمع مستقیم (شامل عدد و بیت علامت) به هم اضافه کرد. چون وقتی بیت‌های منفرد به هم اضافه می‌شوند «0+0»، «0+1» یا «1+0» نتیجه جمع یا «0» است و یا «1». این امر به این دلیل است که وقتی دو بیت متفاوت به هم اضافه شوند (0+1 یا 1+0) نتیجه 1 خواهد بود. به طور مشابه وقتی دو بیت که به هم اضافه می‌شوند، مشابه باشند (0+0 یا 1+1) نتیجه 0 خواهد بود. تا این‌که به جمع 1+1 برسیم که نتیجه یک 0 و یک 1 اضافی خواهد بود. در ادامه در این مورد بیشتر توضیح داده‌ایم.

تفریق دو عدد باینری

در یک سیستم دیجیتال 8 بیتی می‌خواهیم دو عدد 115 و 27 را با استفاده از روش «مکمل 1» از هم کم کنیم. در سیستم ده‌دهی این تفریق به‌صورت زیر است: 88 = 27-115.

ابتدا باید اعداد ده‌دهی را به سیستم باینری تبدیل کنیم و با افزودن 0 به اول اعداد مطمئن شویم که هر عدد بیت‌های یکسانی دارد و آن‌ها را به اعداد 8 بیتی (بایت) تبدیل کنیم. بنابراین:

011100112 باینری = 11510

000110112 باینری = 2710

اینک می‌توانیم مکمل عدد باینری دوم (00011011) را بیابیم، در حالی که عدد اول (01110011) را بدون تغییر حفظ می‌کنیم. بنابراین با تغییر دادن همه 1 ها به 0 و همه 0 ها به 1، «مکمل 1» عدد باینری 00011011 برابر با 11100100 خواهد بود.

افزودن عدد اول به مکمل عدد دوم به‌صورت زیر خواهد بود:

بیت overflow

از آنجایی که سیستم دیجیتال باید با 8 بیت کار کند، تنها 8 رقم نخست برای ارائه پاسخ مجموع کافی خواهد بود و بیت آخر (بیت 9) را نادیده می‌گیریم. این بیت به نام بیت اورفلو (overflow) نامیده می‌شود. اورفلو زمانی رخ می‌دهد که مجموع ستون سمت چپ یک رقم اضافی تولید کند. این بیت اضافی اورفلو را می‌توان به طور کامل نادیده گرفت یا برای محاسبات به قطعه دیجیتال بعدی ارسال کرد. اورفلو نشان می‌دهد که پاسخ مثبت است. اگر اورفلو وجود نداشته باشد در این صورت عدد منفی است.

نتیجه 8 بیت حاصل از محاسبات فوق عدد 01010111 است (اورفلو 1 حذف شد) و برای این‌که آن را از حالت «مکمل 1» به یک عدد واقعی تبدیل کنیم باید عدد 1 را به نتیجه «مکمل 1» اضافه کنیم. بنابراین:

بنابراین تفریق 27 (000110112) از 115 (011100112) با استفاده از روش «مکمل 1» در سیستم باینری نتیجه‌ای برابر با 01011000یا (64 + 16 + 8) = 8810 در سیستم ده‌دهی خواهد داد.

در این صورت می‌بینیم که اعداد باینری علامت‌دار یا بی علامت را می‌توان با استفاده از روش «مکمل 1» و فرایند جمع زدن، از هم کسر کرد. می‌توان از آدرس باینری مانند TTL 74LS83 یا 74LS283 برای افزودن یا کم کردن دو عدد علامت‌دار 4 بیتی یا الحاق به هم برای تولید آدرس 8 بیتی کامل استفاده کرد.

«مکمل دو» یک عدد باینری علامت‌دار

مکمل دو (یا آن طور که معمولاً نوشته می‌شود: «مکمل 2») روش دیگری مشابه روش «بزرگی-علامت» و روش «مکمل 1» است که می‌توان برای نمایش اعداد باینری منفی در سیستم اعداد باینری علامت‌دار مورد استفاده قرار داد. در روش «مکمل 2» اعداد مثبت دقیقاً همانند روش قبل، مثل اعداد باینری بی علامت هستند. اما اعداد منفی به‌صورت یک عدد باینری نمایش می‌یابند که وقتی به معادل مثبت خود اضافه شوند، نتیجه 0 خواهد بود.

در روش «مکمل 2»، یک عدد منفی، «مکمل 2» عدد مثبت متناظر خود است و کسر کردن دو عدد از هم به‌صورت («مکمل 2» B)+ A–B = A با فرایندی مشابه روش قبل خواهد بود. «مکمل 2» همان «مکمل 1» + 1 است.

مزیت اصلی روش «مکمل 2» نسبت به «مکمل 1» این است که مشکل وجود 0 مضاعف وجود ندارد و تولید یک «مکمل 2» از عدد باینری بسیار آسان‌تر است. بنابراین اجرای عملیات‌های محاسباتی زمانی که اعداد به روش «مکمل 2» نمایش می‌یابند، راحت‌تر است.

مزیت روش «مکمل 2»

به تفریق دو عدد 8 بیتی 115 و 27 مثال فوق با استفاده از روش «مکمل 2» توجه کنید. از مثال فوق به خاطر داریم که معادل‌های باینری به‌صورت زیر هستند:

011100112 باینری = 11510

000110112 باینری = 2710

این اعداد 8 بیتی هستند و بنابراین 28 رقم برای نمایش مقادیر وجود دارند که در باینری معادل عدد 1000000002 یا 25610 است. در این صورت «مکمل 2» عدد 2710 به‌صورت زیر است:

(28)2-00011011 = 100000000 – 00011011 = 111001012

ساختن مکمل عدد دوم آن را منفی می‌کند و بنابراین تفریق آن از عدد اول بسیار ساده‌تر می‌شود و کافی است آن‌ها را با هم جمع کنیم یعنی 115 + («مکمل 2» عدد دوم) به‌صورت زیر:

01110011 + 11100101 = 1 010110002

همانند مثال قبل بیت 9 اضافی حذف می‌شود چون ما فقط به 8 بیت اول نیاز داریم بنابراین همانند مثال قبل به عدد زیر می‌رسیم: 010110002 یا (64 + 16 + 8) = 8810

خلاصه اعداد باینری علامت‌دار

دیدیم که اعداد باینری منفی را می‌توان با استفاده از بیت منتهی‌الیه سمت چپ به عنوان بیت علامت نمایش داد. اگر یک عدد باینری n بیتی علامت‌دار باشد، در این صورت با اختصاص اولین بیت به علامت عدد، n-1 بیت برای نمایش عدد باقی می‌ماند.

برای مثال در یک عدد باینری 4 بیتی تنها 3 بیت برای نمایش عدد وجود دارد. با این حال اگر عدد باینری بی علامت باشد، می‌توان از همه بیت‌ها برای نمایش عدد استفاده کرد.

نمایش عدد باینری علامت‌دار به طور معمول به‌صورت نمادگذاری «علامت-بزرگی» نامیده می‌شود و اگر بیت علامت 0 باشد عدد مثبت است. در صورتی که بیت علامت برابر با 1 باشد، عدد منفی است. زمانی که عملیات‌های محاسباتی بر روی اعداد باینری علامت‌دار انجام می‌دهیم، بسیار راحت‌تر است که از مکمل اعداد برای اعداد منفی استفاده کنیم. ایجاد مکمل یک روش جایگزین برای نمایش اعداد باینری منفی است. این سیستم کدینگ جایگزین، امکان تفریق اعداد با استفاده از عملیات جمع ساده را فراهم می‌کند.

از آنجا که اعداد مثبت در سیستم «علامت-بزرگی» همواره با 0 شروع می‌شوند مکمل آن‌ها نیز همواره با 1 آغاز می‌شود که نشان دهنده عدد منفی است. در جدول زیر این مطالب به طور خلاصه مورد اشاره قرار گرفته است.

مقایسه عدد باینری علامت‌دار 4 بیتی

روش‌های مکمل علامتی برای اعداد باینری به‌صورت «مکمل 1» یا «مکمل 2» هستند. «مکمل 1» و «مکمل 2» برای یک عدد باینری، مهم هستند، زیرا امکان نمایش اعداد منفی را ایجاد می‌کنند. روش «مکمل 2» در محاسبات رایانه‌ای به طور معمول برای مدیریت اعداد منفی مورد استفاده قرار می‌گیرد و تنها عیبی که دارد این است که اگر بخواهیم اعداد باینری منفی را در سیستم اعداد باینری علامت‌دار نمایش بدهیم، باید بخشی از محدوده اعداد مثبتی که قبلاً داشتیم را از دست بدهیم.

توضیحات کامل درمورد وبلاگ

نکات خواندنی و مفید راجب وبلاگ – توضیح کامل وبلاگ

 
نکات خواندنی و مفید راجب وبلاگ - توضیح کامل وبلاگ

نکات خواندنی و مفید راجب وبلاگ – توضیح کامل وبلاگ

وبلاگ چيست ؟  
در بخش اول اين مقاله با وبلاگ و برخی ويژگی های مهم آن آشنا شديم . در بخش دوم به بررسی کاربردوبلاگ ها ، نقش فن آوری های اطلاعات و ارتباطات در توسعه وبلاگ ها  ، خواهيم پرداخت .

نکات خواندنی و مفید راجب وبلاگ - توضیح کامل وبلاگ

کاربرد وبلاگ ها
وبلاگ ها دارای مزايا و دستاوردهای متعددی می باشند که به برخی از آنان اشاره می گردد :
ميزان توليد و نشر اطلاعات در سطح جهان به سرعت در حال پيشرفت بوده  و روندی کاملا” تصاعدی را طی می نمايد . بديهی است در چنين وضعيتی ، حتی امکان مطالعه بخش اندکی از آنان نيز وجود نداشته و ما مستلزم استفاده از روش ها و مکانيزمهائی به منظور فيلترينگ اطلاعات و يافتن اطلاعات مورد نظر در يک رابطه خاص بدون از دست دادن منبع ارزشمند و محدود زمان می باشيم  . وبلاگ ها با تمرکز بر روی يک موضوع خاص می توانند بستری مناسب برای ارائه اطلاعات را فراهم نمايند . با مطالعه و خواندن مطالب منتشر شده بر روی يک وبلاگ که توسط فردی با علايق مشترک با شما تهيه و منشتر شده است ، احتمال يافتن مطالب مورد نظر در زمانی معقول فراهم می گردد. با ترکيب و جمع بندی مطالب منتشر شده در ارتباط با يک موضوع خاص از  چندين وبلاگ انتخابی، می توان به مجموعه ای از اطلاعات مورد علاقه، دست يافت . با توجه به اينکه وبلاگ ها خلاصه ای از ساير موضوعات مربوط به ديگران را نيز ارائه می نمايند ، آنان يک ديد اطلاعاتی مناسب  در ارتباط با يک موضوع را به مخاطب خود منتقل می نمايند. مطالب و موضوعاتی که در چندين وبلاگ مورد توجه قرار می گيرد به خواننده امکان آگاهی از  نقطه نظرات چندين وبلاگ نويس  را در ارتباط با يک موضوع خاص ، خواهد داد . بدين ترتيب خواننده  قبل از مطالعه تمام مطلب ، ديد مناسبی نسبت به آن را پيدا نمايد . به  فرآيند فوق ، triangulation  گفته می شود .

محتويات وبلاگ  به منزله يک بايگانی از افکار و انديشه های وبلاگ نويسان آن بوده که در مقاطع زمانی متفاوتی نوشته شده و  در صورت نياز به اطلاعاتی خاص می توان با استفاده از مراکز جستجو  و بر اساس يک کليد واژه خاص  به آنان مراجعه نمود. وجود لينک ها ی متعدد مرتبط با يک موضوع خاص که توسط مولف يکوبلاگ مشخص می گردد ، امکان دنبال نمودن وضعيت موجود در رابطه با يک موضوع خاص را در اختيآر علاقه مندان قرار می دهد .

ارتباط دو سويه : همانگونه که در بخش قبل  اشاره گرديد ، وبلاگ ها به محيط و يا رسانه محاوره ای برای مباحث عمومی و تخصصی  تبديل و امکان تعامل اطلاعاتی بين وبلاگ نويسان و خوانندگان از يکطرف و خوانندگان با خوانندگان از طرف ديگر فراهم می گردد . ويژگی فوق از ماهيت دوطرفه بودن وب به نحو احسن استفاده و آن را در جهت اهداف خود بکار می گيرد.

  جامعه شبکه ای : پديده وبلاگ نويسی فرصت ها و پتانسيل های  مناسبی را در جامعه شبکه ای ، ايجاد می نمايد. نويسندگان وبلاگ ها به مرور زمان توسط خوانندگان خود شناخته خواهند شد. بدين ترتيب آنان در معرض فرصت هائی قرار خواهند گرفت که شايد هرگز تصور آن را نمی کردند. در جامعه شبکه ای هر شخص می تواند دارای سهمی در توليد و ارائه اطلاعات داشته باشد و خود نيز می تواند از دستاوردهای اطلاعاتی ديگران استفاده نمايد. شبکه فوق نظير شبکه های نظير به نظير بوده که يک کامپيوتر می تواند در يک لحظه از منابع موجود بر روی ساير کامپيوترها استفاده نمايد و هم می تواند منابع مورد نظر بر روی سيستم خود را جهت استفاده در اختيار ساير کامپيوترها قرار دهد . جامعه شبکه ای دارای ايستگاههائی ( انسان ) است که در آن هر يک سهمی در توليد و ارائه اطلاعات  و استفاده از اطلاعات ديگران را بر عهده خواهند داشت .

روتينگ اطلاعات : وبلاگ ها دارای تاثيری مثبت در خصوص چرخش آزادنه اطلاعات در يک جامعه اطلاعاتی می باشند . خواننده و نويسنده يک وبلاگ اغلب به يک جامعه و يا سازمان يکسان تعلق نداشته و برای ارتباط بين آنان مرز خاصی وجود نخواهد داشت . بدين ترتيب ما شاهد تقابل افکار ، انديشه ها در يک مقياس گسترده و جهانی بوده که زمنيه يک جامعه اطلاعاتی را ايجاد می نمايد . ايجاد چنين روابطی در دنيای خارج ازوبلاگ امری مشکل و گاها” غير ممکن است .

فن آوری و  وبلاگ 
فن آوری ها و مهارت های لازم در خصوص وبلاگ ها  به سرعت در حال تغيير و تحول می باشد.علت اين همه سرعت را می توان در عوامل زير جستجو نمود :

عدم وجود انحصار  :عمليات يک وبلاگ به يک نرم افزار خاص و انحصاری و يا امکاناتی که صرفا” در اختيار يک سازمان خاص است ، وابسته نمی باشد. وبلاگ نويسان در حوزه عملکرد وبلاگ خود دارای آزادی عمل مناسبی می باشند و در هر زمان می توانند شکل ظاهری ، لی اوت و يا محتويات  آن را تغيير داده و يا ويژگی های جديدی را بدون کسب اجازه يک مقام خاص به آن اضافه نمايند. .وبلاگ ها بستر لازم برای خلاقيت انسان را در تمامی زمنيه ها  ارائه نموده  و هر يک از ساکنين اين کره خاکی قادر به شکوفائی خلاقيت خود و آفرينش محصولات متفاوت اطلاعاتی ، خواهند بود.

    تعداد و تنوع گسترده کاربران :  تمامی افرادی که  در يک جامعه مدرن اطلاعاتی زندگی می کنند ، تمايل به انتشار تجارب خود ، استفاده از تجارب ديگران ، دريافت بازخورد سريع  نسبت به موارد منتشر شده ، ارزيابی نتايج و بهبود دانش و تجارب خود  را دارند( فردايمان بهتر از امروز و امروزمان بهتر از ديروز ) .وبلاگ ها يک شبکه ارتباطی قدرتمند را ايجاد نموده و پس از طرح يک ايده و يا موضوع جديد در وبلاگ ، شاهد حرکت  سريع آن در شبکه ارتباطی  خواهيم بود. بدين تريتب درصورت ارائه يک مطلب ارزشمند و صحيح ، امکان استفاده از آن در سريعترين زمان ممکن برای ديگران فراهم شده و در صورتی که مطلب منتشر شده نادرست باشد ، نويسنده آن با دريافت سريع بازخوردهای مورد نظر و بررسی آنان ، می تواند اشتباه خود را در اسرع وقت تصحيح نمايد.

     ارتباط شغلی وبلاگ نويسان : تعداد زيادی از وبلاگنويسان خود پياده کنندگان نرم افزار می باشند . در چينين مواردی آنان به عنوان وبلاگ نويس قادر به تشريح ويژگی های جديد يک محصول با کيفيتی مطلوبتر و با استفاده از فن آورهای متعدد خواهند بود .

چه تعداد بلاگ وجود دارد ؟
Blogcount.com  ، از جمله مراکزی است که اطلاعات مناسب و دقيقی در رابطه با وبلاگ ها در سراسر جهان را جمع آوری و گزارشات متعددی را در اين خصوص ارائه می نمايد.  در ژوئن سال 2003 ، تعداد وبلاگ ها بين  4 / 2 تا 9 / 2 ميليون ، برآورد شده است . در صورتی که ظرفيت هر وبلاگ را معادل پنجاه  کيلو بايت در نظر بگيريم ، blogosphere ظرفيتی معادل 81 گيگابايت را خواهد داشت .

وبلاگ ها متعلق به چه افرادی هستند ؟
بر اساس بررسی انجام شده توسط موسسه تحقيقاتی Jupiter ، تقريبا” دو درصد کاربران اينترنت دارای بلاگ می باشند. اکثريب قريب به اتفاق افرادی که دارای وبلاگ می باشند به صورت Dial-up به اينترنت دستيابی نموده و بيش از نيمی از آنان دارای درآمدی پائين تر از شصت هزار دلار در سال! می باشند.هفتاد درصد بلاگ ها متعلق به افرادی است که بيش از پنج سال است که از اينترنت استفاده می نمايند . ( منبع Blogging by the number ) . بيش از پنجاه درصدوبلاگ هائی که توسط موسسه بين المللی تکنولوژی و علوم انسانی ، پيمايش شده است نشاندهنده اين واقعيت است که آنان به زبان انگليسی نوشته شده و ده زبان برتری که وبلاگ ها با آنان نوشته شده اند به ترتيب : پرتقالی  ، لهستانی  ،  فارسی  ، فرانسوی ،اسپانيائی ، آلمانی ، ايتاليائی ، هلندی  و ايسلندی می باشند .

چه کسانی وبلاگ ها را مطالعه می نمايند ؟
موسسه تحقيقاتی Jupiter در بررسی خود اعلام نموده است که صرفا” چهار درصد از کاربران اينترنت ، اقدام به مطالعه و خواندن وبلاگ ها می نمايند . وبلاگ ها ، عموما” توسط مردان خوانده می شوند ( شصت درصد مردان و چهل درصد زنان ) . کاربران خانگی اينترنت که مجموع درآمد آنان بيش از شصت هزار دلار در سال می باشد ، شصت و يک درصد از خوانند گانوبلاگ ها را تشکيل می دهند . بيش از پنجاه و چهار درصد از گزينه Dial-up و چهل و شش درصد از گزينه Broadband برای دستيابی به اينترنت استفاده می نمايند . هفتاد و سه درصد از خوانند گان وبلاگ ها بيش از پنج سال است که از اينترنت استفاده می نمايند( منبع : Blogging by the Numbers )

نکاتی جالب در رابطه با وبلاگ ها

بيش از ده هزار Domain ثبت شده در ريجستری whois دارای واژه “blog” می باشد .

بلاگ ها  بطور متوسط  در هر سه روز يک مرتبه بهنگام می گردند . ( بر اساس مطالعه غيررسمی ارائه شده توسط BlogCount )

بر اساس بررسی موسسه تحقيقاتی Nielsen/NetRatings ، در ماه می سال 2003 ، LiveJournal ، شصت و پنجاهمين رتبه را در بين سايت های متداول بر روی اينترنت به خود اختصاص داده بود . ( هر ده روز يکصد د و هشتاد و چهار هزار  بازديد کننده )

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

آشنایی زبان سی پلاس پلاس++c

در این مقاله سعی شده است مختصر توضیحی درباره ی ساختارهای زبان سی پلاس پلاس (++C) برای آشنایی با این زبان برنامه نویسی داده شود و با استفاده از چند مثال کاربردی اثر مطلوبی در یادگیری داشته باشد.

برای مشاهده مقاله آشنایی با زبان سی پلاس پلاس – C++ به ادامه ی مطلب مراجعه کنید.

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

هدف ما در مقاله آشنایی با زبان سی پلاس پلاس – C++ بیان چگونگی کارکرد و طرح چند مثال کاربردی از اطلاعات ذکر شده است.در ابتدا تاریخچه ای از این زبان ارائه میدهیم. برای این منظور ابتدا باید به تاریخچه ی زبان c که اساس زبان c++ است اشاره کنیم.

برای بررسی تاریخچه زبان C باید به سال 1967 بازگردیم که مارتین ریچاردز زبان BCPL را برای نوشتن نرم افزارهای سیستم عامل و کامپایلر در دانشگاه کمبریج ابداع کرد. سپس در سال 1970 کن تامپسون زبان B را بر مبنای ویژگیهای زبان BCPL نوشت و از آن برای ایجاد اولین نسخه های سیستم عامل Unix در آزمایشگاههای بل استفاده کرد. زبان C در سال 1972 توسط دنیس ریچی از روی زبان B و BCPL در آزمایشگاه بل ساخته شد و ویژگیهای جدیدی همچون نظارت بر نوع داده ها نیز به آن اضافه شد. ریچی از این زبان برای ایجاد سیستم عامل Unix استفاده کرد اما بعدها اکثر سیستم عاملهای دیگر نیز با همین زبان نوشته شدند. این زبان با سرعت بسیاری گسترش یافت و چاپ کتاب “The C Programming Language” در سال 1978 توسط کرنیگان و ریچی باعث رشد روزافزون این زبان در جهان شد.

در سال های بعد با ظهور پدیده ی شیئ گرایی زبان ++C توسط بی‌یارنه استراس‌تروپ دانمارکی در سال ۱۹۷۹ در آزمایشگاه های بل (Bell Labs) و بر مبنای زبان C ساخته شد و آن را “C با کلاس” نام‌گزاری نمودند. در سال ۱۹۸۳ به ++c تغییر نام داد. توسعه این زبان با اضافه نمودن کلاس‌ها و ویژگی‌های دیگری مانند توابع مجازی، سربارگزاری عملگرها، وراثت چندگانه، قالب توابع، و پردازش استثنا انجام شد.

برای بدست آوردن اطلاعات بیشتر درباره تاریخچه و آشنایی با زبان سی پلاس پلاس – C++ می توانید به اینجا، اینجا و اینجا سری بزنید.

ساختار های تصمیم
همان طور که از اسم این دستور ها برداشت میشود،این ساختار ها زمانی میتوانند مورد استفاده قرار بگیرند که در برنامه ی مورد نطر،با برقراری یک سری شرایط،گروهی از دستور ها انجام شوند و در صورت عدم برقراری این شرایط،یک سری از کار های دیگر انجام شوند. از ساختار های تصمیم پرکاربرد در زبان c++ میتوان به ساختار های if و switch اشاره کرد.

ساختار تکرار
ساختار های تکرار زمانی مورد استفاده قرار میگیرند که در الگوریتم مقصود،نیاز به انجام تکراری یک سری از دستورات باشد،لذا این ساختار ها را میتوان برای جلوگیری از افزایش حجم برنامه و آسان شدن فرایند کد نویسی استفاده کرد.به عنوان مثال میتوان به ساختار های : for ،while،do while اشاره کرد.در این نوع ساختار ها تا زمانی که یک سرس شرایطی که برنامه نویس تعیین میکند،برقرار باشد؛فرآیندی از دستور ها انجام میشوند و در پایان یک دوره ی تناوب،برنامه دوباره شرط مذکور را بررسی کرده و در صورت درستی آن،دوباره دستورات را انجام میدهد و به محض آن که شرط مورد نظر برقرار نشود،کنترل برنامه از حلقه ی تکرار خارج میشود.

به عنوان مثالی برای این ساختار ها میتوان به برنامه ی زیر اشاره کرد:

برنامه ای که نمره تعدادی دانشجو و تعداد آن ها را گرفته و 2 نمره ی بیشترین و مجموع نمرات را محاسبه کند.

#include
#include

void main(){
int n,sum=0,number,max1=0,max2=0;
cout<<”please enter the number of the students:”<cin>>n;

for(int i=0;icout<<”please enter the number:”<cin>>number;
sum+=number;

if(number>max1){
max2=max1;
max1=number;}
else if(number>max2)
max2=number;}

cout<<”the first maximum one is: “<cout<<”the sum of the numbers is :”<

getch();}

همان طور که میبینید ابتدا تعداد دانشجویان از کاربر پرسیده میشود و سپس دو مقدار max را به دلخواه مقدار دهی میکنیم.حال با استفاده از یک حلقه ی تکرار for مراحل زیر را انجام میدهیم.همان طور که میبینید اندیس حلقه <> با مقدار اولیه ی صفر در نظر گرفته شده است و در هر بار انجام شدن این حلقه،یک واحد به این مقدار i اضافه میشود و شرط که همان (i

در هر بار اجرای حلقه،یک از عدد از کاربر گرفته شده،ابتدا آن عدد را با مقدار قبلی sum جمع کرده و در متغیر sum میریزد.سپس با استفاده از ساختار انتخاب if بررسی میشود که اگر آن عدد از مقدار max1 بیشتر باشد،ابتدا مقدار max1 را در متغیرmax2 میریزد و مقدار max1 را برابر number مه همان عدد ورودی است میکند.و برنامه به ابتدای حلقه باز میگردد؛حال اگر این شرط درست نباشد،سراغ شرط بعدی میرود.اگر عدد از مقدار max2 بزرگتر باشد،این مقدار را در متغیر max2 میریزد. و برنامه به ابتداش حلقه بر میگردد.حال امکان دارد که هیچ کدام از این شرایط برقرار نباشند،در این صورت برنامه باز هم به ابتدای حلقه بر میگردد.این دستورات تا زمانی انجام میشوند که در نهایت مقدار i=n شود،در این صورت کنترل برنامه از حلقه ی تکرار خارج شده و طبق دستورات،مقادیر max1 و max2 و sum نمایش داده میشوند.

در مبحث بعدی اشاره ای به توابع خواهیم کرد.

توضیح کامل درمورد#c

 یک زبان برنامه نویسی شی گرا است که توسط مایکروسافت ایجاد شده است. احتمالا همین جمله هم نیاز به توضیح دارد! با من در لیداوب همراه باشید.

مایکروسافت C# را ادغامی از قدرت C++ و سادگی Visual Basic معرفی می‌کند. اما به نظر من، در حال حاضر سادگی C# به مراتب خیلی بیشتر از Visual Basic است.

در اواخر دهه ۱۹۹۰ که مایکروسافت و شرکت Sun Microsystems – مالک Java – در دنیای نرم افزار رقابت سرسختانه‌ای داشتند، مایکروسافت تصمیم گرفت یک زبان برنامه نویسی جدید توسعه دهد. شاید حتی برای خارجی‌ها هم عدو شود سبب خیر اگر خدا خواهد. در ابتدا C# از لحاظ ساختاری خیلی به Java و بیشتر از آن به C++نزدیک بود اما رفته رفته و با توسعه این زبان برنامه نویسی جدید، تفاوت‌ها بیشتر و بیشتر شدند.

خانواده C، خانواده زبان‌های برنامه نویسی

C# چیست؟ زبان‌های خانواده C

در دنیای زبان‌های برنامه نویسی، اصطلاحی وجود دارد به نام زبان‌های خانواده C؛ دلیل این نام‌گذاری، شباهت ظاهری (Syntax) زبان‌های عضو این خانواده به زبان C است. خیلی از زبان‌های برنامه نویسی مشهور این روزها مثل C، C++، Objective-C، PHP، C#، Java و حتی زبان بسیار جدید Swift عضو این خانواده هستند. بنابراین به نظر می‌رسد اگر یکی از این زبان‌ها را بلد باشید، کارتان برای یادگیری دیگری آسان‌تر خواهد بود.

C# زبان برنامه نویسی قدیمی است؟

C# چیست؟ آیا C# قدیمی است؟

در زمانه‌ای که همه چیز با یک ساعت پیش از خود متفاوت است، حالا که می‌دانیم C# در واقع پیش از شروع قرن ۲۱ ساخته شده است، آیا می‌توانیم نتیجه بگیریم که C# پیر شده و بهتر است سراغ یک زبان تازه نفس‌تر مثل Swift برویم؟ قطعا خیر، C# تا به امروز بارها به روز شده است. نسخه ۷,۱ زبان C# به تازگی منتشر شده است. از نظر من C# یک جوان ۳۰ ساله است که به اندازه کافی جوان و به اندازه کافی با تجربه است. 

شی گرایی به چه معنا است؟

در ابتدای این مقاله، گفتم که C# یک زبان برنامه‌نویسی شی گرا است. برای اینکه توضیح بدهم دقیقا یک زبان شی گرا چیست، ابتدا باید بدانیم در زبان‌های غیر شی‌گرا چه می‌گذرد. زبان‌های غیر شی گرا از دو موجودیت «داده» و «عملیات» تشکیل می‌شوند. یعنی کل یک نرم افزار، مثل نرم اپلیکیشن اندروید، iOS یا هر نرم افزار دیگری که روی کامپیوترهای شخصی اجرا می‌شوند، از چندین عملیات (Function) که یک یا چند داده (Data) می‌گیرد ساخته شده که این function تغییرات لازم را روی آن داده‌ها اعمال می‌کند و داده جدید را به function قبلی بر می‌گرداند.

مثلا فرض کنید که ما دو داده نام و نام خانوادگی داریم:

نام: محمد

نام خانوادگی: اژدری

عملیات مورد نظر ما ساخت نام کامل فرد است:

عملیات: نام + نام‌خانوادگی = محمد اژدری

این یک نمونه ساده از شیوه کار زبان‌های غیر شی‌گرا بود. حالا فرض کنید بخواهیم همین عملیات را در C# که یک زبان شی گرا است پیاده کنیم. ما دیگر با دو داده مجزا طرف نیستیم. یک شی وجود دارد به نام انسان، انسان دارای یک نام کوچک و یک نام خانوادگی است. از پیش برای شی انسان مشخص کرده‌ایم – به وسیله یک function – که چطور نام کامل می‌سازد. مقادیر محمد و اژدری را به شی انسانی که ساخته‌ایم ارسال می‌کنیم، حالا یک انسان داریم که نام کامل دارد.

سخت شد؟ همان غیر شی‌گرا بهتر بود؟ شاید درک زبان‌های شی گرا به نظر کمی سخت‌تر بیاید، اما باید بگویم که ما هر روز در زندگی با اشیا و شی گرایی سر و کار داریم. یک برنامه نویس با کمی دقت و تلاش، وقتی به درک درستی از شی گرایی برسد، پی به قدرت آن خواهد برد.

C# برای من مناسب است؟

C# چیست؟ آیا C# برای من مناسب است؟

اگر به این فکر می‌کنید که برای اولین بار پا به دنیای یک زبان برنامه نویسی بگذارید، C# گزینه مناسبی برای شما است. بگذارید با هم صادق باشیم، واقعا فرقی نمی‌کند که چه زبانی را انتخاب می‌کنید. هر کدام نسبت به دیگری قابلیت‌ها و ضعف‌هایی دارد. مهم‌تر از این تفاوت‌ها، هدف شما از یادگیری برنامه نویسی است. مثلا اگر بخواهید یک اپلیکیشن اندروید یا iOS بسازید، به ترتیب زبان‌های جاوا و Swift گزینه‌های مناسبی هستند. یا اگر به پیاده سازی ظاهر صفحات وبعلاقه دارید می‌توانید با JavaScript شروع کنید. اما C# این امکان را به شما می‌دهد که در پلتفرم‌های مختلف نرم‌افزار مورد نظر خود را توسعه بدهید. من اسمش را زبان برنامه نویسی میانبر می‌گذارم. زبانی که با آن هم می‌توانید اپ اندروید، iOS بنویسید و هم سایت و سرویس‌های سمت سرور را توسعه بدهید. این یعنی C# می‌تواند تقریبا یک چرخه کامل در محصولات نرم‌ افزاری را پشتیبانی کند، دیگر چه می‌خواهید؟

با C# چه نرم‌افزارهایی را می‌توانم توسعه دهم؟

C# چیست؟ و آیا مناسب من است؟

در بخش قبلی کمی توضیح دادم که C# قابلیت این را دارد که یک چرخه کامل از یک محصول نرم‌افزاری را پشتیبانی کند. اپلیکیشن موبایل، معمولا به یک نرم‌افزار در پشت صحنه نیاز دارند. این نرم‌افزار روی وب سرورها – که در واقع کامپیوترهای قدرتمند متصل به شبکه اینترنت هستند – نصب می‌شوند. به این نرم افزار و زبان‌های برنامه نویسی مورد نیاز برای توسعه آن‌ها، اصطلاحا سمتِ سرور (Server side) می‌گوییم. C# یک زبان سمت سرور است.

مایکروسافت با خرید شرکتی به نام Xamarin قدمی بزرگ در مسیر رشد هر چه بیشتر استفاده از C# برداشت. Xamarin امکانی را فراهم کرده است که به سادگی می‌توان به کمک زبان C# برای دستگاه‌های اندرویدی و iOS اپلیکیشن تولید کرد. اگر کسی به شما گفت که هر چه باشد، اپ‌های زامارین مثل اپ‌هایی که با زبان اصلی آن پلتفرم ایجاد شده‌اند نمی‌شود، با خیال راحت به او بگویید که اشتباه می‌کند. اپ‌های تولید شده به کمک C# و زامارین می‌توانند دقیقا همان کارایی و زیبایی اپ‌های به اصطلاح Native برای اندروید یا iOS را داشته باشند.

برای محصولتان نیاز به یک وب‌سایت دارید؟ C# به کمک تکنولوژی ASP.Net این امکان را فراهم می‌کند که وب‌سایتی بسیار قدرتمند و در عین حال زیبا ایجاد کنید.

حتی می‌توان به کمک C# نرم‌افزارهای تحت ویندوز و macOS تولید کرد. راستش در چند نسخه اخیر ویندوز، مخصوصا Windows ۱۰، بخش زیادی از خود این سیستم عامل به وسیله زبان C# نوشته شده است.

.Net چه ارتباطی با C# دارد؟

.Net (دات نِت) یک کتابخانه از صدها امکان است. از امکان ارسال ایمیل گرفته تا ساختن و خواندن یک فایل .Net توسط مایکروسافت تقریبا همزمان با C# به جهان معرفی شد. زبان‌های مختلف – از C#گرفته تا دلفی – امکان بهره گرفتن از کتابخانه .Net را دارند. C#مهمترین و شناخته‌شده‌ترین زبانی است که از .Net استفاده می‌کند.

C# و .net چیست و آیا مناسب من است؟

جمع بندی 

C# یک زبان ساده و قدرتمند است. به کمک C# می‌توان برای پلتفرم‌های مختلف، از موبایل گرفته تا سرور‌ها، کد نوشت. C# شرکت مایکروسافت را پشت سر خود دارد، که این یعنی قرار نیست به این زودی از رده خارج شود. تعداد زیادی برنامه‌نویس در سراسر جهان با C#کد می‌نویسند. همین موضوع باعث می‌شود تقریبا اکثر اوقات به سادگی راه حل مشکلات خود را در اینترنت پیدا کنید، چون احتمالا حداقل یک نفر پیش از شما با آن مشکل روبرو شده است.

زبان C#، برای کسی که می‌خواهد تازه به دنیای نرم‌افزار وارد شود بسیار مناسب است. شما به دنبال یادگیری یک زبان برنامه‌نویسی هستید؟ آیا در مورد انتخاب C# دو دل هستید؟ در بخش کامنت‌های همین مقالهلیداوب با من سوالاتتان را مطرح کنید.

توضیحات کامل درموردکامپیوتر وسیستم

ادامه نوشته