مکانیک آماری، یکی از مباحث مطرح در فیزیک است که به سیستمهایی با تعداد متغیرهای بسیار زیاد میپردازد. این متغیرها میتوانند ذراتی چون اتمها، مولکولها، یا ذرات بنیادی باشند که تعداد آنها میتواند هممرتبه با عدد آووگادرو باشد.

در این مبحث، با استفاده از خاصیتهای میکروسکوپی این ذرات مانند ساختار اتمی و برهمکنش بین آنها، اطلاعاتی در مورد خواص ماکروسکوپی سیستم مانند فشار، انتروپی و انرژی آزاد گیبس، از طریق محاسبات و روشهای آماری به دست میآید. مثلاً معادلههای حالت در ترمودینامیک توسط مدلهای میکروسکوپی-آماری مشتق میشوند.
مکانیک آماری شکوفایی خود را قبل از همه، مدیون دانشمندان کلاسیکی نظیر لودویگ بولتزمان، جوسایا ویلارد گیبز و جیمز کلرک ماکسول میباشد.
میانهها و شاخصهای آماری
میانهها وشاخصهای آماری ترتیبی
iامین شاخص آمار ترتیبی یک مجموعه n عضوی، iامین عضو کوچک است. به عنوان مثال، مینیمم یک مجموعه از اعضا، اولین شاخص آمار ترتیبی (i=۱)است و ماکزیمم، nامین شاخص آمار ترتیبی (i=n)است. میانه، به طور غیر رسمی، نقطهٔ میانی مجموعهاست. هنگامی که n فرد است، میانه منحصر به فرد است که در i=(n+۱)/۲ رخ میدهد. وقتی n زوج است، دو میانه وجود دارند که در i=n/۲ و i=n/۲+۱ رخ میدهند. این مقاله انتخاب iامین شاخص آمار ترتیبی از یک مجموعه با n عضو مجزا را بیان میکند. مسئله انتخاب میتواند به طور رسمی به شکل زیر تعیین شود: ورودی: مجموعه A با n عدد(مجزا) و عدد i، که i بزرگتر یا مساوی ۱ و کوچکتر یا مساوی با n است. خروجی: عضو x در A که بزرگتر از دقیقا i-۱ عضو دیگر A میباشد. مسئله انتخاب میتواند در زمان (O(nlgn حل شود، چون میتوانیم اعداد را با استفاده از مرتب سازی دودویی (heap sort) یا مرتب سازی ادغام مرتب کنیم و سپس به سادگی iامین عنصر در آرایه خروجی را مشخص کنیم اما الگوریتمهای سریع تری وجود دارند. ابتدا مسئله انتخاب مینمم و ماکزیمم یک مجموعه از اعضا را بررسی میکنیم. مسئله جالب تر، مسئله انتخاب کلی است، که دردوقسمت بررسی میشود.قسمت اول یک الگوریتم عملی را تحلیل میکند که در حالت میانگین به زمان اجرای (O(n میرسد. قسمت بعد یک الگوریتم است که جنبههای نظری بیشتری داشته و در بدترین حالت به زمان اجرای (O(n میرسد.
مینیمم و ماکزیمم
چه تعداد مقایسه برای تعیین یک مجموعه n عضوی لازم است؟ میتوانیم به سادگی به حد بالای n-۱ برای مقایسهها برسیم: هر عضو مجموعه را به ترتیب بررسی کرده و کوچکترین عضوی که تا کنون دیده شدهاست را نگه میداریم. در روال زیر، فرض میکنیم مجموعه در آرایه A قرار دارد، که طول آرایه n است. قطعا یافتن ماکزیمم میتواند با n-۱ مقایسه نیز انجام شود. آیا این بهترین کاری است که میتوانیم انجام دهیم؟ بله، چون میتوانیم به حد پایین n-۱ برا مقایسهها برای مینممم برسیم. الگوریتم را در نظر بگیرید که مینیمم را به صورت مسابقهای بین عناصر تعیین میکند. هر مقایسه یک بازی در مسابقهاست که در آن عنصر کوچکتر از میان دو عنصر، برنده میشود. نگرش اصلی این است که هر عنصر به جز برنده باید حداقل یک بازی را ببازد. از این رو n-۱ مقایسه برای تعیین مینیمم لازم است.
مینیمم و ماکزیمم هم زمان
در برخی کاربردها، باید هم مینیمم و هم ماکزیمم یک مجموعه از n عضو را پیدا کنیم. ارائه الگوریتمی که بتواند هم مینیمم و هم ماکزیمم n عضو را با استفاده از (θ(nمقایسه، که به طور مجانبی بهینهاست، پیدا کند سخت نیست. به سادگی مینیمم و ماکزیمم را به طور مستقل، با استفاده از n-۱ مقایسه برای هر یک پیدا میکند، که در کل ۲n-۲ مقایسه انجام میدهد. در حقیقت، حداکثر ۳n/۲ مقایسه برای پیدا کردن مینیمم و ماکزیمم کافی است. استراتژی این است که اعضای مینیمم و ماکزیمم را که تا این جا دیده شدهاند نگه داریم. به جای این که هر عضو ورودی را با مقایسه با مینیمم و ماکزیمم فعلی پردازش کنیم، که هزینه ۲ مقایسه برای هر عضو را صرف میکند، اعضا را جفت به جفت مقایسه میکنیم. ابتدا جفت عضوها را از ورودی با یکدیگر مقایسه میکنیم و سپس عضو کوچکتر را با مینیمم جاری و عضو بزرگتر را با ماکزیمم جاری مقایسه میکنیم که هزینه ۳ مقایسه برای هر دو عضو را موجب میشود.
انتخاب در زمان خطی مورد انتظار
مسئله انتخاب کلی نسبت به مسئله پیدا کردن یک مینیمم سخت تر به نظر میآیدو هم چنان که به صورت شگفت آوری زمان اجرای مجانبی هر دو مسئله یکی است: (θ(n.در این بخش یک الگوریتم تقسیم و حل را برای مسئله انتخاب ارائه می دهیم. الگوریتم Randomized-Select بعد از الگوریتم مرتب سازی سریع مدل میشود. همانند مرتب سازی سریع ایده آن است که آرایه ورودی را به طور بازگشتی تقسیم کنیم. ولی برخلاف مرتب سازی سریع که هر دو طرف تقسیم بندی را به صورت بازگشتی پردازش میکند، Randomized-Select فقط روی یک طرف تقسیم بندی عمل میکند. این تفاوت در تحلیل آشکار میشود. در حالی که زمان اجرای مورد انتظار مرتب سازی سریع (θ(nlgn است، زمان مورد انتظار این الگوریتم (θ(nاست. Randomized-Select از روال Randomized-Partition که در بخش مرتب سازی سریع معرفی شد استفاده میکند.
انتخاب در بدترین حالت زمان خطی
اکنون الگوریتمی را بررسی می کنیم که زمان اجرای آن در بدترین حالت (O(nاست. مانند Randomized-Select، الگوریتم Select عنصر مورد نظر را با تقسیم بندی بازگشتی آرایه ورودی پیدا میکند. اما ایدهای که پشت این الگوریتم وجود دارد، این است که یک قسمت خوب را در هنگامی که آرایه تقسیم میشود تضمین میکند. Select از الگوریتم تقسیم بندی قطعی Partition مربوط به مرتب سازی سریع استفاده میکند که طوری تغییر یافته است که عنصری که تقسیم بندی حول آن انجام میشود را به عنوان پارامتر ورودی بگیرد. این الگوریتم iامین عنصر کوچک از آرایه ورودی با n>1 عنصر را با اجرای مراحل زیر تعیین میکند.(اگر n=1باشد آن گاه Select به طور مطلق، تنها ورودیش را به عنوان iامین عنصر کوچک برمی گرداند.)
n عنصرآرایه ورودی را بهn/5 گروه 5 عنصری تقسیم کنید و حداکثر یک گروه از n mod 5 عنصر باقیمانده ساخته میشود.
میانه هر یک از n/5گروه را ابتدا با مرتب ساز درجی عناصر هر گروه (که حداکثر 5 عنصر در هر یک وجود دارد)و سپس انتخاب میانه از لیست مرتب شده عناصر گروه پیدا کنید.
از Select به صورت بازگشتی برای پیدا کردن میانه x از n/5میانهای که در مرحله 2 پیدا شدند استفاده کنید.
آرایه ورودی را حول میانهٔ میانهها (یعنی x)با استفاده از نسخه تغییر یافته Partition تقسیم کنید. فرض کنید k یک واحد بیشتر از تعداد عناصر در طرف کم تر تقسیم بندی باشد، بنابراین k، x امین عنصر کوچک است و n-k عنصر در طرف بیشتر تقسیم بندی موجود است.
اگر i=k باشد، x را برگردانید در غیر این صورت اگر i<k باشد از Select به صورت بازگشتی برای پیدا کردن iامین عنصر کوچک در طرف کم تر استفاده کرده یا اگر i>k باشد، از آن برای پیدا کردن (i-k)امین عنصر کوچک در طرف بیشتر استفاده کنید.
برای تحلیل زمان اجرای Select، ابتدا یک حد پایین روی تعداد عناصر بزرگتر از عنصر تقسیم کنندهٔ x تعیین می کنیم. حداقل نصفی از میانههای پیدا شده در مرحله 2 بزرگتر از x یعنی میانهٔ میانهها هستند. بنابراین در حداقل نصف n/5گروه، 3 عنصر وجود دارند که از x بزرگترند، به جز برای گروهی که اگر5 به n قابل قسمت نباشد، کم تر از 5 عنصر دارد و گروهی که خود شامل x است. با منظور نکردن این دو گروه ثابت میشود که تعداد عناصر بزرگتر از x حداقل برابر است با
3(2-1/2n/5)
که این عبارت بزرگتر یا مساوی با 3n/10-6 است. به طور مشابه عناصری که کوچک تر از x هستند حداقل 3n/10-6 است. بنابراین در بدترین حالت، Select برای حداکثر 7n/10+6 عنصر در مرحلهٔ 5 به طور بازگشتی فراخوانی میشود.
توان آماری
توان یک آزمون آماری احتمال رد کردن فرض صفر اشتباه میباشد (احتمال آنکه تست آماری مرتکب خطای نوع دوم نشود). هر چه توان یک تست بیشتر باشد احتمال وقوع خطای نوع دوم کمتر خواهد بود.
محققان همیشه نگران این بوده اند که نکند فرضیه صفر را رد کنند در حالی که در واقع درست بوده است (تست آماری مرتکب خطای نوع یک شود) یا اینکه نتوانند فرضیه صفر را رد کنند در حالی که این روش های استفاده شده بوده اند که اثری واقعی داشتهاند (تست آماری مرتکب خطای نوع دو شود). توان آماری یک تست، احتمال آن است که منجر به این میشود که شما فرضیه صفر را رد کنید وقتی فرضیه در واقع غلط است. چون بیشتر تست های امری در شرایطی انجام میشوند که عامل اصلی(treatment)، حداقل کمی اثر روی نتیجه دارد، توان آماری به صورت احتمال اینکه آن تست "منجر به نتیجه گیری درستی در مورد فرضیه صفر میشود"، تعبیر میشود.
توان یک تست آماری عبارت است از: یک، منهای احتمال ایجاد خطای نوع دو. یا به عبارتی، احتمال اینکه شما از خطای نوع دو دوری میکنید.
در مطالعات با توان آماری بالا، خیلی کم پیش میاید که در تشخیص اثرات تمرین اشتباه کنند.
توان یک تست آماری، شامل عملکردِ: حساسیت، اندازه اثر در جمیعت آماری، و استاندارد های استفاده شده برای اندازه گیری فرضیه آماری است. - ساده ترین راه برای افزایش حساسیت یک تحقیق، افزایش تعداد آزمودنی هاست. - در مورد استاندارد، ساده تر آن است که فرضیه صفر را رد کنیم اگر سطح معناداری، ۰.۰۵ باشد تا ۰.۰۱ یا ۰.۰۰۱.
سه قدم برای تعین توان آماری: ۱- مشخص کردن حد، برای معنی دار بودن آماری. فرضیه چیست؟ سطح معناداری چقدر است؟
۲- حدس زدن اندازه اثر. انتظار دارد که درمان(treatment)، دارای اثری کم، زیاد، یا متوسط باشد؟
احتمالات
بطور ساده، احتمالات (به انگلیسی: Probability) به شانس وقوع یک حادثه گفته میشود.
احتمال معمولا مورد استفاده برای توصیف نگرش ذهن نسبت به گزاره هایی است که ما از حقیقت انها مطمئن نیستیم. گزاره های مورد نظر معمولا از فرم "آیا یک رویداد خاص رخ می دهد؟" و نگرش ذهن ما از فرم "چقدر اطمینان داریم که این رویداد رخ خواهد داد؟" است. میزان اطمینان ما، قابل توصیف به صورت عددی می باشد که این عدد مقداری بین 0 و 1 را گرفته و آن را احتمال می نا میم. هر چه احتمال یک رویداد بیشتر باشد، ما مطمئن تر خواهیم بود که آن رویداد رخ خواهد داد. درواقع میزان اطمینان ما از اینکه یک واقعه (تصادفی) اتفاق خواهد افتاد.
نظریهٔ احتمالات
نظریهٔ احتمالات به شاخهای از ریاضیات گویند که با تحلیل وقایع تصادفی سروکار دارد.
مانند دیگر نظریه ها، نظریه احتمال نمایشی از مفاهیم احتمال به صورت شرایط صوری (فرمولی) است – شرایطی که میتواند به طور جدا از معنای خود در نظر گرفته شود. این فرمولبندی صوری توسط قوانین ریاضی و منطق دستکاری، ونتیجه های حاصله، تفسیر و یا دوباره به دامنه مسئله ترجمه می شوند.
حداقل دو تلاش موفق برای به بصورت فرمول دراوردن احتمال وجود دار : فرمولاسیون کولموگروف و فرمولاسیون کاکس. در فرمولاسیون کولموگروف (نگاه کنیدبه )، مجموعه ها به عنوان واقعه و احتمالات را به عنوان میزانی روی یک سری از مجموعه ها تفسیرمی کنند. در نظریه کاکس، احتمال به عنوان یک اصل (که هست، بدون تجزیه و تحلیل بیشتر) و تاکید بر روی ساخت یک انتساب سازگار از مقادیر احتمال برای گزاره ها است. در هر دو مورد، قوانین احتمال یکی هستند مگر برای جزئیات تکنیکی مربوط به آنها.
روشهای دیگری نیز برای کمی کردن میزان عدم قطعیت، مانند نظریه Dempster-Shafer theory یا possibility theory وجود دارد ، اما آن ها به طور اساسی با آنچه گفته شد، تفاوت دارند و با درک معمول از قوانین احتمال سازگار نیستند.
تاریخچه
مطالعه علمی احتمال، توسعه ای مدرن است. قمارنشان می دهد که علاقه به ایده های تعیین کمیت برای احتمالات به هزاران سال می رسد، اما توصیفات دقیق ریاضی خیلی دیرتر به وجود آمد. دلایلی البته وجود دارد که توسعه ریاضیات احتمالات را کند می کند. در حالی که بازی های شانس انگیزه ای برای مطالعه ریاضی احتمال بودند، اما مسائل اساسی هنوز هم تحت تاثیر خرافات قماربازان پوشیده می شود.
به گفته ریچارد جفری، "قبل از اواسط قرن هفدهم، اصطلاح ‘’ احتمالی’’ به معنای قابل تایید (تصویب) و در آن معنا چه برای عقیده افراد و چه برای عمل مورد استفاده بود. در واقع افکار یا اقدام احتمالی، رفتاری بود که مردم معقول درآن شرایط از خود نشان می دادند." البته به خصوص در زمینه های قانونی ،احتمالی (به انگلیسی: Probability) همچنین می تواند به گزاره ای که شواهد خوبی برای اثبات آن وجود دارد، اطلاق شود.
گذشته از کار ابتدایی توسط Girolamo Cardano در قرن 16 اصول احتمالات به مکاتبات پیر دو فرما و بلز پاسکال (1654). کریستین هویگنس (1657) اولین مدل شناخته شده علمی از این موضوع را داد. یاکوب برنولی ARS Conjectandi (منتشرشده پس ازمرگ،1713) و اصول شانس Abraham de Moivre (1718) این موضوع را به عنوان شاخه ای از ریاضیات مطرح می کند. برای تاریخچه ای از توسعه های اولیه مفهوم احتمال ریاضی، ظهور احتمال هک ایان و علم حدس جیمز فرانکلین را ببینید.
تئوری خطاها ممکن است از Roger Cotes's Opera Miscellanea (منتشرشده پس ازمرگ،1722) سرچشمه گرفته باشد، اما شرح حالی که توماس سیمپسون در سال 1755 آماده کرد(چاپ 1756)، برای اولین بار اعمال این نظریه به بحث در مورد خطاهای مشاهده است. چاپ مجدد (1757) این شرح حال نشان می دهد که خطاهای مثبت و منفی هر دو به یک اندازه قابل پیشبینی هستند، و با اختصاص برخی از محدودیت های معین، بازه ای برای تمام خطاها ارائه می دهد.سیمپسون همچنین در مورد خطاهای پیوسته بحث می کند و یک منحنی احتمال را توصیف می کند.
پیر سیمون لاپلاس(1774) برای اولین بار سعی دراستنتاج قانونی برای توصیف مشاهدات از نظر اصول تئوری احتمالات کرد. او قانون احتمال خطاها را با یک منحنی به صورت y = \phi(x), x ، x هر نوع خطا و y احتمال آن معرفی می کند و 3 خاصیت برای این منحنی وضع می کند:
نسبت به محور y متقارن است
محور x مجانب است، احتمال خطا در \infty صفر است
مساحت زیر نمودار آن برابر 1 است.
او همچنین، در سال 1781، یک فرمول برای قانون امکان خطا ( اصطلاحی که لاگرانژ سال 1774 مورد استفاده قرار داد) ارائه کرد، اما به معادلات منظمی منجر نشد.
به طور کلی پیدایش فنون و مفاهیم مربوط به احتمالات را باید به آغاز مدلسازی ریاضی و استخراج و اکتشاف دانش در زمینههای پیچیده تر علوم نسبت داد.
تفسیرها و تحلیلهای مفاهیم احتمالات
کلمه احتمال تعریف مفرد مستقیم برای کاربرد عملی ندارد. در واقع، چندین دسته گسترده از تفسیر احتمال، که پیروان دارای دیدگاه های مختلف (و گاهی متضاد) در مورد ماهیت اساسی احتمال وجود دارد.
Frequentists
Subjectivists
Bayesians
کاربردها
نظریه احتمال در زندگی روزمره در ارزیابی ریسک و در تجارت در بازار کالاها اعمال می شود. دولت ها به طور معمول روش های احتمالاتی را در تنظیم محیط زیست اعمال می کنند، که آن را تجزیه و تحلیل مسیر می نامند. یک مثال خوب اثر احتمال هر گونه درگیری گسترده در خاورمیانه بر قیمت نفت است، که اثرات موج واری روی اقتصاد کل جهان می گذارد. ارزیابی که توسط یک معامله گر کالا زمانیکه احتمال جنگ بیشترباشد، در مقابل حالتی که احتمال کمتری دارد، قیمت ها را بالا و پایین می فرستد و معامله گران دیگر را نیز از نظرات خود آگاه می کند. در واقع، احتمالات (در تجارت) به طور مستقل ارزیابی نمی شوند و لزوما عقلانی نیستند. تئوری های رفتار مالی برای توصیف اثر فکر گروهی در قیمت گذاری ، در سیاست، و در صلح و درگیری ظهور کردند.
می توان گفت که کشف روش های جدی برای سنجش و ترکیب ارزیابی های احتمال، عمیقا جامعه مدرن را تحت تاثیر قرار داده است. مثلا اکثر شهروندان اهمیت بیشتری به اینکه چگونه ارزیابی های احتمال وشانس ساخته می شوند، می دهند واینکه تاثیر آنها در تصمیم گیری ها بزرگتر و به ویژه در دموکراسی چگونه است.
یکی دیگر از کاربردهای قابل توجه نظریه احتمال در زندگی روزمره، قابلیت اطمینان می باشد. بسیاری از محصولات مصرفی، از جمله خودروها و لوازم الکترونیکی مصرفی، در طراحی خود به منظور کاهش احتمال خرابی(شکست) از نظریه قابلیت اطمینان استفاده می کنند. تولید کننده با توجه به احتمال خرابی یک محصول، آنرا گارانتی می کند.
علوم اجتماعی
نقش پایه و اساس را برای بیشتر علوم اجتماعی داراست. آزمونهای آماری فواصل اطمینان شیوههای رگرسیون (پس رفت)
توزیع احتمال
در نظریه احتمال و آمار تابع توزیع احتمال بیانگر احتمال هر یک از مقادیر متغیر تصادفی (در مورد متغیر گسسته) و یا احتمال قرار گرفتن متغیر در یک بازه مشخص (در مورد متغیر تصادفی پیوسته) میباشد. توزیع تجمعی احتمال یک متغیر تصادفی تابعی است از دامنهٔ آن متغیر بر بازهٔ 0,1. به طوری که احتمال رخدادن پیشامدهای با مقدار عددی کمتر از آن را نمایش میدهد.
روشهای آمارگیری
در آمار کاربردی، روشهای آمارگیری روشهایی برای نمونهبرداری از یک جامعه آماری هستند که به منظور بهبود میزان پاسخ و دقت پاسخ به آمارگیری تدوین میشوند. سنجههای اندازهگیری شده آماره نام دارند که به منظور استنباط آماری در مورد کل جامعه طراحی میشوند. گهگاه آمارههایی توصیفی نیز گردآوری میشوند. نظرسنجیها، پرسشنامهها، و سرشماریها در مورد وضعیت سلامت یا بازار مثالهایی از آمارگیری هستند. آمارگیری ابزار مهمی برای تحقیق در مورد جنبههای مختلف جامعه است و اطلاعات مهمی را در اختیار میگذارد؛ از جمله زمینههایی که آمارگیری در آن کاربر دارد به بازاریابی، روانشناسی، سلامت عمومی، و جامعهشناسی اشاره کرد.
داده
به طور کلی، میتوان همهٔ دانستهها، آگاهیها، داشتهها، آمارها، شناسهها، پیشینهها و پنداشتهها را داده یا دیتا (به انگلیسی: Data) نامید. انسان برای ثبت و درک مشترک هر واقعیت و پدیده از نشانههای ویژهٔ آن بهره گرفتهاست.
انسان برای نمایاندن دادهها نخست از نگاره و در ادامهٔ سیر تکاملی آن از حروف، شمارهها و نشانهها کمک گرفت. برای بازنمودن دادهها از این موارد کمکی یا ترکیبی از آنها استفاده میشود
در رایانه
به اعداد، حروف و علائم که جهت درک و فهم مشترک از انسانها یا رایانه سرچشمه میگیرند داده میگویند. دادهها معمولاً از سوی انسانها بصورت حروف، اعداد، علائم و در رایانه به صورت نمادهایی (همان رمزهای صفر و یک) قراردادی ارائه میشوند. اصطلاح داده یک عبارت نسبی است یعنی اگر موجب درک و فهم لازم و کامل دراین مرحله شدهاست به عنوان آگاهی یا اطلاعات از آن نام میبرند و چنانچه موجب درک و فهم کامل نگردد به عنوان همان داده به شمار میآیند و چون هدف نهایی آگاهی و اطلاعات است باید از سوی دستاندرکاران (انسان یا رایانه) دستکاری یا پردازش شوند. منظور از دستکاری یا پردازش دادهها انجام عملیاتی از قبیل جمع، تفریق، ضرب، تقسیم، مقایسه وغیرهاست.
دادهها مجموعهای از نمادها (برای انسان حروف، اعداد، علائم و برای رایانه رمزهای صفر و یک) هستند که حقایق را نشان میدهند و برای انسان از طریق رسانههای وی (بینایی، شنوایی، چشایی، بویایی، بساوایی) و برای رایانه از طریق لوازم ویژه (صفحه کلید موس و غیره) به دست میآیند.
دادهها امروزه فقط از سوی انسان یا رایانه پردازش میشوند یعنی کارهایی روی آنها صورت میگیرد. در پردازش دادهها (دادهپردازی) در رایانه ابتدا دادهها به رایانه وارد میشوند. این دادهها درابتدا ذخیره شده و روی آنها عملیاتی (جمع، تفریق، ضرب، تقسیم و...) صورت میگیرد. پس از این که این عملیات (پردازش) صورت گرفت معمولاً دادهها به یک رایانه دیگر یا دوباره به انسانها منتقل میشود. در اغلب گزارشها و یادداشتهای سازمانی، دادهها به چشم میخورند. برای نمونه، تاریخ و مقدار یک صورتحساب یا چک، جزئیات فهرست حقوق، تعداد وسایل نقلیهای که از نقطهٔ خاصی در کنار جاده گذشتهاند،... نمونههایی از دادهها هستند.
انواع دادهها از نظر ساختیافتگی
دادههای ساختیافته
دادههای نیمهساختیافته
دادههای زمانی
در بسیاری از کاربردهای مبتنی بر دادهها و اطلاعات ذخیرهسازی و بازیافت حالا ت و وضعیتهای سیستم در طی زمان اهمیت مییابد.
قضاوت
قضاوت در بافت حقوقی ، به معنی کشف حقیقت در نزاع چند طرف که در نهایت به ارائه حکمی از سوی نهاد متصدی قضاوت و لازم الاجراء از سوی حکومت برای پایان دادن به اختلاف میان آنها منجر می شود .
بیانیه
بیانیه متنی است که یک شخص یا گروه از آن برای بیان اصول، عقاید و اهداف خود به عموم استفاده میکند. رسمیت بیانیهها، با توجه به بیانکنندهٔ آنها و مطالب بیانشده، به دو دستهٔ رسمی و غیررسمی طبقهبندی میگردد.
استدلال
استدلال، ترکیب قانونمند قضیه(های) معلوم برای رسیدن به قضیه(های) تازه است. در استدلال، ذهن بین چند قضیه، ارتباط برقرار میکند تا از پیوند آنها، نتیجه زاده شود و بهاینترتیب نسبتی مشکوک و مبهم به نسبتی یقینی تبدیل شود.
انواع استدلال
تمثیل
تمثیل سرایت دادن حکم یک موضوع به موضوع دیگر به دلیل مشابهت آن دو به یکدیگر است.
استقرا
استقرا نوعی استدلال است که در آن ذهن از جزء به کل سیر میکند. یعنی چند مورد جزئی را مشاهده میکند و سپس یک حکم کلی میدهد. مثلا در چند مورد آب را حرارت میدهیم و میبینیم که در صد درجه سلسیوس میجوشد و از این نتیجه میگیریم که هر آبی در صد درجه سلسیوس میجوشد.
قیاس (استنتاج)
اما وقتی ذهن از قضیههای کلّی به نتیجههای جزئی میرسد و به عبارت مختصرتر از کلّ به جز میآید، آن را قیاس مینامند. مثال:
«۱. سقراط انسان است.
۲. هر انسان فانی است.
۳. پس سقراط فانی است.»
در استدلال قیاسی از حداقل دو قضیهٔ درست، ضرورتا و بدون هیچ تردیدی قضیهٔ درست دیگری به نام نتیجه به دست میآید.
حقیقت
حقیقت مفهوم و اصطلاحی است برای اشاره به اصل هر چیز استفاده میشود.
واژهشناسی
واژه حقیقت وامواژهای است که از واژه عربی حقیقة وارد فارسی شدهاست. معادل انگلیسی واژه حقیقت واژهٔ Truth میباشد.
تفاوت حقیقت و واقعیت
حقیقت شامل ذات هر چیزی بوده و غیر قابل تغییر است و به همین دلیل بر خلاف واقعیت امری است که لزوماً با برهانهای علمی قابل اثبات نیست. در بسیاری موارد حقیقت ( به دلیل اینکه از دسترس انسان به حیطه ذات به دور است )به نوع نگرش افراد بستگی پیدا میکند. بطور مثال واقعیت و حقیقت واقعه کربلا را میتوان به این دو صورت بیان کرد.
واقعیت: حسین و یارانش به سمت کوفه حرکت کردند، لشکریان یزید در محلی به نام کربلا بر آنها حمله کردند، و حسین کشته شد. و یزید پیروز این جنگ بود.
اما حقیقت میتواند این باشد:
در واقعه کربلا امام حسین و یاران با وفایش برای نجات دین اسلام تصمیم به هجرت به کوفه گرفتند. اما لشکریان یزید ملعون به آنان حمله کردند و در این واقعه امام حسین به شهادت رسید. و امام حسین توانست با نثار خون خود اسلام را زنده نگاه دارد و به حق او پیروز این میدان بود.
اگر در ریشهٔ واژگان حقیقت و واقعیت دقیق شویم، تفاوتهایی را مشاهده میکنیم. ریشهٔ کلمهٔ حقیقت، "حق" به معنای راستی و درستی است و ریشهٔ کلمهٔ واقعیت، "وَقَعَ" به معنای رویدادن و یا اتفاق افتادن است. حقیقت، اشاره به ماهیت راست و درست دارد و واقعیت اشاره به امور عینی و یا اموری که اتفاق میافتند.
یک نگرش افراطی حقیقت یک واقعه تاریخی را جز بیان عواطف و احساسات گوینده در رابطه با آن واقعه نمیداند و هدف آن جذب باور به حقیقت گفته شده است.
حقیقت و واقعیت در اندیشههای متفکران و فلاسفه
در یونان باستان، نوعی تفکر اسطورهای نسبت به مقولهٔ حقیقت و واقعیت وجود داشته که طی سیر تحول به مذهب و باورهای مذهبی تبدیل شده است. این مساله در هر تمدن دیگری نیز مشاهده میشود. تمدنهای بینالنهرین، هند و چین همگی چنین سیر تحولی را طی کردهاند.
تفکر اسطورهای، طی تکاملش به صورت مثالی افلاطونی رسید که گونهای تفکر مذهبی است. در اندیشههای مذهبی مانند سه مذهب زرتشتیت، مسیحیت و اسلام تمایز و جدایی واقعیت مادی و حقیقت وجود دارد.
دیدگاه عرفاً پیرامون حقیقت و واقعیت، شکل متکامل تفکرات دینی است.
آراء و اندیشههای متفکرین دوران مدرن و همچنین تحولاتی که در نوع نگاه انسانها در جامعهٔ مدرن نسبت به حقیقت حاصل شده، باعث شده است تا مسیر گسست از اندیشههای اسطورهای به اندیشههای دینی در دوران مدرن دچار واگشت و یا تغییر مسیر شود. یعنی تمایز و گسست حقیقت و واقعیت دوباره به اتحاد آن دو منجر شده است. در اصل، ظهور رئالیسم جدید و همچنین اومانیسم مدرن، نمایانگر گونهای بازگشت به اصول کلاسیک یونانیان است. بشر در دوران مدرن اعتقاد یافت که طی سالیان درازی، دچار خطا شده است، از این رو دوباره به تفکر یونانی رجعت کرد.
در اندیشههای ماتریالیستها و مارکسیستها از جمله فوئرباخ، مارکس و انگلس و پیروان آنها، مادهگرایی که خود یکی از ثمرات مدرنیته است، نمایشگر رجعت انسان به یکی انگاشتن حقیقت و واقعیت است. با این تفاوت که از نگاه ماتریالیستها، حقایق، قوانینی هستند که بر واقعیات حاکماند. به طور مثال، نیروی محرکهٔ تاریخ که بر وقایع تاریخی احاطه دارد، حقیقتی دربارهٔ جهان و هستی است.
اندیشههای فردریش ویلهلم نیچه، فیلسوف نامدار آلمانی دربارهٔ حقیقت از اهمیت بسیار بالایی برخوردار است. چون او، نوع نگاه انسان به حقیقت را دگرگون کرد و با وهمی خواندن حقیقت، به تبیین یک نگاه کاملاً نسبیگرایانه پرداخت. نسبیت حقیقت که با نیچه آغاز شد در نهایت به مکاتب و تفکراتی از جمله هرمنوتیک، مکتب فرانکفورت و پستمدرنیسم منجر شد.
اندیشههای نسبیگرایانهٔ نیچه در باب حقیقت و واقعیت به شکلی رادیکال در آراء متفکران پست مدرنی چون ژان فرانسوا لیوتار، ژاک دریدا، ژیل دلوز، میشل فوکو و ژان بودریار دوباره مطرح شد.
وبسایت یا تارنما چیست
مجموعه ای از فایلهای مختلف اعم از تصاویر، متون و یا فایلهای برنامه نویسی شده
است که به منظوری خاص به شکلی با هم مرتبط شده اند. این فایلها روی یک کامپیوتر
"میزبان" یا "سرور" قرار می گیرند و با یک نام دامنه مشترک فراخوانی می شوند.
یکی از مهمترین سرویسهای وب، پست الکترونیک است.
انواع سایت
سایتها بر اساس کاربرد و نوع برنامه نویسی به چند دسته تقسیم می شوند که عبارت
است از :
سایتهای ثابت (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،
معمولاً زبان برنامه نویسی محسوب نمیشوند. یک زبان برنامه نویسی(که میتواند
کامل تورینگ نباشد) ممکن است در این زبانهای غیر محاسباتی (میزبان) تعبیه
شوند.