ازدواج

ازدواج در ادیان و مذاهب

دین مسیح

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





اگرچه ازدواج در مسیحیت پدیده‌ای مقدس محسوب شده و سرّ عظیم نامیده می‌شود، اما در برابر آن دوری گزیدن از ازدواج امری پسندیده‌تر است. شخص مجرد، با تمام توان به خدمت خداوند می‌رسد و با کم‌کردن مشغله‌های دنیوی و زندگی، خود را شبیه عیسی می‌سازد.





اسلام

از دیدگاه اسلام، ماهیت ازدواج یک قرارداد و پیمان با شرایطی ویژه است. و بسیار پسندیده و مطلوب است و از منظر فقه اسلامی، عملی مستحب و چه بسا مستحب موکد و در برخی موارد واجب شمرده می‌شود. عفت و حیا از جملهٔ این صفات می‌باشند که یکی از راه‌های تأمین این صفات و سجایا ازدواج است. اسلام با تشریع ازدواج، مسیر رسیدن به عفت و حیا را هموار می‌سازد بدین صورت که ازدواج را بهترین و طبیعی‌ترین راه تأمین نیازهای جنسی معرفی می‌کند.

طبق قوانین اسلامی در صورت نبود موانع ازدواج و حرام نبودن ازدواج طرفین (مثلاً شوهر داشتن زن یا محرم بودن دو طرف) ازدواج با گفتن عبارت «زَوَجتُک» (خود را به زوجیت تو درآوردم) یا عبارتی دقیقاً به همین معنی از سوی زن و تایید مرد با عبارتی نظیر «قَبلتُ» محقق می‌شود. برخی حضور دو شاهد و ولی زن (پدر و جد پدری) را هم لازم می‌دانند. در مورد کودکان نابالغ، دیوانگان، و اشخاص سفیه (کم‌خرد) نیز حق ازدواج با پدر و جد پدری، وصی آن‌ها یا حاکم شرع و برای بردگان و کنیزان با مالک آن‌هاست. همچنین طرفین می‌توانند به شخص دیگری، که لازم هم نیست نمایندهٔ دینی باشد، وکالت دهند تا آن‌ها را به عقد یکدیگر درآورد. چندزنی تا حداکثر ۴ همسر برای مردان جایز است ولی چندشوهری جایز نیست. در صورت طلاق یا مرگ شوهر، زن برای ازدواج مجدد باید مدتی را صبر کند که به عده معروف است و در این دوران همچنان برخی آثار رابطهٔ زوجیت بین او و همسر سابقش برقرار است. در هنگام ازدواج مرد باید مالی را به تملک زن درآورد که به مهریه معروف است. مقدار مهریه بسته به توافق زن و مرد است.

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




دین یهود

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




بهائی

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

آیه مخصوص که به آن اشاره شد «انا کل لله راضون» برای مردان و «انا کل لله راضیات» برای زنان است. در احکام بهائی ازدواج موقت (که به متعه و صیغه معروف است)، داشتن چند همسر در یک زمان و ازدواج هم‌جنسان حرام است.




ازدواج‌های موقت

در چندین نمونه از فرهنگ‌ها، آیینِ ازدواج «موقت» و «مشروط» وجود دارد. «رسم حلقه» در میان مردم نژاد سلتی و «ازدواج‌های دارای مدت مشخص» در میان مسلمانان از نمونه‌های آن است. پیش از اسلام، در میان اعراب نوعی «ازدواج موقت» مرسوم بود که امروز آن را در ایران با عنوان «صیغه» (Nikah Mut’ah) و در عراق با عنوان «متعه» می‌شناسند. صیغه نوعی نکاح موقت، با مدت زمان مشخص و معین است. حضرت رسول محمد(صلی الله علی علیه و آله)، ازدواج موقت را مورد تایید قرار داده‌است که گاهی با عث این اتهام می شود که پوشش قانونی‌ای را برای کارگران جنسی فراهم می‌آورد. مجادله‌های مسلمانان در رابطه با سنت صیغه، موجب شده‌است تا این آیین عمدتاً به جوامع شیعه‌نشین محدود شود.




ازدواج با خویشاوندان نزدیک

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





خاتمه یافتن ازدواج

در اکثر جوامع، مرگ یکی از زوج‌ها موجب پایان یافتن پیوند ازدواج می‌شود، و در جوامع تک‌همسری، این امکان برای شریک دیگر وجود دارد که مجدداً ازدواج کند. گاهی اوقات، ازدواج مجدد با گذشت دوره‌ای از سوگواری انجام می‌شود.

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

اینکه هر دو زوج حق دارند نسبت به طلاق رضایت داشته باشند، تنها طی دهه‌های اخیر در کشورهای غربی به رسمیت شناخته شد. در ایالات متحد آمریکا، نادرست نبودن عملِ طلاق، نخستین بار در سال ۱۹۶۹ در کالیفرنیا به رسمیت شناخته شد و نیویورک آخرین ایالتی بود که این موضوع را در سال ۱۹۸۹ به رسمیت شناخت.




ازدواج از دیدگاه حقوقی


مشخصهٔ ازدواج

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




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





نظریه دلبستگی

نظریه دلبستگی (به انگلیسی: Attachment theory)، نظریهای در روان‌شناسی است که سعی در توضیح دلایل دلبستگی انسان‌ها به یکدیگر دارد. اصطلاح دلبستگی برای اشاره به روابط اجتماعی-عاطفی محکم و دایمی به کار می‌رود. کودکان تمایل دارند به برخی اشخاص به ویژه مادرشان بچسبند و در حضور ان‌ها احساس امنیت کنند. روان شناسان در ابتدا براین باور بودند که دلیل دلبستگی به مادر، منبع غذا بودن اوست و غذا یکی از نیازهای نخستین نوزادان را تشکیل می‌دهد. اما پرسش‌هایی پیش امد. برخی حیوانات به ویژه پرندگان، نیدی-فوژ یعنی لانه-گریز هستند و بچه‌های ان‌ها بلافاصله پس از انکه به دنیا می ایند و یا سر از تخم در میاورند، از لانه بیرون می‌روند و غذای خود را خودشان به دست میاورند. مثلاً جوجه اردک و جوجه مرغ، از همان بدو تولد خودشان غذا می‌خورند، اما با این حال باز هم به دنبال مادرشان می‌روند. احساس راحتی از حضور مادر نمی‌تواند به دلیل نقش وی در تغذیه بچه‌ها باشد. سری ازمایش‌های بسیار معروف دربارهٔ میمون‌ها نشان داده است که در دلبستگی مادر-فرزند، نیازهای دیگری، جز نیاز به تغذیه وجود دارد.

در حالی¬که پژوهش درباره دلبستگی توسط مشاهده خانواده‌هایی جرقه خورد که بخاطر جنگ جهانی دوم از هم¬گسیخته شده بودند، ریشه¬های نظری آن را می¬توان در نظریه تکاملی نوین ردیابی کرد (سیمپسون،۱۹۹۹؛ فرالی، ۲۰۰۲). همانگونه که بالبی مشاهده کرد، مجاورت مادر- کودک برای بقای ژنتیکی ضروری است (بالبی، ۱۹۶۹،۱۹۸۲). نوزادان می‌توانند با تولید صداهای ناراحت کننده هنگام جداشدن از مراقبشان و درخواست نیرومند برای بازگشت آنها در حفظ مجاورت نقش داشته باشند. بالبی این را یک راهبرد خوب برای تضمین زنده ماندن نوزاد کوچک و درمانده می داند. نظریه دلبستگی توضیح می‌دهد که تا جه اندازه ارتباط بین والدین و کودک بر رشد او موثر است.




چندمهری

چَندمِهری (به انگلیسی: polyamory)، به معنای داشتن بیش از یک یار است و از فلسفه و عمل دوست داشتن همزمان چند نفر به شکل غیر مالکانه، صادقانه، مسئولیت‌پذیرانه و اخلاقی حکایت می‌کند.

چندمهری بر انتخاب آگاهانه چند یار و برحذر بودن از قبول روش‌های مرسوم جامعه، که داشتن یک یار را اجبار می‌کند، تأکید دارد.∗




نظریه مثلثی عشق

رابرت استرنبرگ روان شناس امریکایی مدل مثلثی عشق را ارایه داده‌است. مدلی که عشق را با سه عنصر اصلی ان نشان می‌دهد.

صمیمیت یا الفت عبارت است از پیوند نزدیک و احساس تعلق داشتن بین دو نفر و همچنین علاقهٔ ان‌ها به درمیان گذاشتن خصوصی ترین و عمیق ترین افکارو احساسات.
هوس عبارت است از میل و رغبت جنسی شدید به طرف مقابل.
قبول/تعهد فرد می‌پذیرد که فرد دیگری را به شدت دوست دارد (عنصر قبول) و خودش را ملزم می‌داند که در پستی و بلندی‌های زندگی را بطه اش را با ان شخص حفظ کند (عنصر تعهد)




روابط صمیمانه

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




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





تأثیرات روحی و روانی دراز مدت

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




آداب و نقش رسانه‌ها

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




تشکیلات دوستیابی

تشکیلات دوستیابی (به انگلیسی: dating system)، به مجموعه‌ای از روش‌ها، وسائل و عواملی می‌گویند که به منظور تجهیز و تقویت سامانه‌های دوست‌یابی استفاده می‌شوند و بوسیلهٔ قوانین و فناوری میسر می‌گردند. انواع تشکیلات دوستیابی عبارتند از:




دوستیابی اینترنتی:

در شبکه‌های اینترنتی وب‌گاه‌های زیادی در زمینهٔ آشنایی، دوستی و ملاقات مردم و جوانان با یکدیگر وجود دارد.





دوستیابی با شتاب:

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




دوستیابی با تلفن همراه:

پیامک‌های نوشتاری از طریق تلفن‌های همراه بوسیله متقاضیان نیز وسیله‌ای است که از طریق پشتیبانی شرکت‌های دوستیابی ارائه می‌گردد. این اسلوب هم از طریق وب گاه‌های دوستیابی و هم از طریق گفتگوهای اینترنتی توسط تشکیلات متنوع دوستیابی، طرح ریزی شده‌است.



قرار دوست‌یابی

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




در صورت علاقه مشترک؛

پارک‌های شادی
باغ‌وحش
بازدید از موزه و یا گالری هنری
رفتن به تئاتر و یا سینما
رفتن به کنسرت موسیقی
رفتن به سیرک
بیلیارد و یا بولینگ
اسب‌سواری و یا اسکی/اسنوبرد
کافی شاپ و یا کافه‌کتاب
رستوران (معمولا برای صرف شام)




دیدگاه اسلام

به گفتهٔ کتاب «تحلیلی تربیتی برروابط دخترو پسر درایران»؛ اسلام به طور کلی (خواه دختر و پسر یا زن و مرد)، هر گونه ارتباط با نامحرم شامل سخن گفتن از روی هوس، نگاه جنسی، تماس بدنی و نظیر آن را ممنوع کرده و بر پاکدامنی تأکید نموده‌است.

در سوره توبه آیه ۷۱ مردان و زنان مؤمن به تعامل و روابط هدفمند و مبتنی بر توسعه ارزش‌های دینی و فی‌مابین دعوت شده‌اند. و در خصوص روابط دختران و پسران و زنان و مردان در جامعه و احترام متقابل در سوره نور، آیه ۳۰ این چنین تصریح شده است:{{نقل قول| (و ای رسول ما) مؤمنین را بگو تا چشم‌ها (از نگاه ناروا) بپوشند، و فروج و اندامشان را محفوظ دارند که این بر پاکیزگی (جسم و جان) شما اصلح است البته خدا به هر چه می‌کنید کامل آگاه است.

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

همچنین در برخی موارد پس از اعلام نامزدی صیغه عقد یا محرمیت بین طرفین خوانده می‌شود. در این صورت دختر و پسر تا زمان مراسم عروسی (که ازدواج رسمی محسوب می‌شود) با هم در رابطه‌اند و در این نوع نامزدی هیچ محدودیتی ندارند، با این حال توصیه شده است که به دلیل قطعی نبودن ازدواج در این مرحله نامزدی مطابق عرف، از ارتباط کامل جنسی خودداری نمایند.



آمار

در گذشته دوستی با جنس مخالف و ارتباط ایشان خارج از ازدواج، چه بصورت عاشقانه و چه بصورت جنسی، نامشروع و خارج از مقررات بود، اما امروزه این رابطه عموماً پذیرفته شده و به دور از بار معنایی منفی است. در هر فرهنگی و بنا بر آداب و فرهنگ هر قومیتی روش انتخاب فرد مورد نظر از جنس مخالف و همچنین چگونگی برقراری ارتباط با او مختلف و گاهی هم متضاد است، در کشورهایی مثل آمریکا نیز که فضای آزاد برای ارتباطات دو جنس به گونه‌ای فراهم است، حدود ۵۰ تا ۸۰ درصد دختران و پسران نوجوان در آن پیش از ازدواج در فعالیت‌های جنسی شرکت دارند، با این حال محدودیت‌های اخلاقی، عرفی و قانونی برای این خواسته و غریزه انسانی وجود دارد. در کشور ایران نیز مساله روابط دختران و پسران قبل از ازدواج به عنوان یکی از مسائل مبتلا به و در عین حال چالش برانگیز می‌باشد. درایران طبق چندین تحقیق به عمل آمده مشخص شده‌است که حدود ۳۰ تا ۷۰ درصد نوجوانان به نوعی با موضوع دوستی با جنس مخالف درگیرند، همچنین در یک پژوهش گسترده که روی ۷۵ هزار نفر از جوانان و نوجوانان ۱۴ تا ۱۹ ساله در سراسر کشور انجام شد، ۴۵ درصد از نمونه‌ها عنوان کردند که مسائل جنسی فکرشان را آزار می‌دهد و ۳۵ درصد مطرح نمودند که به خاطر مسائل جنسی گاهی به درد سر افتاده‌اند. با وجود اینکه نوع ارتباط بین دوجنس نگرانی‌هایی را در جوامع مختلف به وجود آورده و حتی به عنوان نشانه برخی معضلات و نابهنجاری‌ها و نیز نتیجه آن شناخته می‌شود، با این حال هنوز اختلاف نظر در مورد بهترین راه‌ها برای برقراری ارتباط مناسب بین دوجنس وجود دارد. برای مثال تا ۳۰ سال پیش در آمریکا اگر دختر و پسری می‌خواستند با هم بیرون بروند، یک نفر با آنها می‌رفت. آن زمان اخلاقیات در جامعه قوی‌تر بود. هرچه به سمت گذشته می‌رویم، دوستی‌ها کم‌تر است، اما هر چه به سمت زندگی مدرنیته پیش می‌آییم، این روابط نیز بیشتر می‌شود.




ارتباط با جنس مخالف در ایران

وب‌گاه پایگاه حوزه به نقل از محسن ایمانی عضو هیئت علمی دانشگاه تربیت مدرس گفته‌است

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




شیدایی بی‌فرجام

عشق یکطرفه (به انگلیسی: Unrequited love)، نوعی عشق نافرجام می‌باشد که در آن عاشق به دلایل روان‌شناختی به‌گونه‌ای بیمارگونه توان در میان گذاشتن عشق با معشوق را ندارد.

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




تحلیل

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

عشق افلاطونی زمینه‌ای مساعد برای پدید آمدن عشق‌های یکطرفه می‌شود.

عدم بروز عشق در یک عشق یکطرفه همچنین برای معشوق مشکلاتی همچون اضطراب را ایجاد می‌کند.




برهان عشق

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




محبت

محبت (محبه) کلمه‌ای‌ست قرآنی، و از جملهٔ نزدیک‌ترین واژه‌هایی که در مقولهٔ عشق در آن‌جا یافت می‌شود. در ادب و فرهنگ فارسی، جلوه‌ها و نمودهای عالی از توصیف، تحریک، و تشویق به داشتن محبت نسبت به دیگران فراوان یافت می‌شود. از جمله:



مولوی گوید:
از محبت گردد او محبوب حـــق گرچه طالب بود، شد مطلوب حق
شد محبت را ظهور از اعتـــدال بــی محبت نیست عالــم را کمال
از محبت تلخ‌ها شیرین شود از محبت مس‌ها زرین شود
از محبت خارها گل می‌شود از محبت سرکه‌ها مل می‌شود
از محبت مرده زنده می‌شود وز محبت شاه بنده می‌شود

امروزه نیز برای جلب محبت، توسل به اوراد و سحر و جادو رواج دارد.
2:46 am
کاربرد برنامه نویسی

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





زبان‌های برنامه نویسی با غالب زبان‌های انسانی تفاوتی دارد و آن این است که نیاز به بیان دقیق تر و کامل تری دارد. هنگام استفاده از زبان‌های طبیعی برای ارتباط با دیگر انسان‌ها، نویسندگان و گویندگان می‌توانند مبهم باشند و اشتباهات کوچک داشته باشند، و همچنان انتظار داشته باشند که مخاطب آنها متوجه شده باشد. اگرچه، مجازا، رایانه‌ها "دقیقاً آنچه که به آنها گفته شده را انجام می‌دهند." و نمی‌توانند "بفهمند" که نویسنده دقیقاً چه کدی مد نظر نویسنده بوده‌است] البته امروزه برنامه‌هایی برای انجام این کار تولید شده‌اند و تلاش‌های بسیاری در این زمینه انجام شده ولی هنوز به نتیجهٔ رضایت بخشی نرسیده است[. ترکیب تعریف زبان، یک برنامه، و ورودی برنامه بطور کامل رفتار خروجی را به هنگام اجرای برنامه (در محدوده کنترل آن برنامه) مشخص می‌کند. برنامه‌های یک رایانه ممکن است در یک فرایند ناپیوسته بدون دخالت انسان اجرا شوند، یا یک کاربر ممکن است دستورات را در یک مرحله فعل و انفعال مفسر تایپ کند.در این حالت "دستور"ها همان برنامه‌ها هستند، که اجرای آنها زنجیروار به هم مرتبطند.به زبانی که برای دستور دادن به برنامه‌ای استفاده می‌شود، زبان اسکریپت می‌گویند. بسیاری از زبان‌ها کنار گذاشته شده‌اند، برای رفع نیازهای جدید جایگزین شده‌اند، با برنامه‌های دیگر ترکیب شده‌اند و در نهایت استعمال آنها متوقف شده‌است. با وجود اینکه تلاش‌هایی برای طراحی یک زبان رایانه" کامل" شده‌است که تمام اهداف را تحت پوشش قرار دهد، هیچ یک نتوانستند بطور کلی این جایگاه را پر کنند. نیاز به زبان‌های رایانه‌ای گسترده از گستردگی زمینه‌هایی که زبان‌ها استفاده می‌شوند، ناشی می‌شود:

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

یک سیر رایج در گسترش زبان‌های برنامه نویسی این است که قابلیت حل مسائلی با درجات انتزاعی بالاتری را اضافه کنند. زبان‌های برنامه نویسی اولیه به سخت‌افزار رایانه گره خورده بودند. همانطور که زبان‌های برنامه نویسی جدید گسترش پیدا کرده‌اند، ویژگی‌هایی به برنامه‌ها افزوده شده که به برنامه نویس اجازه دهد که ایده‌هایی که از ترجمه ساده به دستورات سخت‌افزار دورتر هستند نیز استفاده کند. چون برنامه نویس‌ها کمتر به پیچیدگی رایانه محدود شده‌اند، برنامه‌های آنها می‌تواند محاسبات بیشتری با تلاش کمتر از سوی برنامه نویس انجام دهند. این به آنها این امکان را می‌دهد که کارایی بیشتردر واحد زمان داشته باشند. "پردازنده‌های زبان طبیعی" به عنوان راهی برای ازبین بردن نیاز به زبان‌های اختصاصی برنامه نویسی پیشنهاد شده‌اند. هرچند، این هدف دور است و فواید آن قابل بحث است. "ادسگر دیجسترا" موافق بود که استفاده از یک زبان رسمی برای جلوگیری از مقدمه سازی ساختارهای بی معنی واجب است، و زبان برنامه نویسی طبیعی را با عنوان "احمقانه" رد کرد، "آلن پرلیس" نیز مشابها این ایده را رد کرد. مطابق با متدولوژی نامتجانس استفاده شده توسط langpop.com در سال ۲۰۰۸، ۱۲ زبان پرکاربرد عبارتند از: C, C++, C#, Java, JavaScript, Perl, PHP, Python, Ruby, Shell, SQL, and Visual Basic.



المان‌ها
تمام زبان‌های بزنامه نویسی تعدادی بلوک‌های ابتدایی برای توضیح داده و پردازش یا تبدیل آنها(مانند جمع کردن دو عدد با انتخاب یک عضو از یک مجموعه)دارند. این " عناصرابتدایی" بوسیله قوانین معناشناسی و دستوری تعریف می‌شوند که ساختار و معنای مربوطه را توضیح می‌دهند.
دستور(
syntax)

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

دستور زبان برنامه نویسی معمولاً بوسیله ترکیب عبارات معین(برای ساختار لغوی) و فرم توضیح اعمال(برای ساختار گرامری) تعریف می‌شوند. متن زیر یک گرامر ساده، به زبان lisp است: expression ::= atom | list atom ::= number | symbol number ::= [+-]?['۰'-'۹']+ symbol ::= ['A'-'Za'-'z'].* list ::= '(' expression* ')' این گرامر موارد ذیل را مشخص می‌کند:

یک عبارت یا atom است و یا یک لیست
یک atom یا یک عدد است و یا یک سمبل
یک عدد دنباله ناشکسته‌ای از یک یا تعداد بیشتری اعداد دهدهی است، که یک علامت مثبت و یا منفی می‌تواند پیش از آن بیاید.
یک سمبل حرفی است که بعد از هیچ یا تعدادی کاراکتر (جز فاصله) می‌آید.
یک لیست تعدادی پرانتز است که می‌تواند صفر یا چند عبارت در خود داشته باشد.

"۱۲۳۴۵"، "()"، "(a b c۲۳۲ (۱))" مثال‌هایی هستند از دنباله‌های خوش فرم در این گرامر.

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

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

"ایده‌های بی رنگ سبز با خشم می‌خوابند."از نظر دستوری خوش فرم است ولی معنای مورد قبولی ندارد.
"جان یک مجرد متاهل است." از نظر دستوری درست است، ولی معنایی را بیان می‌کند که نمی‌تواند درست باشد.

این قسمت از زبان C از نظر دستوری درست است، اما دستوری را انجام می‌دهد که از نظرمعنایی تعریف نشده است(چون p یک اشاره گر خالی است، عمل p->real,p->im معنای خاصی ندارد.) complex *p = NULL; complex abs_p = sqrt (p->real * p->real + p->im * p->im);

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




معناشناسی ایستا
معناشناسی ایستا محدودیت‌هایی بر روی ساختار مجاز متن‌ها تعیین می‌کند که بیان آنها در فرمول دستوری استاندارد مشکل و یا غیر ممکن است. مهمترین این محدودیت‌ها به وسیله سیستم نوع گذاری انجام می‌شود.


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

یک زبان نوع گذاری شده‌است اگر مشخصات هر عملیات، نوع داده‌های قابل اجرا توسط آن را با نشان دادن نوع‌هایی که برای آنها قابل اجرا نیست، تعیین کند. برای مثال، "این متن درون گیومه قرار دارد" یک رشته‌است. در غالب زبان‌های برنامه نویسی، تقسیم یک رشته با یک عدد معنایی ندارد. در نتیجه غالب زبان‌های برنامه نویسی مدرن ممکن است اجرای این عملیات را توسط برنامه‌ها رد کنند. در برخی زبان‌ها، عبارات بی معنی ممکن است هنگام ترجمه(compile) پیدا شود(چک کننده نوع ایستا)، و توسط کامپایلر رد شود، در حالی که در سایر برنامه‌ها، هنگام اجرا پیدا شود.(چک کننده نوع دینامیک) که به استثنای در حال اجرا منتج شود(runtime exception). حالت خاص زبان‌های نوع دار زبان‌های تک نوعند. این زبان‌ها غالباً اسکریپتی و یا مارک آپ هستند، مانند rexx وSGML و فقط یک داده گونه دارند—غالباً رشته‌های کاراکتری که هم برای داده‌های عددی و هم برای داده‌های سمبلی کاربرد دارند. در مقابل، یک زبان بدون نوع گذاری، مثل اکثر زبان‌های اسمبلی، این امکان را می‌دهد که هر عملیاتی روی هر داده‌ای انجام شود، که معمولاً دنباله‌ای از بیت‌ها با طول‌های متفاوت در نظر گرفته می‌شوند. زبان‌های سطح بالا که بی نوع هستند شامل زبان‌های ساده رایانه‌ای و برخی از انواع زبان‌های نسل چهارم.

در عمل، در حالیکه تعداد بسیار کمی از دیدگاه نظریه نوع، نوع گذاری شده تلقی می‌شوند(چک کردن یا رد کردن تمام عملیات‌ها)، غالب زبان‌های امروزی درجه‌ای از نوع گذاری را فراهم می‌کنند. بسیاری از زبان‌های تولیدکننده راهی را برای گذشتن یا موقوف کردن سیستم نوع فراهم می‌کنند.



نوع گذاری ایستا و متحرک

در نوع گذاری ایستا تمام عبارات نوع‌های خود را قبل از اجرای برنامه تعیین می‌کنند(معمولاً در زمان کامپایل). برای مثال، ۱ و (۲+۲) عبارات عددی هستند؛ آنها نمی‌توانند به تابعی که نیاز به یک رشته دارد داده شوند، یا در متغیری که تعریف شده تا تاریخ را نگه دارد، ذخیره شوند.


زبان‌های نوع گذاری شده ایستا می‌توانند با مانیفست نوع گذاری شوند یا با استفاده از نوع استنباط شوند. در حالت اول، برنامه نویس بیشتر صریحاً نوع‌ها را در جایگاه‌های منتنی مشخص می‌نویسد(برای مثال، در تعریف متغیرها). در حالت دوم، کامپایلر نوع عبارات و تعریف‌ها را بر اساس متن استنباط می‌کند. غالب زبان‌های مسیر اصلی(mainstream) ایستا نوع گذاری شده، مانند C#,C++ و Java، با مانیفست نوع گذاری می‌شوند



نوع گذاری قوی و ضعیف

نوع گذاری ضعیف این امکان را ایجاد می‌کند که با متغیری به جای متغیری دیگر برخورد شود، برای مثال رفتار با یک رشته به عنوان یک عدد. این ویژگی بعضی اوقات ممکن است مفید باشد، اما ممکن است باعث ایجاد برخی مشکلات برنامه شود که موقع کامپایل و حتی اجرا پنهان بمانند.

نوع گذاری قوی مانع رخ دادن مشکل فوق می‌شود. تلاش برای انجام عملیات روی نوع نادرست متغیر منجر به رخ دادن خطا می‌شود. زبان‌هایی که نوع گذاری قوی دارند غالباً با نام "نوع-امن" و یا امن شناخته می‌شوند. تمام تعاریف جایگزین برای "ضعیف نوع گذاری شده" به زبان‌ها اشاره می‌کند، مثل perl, JavaScript, C++، که اجازه تعداد زیادی تبدیل نوع داخلی را می‌دهند. در جاوااسکریپت، برای مثال، عبارت ۲*x به صورت ضمنی x را به عدد تبدیل می‌کند، و این تبدیل موفقیت آمیز خواهد بود حتی اگر x خالی، تعریف نشده، یک آرایه، و یا رشته‌ای از حروف باشد. چنین تبدیلات ضمنی غالباً مفیدند، اما خطاهای برنامه نویسی را پنهان می‌کنند.

قوی و ایستا در حال حاضر عموماً دو مفهوم متعامد فرض می‌شوند، اما استفاده در ادبیات تفاوت دارد، برخی عبارت "قوی نوع گذاری شده" را به کار می‌برند و منظورشان قوی، ایستایی نوع گذاری شده‌است، و یا، حتی گیچ کننده تر، منظورشان همان ایستایی نوع گذاری شده‌است. بنابراین C هم قوی نوع گذاری شده و هم ضعیف و ایستایی نوع گذاری شده نامیده می‌شود.



معناشناسی اجرا

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

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


کتابخانه هسته
اغلب زبان‌های برنامه نویسی یک کتابخانه هسته مرتبط دارند(گاهی اوقات "کتابخانه استاندارد" نامیده می‌شوند، مخصوصا وقتی که به عنوان قسمتی از یک زبان استاندارد ارائه شده باشد)، که به طور قراردادی توسط تمام پیاده سازی‌های زبان در دسترس قرار گرفته باشند. کتابخانه هسته معمولاً تعریف الگوریتم‌ها، داده ساختارها و مکانیزم‌های ورودی و خروجی پرکاربرد را در خود دارد. کاربران یک زبان، غالباً با کتابخانه هسته به عنوان قسمتی از آن رفتار می‌کنند، اگرچه طراحان ممکن است با آن به صورت یک مفهوم مجزا رفتار کرده باشند. بسیاری از خصوصیات زبان هسته‌ای را مشخص می‌کنند که باید در تمام پیاده سازی‌ها موجود باشند، و در زبان‌های استاندارد شده این کتابخانه هسته ممکن است نیاز باشد. بنابراین خط بین زبان و کتابخانه هسته آن از زبانی به زبان دیگر متفاوت است. درواقع، برخی زبان‌ها به گونه‌ای تعریف شده‌اند که برخی از ساختارهای دستوری بدون اشاره به کتابخانه هسته قابل استفاده نیستند. برای مثالف در جاوا، یک رشته به عنوان نمونه‌ای از کلاس “java.lang.String” تعریف شده است؛ مشابها، در سمال تاک(smalltalk) یک تابع بی نام(یک "بلاک") نمونه‌ای از کلاس BlockContext کتابخانه می‌سازد. بطور معکوس، Scheme دارای چندین زیرمجموعه مرتبط برای ایجاد سایر ماکروهای زبان می‌باشد، و در نتیجه طراحان زبان حتی این زحمت را نیز تحمل نمی‌کنند که بگویند کدام قسمت زبان به عنوان ساختارهای زبان باید پیاده سازی شوند، و کدام یک به عنوان بخشی ازکتابخانه.


عمل
طراحان زبان و کاربران باید مصنوعاتی ایجاد کنند تا برنامه نویسی را در عمل ممکن سازند و کنترل کنند. مهمترین این مصنوعات خصوصیات و پیاده سازی‌های زبان هستند.



خصوصیات

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

تعریف صریح دستور، معناشناسی ایستا، ومعناشناسی اجرای زبان. درحالیکه دستور معمولاً با یک معناشناسی قراردادی مشخص می‌شود، تعاریف معناشناسی ممکن است در زبان طبیعی نوشته شده باشند (مثل زبان C)، یا معناشناسی قراردادی(مثل StandardML ,Scheme)
توضیح رفتار یک مترجم برای زبان(مثل C,fortran). دستور و معناشناسی یک زبان باید از این توضیح استنتاج شوند، که ممکن است به زبان طبیعی یا قراردادی نوشته شود.
پیاده سازی منبع یا مدل. گاهی اوقات در زبان‌های مشخص شده(مثل: prolog,ANSI REXX).دستور و معناشناسی صریحاً در رفتار پیاده سازی مدل موجودند.


پیاده سازی

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

خروجی یک کامپایلر ممکن است با سخت‌افزار و یا برنامه‌ای به نام مفسر اجرا شود. در برخی پیاده سازی‌ها که از مفسر استفاده می‌شود، مرز مشخصی بین کامپایل و تفسیر وجود ندارد. برای مثال، برخی پیاده سازی‌های زبان برنامه نویسی بیسیک کامپایل می‌کنند و سپس کد را خط به خط اجرا می‌کنند.

برنامه‌هایی که مستقیماً روی سخت‌افزار اجرا می‌شوند چندین برابر سریعتر از برنامه‌هایی که با کمک نرم‌افزار اجرا می‌شوند، انجام می‌شوند.

یک تکنیک برای بهبود عملکرد برنامه‌های تفسیر شده کامپایل در لحظه آن است. در این روش ماشین مجازی، دقیقاً قبل از اجرا، بلوک‌های کدهای بایتی که قرار است استفاده شوند را برای اجرای مستقیم روی سخت‌افزار ترجمه می‌کند.



تاریخچه
پیشرفت‌های اولیه

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

در دهه ۴۰، اولین رایانه‌های دیجیتال که توسط برق تغذیه می‌شدند ایجاد شدند. اولین زبان برنامه نویسی سطح بالا طراحی شده برای کامپیوتر پلانکالکول بود، که بین سال‌های ۱۹۴۵ و ۱۹۴۳ توسط کنراد زوس برای ز۳ آلمان طراحی شد.

کامپیوترهای اوایل ۱۹۵۰، بطور خاص ÜNIVAC ۱ و IBM ۷۰۱ از برنامه‌های زبان ماشین استفاده می‌کردند. برنامه نویسی زبان ماشین نسل اول توسط نسل دومی که زبان اسمبلی نامیده می‌شوند جایگزین شد. در سال‌های بعد دهه ۵۰، زبان برنامه نویسی اسمبلی، که برای استفاده از دستورات ماکرو تکامل یافته بود، توسط سه زبان برنامه نویسی سطح بالا دیگر: FORTRAN,LISP , COBOL مورد استفاده قرار گرفت. نسخه‌های به روز شده این برنامه‌ها همچنان مورد استفاده قرار می‌گیرند، و هر کدام قویا توسعه زبان‌های بعد را تحت تاثیر قرار دادند. در پایان دهه ۵۰ زبان algol ۶۰ معرفی شد، و بسیاری از زبان‌های برنامه نویسی بعد، با ملاحظه بسیار، از نسل algol هستند. قالب و استفاده از زبان‌های برنامه نویسی به شدت متاثر از محدودیت‌های رابط بودند.



پالایش

دوره دهه ۶۰ تا اواخر دهه ۷۰ گسترش مثال‌های عمده زبان پرکاربرد امروز را به همراه داشت. با این حال بسیاری از جنبه‌های آن بهینه سازی ایده‌های اولیه نسل سوم زبان برنامه نویسی بود:

APL برنامه نویسی آرایه‌ای را معرفی کرد و برنامه نویسی کاربردی را تحت تاثیر قرار داد.
PL/i(NPL) دراوایل دهه ۶۰ طراحی شده بود تا ایده‌های خوب فورترن و کوبول را بهم پیوند دهد.
در دهه ۶۰، Simula اولین زبانی بود که برنامه نویسی شئ گرا را پشتیبانی می‌کرد، در اواسط دهه۷۰. Smalltalk به دنبال آن به

عنوان اولین زبان کاملاً شئ گرا معرفی شد.

C بین سال‌های ۱۹۶۹ تا ۱۹۷۳ به عنوان زبان برنامه نویسی سیستمی طراحی شد و همچنان محبوب است.
Prolog، طراحی شده در ۱۹۷۲، اولین زبان برنامه نویسی منطقی بود.
در ۱۹۷۸ ML سیستم نوع چند ریخت روی لیسپ ایجاد کرد، و در زبان‌های برنامه نویسی کاربردی ایستا نوع گذاری شده پیشگام شد.

هر یک از این زبان‌ها یک خانواده بزرگ از وارثین از خود به جای گذاشت، و مدرنترین زبان‌ها از تبار حداقل یکی از زبان‌های فوق به شمار می‌آیند.

دهه‌های ۶۰ و ۷۰ مناقشات بسیاری روی برنامه نویسی ساخت یافته به خود دیدند، و اینکه آیا زبان‌های برنامه نویسی باید طوری طراحی شوند که آنها را پشتیبانی کنند.

"ادسگر دیکسترا" در نامه‌ای معروف در ۱۹۶۸ که در ارتباطات ACM منتشر شد، استدلال کرد که دستورgoto باید از تمام زبان‌های سطح بالا حذف شود.

در دهه‌های ۶۰ و ۷۰ توسعهٔ تکنیک‌هایی صورت گرفت که اثر یک برنامه را کاهش می‌داد و در عین حال بهره وری برنامه نویس و کاربر را بهبود بخشید. دسته کارت برای ۴GL اولیه بسیار کوچکتر از برنامهٔ هم سطح بود که با ۳GL deck نوشته شده بود.




یکپارچگی و رشد

دهه ۸۰ سال‌های یکپارچگی نسبی بود. C++ برنامه نویسی شئ گرا و برنامه نویسی سیستمی را ترکیب کرده بود. ایالات متحده ایدا(زبان برنامه نویسی سیستمی که بیشتر برای استفاده توسط پیمان کاران دفاعی بود) را استاندارد سازی کرد. در ژاپن و جاهای دیگر، هزینه‌های گزافی صرف تحقیق در مورد زبان نسل پنجم می‌شد که دارای ساختارهای برنامه نویسی منطقی بود. انجمن زبان کاربردی به سمت استانداردسازی ML و Lisp حرکت کرد. به جای ایجاد مثال‌های جدید، تمام این تلاش‌ها ایده‌هایی که در دهه‌های قبل حلق شده بودند را بهتر کرد.

یک گرایش مهم در طراحی زبان در دهه ۸۰ تمرکز بیشتر روی برنامه نویسی برای سیستم‌های بزرگ از طریق مدول‌ها، و یا واحدهای کدهای سازمانی بزرگ مقیاس بود. مدول-۲، ایدا. و ML همگی سیستم‌های مدولی برجسته‌ای را در دهه ۸۰ توسعه دادند. با وجود اینکه زبان‌های دیگر، مثل PL/i، پشتیبانی بسیار خوبی برای برنامه نویسی مدولی داشتند. سیستم‌های مدولی غالباً با ساختارهای برنامه نویسی عام همراه شده‌اند.

رشد سریع اینترنت در میانه دهه ۹۰ فرصت‌های ایجاد زبان‌های جدید را فراهم کرد. Perl، در اصل یک ابزار نوشتن یونیکس بود که اولین بار در سال ۱۹۸۷ منتشر شد، در وب‌گاه‌های دینامیک متداول شد. جاوا برای برنامه نویسی جنب سروری مورد استفاده قرار گرفت. این توسعه‌ها اساساً نو نبودند، بلکه بیشتر بهینه سازی شده زبان و مثال‌های موجود بودند، و بیشتر بر اساس خانواده زبان برنامه نویسی C بودند. پیشرفت زبان برنامه نویسی همچنان ادامه پیدا می‌کند، هم در تحقیقات و هم در صنعت. جهت‌های فعلی شامل امنیت و وارسی قابلیت اعتماد است، گونه‌های جدید مدولی(mixin، نماینده‌ها، جنبه‌ها) و تجمع پایگاه داده.

۴GLها نمونه‌ای از زبان‌هایی هستند که محدوده استفاده آنها مشخص است، مثل SQL. که به جای اینکه داده‌های اسکالر را برگردانند، مجموعه‌هایی را تغییر داده و بر می‌گردانند که برای اکثر زبان‌ها متعارفند. Perl برای مثال، با "مدرک اینجا" خود می‌تواند چندین برنامه ۴GL را نگه دارد، مانند چند برنامه جاوا سکریبت، در قسمتی از کد پرل خود و برای پشتیبانی از چندین زبان برنامه نویسی با تناسب متغیر در "مدرک اینجا" استفاده کند.




سنجش استفاده از زبان

مشکل است که مشخص کنیم کدام زبان برنامه نویسی بیشتر مورد استفاده‌است، و اینکه کاربرد چه معنی می‌دهد با توجه به زمینه تغییر می‌کند. یک زبان ممکن است زمان بیشتری از برنامه نویس بگیرد، زبان دیگر ممکن است خطوط بیشتری داشته باشد، و دیگری ممکن است زمان بیشتری از پردازنده را مصرف کند. برخی زبان‌ها برای کاربردهای خاص بسیار محبوبند. برای مثال: کوبول همچنان در مراکزداده متحد، غالباً روی کامپیوترهای بزرگ توانا است؛ fortran در مهندسی برنامه‌های کاربردی، C در برنامه‌های تعبیه شده و سیستم‌های عامل؛ و بقیه برنامه‌ها معمولاً برای نوشتن انواع دیگر برنامه‌ها کاربرد دارند. روش‌های مختلفی برای سنجش محبوبیت زبان‌ها، هر یک متناسب یا یک ویژگی محوری متفاوت پیشنهاد شده‌است:

شمارش تعداد تبلیغات شغلی که از آن زبان نام می‌برند.
تعداد کتاب‌های آموزشی و شرح دهندهٔ آن زبان که فروش رفته‌است.
تخمین تعداد خطوطی که در آن زبان نوشته شده اند- که ممکن است زبان‌هایی را که در جستجوها کمتر پیدا می‌شوند دست کم گرفته شوند.
شمارش ارجاع‌های زبان(برای مثال، به اسم زبان) در موتورهای جستجوهای اینترنت.

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

این حقیقت که این دسته بندی ممکن است در راستای محورهای مختلف انجام شوند، این وظیفه را پیچیده تر می‌کند؛ برای مثال، جاوا هم یک زبان شیءگرا(چون به برنامه نویسی شیءگرا تشویق می‌کند) و زبان همزمان(چون ساختارهای داخلی برای اجرای چندین جریان موازی دارد) است. پایتون یک زبان اسکریپتی شیءگراست.

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

یک زبان برنامه نویسی ممکن است با فاکتورهای غیر مرتبط به مثال‌های برنامه نویسی دسته بندی شود. برای مثال، غالب زبان‌های برنامه نویسی کلمات کلیدی زبان انگلیسی را استفاده می‌کنند، در حالیکه تعداد کمی این کار را نمی‌کنند. سایر زبان‌ها ممکن است براساس داخلی بودن یا نبودن دسته بندی شوند.
ساعت : 2:46 am | نویسنده : admin | گرافیکسولوژی | مطلب قبلی
گرافیکسولوژی | next page | next page