بهترین زبان ها برای شروع برنامه نویسی

بهترین زبان ها برای شروع برنامه نویسی1.زبان ++C و Cزبان برنامه‌نویسی سي C چيست؟زبان برنامه‌نویسی سی (C programming language) به سخت افزار یا سیستم عامل خاصی وابسته نیست . این زبان خصوصیات و اجزا زبان های برنامه نویسی پیشرفته را همراه با کارآیی بالای زبان اسمبلی در بردارد و گاهی آن را یک زبان نیمه پیشرفته می دانند .سي C به گونه ای است که تطبیق نرم افزار از یک نوع کامپیوتر به نوع دیگر را آسان می کند. امروزه برنامه ریزی ریزکنترل ها و انواع سی‌پی‌یوها و همچنین تولید سیستم عامل های جدید و نرم افزارهای کاربردی از طریق زبان C صورت می گیرد.تاریخچه زبان سي Cزبان C در سال 1972 توسط دنیس ریچی در آزمایشگاه های Bell ساخته شد (بعدها این آزمایشگاه ها به AT&T Labs تبدیل شد) . سیستم عامل Unix هم قبلا در همان Bell Labs توسط زبان B نوشته شده بود.C که از زبان B حاصل شده است، به منظور پیاده سازی سیستم عامل Unix روی یک کامپیوتر PDP-11 ارائه شد. Ritchie زبان B را گسترش داد و یک سری امکانات از جمله نوع دار کردن داده ها را به آن اضافه نمود و زبان حاصل را C نامید.البته زبان B که توسط Ken Thompson در سال 1970 ساخته شده بود نیز از زبان BCPL حاصل شده که آن را Martin Ritchard ارائه داده بود. پس از آن که Ritchie و همکارش Kernighan در سال 1978 کتابی جهت آشنایی عموم با این زبان منتشر نمودند، توجه گسترده ی برنامه نویسان به آن جلب شد. به گونه ای که نسخه های مختلفی از آن روی کامپیوترهای مختلف به وجود آمد. همین امر موجب شد در سال 1983 انستیتوی استانداردهای ملی آمریکا (ANSI) کمیته ای برای استاندارد کردن این زبان تشکیل دهد. بالاخره در سال 1989 استاندارد آن تثبیت شد.ویژگی‌های زبان برنامه نويسي C- تاثير گذارترين زبان برنامه نويسي در دنیای كامپيوتر است.- یک زبان برنامه نویسی سطح میانی است.- یک زبان ساخت یافته‌ و قابل حمل است.- دارای سرعت، قدرت و انعطاف پذیری بالایی است و هیچ محدودیتی را برای برنامه نویس به وجود نمی آورد.- زبان برنامه نویسی سیستم است.- زبان کوچکی است و تعداد کلمات کلیدی آن انگشت شمار است.- نسبت به حروف حساس است و تمام کلمات کلیدی این زبان با حروف کوچک نوشته می‌شوند.- در محیط‌های توسعه دهنده مجتمع (Integrated Development Envoirements) صورت می‌گیرد.C ، یک زبان نسبتاً سطح پایین به‌شمار می‌آید، این یک توصیف تحقیرآمیز نبوده، و صرفاً به این معنی است که C با همین نوع از اشیائی سروکار دارد که بیشتر کامپیوترها با آن سروکار دارند، نظیر کارکترها، اعداد و آدرس‌ها. این اشیا را می‌توان با هم ترکیب کرد و می‌توان روی آنها همان عملیات محاسباتی و منطقی را انجام داد که توسط یک کامپیوتر حقیقی پیاده سازی کرد.سیستم‌عامل سیمبیان (symbian) با زبان C نوشته شده و بهمین دلیل این زبان به‌عنوان زبان اولیه برای برنامه نویسی در آن انتخاب شده‌است.C بیشترین امکان دسترسی به APIهای سیستم‌عامل سیمبیان را فراهم می‌کند و بهترین کارکرد در حافظه و سرعت اجرا را داراست. برای مثال این زبان قدرتمند را می‌توان در زمینه‌های زیر بکار گرفت:- برنامه‌هایی که مانند سرور عمل می‌کنند. برای نمونه برنامه‌هایی که در پشت صحنه کار می‌کنند و یکی از بخش‌های سیستم- به عنوان مثال درگاه‌های COM – را مدیریت می‌کنند.- PLUG inها که محیطی را بر پایه سیستم‌عامل ایجاد می‌کنند. بطور مثال برنامه‌ای که فایل‌های html را به فایل‌های word سیمبیان تبدیل می‌کند از کتابخانه مبدل سیستم‌عامل استفاده می‌کند.- درایورهای دستگاه که با Kernel کار متعامل می‌کنند و…استفاده از زبان C در سیستم‌ عامل سیمبیان بر روی مناسب بودن کارکرد گوشی‌ها متمرکز شده‌است، که بدین معناست که چند تا از عملگرهای استاندارد زبان C مانند مدیریت استثناها قابل استفاده در برنامه نویسی سیمبیان نیستند.تابع:برنامه ای است که برای حل بخشی از مسئله نوشته می شود. با استفاده از توابع می توان برنامه های ساخت یافته نوشت که وظایف این نوع برنامه ها توسط بخش های مستقلی که تشکیل دهنده برنامه اند انجام می شود. این بخش های مستقل همان توابع هستند.امتیازهای برنامه نویسی ساخت یافته عبارتند از:1- نوشتن برنامه های ساخت یافته آسان است، زیرا برنامه های پیچیده به بخش های کوچک تری تقسیم می شوند و هر بخش توسط تابعی نوشته می شود. دستورالعمل ها و داده های موجود در تابع، مستقل از سایر بخش های برنامه است.2- همکاری بین افراد را فراهم می کند.به طوری که افراد می توانند بخش های مختلفی از برنامه را بنویسند.3- اشکال زدایی برنامه های ساخت یافته ساده تر است.اگر برنامه اشکالی داشته باشد، بررسی تابعی که این اشکال در آن به وجود آمده ساده است.4- برنامه نویسی ساخت یافته موجب صرفه جویی در وقت می شود.توابع کتابخانه ایC دارای توابعی است که از قبل نوشته شده اند، و توابع کتابخانه ای نامیده می شوند .در واقع فرایند هایی که پر کاربرد هستند و در اغلب برنامه ها مورد استفاده قرار می گیرند به صورت توابع مستقل قبلاً نوشته شده اند.نوشتن توابع- برای نوشتن تابع باید اهداف مشخص باشد.- هر تابع سه بخش دارد:فراخوانی، الگوی تابع، تعریف تابع- تعریف تابع مجموعه ای از دستورهاست که عملکرد تابع را مشخص می کند.- فراخوانی تابع دستوری است که تابع را فراخوانی می کند که با نام تابع انجام می شود.<نوع تابع=”"> – “نوع تابع” یکی از چیزهایی است که توسط کاربر تعریف می شود.نکات مهم در استفاده از توابع1.الگوی تمام توابع را قبل از تابع ()main اعلان کنید.(البته می توانید در خود تابع ()main نیز اعلان کنید.)2.نوع توابع را تعیین نمایید.3.برای اجرای توابع آنها را با نامشان فراخوانی کنید.4.متغیرهای مورد نیاز توابع را در داخل توابع تعریف کنید.5.تعریف تابع در داخل تابع دیگر امکان پذیر نیست.6.هنگام فراخوانی تابع دقت داشته باشید که تعداد و نوع پارامترها وآرگومان ها یکسان باشد.7.توابع از نظر تعداد مقادیری که می توانند به تابع فراخوان برگردانند به سه دسته تقسیم می شوند 1.توابعی که هیچ مقداری برنمی گردانند 2.توابعی که یک مقدار برمی گردانند3.توابعی که چندین مقدار برمی گردانند.8. هنگام اعلان الگوی توابع، نیاز به ذکر اسامی پارامترها نیست و ذکر نوع آن ها کفایت می کند.9.اگر تابعی فاقد آرگومان است به جای لیست آرگومان ها کلمه void قرار دهید.نکاتی درباره نوشتن توابع1.ابتدا بدون پرداختن به جزئیات پیاده سازی توابع، آرگومان ها و نتیجه ای که از توابع انتظار دارید، مشخص کرده و برنامه اصلی را بنویسید.2.توابع را طوری طراحی وپیاده سازی کنید که هر تابع فقط به آنچه که نیاز دارد دسترسی داشته باشد و بقیه قسمت های برنامه و سایر اطلاعات توسط توابع غیر مرتبط قابل دستیابی نباشد.3.برای ارتباط بین توابع از آرگومان ها و پارامترها استفاده کنید.مثال هايي از برنامه نويسي به زبان سي1.تابعی بنویسید که درجه فارنهایت را به سانتیگراد تبدیل کند؟2.تابعی بنویسید که مقدار صحیح و غیر منفی k را دریافت کرده وk! را محاسبه و ارسال نماید.3.تابعی بنویسید که سه مقدار صحیح را دریافت کند و کوچک ترین آن ها را پیدا نموده و ارسال کند.4.تابعی بنویسید که یک مقدار صحیح و یک مقدار اعشار ساده را دریافت کند وچنانچه اختلاف دو عدد کمتر از 0.0001باشد حرف t و در غیر این صورت حرف fرا بازگرداند.5.تابعی بنویسید که یک عدد صحیح دریافت کند و اول بودن یا نبودن آن را مشخص کند و در صورت اول بودن 1 و در غیر این صورت 0 را ارسال کند.6.برنامه ای بنویسید که هریک از اعداد1 تا 10 را همراه با فاکتوریل آن ها مقابل هم چاپ کند.7.برنامه ای بنویسید که سه مقدار صحیح را خوانده و حداقل آن ها را چاپ کند.(با استفاده از تابع)8.تابعی بنویسید که مقدار π را از فرمول (…+7/1-5/1+3/1-1)4=π تا زمانی که آخرین عبارت از0.0001 بیشتر است بدست آورده و ارسال کند.9.برنامه ای نویسید که با استفاده از تابع مثال قبل مقدار عدد π را چاپ کند.10.تابعی بنویسید که مقدار عدد π را از فرمول (…+7/1-5/1+3/1-1)4=π تا n جمله به دست آورده و چاپ کند.11.برنامه ای بنویسید که ابتدا سری اعداد فیبوناتچی را تا جمله دوازدهم چاپ کرده و سپس یک عدد از ورودی بخواند و جزء سری بودن یا نبودن آن را بررسی و اعلام کند.(با استفاده از دو تابع)12.برنامه ای بنویسید که معکوس 123 را چاپ کند.13.برنامه ای بنویسید که متنی را دریافت کند و تمام حروف a را که در متن وجود دارد را به A تبدیل کند و متن را دوباره چاپ کند. 14.برنامه ای بنویسید که دو ماتریس را از کاربر بگیرد سپس آن ها را در هم ضرب کرده و نمایش دهد.متغيرها:متغیرهای محلی (local) :متغیرهایی که در بدنه تابع معرفی می شوند، متغیرهای محلی هستند که فقط در همان تابعی که معرفی شده اند قابل استفاده هستند. پارامترهای تابع نیز که در عنوان تابع معرفی شده اند متغیرهای محلی هستند.متغیرهای سراسری (global):این متغیرها را می توان خارج از توابع مثلاً ابتدای برنامه قبل از تعریف تابع Main یا قبل از تعریف هر تابع دیگر معرفی کرد. متغیرهایی که خارج از توابع معرفی شوند، توسط کلیه توابعی که از آن به بعد تعریف شده اند، قابل استفاده اند.پس از هر فراخوانی همین که اجرای تابع خاتمه یافت، متغیرهای محلی آن از بین می روند. ولی متغیرهای سراسری تا پایان اجرای تابع mainفعال و قابل استفاده اندحوزه دسترسی به متغیر:محدوده ای که هر متغیر در آن قابل دسترسی است حوزه دسترسی نامیده می شود. متغیرهایی که به صورت محلی در ابتدای تابع معرفی شده اند دارای حوزه دسترسی تابع هستند. متغیرهایی که در یک بلوک به طور محلی تعریف شده اند دارای حوزه دسترسی بلوک هستند . متغیرهایی که خارج از توابع معرفی شده اند دارای حوزه دسترسی فایل می باشند.کلاس های حافظه دارای چهار نوع اتوماتیک، ثبات، خارجی، ایستا هستند که به ترتیب توسط کلمات auto ،، register ، extern و static مشخص می شوند.انواع متغیرها و داده ها در Cزبان C قابلیت های زیادی برای کار با داده ها دارد. تمام انواع عددی و غیر عددی به صورت کارا در سی یافت می شوند. در زیر به اختصار به بعضی اشاره می شود:intاین نوع داده از نوع عددی صحیح (integer) است. در حافظه 2 بایت اشغال می کند ولی برخی کامپایلرها برای آن 4 بایت در نظر می گیرند.floatاین نوع داده از نوع اعشاری است. معمولا در حافظه 4 بایت اشغال می کند و اعداد اعشاری مثبت و منفی را در خود جای می دهد.doubleاین نوع داده برای استفاده در اعداد اعشاری است که مقدار بیش تری فضا باید اشغال کنند. این نوع داده نیز 8 بایت اشغال می کند.charاین نوع داده برای ذخیره ی کاراکتر استفاده می شود و 1 بایت اشغال می کند.long intبرای داده های صحیحی که در حافظه فضای بیش تری اشغال می کنندو 4 بایت اشغال می کند.short intبرای داده های صحیح که نیاز به حافظه ی زیادی ندارند قابل استفاده است.unsigned intاین نوع داده از نوع عددی صحیح بدون علامت است.استفاده از آرایه ها در زبان Cبسیاری از موارد پیش می آید که برنامه نویس نیاز به استفاده از تعداد زیادی متغیر پیدا می کند. مثلا اگر بخواهیم جملات 1 تا 100 سری فیبوناچی را برای استفاده ذخیره کنیم، به صد متغیر نیاز داریم. تعریف این صد متغیر به صورت مستقل و با نام های جداگانه کاری سخت و طاقت فرساست و البته معقولانه نیست. به همین خاطر در زبان C قابلیتی پیش بینی شده تا بتواند تعداد دلخواهی متغیر از یک نوع را به راحتی ایجاد کرد.به این متغیر ها که در حافظه پشت سر هم قرار می گیرند و همگی از یک نوع هستند آرایه (Array) می گویند. آرایه ها کاربردهای بسیار زیادی دارند و همانند دنباله ها در ریاضی عمل می کنند. همان طور که در ریاضی برای مشخص کردن یک جمله از دنباله از اندیس استفاده می کنیم، در C نیز برای مشخص کردن یک متغیر خاص از اندیس استفاده می شود.همان طور که مشاهده می کنید خانه ی پنجم شماره ی 4 دارد و این بدین خاطر است که خانه ها از شماره ی 0 تا n-1 (که n تعداد خانه هاست) شماره گذاری می شود. پس باید به این مورد دقت کرد. مورد دیگر این که شماره ی خانه در [] قرار می گیرد. درون علامت آکلاد می توان عبارت نیز قرار داد.همان طور که گفته شد در حافظه ی رایانه خانه های آرایه پشت سر هم قرار می گیرند. اندازه ی هر خانه به اندازه ی نوع تعریف شده است. مثلا در مثال قبل اگر int دو بایت اشغال کند آرایه ی array، در کل 20 بایت از حافظه اشغال خواهد کرد. این که خانه ها پشت سر هم قرار میگیرند ویژگی کارایی است که در بحث اشاره گر ها به کار می آید.زبان برنامه‌نویسی سي پلاس پلاس ++Cزبان برنامه‌نویسی ++C (سی پلاس پلاس) یک زبان برنامه‌نویسی رایانه‌ای همه‌منظوره، شیءگرا، سطح بالا و چندرگه (که از برنامه‌نویسی رویه‌ای، تجرید داده‌ها و برنامه‌نویسی شیءگرا پشتیبانی می‌کند)، عمومی و با قابلیت‌های سطح بالا و سطح پایین می‌باشد.این زبان دارای قابلیت‌های انواع داده ایستا، نوشتار آزاد، چندمدلی، معمولاً زبان ترجمه شده با پشتیبانی از برنامه‌نویسی ساخت‌یافته، برنامه‌نویسی شیءگرا، برنامه‌نویسی جنریک است. ++C به همراه جد خود C از پرطرفدارترین زبان‌های برنامه‌نویسی تجاری هستند.زبان ++c یک زبان سطح میانی در نظر گرفته می‌شود. این زبان دارای قابلیت زبان‌های سطح بالا و پایین به‌صورت هم‌زمان است. زبان ++C توسط بی‌یارنه استراس‌تروپ دانمارکی در سال ۱۹۷۹ درآزمایشگاه‌های بل (Bell Labs)، برای بهبود زبان سی و بر مبنای آن ساخته شد و آن را “C با کلاس” (C With Classes) نام‌گذاری نمودند. در سال ۱۹۸۳ به ++c تغییر نام داد. توسعه با اضافه نمودن کلاس‌ها و ویژگی‌های دیگری مانند توابع مجازی، سربارگزاری عملگرها، وراثت چندگانه، قالب توابع، و پردازش استثنا انجام شد. این زبان برنامه‌نویسی در سال ۱۹۹۸ تحت نام ISO/IEC ۱۴۸۸۲:۱۹۹۸ استاندارد شد. نسخه فعلی استاندارد این زبان ISO/IEC ۱۴۸۸۲:۲۰۰۳ است. نسخه جدیدی از استاندارد (که به صورت غیررسمی C++۰x نامیده می‌شود) در دست تهیه است.تاریخچه زبان ++Cاستراس‌تروپ کار بر روی زبان «c با کلاس» را در سال ۱۹۷۹ آغاز کرد. ایده ساخت این زبان جدید در زمان کار بر روی تز دکترای خود به ذهن استراس‌تروپ خطور نمود. او متوجه شد که سیمولا دارای ویژگی‌هایی مناسب برای ساخت برنامه‌های بسیار بزرگ است اما برای استفاده عملی بسیار کند است اما BCPL با وجود سرعت بسیار زیاد برای ساخت برنامه‌های بزرگ بسیار سطح پایین است. زمانی که استراس‌تروپ کار خود را در آزمایشگاه‌های بل (Bell Labs) آغاز نمود با مشکل تحلیل هسته unix با توجه به محاسبات توزیع شده روبرو شده بود. با یادآوری تجربیات خود در دوران دکترا، او زبان C را با استفاده از ویژگی‌های سیمولا گسترش داد. C به این دلیل انتخاب شد که یک زبان عمومی، سریع، قابل حمل، و به‌صورت گسترده در حال استفاده بود. علاوه بر C و سیمولا زبان‌های دیگری مانند ALGOL ۶۸، ADA، CLU، ML نیز بر ساختار این زبان جدید اثر گذاشت.در ابتداویژگی‌های کلاس، کلاس‌های مشتق شده، کنترل نوع قوی، توابع درون‌خطی، و آرگومان‌های پیش‌فرض از طریق Cfront به C اضافه شد. اولین نسخه تجاری در سال ۱۹۸۵ ارائه شد. در سال ۱۹۸۳ نام زبان از «C با کلاس» به ++C تغییر یافت.ویژگی‌های دیگر شامل توابع مجازی، سربارگزاری عملگر و نام تابع، ارجاعات، ثوابت، کنترل حافظه توسط کاربر به‌صورت آزاد، کنترل نوع بهتر، و توضیحات یک‌خطی به صورت BCPL با استفاده از «//» نیز به آن اضافه شد. در سال ۱۹۸۵ اولین نسخه زبان برنامه‌نویسی ++C انتشار یافت و مرجع مهمی برای این زبان فراهم شد در حالی که هیچ استاندارد رسمی‌ای وجود نداشت. در سال ۱۹۸۹ ویرایش ۲٫۰ از زبان ++C ارائه شد. ویژگی‌های جدیدی مانند ارث‌بری چندگانه، کلاس‌های انتزاعی، اعضای ایستای توایع، اعضای ثابت تابع، و اعضای حفاظت شده به آن اضافه شد.در سال ۱۹۹۰ «راهنمای مرجع ++C» منتشر شد. این کار بنیان استانداردهای بعدی شد. آخرین ویژگی‌های اضافه شده شامل موارد زیر بودند:قالب توابع، استثناها، فضاهای نام، تبدیلات جدید، و یک نوع داده منطقی.در حین تکامل ++C کتابخانهٔ استاندارد نیز به‌وجود آمد. اولین نسخهٔ کتاب استاندارد شامل کتابخانهٔ جریانات I/O بود که جایگزین printf و scanf شد. در ادامه مهم‌ترین ویژگی اضافه شده Standard Template Library بوده‌است.نامگذاري ++Cاین نام منسوب به ریک ماسکیتی (اواسط ۱۹۸۳) است و برای اولین بار در دسامبر سال ۱۹۸۳ به کار برده شد. در طول مدت تحقیق این زبان بنام «C جدید» و بعدها «C با کلاس» خوانده شد. در علوم کامپیوتر هنوز هم ++C به عنوان ابرساختار C شناخته می‌شود. آخرین نام از عملگر ++ در زبان C (که برای افزایش مقدار متغیر به اندازه یک واحد بکار می‌رود) و یک عرف معمول برای نشان دادن افزایش قابلیت‌ها توسط + ناشی گشته‌است. با توجه به نقل قولی از استراس‌تروپ: «این نام ویژگی‌ها تکاملی زبان در C را نشان می‌دهد.» +C نام زبانی غیرمرتبط به این زبان است. استراس‌تروپ مبدا این نام را در فصل اول کتاب خود «زبان برنامه‌نویسی ++C» اشاره می‌نماید که معنی دیگر ++C را می‌توان در ضمائم کتاب جرج ارول بنام ۱۹۸۴ یافت. در سه قسمت از زبان تخیلی Newspeak «کلمات C» برای اشاره به لغات فنی و حرفه‌ای بکار می‌رود. «دو علامت +» برای ایجاد صفات عالی از صفات Newspeak به کار می‌رفت بنابراین ++C به معنای زبانی با بیشترین شباهت به C است. وقتی که به صورت خصوصی از ریک ماسکیتی در مورد این اسم سوال شد او در جواب گفت که این اسم بصورت خودمانی در بین آنها به کار می‌رفته‌است و تصور نمی‌کردند که این نام بصورت نام رسمی این زبان درآید.توسعه آینده ++‍C++C همچنان در حال تکامل است تا نیازهای آینده را پاسخگو باشد. نسخه جدید استاندارد ++C در حال بررسی است و تحت عنوان C++۰x است که انتظار می‌رود در سال ۲۰۱۰ منتشر گردد. تغییرات کنونی نشان می‌دهد که همچنان به صورت چندمدلی ++C تاکید می‌گردد. توسعه‌های مهم پشتیبانی از چندرشته‌ای و مفاهیمی برای راحت نمودن کار با قالب‌هاست. اضافه نمودن ویژگی جمع‌آوری زباله به آن به شدت مورد بحث است. Boost.org گروهی برای بیشترین استفاده از ویژگی‌های فعلی ++C می‌باشد. آنها ویژگی‌های تابعی و فرابرنامه‌نویسی آن را گسترش می‌دهند و در مورد ++C به کمیته استاندارد نصیحت‌هایی نموده‌است که کدام ویژگی‌ها خوب عمل نمی‌کنند و کدام‌ها نیاز به توسعه دارند.کتابخانه استاندارد ++Cدر سال ۱۹۹۸ استاندارد ++C شامل دو بخش هسته زبان و کتابخانه استاندارد ++C است. این کتابخانه شامل بیشتر بخش‌های STL و کتابخانه استاندارد C است. بیشتر کتابخانه‌های ++C در استاندارد وجود ندارند و یا استفاده از تعریف قابلیت پیوند کتابخانه‌ها را می‌توان در زبان‌هایی مانند فرترن، C، پاسکال، بیسیک نوشته شوند.البته با توجه به ویژگی‌های کامپایلر مشخص خواهد شد که کدام زبان را می‌توان استفاده نمود.کتابخانه استاندارد ++C شامل کتابخانه استاندارد C با یک سری تغییرات برای بهبود عملکرد است. بخش بزرگ بعدی این کتابخانه STL است. STL شامل ابزار بسیار قدرتمندی مانند نگه‌دارنده‌ها (مانند vector و list)، تکرارکننده‌ها (اشاره‌گرهای عمومی شده) برای شبیه‌سازی دسترسی مانند آرایه الگوریتم‌هایی برای جستجو و مرتب‌سازی در آنها وجود دارند. نقشه‌ها (نقشه‌های چندگانه) (آرایه شرکت‌پذیر) و مجموعه‌ها (مجموعه‌های چندگانه) واسط‌های عمومی فراهم می‌سازند.در نتیجه با استفاده از قالب تابع، الگوریتم‌های جنریک با هر نگه‌دارنده و دارای تکرارکننده عمل نماید. همانند C ویژگی‌های کتابخانه را می‌توان با استفاده از شبه دستور include# شامل یک سرآیند استاندارد اضافه نمود.C دارای ۶۹ کتابخانه استاندارد است که ۱۹ تا از آنها نامناسب تشخیص داده شده‌اند. استفاده از کتابخانه استاندارد – مانند std::vector یا std::string به جای آرایه‌های C- موجب ایجاد برنامه‌های مطمئن‌تر شده‌است. STL در آغاز محصولی جداگانه از HP و سپس SGL پیش از ادغام در کتابخانه استاندارد ++C بوده‌است. استاندارد عبارت STL را بکار نمی‌برد بلکه آن را بخشی از کتابخانه می‌داند اما مردم هنوز هم آن را برای جداسازی بخش‌های مختلف کتابخانه با این نام بکار می‌برند.(جریان‌های ورودی/خروجی، جهانی‌سازی، تشخیص، زیرمجموعه کتابخانه C) بیشتر کامپایلرها کتابخانه استاندارد و STL را پیاده‌سازی می‌نماید. پیاده‌سازی‌های مستقلی نیز همانند STLport نیر وجود دارند.پروژه‌های دیگر نیز پیاده‌سازی‌های خود را از STL با توجه به اهداف خود بوجود می‌آورند.ویژگی‌های معرفی شده در ++Cدر مقایسه با C زبان ++C ویژگی‌های جدیدی را معرفی نموده‌است مانند تعریف متغیر به عنوان عبارت، تغییر نوع‌های همانند تابع، new/delete، نوع داده bool، توابع درون‌خطی، آرگومان پیشفرض، گرانبارسازی عملگر و تابع، فضای نام و عملگر تعیین حوزه ::، کلاس‌ها (شامل تمام ویژگی‌های مربوط به کلاس‌ها همانند وراثت، اعضای تابع، توابع مجازی، کلاس‌های انتزاعی، و سازنده‌ها)، قالب‌ها، پردازش استثنا، کنترل نوع زمان اجرا، عملگرهای سربار شده ورودی (<<) و خروجی (>>).برخلاف باور عموم ++C نوع داده ثابت را معرفی ننموده‌است. کلمه const کمی پیش از استفاده از این کلمه در ++C توسط زبان C بصورت رسمی بکار گرفته شد. در بعضی حالات ++C تعداد کنترل نوع بیشتری نسبت به زبان C انجام می‌دهد.توضیحات با استفاده از // قبل از زبان C در زبان BCPL معرفی شده بود که مجدداً در زبان ++C به کار گرفته شد.بعضی ویژگی‌های ++C بعداً توسط C به کار گرفته شد مانند نحوه تعریف for، توضیحات به شکل ++C (با استفاده از //)، و کلمه inline با وجود اینکه تعریف این کلمه در C با تعریف آن در زبان ++C هماهنگی ندارد. همچنین در C ویژگی‌هایی معرفی شده‌است که در ++C وجود ندارند مانند ماکروهای قابل تغییر و استفاده بهتر از آرایه‌ها به عنوان آرگومان. بعضی کامپایلرها این ویژگی‌ها را پیاده نموده‌اند اما در بقیه این ویژگی‌ها موجب ناهماهنگی می‌گردد.ساختار برنامه‌هاساختار برنامه‌ها در این زبان بدین صورت است که همانند زبان سی، هر برنامه بایستی یک تابع اصلی (main) به عنوان بدنه برنامه داشته باشد.هر برنامه معمولاً از تعداد زیادی فایل تشکیل می‌شود که به هم الحاق می‌گردند (با دستور include) و به این فایل‌های الحاقی سرآیند (Header) می‌گوییم. فایل‌های الحاقی حاوی کدها یا نسخه‌های اجرایی کلاس‌ها (مجموعه متغیرها و توابع) می‌باشند که در بدنه اصلی برنامه از آنها استفاده می‌شود.معمولاً هر کلاس (که تعریف یک نوع داده‌ای با متدهای مربوط به آن است) را در یک سرآیند می‌نویسند. هر سرآیند که معمولاً تنها تعاریف (معرفی) کلاس را در خود دارد به همراه فایل‌های پیاده سازی به زبان ++C یا پیاده سازی‌های کامپایل شده (به صورت فایل اشیا مانند dll یا so یا … ) می‌تواند به کار برده شود. به مجموعه‌های یکپارچه‌ای از کلاس‌های پیاده سازی شده (به صورت فایل‌های سرآیند با پیاده سازی‌های کد یا اشیای زبان ماشین) که برای برنامه نویسی به کار می‌روند، یک کتابخانه ++C گفته می‌شود و قدرت اصلی این زبان در امکان به کارگیری کتابخانه‌های آماده می‌باشد.کتابخانه‌های بزرگ ++C مانند STL، MFC، QT و … مجموعه قدرتمندی برای تولید برنامه در این زبان ایجاد کرده‌اند.زبان برنامه نويسي ++C بر زبان هاي برنامه نويسي ديگر مانند:پی‌اچ‌پی (PHP)سی‌شارپ جاوا (#C)پرل (Perl)تاثير گذاشته است.فرق بين سي C با ++C چيست؟زبان C زبان برنامه نویسی Structured (ساخت یافته) است اما ++‍C زبان برنامه نویسی Object Oriented ( شی ء گرا ) می باشد.از لحاظ دستوری فرق زیادی با هم ندارند، اماتفاوت عمده این است که ++C از شی گرایی پشتیبانی می کند که سی C این قابلیت رو ندارد…امروزه دیگر بدون شی گرایی اصلا نمي توان نرم افزار های بزرگ نوشت.اکثر زبان های برنامه نویسی رایج و قوی الان شیگرا هستند.فرق بين سي شارپ #C با ++C چيست؟1- با C#‎ فقط برنامه های تحت .NET میشه نوشت (در واقع C#‎ برای .NET درست شده) ، اما با C++‎ هم برنامه های تحت .داتNET و هم برنامه های native میشه نوشت.2-هنوز برای کارهای سطح پایین (مثل Device Driver) و سنگین (مثل بازی های سه بعدی) C++‎ انتخاب اول و آخر محسوب میشه3- C#‎ خیلی راحتتر ، تمیزتر و خوش ساخت تر از C++‎ طراحی شده و از نظر شی گرایی هم پشتیبانی بهتری داره نسبت به C++‎ . C#‎ کاملا شی گراست و اصلا نمیتونید برنامۀ غیر شی گرا در اون بنویسید ، در صورتی که با C++‎ میتونین هم شی گرا و هم غیر شی گرا ، برنامه بنویسید. از ویژگی های C#‎ :1- مدیریت خودکار حافظه توسط CLR2- پشتیبانی از یک نوع String داخلی3- پشتیبانی از foreach4- پشتیبانی کامل از delegate و event و interface و Property و attribute ها5- XML Documentation6- checked / unchecked keywordsدر C#‎ برای انجام تمام کارها از کلاس های .NET استفاده میشه، در ضمن در C#‎ چیزی به نام فایلهای Header و #include و از این حرفا نداریم.در واقع C#‎ خیلی زیباتر از C++‎ طراحی شده، چون به هر حال در طراحی C#‎ از زبانهایی مثل C++‎ و JAVA و Delphi درس گرفته شده و اشتباهات اون زبانها در C#‎ تکرارنشدهبه عنوان مثال در C++‎ به تعداد انگشتان دست، نوع داده String داریم.یا Multiple Inheritance که خیلی دردسر سازه، یا مثلا در JAVA ، enum ها و Operator Overloading و Pointer و Property ها که همگی جزو ضروریات محسوب میشن، وجود ندارن.البته کسانی که میخوان کار سنگین یا سطح پایین در داتNET انجام بدهند ، معمولا همه قسمتهایی رو که امکانش هست با C#‎ می نویسن و بقیه رو با C++‎در C#‎ از کلاسهای نوشته شده در C++‎ استفاده می کنن (WrapperClasses )در کل C#‎ ، سطح بالاتر (High Level ) از C++‎ استدر C++‎ حتی میتونید مستقیما از کد اسمبلی استفاده کنید.در ضمن C#‎ اولین زبان Component Oriented در خانواده C محسوب میشود.بصورت خلاصه مي توان گفت:بزرگترین شباهت این دو زبان اینه که هر دو جزو خانواده C هستند.و بزرگترین تفاوت اینکه: C#‎ یک زبان type-safe هست (بر خلاف C++‎ ) و فقط باهاش میشه برنامه های تحت .NET نوشت.2.زبان htmlزبان نشانه گذاری HTML به عنوان اولین پایه برای هر دوره آموزش طراحی سایت در نظر گرفته می‌شود. این زبان چیست و چه کاربردی دارد؟ HTML مخفف عبارت Hypertext Markup Language است. این زبان در واقع یکزبان نشانه گذاری HTML به عنوان اولین پایه برای هر دوره آموزش طراحی سایت در نظر گرفته می‌شود. این زبان چیست و چه کاربردی دارد؟HTML مخفف عبارت Hypertext Markup Language است. این زبان در واقع یک نوع زبان نشانه‌گذاری استاندارد برای ایجاد صفحات وب و وب اپلیکیشن‌ها محسوب می‌شود. در واقع HTML را عنصر کلیدی صفحات وب می‌دانند و تمامی زبان‌های برنامه‌نویسی برای طراحی سایت، به شکلی به HTML وابسته هستند. با استفاده از این زبان و CSS و جاوا اسکریپت، تکنولوژی‌های بنیادین برای شبکه جهانی وب تشکیل می‌شود. مرورگرها اسناد HTML را از وب سرور یا مخزن لوکال (Local) دریافت کرده و آن‌ها را به صفحات وب چند رسانه‌ای تبدیل می‌کنند. در واقع HTML ساختار معنایی صفحات وب را تعریف کرده و شامل مشخصات ظاهری سند است. ? مولفه‌های HTML بلوک‌های سازنده صفحات HTML را تشکیل می‌دهند. با استفاده از آن‌ها می‌توان تصاویر و اشیا دیگر مثل فرم‌های تعاملی را در صفحات ایجاد شده تعبیه کرد. این زبان ابزاری برای ایجاد سندهای ساختار یافته از طریق مشخص کردن معنای ساختاری برای متن مثل تیترها، پاراگراف‌ها، فهرست‌ها، لینک‌ها، نقل قول‌ها و سایر موارد ارائه می‌دهد.مولفه های HTML از طریق تگ‌های قرار گرفته در پرانتز شکسته مشخص می‌شوند. تگ‌هایی مانند </ img> و </ input> محتوا را به صورت مستقیم به صفحه معرفی می‌کنند. سایر تگ‌ها مانند <p>...<p/> اطلاعات مربوط به متن سند را ارائه داده و می‌توانند سایر تگ‌ها را به عنوان مولفه‌های فرعی در خود جای دهند. مرورگرها تگ‌های HTML را نمایش نمی‌دهند بلکه از آن‌ها برای تفسیر محتوای صفحه بهره می‌برند.HTML می‌تواند برنامه‌های نوشته شده به زبان اسکریپتی مانند جاوا اسکریپت را که بر رفتار و محتوای صفحات وب تاثیر می‌گذارند در خود جای دهد. استفاده از CSS ظاهر و آرایش محتوا را تعریف می‌کند. کنسرسیوم جهانی وب که استانداردهای HTML و CSS را تعریف می‌کند، از سال ۱۹۹۷ استفاده از CSS را روی HTML ظاهری توصیه کرده است.تاریخچه پیدایش HTML ? در سال ۱۹۸۰، فیزیکدان «تیم برنرز لی» (Tim Berners-Lee)، یکی از پیمانکاران CERN، سیستم ENQUIRE را پیشنهاد کرد. این سیستم برای محققان CERN ایجاد شده بود تا از آن برای استفاده و اشتراک‌گذاری اسناد استفاده کنند. در سال ۱۹۸۹، برنرز لی یادداشتی نوشت و در آن یک سیستم اینترنتی ابر متن (Hypertext) را پیشنهاد داد. «برنرز لی» HTML را مشخص کرد و نرم افزار مرورگر و سرور را در اواخر ۱۹۹۰ نوشت. در آن سال، برنرز لی و مهندس دیتا سیستم‌های CERN، به صورت مشترک درخواست بودجه کردند اما آن پروژه به صورت رسمی توسط CERN پذیرفته نشد.بیشتر بخوانید:اولین توصیف عمومی از HTML سندی به نام «HTML Tags» بود که ابتدا توسط تیم برنرز لی در اواخر ۱۹۹۱ در اینترنت قرار گرفت. این سند ۱۸ مولفه تشکیل‌دهنده طرح اولیه و نسبتا ساده از HTML بود. HTML یک زبان نشانه‌گذاری است که مرورگرهای وب از آن بر تفسیر و ایجاد متن، تصویر و دیگر متریال‌ها به صفحات وب تصویری و صوتی استفاده می‌کنند. ویژگی‌های پیش‌فرض هر یک از آیتم‌های HTML در مرورگر تعریف شده و می‌توان با استفاده از CSS توسط طراح صفحات وب، آن‌ها را تغییر داده یا ارتقا بخشید. HTML نشانه‌گذاری از چندین مولفه کلیدی شامل تگ‌ها تشکیل شده‌ است. تگ‌های HTML معمولا به صورت جفت‌هایی مانند <h1> و <h1/> هستند. گرچه برخی از‌ آن‌ها مانند <img> نشان‌دهنده عناصر خالی بوده و جفت ندارند. اولین تگ در این جفت را تگ آغازین و تگ دوم را تگ پایانی می‌نامند. در زیر یک نمونه از برنامه‌ی کلاسیک «Hello World!» را می‌بینید که یک آزمایش رایج برای مقایسه زبان‌های برنامه‌نویسی، اسکریپت و نشانه‌گذاری است. این نمونه با استفاده از ۹ خط کد منبع نوشته شده است:<!DOCTYPE html> <html> <head> <title>This is a title</title> </head> <body> <p>Hello world!</p> </body> </html>متن میان <html> و <html/> در واقع صفحه وب را تعریف کرده و متن بین <body> و <body/> محتوای قابل مشاهده متن است. متن نشانه‌گذاری <title>This is a title</title> عنوان صفحه مرورگر را تعریف می‌کند.تکامل HTML به مرور زمان ? HTML زبانی است که طی زمان برای ایجاد وب سایت‌های زیباتر و کارآمدتر دچار تحول شد. HTML 1.0 اولین نسخه منتشر شده در جهان بود. در آن زمان تعداد برنامه نویس وب چندان زیاد نبود و این زبان هم تا حدودی محدود کننده به نظر می‌رسید. تنها کاری که می‌شد با نسخه اولیه HTML انجام داد، قرار دادن متن ساده در وب بود. پس از آن نسخه HTML 2.0 به بازار معرفی شد که تمام ویژگی‌های نسخه اول به علاوه چند ویژگی جدید را با خود داشت. این نسخه تا ژانویه ۱۹۹۷ و تعریف ویژگی‌های کلیدی برای HTML، به عنوان استانداردی برای طراحی سایت در نظر گرفته می‌شد.تولد HTML 3.0رفته رفته افراد بیشتری به سمت استفاده از HTML گرایش پیدا کردند، اما نسخه‌های قبلی این زبان هنوز هم برای وب مسترها محدودیت‌هایی ایجاد می‌کرد؛ آن‌ها به دنبال ویژگی‌ها، توانایی‌ها و تگ‌های بیشتری بودند و تمایل داشتند ظاهر سایت خود را ارتقا ببخشند. در همان زمان بود که گروهی خبره HTML، پیش‌نویس جدیدی از این زبان تهیه کرده و آن را HTML 3.0 نامیدند. این نسخه شامل قابلیت‌های جدید و پیشرفته‌ای بود و مژده ابزارهای قدرتمندی برای طراحی سایت را برای طراحان سایت به همراه داشت. متاسفانه مرورگر‌ها این ویژگی‌های جدید را به کندی بارگزاری می‌کردند و تنها بخشی از دستورات اعمال شده بر صفحه اجرا می‌شد؛ بنابراین برنامه‌نویسان استفاده از این نسخه را به فراموشی سپردند.HTML 3.2کمی بعدتر کنسرسیوم وب جهانی اولین کار خود را به بازار ارائه کرد که به HTML 3.2 معروف ‌شد و تغییرات اندکی نسبت به نسخه پیشین داشت و بسیاری از مراحل بزرگ را به نسخه‌های بعدی موکول کرده بود. بسیاری از تگ‌های قبلی در این نسخه و استانداردهای جدید به چشم نمی‌خورد. اما خیلی زود در ژانویه ۱۹۹۷ به نسخه استاندارد تبدیل شد و امروزه تمام مرورگرها از ویژگی‌های آن به طور کامل پشتیبانی می‌کنند.HTML 4.01؛ تحول بزرگنسخه HTML 4.01 تحول بزرگی نسبت به استانداردهای اولیه HTML در نظر گرفته می‌شد؛ بیشتر کارایی‌های جدیدی که در این نسخه آورده شده بود، در واقع ارتقا و پیشرفتی از نسخه HTML 3.0 به علاوه چندین ویژگی جدید و پیشرفته بود. این نسخه در دسامبر ۱۹۹۷ توسط کنسرسیوم وب جهانی پیشنهاد شد و در آوریل ۱۹۹۸ به استاندارد رسمی طراحی سایت تبدیل شد. پشتیبانی مرورگر از این زبان جدید و تقریبا بیشتر تگ‌ها و خصوصیات توسط مایکروسافت در مرورگر محبوب IE5 صورت گرفت.ورود XHTMLدر ابتدای قرن ۲۱، کنسرسیوم وب جهانی XHTML 1.0 را به بازار پیشنهاد کرد. از ۲۶ ژانویه ۲۰۰۰ این زبان به عنوان استاندارد مشترک با HTML 4.01 در طراحی سایت به کار می‌رود، با این تفاوت‌ که کدها باید در آن طبق قانون نوشته شده و برنامه‌نویس حق تغییر در ترتیب نوشتن کدها را ندارد. پس از این دو نسخه، HTML 5 به بازار عرضه شد که زبانی برای طراحی فعلی و آینده وب سایت‌ها تعریف شده است. برنامه نویسان وب معتقدند ویژگی‌های تعبیه شده در این نسخه تا ده سال آینده پاسخگوی نیازهای وب خواهد بود. بسیاری از بخش‌های آن برای کاربران قبلی HTML آشنا و بسیاری دیگر جدید و ناشناخته است.عناصر HTML ? سندهای HTML به ساختاری از عناصر تو در تو از HTML اشاره دارند. این عناصر در سند توسط تگ‌های HTML مشخص می‌شوند. مابین تگ آغازین و پایانی می‌توان ترکیبی از تگ‌های مختلف و متن را قرار داد. برخی از عناصر مانند link break با علامت <br> اجازه تعبیه هیچگونه محتوا، متن یا تگ دیگری را نمی‌دهند. در صفحات HTML می‌توان عناصر مختلفی مثل عکس، فرم و جدول قرار داد اما برای آن که این عناصر برای مرورگر قابل فهم باشند، باید از کد و تگ مشخصی استفاده کرد تا مرورگر وقتی به قسمت مشخص شده برای آن عنصر رسید، آن را در صفحات اینترنت نمایش دهد.سرتیتر سند HTML به صورت <head>...<head/> نوشته می‌شود. برای مثال:<head> <title>The Title</title> </head>عنوان در سند HTML با تگ‌های <h1> و <h6> مشخص می‌شوند:<h1>Heading level 1</h1> <h2>Heading level 2</h2> <h3>Heading level 3</h3> <h4>Heading level 4</h4> <h5>Heading level 5</h5> <h6>Heading level 6</h6>کد HTML به کار رفته برای نمایش پاراگراف به این صورت است:<p>Paragraph 1</p> <p>Paragraph 2</p>با توجه به تعاریف گفته شده، حالا می‌توان به چند نتیجه مهم در مورد HTML دست یافت:HTML زبان پیچیده برنامه نویسی نیست، بلکه برای توصیف صفحات وب از طریق متن عادی به کار می‌رود.هر صفحه وب در واقع یک فایل HTML است و هر فایل HTML یک متن ساده است. اما فایل .html به جای متن، از چندین تگ HTML و محتوا ساخته شده استیک وب سایت اغلب حاوی چندین فایل HTML است که به یکدیگر لینک شده‌ و قابل ویرایش هستند.تگ‌های HTML در واقع کلمات کلیدی پنهان شده در صفحات وب هستند که مشخص می کنند مرورگر چطور باید محتوا را نمایش دهد.اکثر تگ‌ها دو بخش آغازین و پایانی را دارند. تگ پایانی همان متن تگ آغازین را دارد اما یک اسلش (/) به قبل از آن اضافه شده است مثل <html> و <html/> که اولی تگ آغازین و دومی تگ پایانی است.تگ‌ها می‌توانند دارای خصوصیت یا attribute باشند یعنی می‌توان آن‌ها را به شکل دلخواه تغییر داد. برای این کار باید با استفاده از علامت مساوی، مقداری را تعیین کرد مثل "0"=border و "%50"=width اما برخی دیگر مانند <hr noshade> را فقط باید داخل تگ عنوان کرد.فایل‌های HTML باید با پسوند .htm یا .html مشخص شوند.مشخصات صفحات وب توسط تگ‌های HTML توصیف می‌شوند.HTML اساس و بنیان ایجاد صفحات وب است اما برای زیباسازی آن‌ها باید از CSS بهره برد.تفاوت HTML و XHTML ? XHTML هم مانند HTML یک زبان است که صفحات وب با آن نوشته می‌شوند، با این تفاوت که HTML زبانی مبتنی بر SGML (زبان نشانه‌گذاری تعمیم یافته استاندارد) و XHTML زبانی مبتنی بر XML (زبان نشانه‌گذاری گسترش پذیر) است. این دو زبان را می‌توان دو روی یک سکه دانست که برای ساخت صفحات وب مکمل یکدیگر هستند. زبان XHTML برای مطابقت با استانداردهای XML از زبان HTML مشتق شده است اما در مقایسه با والد خود، بسیار سرسختانه تر بوده و به کاربر اجازه سلیقه‌ای عمل کردن در کدها و ساختارها را نمی‌دهد. علت ایجاد این زبان تگ‌های پیچیده‌ي مرورگرها بود. صفحاتی که به زبان HTML نوشته شده بودند در مرورگرها مختلف ظاهر متفاوتی از خود نشان می‌دادند. فایل‌های XHTML را می‌توان با پسوندهای .xhtml، .xht، .xml، .html و .htm مشاهده کرد.اگر بخواهیم مقایسه کلی داشته باشیم باید گفت که HTML زبان نشانه‌گذاری غالب برای ایجاد صفحات وب است. با استفاده از این زبان برای عناوین، فهرست‌ها، لینک‌ها و غیره ساختارهای معنایی ایجاد کرده و امکان تعبیه تصاویر و اشیاء را برای ایجاد فرم‌های تعاملی ایجاد می‌کند. XHTML از خانواده زبان‌های XML است که نقطه مقابل نسخه‌های مختلف HTML محسوب می‌شود. این زبان عناصر و تگ‌ها را از HTML و قوانین و مقررات را از XML در خود گنجانده است. در این زبان اجازه حذف هیچ نوع تگ یا استفاده از به حداقل رسانی خصوصیات وجود ندارد. در XHTML باید برای هر تگ آغازین یک تگ پایانی وجود داشته باشد و تمام تگ‌های تو در تو باید در ترتیب مشخصی قرار داشته باشند. برای مثال، در حالی که تگ <br> در HTML مجاز است، در زبان XHTML باید به صورت </ br> نوشته شود.سندهای HTML از عناصری تشکیل شده‌اند که دارای سه مولفه یک جفت تگ، خصوصیات عنصر که در داخل تگ داده شده است و محتوای واقعی، متنی و گرافیکی هستند. عنصر HTML می‌تواند هر چیزی باشد که بین تگ‌ها قرار می‌گیرد. سندهای XHTML تنها دارای عنصر ریشه هستند. تمام عناصر شامل متغیرها باید با حروف کوچک نوشته شده و مقادیر نسبت داده شده به آن‌ها باید داخل علامت نقل قول قرار گیرد تا قابل شناسایی باشد. بر خلاف HTML، انجام این کار در XTML اجباری است.ارتباط HTML و CSS ? HTML و CSS دو نوع مختلف نشانه‌گذاری هستند که هر کدام ترتیب معینی برای نوشتن کد دارند. اما تفاوت مهمی بین این دو وجود دارد. می‌توان گفت که HTML ساختار صفحه را تشکیل می‌دهد در حالی که CSS ظاهر صفحه را به عهده دارد. تفاوت ظاهر سایت‌های مختلف به نحوه استفاده از CSS توسط طراح سایت بستگی دارد. در واقع CSS زبانی برای توصیف ظاهر صفحات وب شامل رنگ‌ها، چارچوب پیرامون عکس، نشانگر ماوس، آرایش و فونت‌ها (اندازه، رنگ، نوع) است. با استفاده از CSS می‌توان نمایش صفحه ‌را برای انواع مختلف دستگاه مانند صفحات بزرگ، صفحات کوچک و پرینترها تنظیم کرد. CSS مستقل از HTML است و می‌توان آن را با هر نوع زبان نشانه‌گذاری مبتنی بر XML به کار برد. تفکیک HTML از CSS حفظ و نگهداری وب سایت، اشتراک‌گذاری Style Sheet (شیوه‌نامه) بین صفحات و انطباق صفحات با محیط‌های مختلف را ساده‌تر می‌کند. به این کار تفکیک ساختار یا محتوا از نما یا ظاهر می‌گویند.بیشتر بخوانید:CSS را به سه طریق می‌توان به عناصر HTML اضافه کرد:- روش inline: از طریق استفاده از خصوصیت style در عناصر HTML (استایل‌های هر عنصر داخل تگ نوشته می‌شوند)<h1 style=&quotcolor:blue;&quot>This is a sample text</h1>- روش internal: از طریق عنصر <style> در بخش <head> (تمامی کدهای css صفحه در تگ head و style نوشته می‌شوند)<!DOCTYPE html> <html> <head> <style> body {background-color: red;} h1 {color: blue;} p {color: red;} </style> </head> <body> <h1>This is a heading</h1> <p>This is a paragraph.</p> </body> </html>- روش external: از طریق استفاده از یک فایل CSS خارجی (استایل‌ها در یک فایل CSS جداگانه نوشته شده و لینک آن در هدر صفحه گنجانده می‌شود و بهترین روش برای افزودن CSS به HTML محسوب می‌شود.)<head> <link rel=&quotstylesheet&quot href=&quotstyles.css&quot> </head>اگر به طراحی سایت علاقه دارید و دوست دارید با زبانی ساده پایه‌های طراحی وب را فرا بگیرید و پس از آن با دوره‌های تخصصی‌تر، مبانی پیشرفته طراحی سایت را آموزش ببینید، مقالات و ویدیوهای آینده ما را دنبال کنید. به زودی، در مقالات بعدی به آموزش گام به گام HTML می‌پردازیم.