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

اشکال زدایی
اشکال زدایی وظیفه بسیار مهمی در فرایند توسعه نرمافزار میباشد، زیرا یک برنامه غلط میتواند پیامدهای مهمی برای کاربر خود داشته باشد. بعضی از زبانها بیشتر در معرض برخی اشتباهات میباشند، به خاطر خصوصیاتشان نیاز به بررسی بیشتر کامپایلر نسبت به زبانهای دیگر ندارند.
زبان برنامهنویسی
اجرا و عملی ساختن الگوریتمهای انتزاعی وابسته به هم بهوسیله تولید یک برنامه رایانهای مشخص با ابزار زبان برنامهنویسی ممکن است.
پارادایمها
زبانهای برنامهنویسی گوناگون براساس قابلیتهای درنظر گرفته شده از شیوهٔ خطهای مختلف استفاده میکنند. موارد ریزتری مانند چگونگی برخورد با نیازهای پشت پردهٔ ماشین مانند مدیریت حافظه و مدیریت زباله نیز در زبانهای مختلف متفاوت است. علاوه بر اینها، مفاهیمی متفاوت از (اجرای) یک برنامه تصور شدهاند که پارادایم یا الگو نام دارند.
برنامهنویسی دستوری
برنامهنویسی دستوری (به انگلیسی: Imperative programming) در علوم رایانه یکی از شیوههای برنامهنویسی است که در آن مراحل اجرای یک برنامه کامپیوتری قدم به قدم توسط برنامه نویس بیان میشود. این بر خلاف زبانهای اعلانی است که در آنها تنها نتیجه انجام دستورات بیان میشود. به بیان دیگر در زبانهای دستوری چگونگی اجرای برنامه بیان میشود اما در زبانهای اعلانی چیستی نتیجه بیان میشود.
به عنوان مثال اگر قصد باز کردن دری را داشته باشیم و با زبان اعلانی این را بخواهیم بیان کنیم خواهیم گفت در را باز کن اما اگر با زبان دستوری بیان کنیم خواهیم گفت بلند شو، به طرف در نردیک شو، دستگیره را بگیر و در را به طرف بیرون هل بده.
زبان برنامهنویسی
زبانهای برنامهنویسی ساختارهای زبانی دستورمداری در رایانهها هستند که بهوسیلهٔ آنها میتوان یک الگوریتم را بهوسیلهٔ ساختارهای دستوری متفاوت برای اجرای رایانه توصیف کرد و با این روش امکان نوشتن برنامه جهت تولید نرمافزارهای جدید بوجود میآید. معمولاً هر زبان برنامهنویسی دارای یک محیط نرمافزاری برای وارد کردن متن برنامه، اجرا، همگردانی و رفع اشکال آن هستند. عموماً زبانهای برنامه نویسی را به پنج نسل تقسیم میکنند:
نسل اول زبان ماشین - زبان صفرو یک
نسل دوم زبانهایی مانند اسمبلی -قابل فهم تر برای انسان
نسل سوم زبانهایی مانند کوبول و پی ال وان و... -دستورات قابل فهم تر برای انسان و نیاز به کمپایلرها
نسل چهارم مثل زبانهای اوراکل و فاکس پرو و اس کیو الها - نزدیک به محاورههای انسانی
نسل پنج زبانهایی مانند prolog , ops5 - تمرکز بر حل مسئله و استفاده از الگوریتمهای نوشته شده توسط
برنامه نویس
یک زبان برنامه نویسی یک زبان مصنوعی است که برای بیان محاسباتی که توسط یک ماشین (مخصوصا رایانه) قابل انجام است، طراحی شدهاست.زبانهای برنامه نویسی برای ایجاد برنامههایی به کار میروند که رفتار یک ماشین را مشخص میکنند، الگوریتم دقیق را بیان میکنند، و یا روشی برای ارتباط انسانند. بسیاری از زبانهای برنامه نویسی تعدادی قالب از ویژگیهای نوشته شده دستوری(syntax) و معناشناسی (semantics) دارند، چرا که رایانهها دستورات دقیقاً مشخص نیاز دارند. برخی توسط سند خصوصیات (specification document) تعیین شدهاند. (برای مثال یک استاندارد ISO)، در حالی که برخی دیگر دارای پیاده سازی غالبی میباشند.(مانند Perl) اولین زبان برنامه نویسی به قبل از اختراع رایانه باز میگردد، و برای هدایت رفتار ماشینهایی مانند دستگاههای نساجی اتوماتیک و نوازندههای پیانو به کار میرفت. هزاران زبان برنامه نویسی خلق شدهاند، بیشتر در زمینهٔ رایانه، زمینهای که هر ساله بسیاری دیگر ایجاد میشوند.
تقسیمبندی
زبانهای برنامه نویسی را میتوان از چهار دیدگاه متفاوت مورد بررسی قرار داده و تقسیم بندی کرد: الف)روشهای برنامه نویسی ۱-زیر روالی ۲-ساخت یافته ۳-مدولار ۴-شئ گرا ب)نزدیکی به زبان ماشین ۱-سطح پایین ۲-سطح میانی ۳-سطح بالا ج)نوع ترجمه ۱-مفسری ۲-کامپایلری د)رابط برنامه نویسی ۱-مبتنی بر متن ۲-مبتنی بر گرافیک (ویژوال)
تعاریف
ویژگیهایی که غالباً برای تشکیل یک زبان برنامه نویسی مهم شمرده میشوند:
تابع :یک زبان برنامه نویسی، زبانی است که برای نوشتن برنامههای رایانهای به کار میرود که رایانهای را برای انجام محاسبات یا اجرای الگوریتم و یا احتمالاً کنترل دستگاههای خارجی مثل چاپگر، ربات و... درگیر میکنند.
هدف: زبانهای برنامه نویسی با زبانهای طبیعی تفاوت دارند و آن اینکه زبانهای طبیعی فقط برای فعل و انفعالات بین مردم به کار میروند، در حالیکه زبانهای برنامه نویسی همچنین به انسانها اجازه میدهد که از طریق دستورات با ماشینها ارتباط برقرار کنند. برخی زبانهای برنامه نویسی بوسیله یک دستگاه استفاده میشوند تا دستگاه دیگری را کنترل کند. برای مثال برنامههای پست اسکریپت(post script) غالباً توسط برنامه دیگری برای کنترل یک چاپگر و یا نمایشگر ایجاد میشوند.
ساختارها: زبانهای برنامه نویسی ممکن است ساختارهایی برای تعریف و تغییر داده ساختارها یا کنترل جریان اجرا داشته باشند.
توان بیانگر: نظریه محاسبات، زبانها را بوسیله محاسباتی که توان بیان آنها را دارند طبقه بندی میکند. تمام زبانهای "کامل تورینگ" میتوانند مجموعه یکسانی از الگوریتمها را پیاده سازی کنند.ANSI/ISO SQL و Charity مثالهایی هستند از زبانهایی که کامل تورینگ نیستند، ولی غالباً زبان برنامه نویسی نامیده میشوند.
برخی مولفین اصطلاح" زبان برنامه نویسی" را محدود به آنهایی میکنند که میتوانند تمام الگوریتمهای ممکن را پیاده سازی کنند، گاهی اوقات اصطلاح" زبان رایانه" برای زبانهای برنامه نویسی محدودتر به کار میرود. زبانهای غیر محاسباتی، مانند زبانهای مارک آپ(markup) HTML یا گرامرهای قراردادی مثل BNF، معمولاً زبان برنامه نویسی محسوب نمیشوند. یک زبان برنامه نویسی(که میتواند کامل تورینگ نباشد) ممکن است در این زبانهای غیر محاسباتی (میزبان) تعبیه شوند.
وبسایت یا تارنما چیست
مجموعه ای از فایلهای مختلف اعم از تصاویر، متون و یا فایلهای برنامه نویسی شده است که به منظوری خاص به شکلی با هم مرتبط شده اند. این فایلها روی یک کامپیوتر "میزبان" یا "سرور" قرار می گیرند و با یک نام دامنه مشترک فراخوانی می شوند. یکی از مهمترین سرویسهای وب، پست الکترونیک است.
انواع سایت
سایتها بر اساس کاربرد و نوع برنامه نویسی به چند دسته تقسیم می شوند که عبارت است از :
سایتهای ثابت (Static Website):
این سایتها یکبار طراحی می شوند و اطلاعات مورد نیاز در داخل آنها قرار می گیرد و پس از آن برای تغییر در آنها نیاز به یک طراح حرفه ای یا نیمه حرفه ای سایت است. زبان برنامه نویسی اینگونه از سایتها غالباً HTML و Java Script هستند که در نوع توسعه یافته تر از CSS نیز بهره گرفته می شود.
از آنجا که حجم کمتری از کد در طراحی سایتهای ثابت استفاده میشود سرعت بارگذاری (Loading) بالایی دارند. علاوه براین کاهش حجم کدها که باعث خوانایی بشتر سایت توسط رباتهای جستجوگر میشود از یک سو و کاهش زمان بارگذاری از سوی دیگر سبب بهتر شدن وضعیت آنها از لحاظ امتیاز دهی موتورهای جستجو یا همان "رنکینگ" می شود. سایتهای ثابت قیمت طراحی پایین تری را نیز عمدتاً نسبت به سایر سایتها دارند.
عدم امکان ایجاد تغییر در این نوع از سایتها توسط افراد عادی علاوه بر افزایش امنیت سبب بهرهمندی از گرافیک و ظاهری زیبا میشود چرا که همه چیز ثابت است از جمله متون و اندازه تصاویر و همچنین همه عناصر مکان مشخص و ثابتی را دارند در نتیجه می توان برای محل قرار گرفتن هر یک از اجزاء بهترین تصمیم را گرفت.
اما از طرفی نیز عدم امکان ایجاد تغییرات توسط افراد عادی سبب میشود تا امکان بروز رسانی سایت توسط صاحبان و مدیران سایت صلب شود.
نکته: سایتهای ثابت (Static) برای افراد، شرکتها و سازمانهایی مناسب است که حداکثر یک یا دو بار در سال نیازمند به تغییر در محتوای سایت هستند.
سایتهای پویا (Dynamic Website): محتوای سایتهای داینامیک بعد از طراحی توسط افراد عادی که دسترسی به سیستم مدیریت محتوای سایت را داشته باشند قابل تغییر است. زبان برنامه نویسی وبسایتهای پویا میتواند براساس نیاز متفاوت باشد اما عمدتاً از زبانهای ASP ، ASP.Net و Php استفاده میشود و از زبانهای کمکی CSS و Silver light و یا Ajax برای ایجاد قابلیتهای ویژه نیز بهره گرفته می شود.
در اینگونه از سایتها ابتدا اسکلت سایت توسط طراح ایجاد میشود و سپس محتوا توسط مدیران سایتها تغییر میکند مانند فرم قراردادی که یکبار توسط فردی ایجاد میشود و توسط افراد دیگری بارها تکمیل می شود، از این رو طراح نسبت به محل قرار گرفتن و اندازه دقیق متون و تصاویر و سایر عناصری که بعداً توسط مدیران سایتها تغییر میکند اطلاع ندارد بنابر این چاره ای ندارد جز اینکه همه حالات را در نظر بگیرد و اینکار سبب میشود تاحدودی از گرافیک و جلوه سایت کاسته شود.
یکی از مزیتهای سایتهای داینامیک این است که هیچ محدودیتی برای ایجاد، تغییر یا حذف مطالب، تصاویر و صفحات و غیره وجود ندارد.
با توجه به اینکه در سایتهای پویا از زبانهای برنامه نویسی پیشرفته استفاده میشود امکانات زیادی در آنها قابل ایجاد است مانند ایجاد صفحات هوشمند، فرمها و جستجوهای پیچیده.
استفاده زیاد از کدها سبب کند شدن بارگذاری سایت و امتیاز آن در موتورهای جستجو می شود.
نکته: سایتهای پویا برای افراد، شرکتها و سازمانهایی مناسب است که بیش از دوبار در سال نیاز به تغییر درمحتوای سایت را دارند.
پرتالها (Portal): پرتالها سایتهای پویای جامعی هستند که چند هدف خاص را در یک سایت دنبال می کنند به عبارت دیگر مجموع چند سایت پویا که برای رسیدن به هدفی خاص در کنار هم قرار گرفته اند را می توان پرتال نامید. به عنوان مثال پرتال خبری می تواند از چند سایت داینامیک تشکیل شده باشد که هر یک امکانات خاصی چون عضو گیری، انتشار اخبار، انتشار تصاویر، نظر سنجی و ... را در اختیار مدیران آن قرار دهد.
تمام ویژگیهای یک سایت پویا می تواند در یک پرتال نیز صدق کند.
نکته: معمولاً پرتالها توسط سازمانها، گروهها و شرکتها خریداری می شوند. به دلیل نیاز به بروز رسانی بخشهای مختلف اداره آنها توسط یک فرد بسیار مشکل است مگر آنکه به چشم یک کار حداقل پاره وقت به آن نگاه شود.
سایتهای متحرک استاتیک و نیمه داینامیک (Static and Dynamic Flash Website): سایتهای فلش یا متحرک دو نوع استاتیک و نیمه داینامیک هستند و توسط نرمافزارهای خاصی ایجاد می شوند در برخی موارد از XML یا Action Script برای ایجاد قابلیتهای تغییر یا هوشمندی در این سایتها بهره گرفته می شود.
به طور کلی سایتهای فلش ثابت (استاتیک) غیر قابل تغییر می باشند و مانند سایتهای ثابت یکبار توسط طراح ایجاد می شوند و برای تغییر آن نیاز است تا افراد به صورت حرفه ای یا نیمه حرفه ای از دانش طراحی فلش برخوردار باشند.
اما سایتهای فلش نیمه داینامیک یا نیمه پویا مانند سایتهای پویا عمل میکند و قابل تغییر هستند اما تغییر در آنها به سادگی سایتهای پویا نیست و وسعت ایجاد تغییرات نیز بسیار محدودتر است.
از مزیتهای وب سایتهای فلش جذابیت آنهاست. گرافیک زیبا و انیمیشنهای جذاب. اما از معایب عمده آنها میتوان به عدم خوانده شدن اطلاعات موجود در آنها توسط رباتهای جستجوگر و عمدتاً سرعت بسیار پایین بارگذاری اشاره کرد.
نکته: سایتهای فلش برای افراد و گروهها یا شرکتها و سازمانهایی مناسب است که نیاز به تبلیغات ندارند و عموم کاربران با آنها آشنا هستند مانند خوانندگان، سیاست مداران، بازیگران و گروههای موسیقی، هتلهای معروف، مکانهای توریستی.
سایتهای مجهز به سیستم مدیریت محتوا (Content Management Systems): سایتهای مجهز به سیستم مدیریت محتوا که در اصطلاح به CMS که مخفف Content Management System است مشهورند، وبسایتهایی از نوع پرتالها یا سایتهای پویا هستند که برای مصارف خاص توسط طراحان حرفه ای و یا شرکتهای طراحی حرفه ای ایجاد میشوند.
تمام مزایا و معایب مربوط به سایتهای پویا در مورد سایتهای مجهز به سیستم مدیریت محتوا صدق می کند.
البته در نظر داشته باشید که سایتهای پویا و پرتالها نیز مجهز به سیستم مدیریت محتوا هستند اما آنچه که در CMSها متفاوت است طراحی آنها و سیستمهای مدیریت محتوای آنها برای مصارف خاص است.
از مزایای سیستمهای مدیریت محتوا نسبت به سایر سایتهای داینامیک می توان به آماده بودن و جامع بودن آنها اشاره کرد. از این رو اغلب اینگونه از سایتها در کمتر از ۳ روز کاری قابل نصب و استفاده هستند.
طراحی سایتهای CMS مانند یک خط تولید محصول است و از آنجا که طراح باید نمونههای محدودی را به صورت انبوه تولید کند سعی در رعایت تمام اصول امنیتی، گرافیکی، موارد مربوط به رنکینگ و امتیاز موتورهای جستجو و سایر موارد موثر می کند.
با توجه به مزیتهای آنها به تمامی افراد، سازمانها و شرکتهایی که شرایط داشتن سایتهای داینامیک را دارند توصیه میشود تا ابتدا به دنبال سیستمهای مدیریت محتوای مخصوص به کار خود بگردند و در صورتی که پیدا نشد به طراحی سایتهای پویا روی بیاورند.
مزایای استفاده از وبسایت
وبسایتها مزایای فراوانی را برای مدیران و صاحبان خود به همراه دارند که مهمترین آنها به شرح زیرند:
تاثیر سایت در اطلاع رسانی:
داشتن یک سایت مانند داشتن یک کاتالوگ است اما با مزایای فراوان دیگر. یک کاتالوگ می تواند شامل تصاویر و متون باشد اما یک سایت میتواند از تصاویر، متون، فیلم و صوت و یا انیمیشن نیز بهره بگیرد بنابر این امکان اطلاع رسانی جامع با محتوایی جذاب تر را می دهد. برای طراحی، چاپ و انتشار هر نسخه از کاتالوگ نیاز به هزینه است اما برای یک سایت فقط کافیست هزینه ای بسیار پایین برای طراحی و نگهداری آن پرداخت شود و بعد از آن در طول سایت هزاران و یا میلیونها کاربر می توانند بارها و بارها از آن بازدید کنند.
تاثیر سایت در بازاریابی:
موتورهای جستجو بدون هزینه برای شمابازاریابی می کنند فقط کافیست رباتهای آنها سایت شما را پیدا کنند و از آن پس زمانی که فردی به دنبال هر یک از خدمات و یا محصولات و یا اطلاعات ارائه شده در سایت شما باشد، این موتورها فرد را به سمت سایت شما هدایت می کنند. میزان بازدید کننده هدایت شده به سایت به پارامترهای زیادی وابسته است اما در بدترین حالت چیزی در حدود ۵۰ نفر در روز توسط موتورهای جستجو به یک سایت هدایت می شوند.
ایجاد قابلیتهای جدید تبلیغاتی:
با داشتن یک وبسایت صاحبان و مدیران آن وارد عرصه تجارت الکترونیک می شوند و امکان استفاده از راهکارهای تجارت الکترونیک برای آنها بوجود می آید از مهمترین این قابلیتها میتوان به تبلیغات اینترنتی، تبلیغات در موتورهای جستجوگر، تبلیغات کلیکی و تبادل بنر و لینک اشاره کرد.
در دسترس بودن:
سایت همواره با متقاضیان اطلاعات و محصولات یا خدمات قابل ارائه توسط آن فقط یک کلیک فاصله دارد و در تمامی ساعات شبانه روز و روزهای تعطیل نیز فعال است.
فعالیت در خارج از مرزهای جغرافیایی:
امروزه یکی از ملزومات فعالیت بدون مرز سایت است و تقریباً هیچکس نمیتواند مدعی فعالیت خارج از مرزهای جغرافیایی شود در حالی که وبسایتی ندارد.
درآمد زایی:
میزان سودآوری و درآمد زایی سایتها به نوع سایت و اهداف آن بستگی دارد البته میزان فعالیت صاحبان سایتها و بروز رسانی و رسیدگی به آنها نیز عامل بسیار مهمی است. اما امروزه شرکتها و افراد بسیاری هستند که فقط از طریق سایت فعالیت می کنند و عمده درآمد آنها از طریق سایت و مشتریان آنلاین است.
وبمستر
وبمستر به طراحان وب، توسعه دهندگان وب، وبلاگ نویسان، مدیران وبسایت و تمامی افرادی که در مدیریت یک وبگاه نقش دارند گفته میشود.
برنامهنویس
اصطلاح برنامهنویس رایانه میتواند به کسی اطلاق شود که متخصص در یک زمینه از برنامهنویسی باشد یا شخصی که کد منبع برای انواع مختلفی از نرمافزارها مینویسد.
برنامهنویسی
برنامهنویسی رایانه در فرهنگ واژه غیر متخصّصین ممکن است به تمام پروژه ساخت نرمافزار یا برنامهٔ رایانهای گفته شود. با این همه برنامهنویسی تنها بخشی از فرایند توسعهٔ نرمافزار یا برنامه رایانهای است. اهمیت، توجه و منابع اختصاص داده شده به برنامهنویسی، بسته به ویژگیهای مشخص شده محصول و خواست افراد درگیر در پروژه و کاربران و در نهایت شیوهٔ انتخاب شده مهندسی نرمافزار متغیر است.
برنامهنویسی کامپیوتر (که اغلب در انگلیسی programming یا coding گفته میشود) فرایند نوشتن، اشکال زدایی(debug) و نگهداری کد منبع (source code) برنامه کامپیوتر میباشد. این کد منبع با یک زبان برنامه نویسی نوشته شده است. این کد منبع ممکن است تغییر داده شده یک کد قبلی و یا یک کد کاملاً جدید باشد. هدف برنامه نویسی ساختن یک برنامه میباشد که یک رفتار خواسته شده را به نمایش بگذارد.
تاریخچه
موضوع دستگاههایی که به دنبالهای از دستورالعملهای از قبل تعریف شده عمل میکند بر میگردد به Greek Mythology.
برنامه نویسی مدرن
اندازه گیری کاربرد زبان
تعیین اینکه محبوبترین زبان برنامه نویسی مدرن کدام است کار بسیار مشکلی است. بعضی از زبانها در کاربردهای خاصی محبوب است و بعضی دیگر مرتباً در نوشتن کاربردهای گوناگون استفاده میشود. روشهای اندازه گیری محبوبیت زبان شامل موارد زیر میباشد: شمردن تعداد آگهیهای اشتغال و توجه به یک زبان، تعداد کتابهای آموزشی فروخته شده در مورد یک زبان، تخمین تعداد خطوط کد نوشته شده در یک زبان
اشکال زدایی
اشکال زدایی وظیفه بسیار مهمی در فرایند توسعه نرمافزار میباشد، زیرا یک برنامه غلط میتواند پیامدهای مهمی برای کاربر خود داشته باشد. بعضی از زبانها بیشتر در معرض برخی اشتباهات میباشند، به خاطر خصوصیاتشان نیاز به بررسی بیشتر کامپایلر نسبت به زبانهای دیگر ندارند.
زبان برنامهنویسی
اجرا و عملی ساختن الگوریتمهای انتزاعی وابسته به هم بهوسیله تولید یک برنامه رایانهای مشخص با ابزار زبان برنامهنویسی ممکن است.
پارادایمها
زبانهای برنامهنویسی گوناگون براساس قابلیتهای درنظر گرفته شده از شیوهٔ خطهای مختلف استفاده میکنند. موارد ریزتری مانند چگونگی برخورد با نیازهای پشت پردهٔ ماشین مانند مدیریت حافظه و مدیریت زباله نیز در زبانهای مختلف متفاوت است. علاوه بر اینها، مفاهیمی متفاوت از (اجرای) یک برنامه تصور شدهاند که پارادایم یا الگو نام دارند.
برنامهنویسی دستوری
برنامهنویسی دستوری (به انگلیسی: Imperative programming) در علوم رایانه یکی از شیوههای برنامهنویسی است که در آن مراحل اجرای یک برنامه کامپیوتری قدم به قدم توسط برنامه نویس بیان میشود. این بر خلاف زبانهای اعلانی است که در آنها تنها نتیجه انجام دستورات بیان میشود. به بیان دیگر در زبانهای دستوری چگونگی اجرای برنامه بیان میشود اما در زبانهای اعلانی چیستی نتیجه بیان میشود.
به عنوان مثال اگر قصد باز کردن دری را داشته باشیم و با زبان اعلانی این را بخواهیم بیان کنیم خواهیم گفت در را باز کن اما اگر با زبان دستوری بیان کنیم خواهیم گفت بلند شو، به طرف در نردیک شو، دستگیره را بگیر و در را به طرف بیرون هل بده.
زبان برنامهنویسی
زبانهای برنامهنویسی ساختارهای زبانی دستورمداری در رایانهها هستند که بهوسیلهٔ آنها میتوان یک الگوریتم را بهوسیلهٔ ساختارهای دستوری متفاوت برای اجرای رایانه توصیف کرد و با این روش امکان نوشتن برنامه جهت تولید نرمافزارهای جدید بوجود میآید. معمولاً هر زبان برنامهنویسی دارای یک محیط نرمافزاری برای وارد کردن متن برنامه، اجرا، همگردانی و رفع اشکال آن هستند. عموماً زبانهای برنامه نویسی را به پنج نسل تقسیم میکنند:
نسل اول زبان ماشین - زبان صفرو یک
نسل دوم زبانهایی مانند اسمبلی -قابل فهم تر برای انسان
نسل سوم زبانهایی مانند کوبول و پی ال وان و... -دستورات قابل فهم تر برای انسان و نیاز به کمپایلرها
نسل چهارم مثل زبانهای اوراکل و فاکس پرو و اس کیو الها - نزدیک به محاورههای انسانی
نسل پنج زبانهایی مانند prolog , ops5 - تمرکز بر حل مسئله و استفاده از الگوریتمهای نوشته شده توسط
برنامه نویس
یک زبان برنامه نویسی یک زبان مصنوعی است که برای بیان محاسباتی که توسط یک ماشین (مخصوصا رایانه) قابل انجام است، طراحی شدهاست.زبانهای برنامه نویسی برای ایجاد برنامههایی به کار میروند که رفتار یک ماشین را مشخص میکنند، الگوریتم دقیق را بیان میکنند، و یا روشی برای ارتباط انسانند. بسیاری از زبانهای برنامه نویسی تعدادی قالب از ویژگیهای نوشته شده دستوری(syntax) و معناشناسی (semantics) دارند، چرا که رایانهها دستورات دقیقاً مشخص نیاز دارند. برخی توسط سند خصوصیات (specification document) تعیین شدهاند. (برای مثال یک استاندارد ISO)، در حالی که برخی دیگر دارای پیاده سازی غالبی میباشند.(مانند Perl) اولین زبان برنامه نویسی به قبل از اختراع رایانه باز میگردد، و برای هدایت رفتار ماشینهایی مانند دستگاههای نساجی اتوماتیک و نوازندههای پیانو به کار میرفت. هزاران زبان برنامه نویسی خلق شدهاند، بیشتر در زمینهٔ رایانه، زمینهای که هر ساله بسیاری دیگر ایجاد میشوند.
تقسیمبندی
زبانهای برنامه نویسی را میتوان از چهار دیدگاه متفاوت مورد بررسی قرار داده و تقسیم بندی کرد: الف)روشهای برنامه نویسی ۱-زیر روالی ۲-ساخت یافته ۳-مدولار ۴-شئ گرا ب)نزدیکی به زبان ماشین ۱-سطح پایین ۲-سطح میانی ۳-سطح بالا ج)نوع ترجمه ۱-مفسری ۲-کامپایلری د)رابط برنامه نویسی ۱-مبتنی بر متن ۲-مبتنی بر گرافیک (ویژوال)
تعاریف
ویژگیهایی که غالباً برای تشکیل یک زبان برنامه نویسی مهم شمرده میشوند:
تابع :یک زبان برنامه نویسی، زبانی است که برای نوشتن برنامههای رایانهای به کار میرود که رایانهای را برای انجام محاسبات یا اجرای الگوریتم و یا احتمالاً کنترل دستگاههای خارجی مثل چاپگر، ربات و... درگیر میکنند.
هدف: زبانهای برنامه نویسی با زبانهای طبیعی تفاوت دارند و آن اینکه زبانهای طبیعی فقط برای فعل و انفعالات بین مردم به کار میروند، در حالیکه زبانهای برنامه نویسی همچنین به انسانها اجازه میدهد که از طریق دستورات با ماشینها ارتباط برقرار کنند. برخی زبانهای برنامه نویسی بوسیله یک دستگاه استفاده میشوند تا دستگاه دیگری را کنترل کند. برای مثال برنامههای پست اسکریپت(post script) غالباً توسط برنامه دیگری برای کنترل یک چاپگر و یا نمایشگر ایجاد میشوند.
ساختارها: زبانهای برنامه نویسی ممکن است ساختارهایی برای تعریف و تغییر داده ساختارها یا کنترل جریان اجرا داشته باشند.
توان بیانگر: نظریه محاسبات، زبانها را بوسیله محاسباتی که توان بیان آنها را دارند طبقه بندی میکند. تمام زبانهای "کامل تورینگ" میتوانند مجموعه یکسانی از الگوریتمها را پیاده سازی کنند.ANSI/ISO SQL و Charity مثالهایی هستند از زبانهایی که کامل تورینگ نیستند، ولی غالباً زبان برنامه نویسی نامیده میشوند.
برخی مولفین اصطلاح" زبان برنامه نویسی" را محدود به آنهایی میکنند که میتوانند تمام الگوریتمهای ممکن را پیاده سازی کنند، گاهی اوقات اصطلاح" زبان رایانه" برای زبانهای برنامه نویسی محدودتر به کار میرود. زبانهای غیر محاسباتی، مانند زبانهای مارک آپ(markup) HTML یا گرامرهای قراردادی مثل BNF، معمولاً زبان برنامه نویسی محسوب نمیشوند. یک زبان برنامه نویسی(که میتواند کامل تورینگ نباشد) ممکن است در این زبانهای غیر محاسباتی (میزبان) تعبیه شوند.
keywords : سوله،سایت سوله،سوله مقالات
اندازه گیری کاربرد زبان
تعیین اینکه محبوبترین زبان برنامه نویسی مدرن کدام است کار بسیار مشکلی است. بعضی از زبانها در کاربردهای خاصی محبوب است و بعضی دیگر مرتباً در نوشتن کاربردهای گوناگون استفاده میشود. روشهای اندازه گیری محبوبیت زبان شامل موارد زیر میباشد: شمردن تعداد آگهیهای اشتغال و توجه به یک زبان، تعداد کتابهای آموزشی فروخته شده در مورد یک زبان، تخمین تعداد خطوط کد نوشته شده در یک زبان

اشکال زدایی
اشکال زدایی وظیفه بسیار مهمی در فرایند توسعه نرمافزار میباشد، زیرا یک برنامه غلط میتواند پیامدهای مهمی برای کاربر خود داشته باشد. بعضی از زبانها بیشتر در معرض برخی اشتباهات میباشند، به خاطر خصوصیاتشان نیاز به بررسی بیشتر کامپایلر نسبت به زبانهای دیگر ندارند.
زبان برنامهنویسی
اجرا و عملی ساختن الگوریتمهای انتزاعی وابسته به هم بهوسیله تولید یک برنامه رایانهای مشخص با ابزار زبان برنامهنویسی ممکن است.
پارادایمها
زبانهای برنامهنویسی گوناگون براساس قابلیتهای درنظر گرفته شده از شیوهٔ خطهای مختلف استفاده میکنند. موارد ریزتری مانند چگونگی برخورد با نیازهای پشت پردهٔ ماشین مانند مدیریت حافظه و مدیریت زباله نیز در زبانهای مختلف متفاوت است. علاوه بر اینها، مفاهیمی متفاوت از (اجرای) یک برنامه تصور شدهاند که پارادایم یا الگو نام دارند.
برنامهنویسی دستوری
برنامهنویسی دستوری (به انگلیسی: Imperative programming) در علوم رایانه یکی از شیوههای برنامهنویسی است که در آن مراحل اجرای یک برنامه کامپیوتری قدم به قدم توسط برنامه نویس بیان میشود. این بر خلاف زبانهای اعلانی است که در آنها تنها نتیجه انجام دستورات بیان میشود. به بیان دیگر در زبانهای دستوری چگونگی اجرای برنامه بیان میشود اما در زبانهای اعلانی چیستی نتیجه بیان میشود.
به عنوان مثال اگر قصد باز کردن دری را داشته باشیم و با زبان اعلانی این را بخواهیم بیان کنیم خواهیم گفت در را باز کن اما اگر با زبان دستوری بیان کنیم خواهیم گفت بلند شو، به طرف در نردیک شو، دستگیره را بگیر و در را به طرف بیرون هل بده.
زبان برنامهنویسی
زبانهای برنامهنویسی ساختارهای زبانی دستورمداری در رایانهها هستند که بهوسیلهٔ آنها میتوان یک الگوریتم را بهوسیلهٔ ساختارهای دستوری متفاوت برای اجرای رایانه توصیف کرد و با این روش امکان نوشتن برنامه جهت تولید نرمافزارهای جدید بوجود میآید. معمولاً هر زبان برنامهنویسی دارای یک محیط نرمافزاری برای وارد کردن متن برنامه، اجرا، همگردانی و رفع اشکال آن هستند. عموماً زبانهای برنامه نویسی را به پنج نسل تقسیم میکنند:
نسل اول زبان ماشین - زبان صفرو یک
نسل دوم زبانهایی مانند اسمبلی -قابل فهم تر برای انسان
نسل سوم زبانهایی مانند کوبول و پی ال وان و... -دستورات قابل فهم تر برای انسان و نیاز به کمپایلرها
نسل چهارم مثل زبانهای اوراکل و فاکس پرو و اس کیو الها - نزدیک به محاورههای انسانی
نسل پنج زبانهایی مانند prolog , ops5 - تمرکز بر حل مسئله و استفاده از الگوریتمهای نوشته شده توسط
برنامه نویس
یک زبان برنامه نویسی یک زبان مصنوعی است که برای بیان محاسباتی که توسط یک ماشین (مخصوصا رایانه) قابل انجام است، طراحی شدهاست.زبانهای برنامه نویسی برای ایجاد برنامههایی به کار میروند که رفتار یک ماشین را مشخص میکنند، الگوریتم دقیق را بیان میکنند، و یا روشی برای ارتباط انسانند. بسیاری از زبانهای برنامه نویسی تعدادی قالب از ویژگیهای نوشته شده دستوری(syntax) و معناشناسی (semantics) دارند، چرا که رایانهها دستورات دقیقاً مشخص نیاز دارند. برخی توسط سند خصوصیات (specification document) تعیین شدهاند. (برای مثال یک استاندارد ISO)، در حالی که برخی دیگر دارای پیاده سازی غالبی میباشند.(مانند Perl) اولین زبان برنامه نویسی به قبل از اختراع رایانه باز میگردد، و برای هدایت رفتار ماشینهایی مانند دستگاههای نساجی اتوماتیک و نوازندههای پیانو به کار میرفت. هزاران زبان برنامه نویسی خلق شدهاند، بیشتر در زمینهٔ رایانه، زمینهای که هر ساله بسیاری دیگر ایجاد میشوند.
تقسیمبندی
زبانهای برنامه نویسی را میتوان از چهار دیدگاه متفاوت مورد بررسی قرار داده و تقسیم بندی کرد: الف)روشهای برنامه نویسی ۱-زیر روالی ۲-ساخت یافته ۳-مدولار ۴-شئ گرا ب)نزدیکی به زبان ماشین ۱-سطح پایین ۲-سطح میانی ۳-سطح بالا ج)نوع ترجمه ۱-مفسری ۲-کامپایلری د)رابط برنامه نویسی ۱-مبتنی بر متن ۲-مبتنی بر گرافیک (ویژوال)
تعاریف
ویژگیهایی که غالباً برای تشکیل یک زبان برنامه نویسی مهم شمرده میشوند:
تابع :یک زبان برنامه نویسی، زبانی است که برای نوشتن برنامههای رایانهای به کار میرود که رایانهای را برای انجام محاسبات یا اجرای الگوریتم و یا احتمالاً کنترل دستگاههای خارجی مثل چاپگر، ربات و... درگیر میکنند.
هدف: زبانهای برنامه نویسی با زبانهای طبیعی تفاوت دارند و آن اینکه زبانهای طبیعی فقط برای فعل و انفعالات بین مردم به کار میروند، در حالیکه زبانهای برنامه نویسی همچنین به انسانها اجازه میدهد که از طریق دستورات با ماشینها ارتباط برقرار کنند. برخی زبانهای برنامه نویسی بوسیله یک دستگاه استفاده میشوند تا دستگاه دیگری را کنترل کند. برای مثال برنامههای پست اسکریپت(post script) غالباً توسط برنامه دیگری برای کنترل یک چاپگر و یا نمایشگر ایجاد میشوند.
ساختارها: زبانهای برنامه نویسی ممکن است ساختارهایی برای تعریف و تغییر داده ساختارها یا کنترل جریان اجرا داشته باشند.
توان بیانگر: نظریه محاسبات، زبانها را بوسیله محاسباتی که توان بیان آنها را دارند طبقه بندی میکند. تمام زبانهای "کامل تورینگ" میتوانند مجموعه یکسانی از الگوریتمها را پیاده سازی کنند.ANSI/ISO SQL و Charity مثالهایی هستند از زبانهایی که کامل تورینگ نیستند، ولی غالباً زبان برنامه نویسی نامیده میشوند.
برخی مولفین اصطلاح" زبان برنامه نویسی" را محدود به آنهایی میکنند که میتوانند تمام الگوریتمهای ممکن را پیاده سازی کنند، گاهی اوقات اصطلاح" زبان رایانه" برای زبانهای برنامه نویسی محدودتر به کار میرود. زبانهای غیر محاسباتی، مانند زبانهای مارک آپ(markup) HTML یا گرامرهای قراردادی مثل BNF، معمولاً زبان برنامه نویسی محسوب نمیشوند. یک زبان برنامه نویسی(که میتواند کامل تورینگ نباشد) ممکن است در این زبانهای غیر محاسباتی (میزبان) تعبیه شوند.
وبسایت یا تارنما چیست
مجموعه ای از فایلهای مختلف اعم از تصاویر، متون و یا فایلهای برنامه نویسی شده است که به منظوری خاص به شکلی با هم مرتبط شده اند. این فایلها روی یک کامپیوتر "میزبان" یا "سرور" قرار می گیرند و با یک نام دامنه مشترک فراخوانی می شوند. یکی از مهمترین سرویسهای وب، پست الکترونیک است.
انواع سایت
سایتها بر اساس کاربرد و نوع برنامه نویسی به چند دسته تقسیم می شوند که عبارت است از :
سایتهای ثابت (Static Website):
این سایتها یکبار طراحی می شوند و اطلاعات مورد نیاز در داخل آنها قرار می گیرد و پس از آن برای تغییر در آنها نیاز به یک طراح حرفه ای یا نیمه حرفه ای سایت است. زبان برنامه نویسی اینگونه از سایتها غالباً HTML و Java Script هستند که در نوع توسعه یافته تر از CSS نیز بهره گرفته می شود.
از آنجا که حجم کمتری از کد در طراحی سایتهای ثابت استفاده میشود سرعت بارگذاری (Loading) بالایی دارند. علاوه براین کاهش حجم کدها که باعث خوانایی بشتر سایت توسط رباتهای جستجوگر میشود از یک سو و کاهش زمان بارگذاری از سوی دیگر سبب بهتر شدن وضعیت آنها از لحاظ امتیاز دهی موتورهای جستجو یا همان "رنکینگ" می شود. سایتهای ثابت قیمت طراحی پایین تری را نیز عمدتاً نسبت به سایر سایتها دارند.
عدم امکان ایجاد تغییر در این نوع از سایتها توسط افراد عادی علاوه بر افزایش امنیت سبب بهرهمندی از گرافیک و ظاهری زیبا میشود چرا که همه چیز ثابت است از جمله متون و اندازه تصاویر و همچنین همه عناصر مکان مشخص و ثابتی را دارند در نتیجه می توان برای محل قرار گرفتن هر یک از اجزاء بهترین تصمیم را گرفت.
اما از طرفی نیز عدم امکان ایجاد تغییرات توسط افراد عادی سبب میشود تا امکان بروز رسانی سایت توسط صاحبان و مدیران سایت صلب شود.
نکته: سایتهای ثابت (Static) برای افراد، شرکتها و سازمانهایی مناسب است که حداکثر یک یا دو بار در سال نیازمند به تغییر در محتوای سایت هستند.
سایتهای پویا (Dynamic Website): محتوای سایتهای داینامیک بعد از طراحی توسط افراد عادی که دسترسی به سیستم مدیریت محتوای سایت را داشته باشند قابل تغییر است. زبان برنامه نویسی وبسایتهای پویا میتواند براساس نیاز متفاوت باشد اما عمدتاً از زبانهای ASP ، ASP.Net و Php استفاده میشود و از زبانهای کمکی CSS و Silver light و یا Ajax برای ایجاد قابلیتهای ویژه نیز بهره گرفته می شود.
در اینگونه از سایتها ابتدا اسکلت سایت توسط طراح ایجاد میشود و سپس محتوا توسط مدیران سایتها تغییر میکند مانند فرم قراردادی که یکبار توسط فردی ایجاد میشود و توسط افراد دیگری بارها تکمیل می شود، از این رو طراح نسبت به محل قرار گرفتن و اندازه دقیق متون و تصاویر و سایر عناصری که بعداً توسط مدیران سایتها تغییر میکند اطلاع ندارد بنابر این چاره ای ندارد جز اینکه همه حالات را در نظر بگیرد و اینکار سبب میشود تاحدودی از گرافیک و جلوه سایت کاسته شود.
یکی از مزیتهای سایتهای داینامیک این است که هیچ محدودیتی برای ایجاد، تغییر یا حذف مطالب، تصاویر و صفحات و غیره وجود ندارد.
با توجه به اینکه در سایتهای پویا از زبانهای برنامه نویسی پیشرفته استفاده میشود امکانات زیادی در آنها قابل ایجاد است مانند ایجاد صفحات هوشمند، فرمها و جستجوهای پیچیده.
استفاده زیاد از کدها سبب کند شدن بارگذاری سایت و امتیاز آن در موتورهای جستجو می شود.
نکته: سایتهای پویا برای افراد، شرکتها و سازمانهایی مناسب است که بیش از دوبار در سال نیاز به تغییر درمحتوای سایت را دارند.
پرتالها (Portal): پرتالها سایتهای پویای جامعی هستند که چند هدف خاص را در یک سایت دنبال می کنند به عبارت دیگر مجموع چند سایت پویا که برای رسیدن به هدفی خاص در کنار هم قرار گرفته اند را می توان پرتال نامید. به عنوان مثال پرتال خبری می تواند از چند سایت داینامیک تشکیل شده باشد که هر یک امکانات خاصی چون عضو گیری، انتشار اخبار، انتشار تصاویر، نظر سنجی و ... را در اختیار مدیران آن قرار دهد.
تمام ویژگیهای یک سایت پویا می تواند در یک پرتال نیز صدق کند.
نکته: معمولاً پرتالها توسط سازمانها، گروهها و شرکتها خریداری می شوند. به دلیل نیاز به بروز رسانی بخشهای مختلف اداره آنها توسط یک فرد بسیار مشکل است مگر آنکه به چشم یک کار حداقل پاره وقت به آن نگاه شود.
سایتهای متحرک استاتیک و نیمه داینامیک (Static and Dynamic Flash Website): سایتهای فلش یا متحرک دو نوع استاتیک و نیمه داینامیک هستند و توسط نرمافزارهای خاصی ایجاد می شوند در برخی موارد از XML یا Action Script برای ایجاد قابلیتهای تغییر یا هوشمندی در این سایتها بهره گرفته می شود.
به طور کلی سایتهای فلش ثابت (استاتیک) غیر قابل تغییر می باشند و مانند سایتهای ثابت یکبار توسط طراح ایجاد می شوند و برای تغییر آن نیاز است تا افراد به صورت حرفه ای یا نیمه حرفه ای از دانش طراحی فلش برخوردار باشند.
اما سایتهای فلش نیمه داینامیک یا نیمه پویا مانند سایتهای پویا عمل میکند و قابل تغییر هستند اما تغییر در آنها به سادگی سایتهای پویا نیست و وسعت ایجاد تغییرات نیز بسیار محدودتر است.
از مزیتهای وب سایتهای فلش جذابیت آنهاست. گرافیک زیبا و انیمیشنهای جذاب. اما از معایب عمده آنها میتوان به عدم خوانده شدن اطلاعات موجود در آنها توسط رباتهای جستجوگر و عمدتاً سرعت بسیار پایین بارگذاری اشاره کرد.
نکته: سایتهای فلش برای افراد و گروهها یا شرکتها و سازمانهایی مناسب است که نیاز به تبلیغات ندارند و عموم کاربران با آنها آشنا هستند مانند خوانندگان، سیاست مداران، بازیگران و گروههای موسیقی، هتلهای معروف، مکانهای توریستی.
سایتهای مجهز به سیستم مدیریت محتوا (Content Management Systems): سایتهای مجهز به سیستم مدیریت محتوا که در اصطلاح به CMS که مخفف Content Management System است مشهورند، وبسایتهایی از نوع پرتالها یا سایتهای پویا هستند که برای مصارف خاص توسط طراحان حرفه ای و یا شرکتهای طراحی حرفه ای ایجاد میشوند.
تمام مزایا و معایب مربوط به سایتهای پویا در مورد سایتهای مجهز به سیستم مدیریت محتوا صدق می کند.
البته در نظر داشته باشید که سایتهای پویا و پرتالها نیز مجهز به سیستم مدیریت محتوا هستند اما آنچه که در CMSها متفاوت است طراحی آنها و سیستمهای مدیریت محتوای آنها برای مصارف خاص است.
از مزایای سیستمهای مدیریت محتوا نسبت به سایر سایتهای داینامیک می توان به آماده بودن و جامع بودن آنها اشاره کرد. از این رو اغلب اینگونه از سایتها در کمتر از ۳ روز کاری قابل نصب و استفاده هستند.
طراحی سایتهای CMS مانند یک خط تولید محصول است و از آنجا که طراح باید نمونههای محدودی را به صورت انبوه تولید کند سعی در رعایت تمام اصول امنیتی، گرافیکی، موارد مربوط به رنکینگ و امتیاز موتورهای جستجو و سایر موارد موثر می کند.
با توجه به مزیتهای آنها به تمامی افراد، سازمانها و شرکتهایی که شرایط داشتن سایتهای داینامیک را دارند توصیه میشود تا ابتدا به دنبال سیستمهای مدیریت محتوای مخصوص به کار خود بگردند و در صورتی که پیدا نشد به طراحی سایتهای پویا روی بیاورند.
مزایای استفاده از وبسایت
وبسایتها مزایای فراوانی را برای مدیران و صاحبان خود به همراه دارند که مهمترین آنها به شرح زیرند:
تاثیر سایت در اطلاع رسانی:
داشتن یک سایت مانند داشتن یک کاتالوگ است اما با مزایای فراوان دیگر. یک کاتالوگ می تواند شامل تصاویر و متون باشد اما یک سایت میتواند از تصاویر، متون، فیلم و صوت و یا انیمیشن نیز بهره بگیرد بنابر این امکان اطلاع رسانی جامع با محتوایی جذاب تر را می دهد. برای طراحی، چاپ و انتشار هر نسخه از کاتالوگ نیاز به هزینه است اما برای یک سایت فقط کافیست هزینه ای بسیار پایین برای طراحی و نگهداری آن پرداخت شود و بعد از آن در طول سایت هزاران و یا میلیونها کاربر می توانند بارها و بارها از آن بازدید کنند.
تاثیر سایت در بازاریابی:
موتورهای جستجو بدون هزینه برای شمابازاریابی می کنند فقط کافیست رباتهای آنها سایت شما را پیدا کنند و از آن پس زمانی که فردی به دنبال هر یک از خدمات و یا محصولات و یا اطلاعات ارائه شده در سایت شما باشد، این موتورها فرد را به سمت سایت شما هدایت می کنند. میزان بازدید کننده هدایت شده به سایت به پارامترهای زیادی وابسته است اما در بدترین حالت چیزی در حدود ۵۰ نفر در روز توسط موتورهای جستجو به یک سایت هدایت می شوند.
ایجاد قابلیتهای جدید تبلیغاتی:
با داشتن یک وبسایت صاحبان و مدیران آن وارد عرصه تجارت الکترونیک می شوند و امکان استفاده از راهکارهای تجارت الکترونیک برای آنها بوجود می آید از مهمترین این قابلیتها میتوان به تبلیغات اینترنتی، تبلیغات در موتورهای جستجوگر، تبلیغات کلیکی و تبادل بنر و لینک اشاره کرد.
در دسترس بودن:
سایت همواره با متقاضیان اطلاعات و محصولات یا خدمات قابل ارائه توسط آن فقط یک کلیک فاصله دارد و در تمامی ساعات شبانه روز و روزهای تعطیل نیز فعال است.
فعالیت در خارج از مرزهای جغرافیایی:
امروزه یکی از ملزومات فعالیت بدون مرز سایت است و تقریباً هیچکس نمیتواند مدعی فعالیت خارج از مرزهای جغرافیایی شود در حالی که وبسایتی ندارد.
درآمد زایی:
میزان سودآوری و درآمد زایی سایتها به نوع سایت و اهداف آن بستگی دارد البته میزان فعالیت صاحبان سایتها و بروز رسانی و رسیدگی به آنها نیز عامل بسیار مهمی است. اما امروزه شرکتها و افراد بسیاری هستند که فقط از طریق سایت فعالیت می کنند و عمده درآمد آنها از طریق سایت و مشتریان آنلاین است.
وبمستر
وبمستر به طراحان وب، توسعه دهندگان وب، وبلاگ نویسان، مدیران وبسایت و تمامی افرادی که در مدیریت یک وبگاه نقش دارند گفته میشود.
برنامهنویس
اصطلاح برنامهنویس رایانه میتواند به کسی اطلاق شود که متخصص در یک زمینه از برنامهنویسی باشد یا شخصی که کد منبع برای انواع مختلفی از نرمافزارها مینویسد.
برنامهنویسی
برنامهنویسی رایانه در فرهنگ واژه غیر متخصّصین ممکن است به تمام پروژه ساخت نرمافزار یا برنامهٔ رایانهای گفته شود. با این همه برنامهنویسی تنها بخشی از فرایند توسعهٔ نرمافزار یا برنامه رایانهای است. اهمیت، توجه و منابع اختصاص داده شده به برنامهنویسی، بسته به ویژگیهای مشخص شده محصول و خواست افراد درگیر در پروژه و کاربران و در نهایت شیوهٔ انتخاب شده مهندسی نرمافزار متغیر است.
برنامهنویسی کامپیوتر (که اغلب در انگلیسی programming یا coding گفته میشود) فرایند نوشتن، اشکال زدایی(debug) و نگهداری کد منبع (source code) برنامه کامپیوتر میباشد. این کد منبع با یک زبان برنامه نویسی نوشته شده است. این کد منبع ممکن است تغییر داده شده یک کد قبلی و یا یک کد کاملاً جدید باشد. هدف برنامه نویسی ساختن یک برنامه میباشد که یک رفتار خواسته شده را به نمایش بگذارد.
تاریخچه
موضوع دستگاههایی که به دنبالهای از دستورالعملهای از قبل تعریف شده عمل میکند بر میگردد به Greek Mythology.
برنامه نویسی مدرن
اندازه گیری کاربرد زبان
تعیین اینکه محبوبترین زبان برنامه نویسی مدرن کدام است کار بسیار مشکلی است. بعضی از زبانها در کاربردهای خاصی محبوب است و بعضی دیگر مرتباً در نوشتن کاربردهای گوناگون استفاده میشود. روشهای اندازه گیری محبوبیت زبان شامل موارد زیر میباشد: شمردن تعداد آگهیهای اشتغال و توجه به یک زبان، تعداد کتابهای آموزشی فروخته شده در مورد یک زبان، تخمین تعداد خطوط کد نوشته شده در یک زبان
اشکال زدایی
اشکال زدایی وظیفه بسیار مهمی در فرایند توسعه نرمافزار میباشد، زیرا یک برنامه غلط میتواند پیامدهای مهمی برای کاربر خود داشته باشد. بعضی از زبانها بیشتر در معرض برخی اشتباهات میباشند، به خاطر خصوصیاتشان نیاز به بررسی بیشتر کامپایلر نسبت به زبانهای دیگر ندارند.
زبان برنامهنویسی
اجرا و عملی ساختن الگوریتمهای انتزاعی وابسته به هم بهوسیله تولید یک برنامه رایانهای مشخص با ابزار زبان برنامهنویسی ممکن است.
پارادایمها
زبانهای برنامهنویسی گوناگون براساس قابلیتهای درنظر گرفته شده از شیوهٔ خطهای مختلف استفاده میکنند. موارد ریزتری مانند چگونگی برخورد با نیازهای پشت پردهٔ ماشین مانند مدیریت حافظه و مدیریت زباله نیز در زبانهای مختلف متفاوت است. علاوه بر اینها، مفاهیمی متفاوت از (اجرای) یک برنامه تصور شدهاند که پارادایم یا الگو نام دارند.
برنامهنویسی دستوری
برنامهنویسی دستوری (به انگلیسی: Imperative programming) در علوم رایانه یکی از شیوههای برنامهنویسی است که در آن مراحل اجرای یک برنامه کامپیوتری قدم به قدم توسط برنامه نویس بیان میشود. این بر خلاف زبانهای اعلانی است که در آنها تنها نتیجه انجام دستورات بیان میشود. به بیان دیگر در زبانهای دستوری چگونگی اجرای برنامه بیان میشود اما در زبانهای اعلانی چیستی نتیجه بیان میشود.
به عنوان مثال اگر قصد باز کردن دری را داشته باشیم و با زبان اعلانی این را بخواهیم بیان کنیم خواهیم گفت در را باز کن اما اگر با زبان دستوری بیان کنیم خواهیم گفت بلند شو، به طرف در نردیک شو، دستگیره را بگیر و در را به طرف بیرون هل بده.
زبان برنامهنویسی
زبانهای برنامهنویسی ساختارهای زبانی دستورمداری در رایانهها هستند که بهوسیلهٔ آنها میتوان یک الگوریتم را بهوسیلهٔ ساختارهای دستوری متفاوت برای اجرای رایانه توصیف کرد و با این روش امکان نوشتن برنامه جهت تولید نرمافزارهای جدید بوجود میآید. معمولاً هر زبان برنامهنویسی دارای یک محیط نرمافزاری برای وارد کردن متن برنامه، اجرا، همگردانی و رفع اشکال آن هستند. عموماً زبانهای برنامه نویسی را به پنج نسل تقسیم میکنند:
نسل اول زبان ماشین - زبان صفرو یک
نسل دوم زبانهایی مانند اسمبلی -قابل فهم تر برای انسان
نسل سوم زبانهایی مانند کوبول و پی ال وان و... -دستورات قابل فهم تر برای انسان و نیاز به کمپایلرها
نسل چهارم مثل زبانهای اوراکل و فاکس پرو و اس کیو الها - نزدیک به محاورههای انسانی
نسل پنج زبانهایی مانند prolog , ops5 - تمرکز بر حل مسئله و استفاده از الگوریتمهای نوشته شده توسط
برنامه نویس
یک زبان برنامه نویسی یک زبان مصنوعی است که برای بیان محاسباتی که توسط یک ماشین (مخصوصا رایانه) قابل انجام است، طراحی شدهاست.زبانهای برنامه نویسی برای ایجاد برنامههایی به کار میروند که رفتار یک ماشین را مشخص میکنند، الگوریتم دقیق را بیان میکنند، و یا روشی برای ارتباط انسانند. بسیاری از زبانهای برنامه نویسی تعدادی قالب از ویژگیهای نوشته شده دستوری(syntax) و معناشناسی (semantics) دارند، چرا که رایانهها دستورات دقیقاً مشخص نیاز دارند. برخی توسط سند خصوصیات (specification document) تعیین شدهاند. (برای مثال یک استاندارد ISO)، در حالی که برخی دیگر دارای پیاده سازی غالبی میباشند.(مانند Perl) اولین زبان برنامه نویسی به قبل از اختراع رایانه باز میگردد، و برای هدایت رفتار ماشینهایی مانند دستگاههای نساجی اتوماتیک و نوازندههای پیانو به کار میرفت. هزاران زبان برنامه نویسی خلق شدهاند، بیشتر در زمینهٔ رایانه، زمینهای که هر ساله بسیاری دیگر ایجاد میشوند.
تقسیمبندی
زبانهای برنامه نویسی را میتوان از چهار دیدگاه متفاوت مورد بررسی قرار داده و تقسیم بندی کرد: الف)روشهای برنامه نویسی ۱-زیر روالی ۲-ساخت یافته ۳-مدولار ۴-شئ گرا ب)نزدیکی به زبان ماشین ۱-سطح پایین ۲-سطح میانی ۳-سطح بالا ج)نوع ترجمه ۱-مفسری ۲-کامپایلری د)رابط برنامه نویسی ۱-مبتنی بر متن ۲-مبتنی بر گرافیک (ویژوال)
تعاریف
ویژگیهایی که غالباً برای تشکیل یک زبان برنامه نویسی مهم شمرده میشوند:
تابع :یک زبان برنامه نویسی، زبانی است که برای نوشتن برنامههای رایانهای به کار میرود که رایانهای را برای انجام محاسبات یا اجرای الگوریتم و یا احتمالاً کنترل دستگاههای خارجی مثل چاپگر، ربات و... درگیر میکنند.
هدف: زبانهای برنامه نویسی با زبانهای طبیعی تفاوت دارند و آن اینکه زبانهای طبیعی فقط برای فعل و انفعالات بین مردم به کار میروند، در حالیکه زبانهای برنامه نویسی همچنین به انسانها اجازه میدهد که از طریق دستورات با ماشینها ارتباط برقرار کنند. برخی زبانهای برنامه نویسی بوسیله یک دستگاه استفاده میشوند تا دستگاه دیگری را کنترل کند. برای مثال برنامههای پست اسکریپت(post script) غالباً توسط برنامه دیگری برای کنترل یک چاپگر و یا نمایشگر ایجاد میشوند.
ساختارها: زبانهای برنامه نویسی ممکن است ساختارهایی برای تعریف و تغییر داده ساختارها یا کنترل جریان اجرا داشته باشند.
توان بیانگر: نظریه محاسبات، زبانها را بوسیله محاسباتی که توان بیان آنها را دارند طبقه بندی میکند. تمام زبانهای "کامل تورینگ" میتوانند مجموعه یکسانی از الگوریتمها را پیاده سازی کنند.ANSI/ISO SQL و Charity مثالهایی هستند از زبانهایی که کامل تورینگ نیستند، ولی غالباً زبان برنامه نویسی نامیده میشوند.
برخی مولفین اصطلاح" زبان برنامه نویسی" را محدود به آنهایی میکنند که میتوانند تمام الگوریتمهای ممکن را پیاده سازی کنند، گاهی اوقات اصطلاح" زبان رایانه" برای زبانهای برنامه نویسی محدودتر به کار میرود. زبانهای غیر محاسباتی، مانند زبانهای مارک آپ(markup) HTML یا گرامرهای قراردادی مثل BNF، معمولاً زبان برنامه نویسی محسوب نمیشوند. یک زبان برنامه نویسی(که میتواند کامل تورینگ نباشد) ممکن است در این زبانهای غیر محاسباتی (میزبان) تعبیه شوند.
keywords : سوله،سایت سوله،سوله مقالات