روش آماری

ترجمه ماشینی به روش آماری، سعی در تولید ترجمه‌هایی دارد که از روشهای آماری مبتنی بر پیکره‌های متنی دوزبانی استفاده می‌کنند. همانند پیکره کانادایی هانسارد(Canadian Hansard corpus)، بایگانی انگلیسی-فرانسوی مجلس کانادا و یوروپارل(EUROPARL) و بایگانی پارلمان اروپا.






درحال حاضر این چنین پیکره‌هایی موجودند و نتایج ثمربخشی از ترجمه متون از نوع مشابهی، بدست می‌آید اما این چنین پیکره‌ای هنوز بسیار کمیاب است. اولین نرم‌افزار آماری ترجمه ماشینی، کاندید(CANDIDE) تولیدی شرکت آی‌بی‌ام بود. گوگل نیز سیسترن(SYSTRAN) را برای سالهای متمادی استفاده کرد اما نهایتاً در اکتبر ۲۰۰۷ به مترجمی آماری تغییر روش داد. به تازگی، گوگل قابلیت‌های ترجمه خود را بوسیله دادن ۲۰۰ میلیون کلمه از اسناد سازمان ملل بعنوان ورودی سیستم-برای تعلیم سیستم خود- بهبود بخشیده‌اند. وبدین سان دقت ترجمه‌ها بهبود یافته‌است.






روش مبتنی بر مثال

ترجمه ماشینی مبتنی بر مثال توسط ماکوتو ناگاوُ(Makoto Nagao) در سال ۱۹۸۴ مطرح شد. این روش اغلب با عنوان روش استفاده کننده از پیکره دوزبانی معرفی می‌شود. درواقع این روش، ترجمه‌ای بر اساس تمثیل است و می‌توان آنرا به عنوان پیاده سازی روش استدلال موردی در یادگیری ماشینی تلقی کرد.






ترجمه ماشینی پیوندی

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

قوانین در مرحله دوم توسط روشهای آماری پردازش می‌شوند

در این روش ترجمه بوسیله موتورهای قاعده‌مند انجام می‌شود. سپس معیارهای آماری برای تنظیم/تصحیح خروجی موتور قاعده‌مند اعمال می‌شوند.

معیارهای آماری از ابتدا توسط قوانین هدایت می‌شوند

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






مسئله‌های اصلی
ابهام‌زدایی

ابهام‌زدایی از کلمات با یافتن ترجمه مناسب برای کلمه‌ای با بیش از یک معنی در ارتباط است. این مساله اولین بار در سال ۱۹۵۰ توسط یهوشوا بار-هیلل (Yehoshua Bar-Hillel) مطرح شد. او به این موضوع که بدون یک فرهنگ نامهٔ جهانی، یک ماشین هرگز نمی‌تواند بین دو معنی کلمه، معنی صحیح را تشخیص دهد، تکیه کرد. امروزه روشهای بسیاری برای حل این مشکل بوجود آمده‌اند که این روشها بطور تقریبی به دو دستهٔ روشهای «سطحی» و «عمقی» تقسیم می‌شوند. روشهای سطحی تصور می‌کنند که هیچ دانشی از متن ندارند. آنها به سادگی روشهای آماری را برای کلمات اطراف کلمه مبهم، اعمال می‌کنند. اما روشهای عمقی دانشی وسیع از کلمه را متصور می‌شوند. تا بحال، روشهای سطحی موفقیت بیشتری داشته‌اند. آقای کلود پایرون(Claude Piron)، یکی از مترجم‌های بسیار قدیمی سازمان ملل و سازمان بهداشت جهانی، نوشته‌است که ترجمهٔ ماشینی، در بهترین نوع آن، آسان‌ترین بخش کار مترجمان را می‌تواند انجام دهد. بخش سخت‌تر و زمان‌گیر معمولاً در ارتباط با تشخیص ابهامات متن منبع است که این عمل نیاز به برطرف کردن آشفتگی‌های دستور زبانی و لغوی زبان مقصد دارد.

روش ایده‌آل عمقی ممکن است نرم‌افزار مترجم را ملزوم به انجام تمامی تحقیقات موردنیاز برای برطرف کردن اینگونه ابهامات بکند. اما این امر نیاز به هوش مصنوعی بسیار وسیعتری نسبت به آنچه تا بحال در این زمینه به دست آمده، دارد. روش سطحی که به سادگی ابهام یک عبارت انگلیسی را حدس می‌زند، شانس بالایی دراشتباه حدس زدن نیز دارد. روش سطحی ای وجود دارد که می‌گوید: «دربارهٔ هر ابهام از خود کاربر بپرس». اما این روش بنا به تخمین آقای پایرون، تنها ٪۲۵ از کار مترجم حرفه‌ای را انجام خواهد داد(٪۷۵ سختتر کار برای انسان می‌ماند و ماشین در انجام آن ناتوان است.)






گفتارهای غیر استاندارد

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






واحد‌های اسمی

واحدهای اسمی (Name entities)، به انتساب اسم به جوهره‌های وجودی در جهان خارج گفته می‌شود. مانند اسامی اشخاص و مکان‌ها و ... و یا ابزار زمان و کیفیت چیزی. چالش اول در ترجمه ماشین، شناسایی واحد‌های اسمی است. مثلاً در ترجمه‌ی «European Union» اگر به عنوان واحد اسمی شناسایی نشود ترجمه ماشینی تک به تک کلمات ممکن است به ترجمه‌ی «اتحادیه اروپایی» منجر می‌شود با اینکه «اتحادیه اروپا» ترجمه صحیح فارسی آن می‌باشد. باید اشاره کرد که در موارد زیادی یک به خصوص اسم اشخاص ترجمه پذیر نیست و راه جایگزین آن بجای ترجمه نویسه‌گردانی است.






نرم‌افزارهای کاربردی

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

آسیا آنلاین: موتور ترجمه ماشینی قابل سفارشی سازی است که ادعا می‌شود خروجی اش کیفیتی نزدیک به انسان دارد. آسیا آنلاین همچنین ابزاری برای ویرایش و ساخت ماشین مترجم دلخواه دارد که آنرا بوسیلهٔ مجموعهٔ استودیوی زبانی خود، توسعه بخشیده‌است.
مترجم خودکار زبان هندی به پنجابی: مترجمی است که از روش مستقیم استفاده می‌کند. این مترجم امکان ترجمهٔ صفحات وب هندی به زبان پنجابی را فراهم می‌سازد. همچنین امکان نوشتن پست الکترونیک به زبان هندی و ارسال آن به دریافت کننده به زبان پنجابی را دارد.
ورد لینگو (Worldlingo): مترجمی که بر مبنای دو روش آماری و قاعده‌مند کار می‌کند(همانند مترجم مایکروسافت آفیس).
سیسترن: همان سیستم یاهو! بیبل فیش (Yahoo! Babel Fish).
پرامت (Promt): سرویسهای ترجمهٔ آنلاین در Voila.fr و Orange.fr
اپتک: یک سیستم مترجم خودکار چندگانه(در سال ۲۰۰۹ ارایه شد)
ایدوماکس: سرویسهای مترجم آنلاین در idiomax.com
ترگمان اولین سایت ترجمه ماشینی آماری ایرانی که قابلیت ترجمه دو زبانه فارسی - انگلیسی را دارا می باشد.

با اینکه هیچ یک از سیستمها، خلاصه‌ای بدون خطا، تمام خودکار و با کیفیت بالا نمی‌توانند تولید کنند، بسیاری از سیستم‌های تمام خودکار، خروجی منطقی ای را تولید می‌کنند. کیفیت ترجمه ماشینی اگر حوزهٔ موضوعی متن محدود و کنترل شده باشد، اساساً بهتر خواهد شد. با وجود محدودیت‌های موروثی، نرم‌افزارهای ترجمه ماشینی در سرتاسر جهان مورد استفاده می‌باشند. احتمالاً بزرگترین موسسه استفاده کننده از این نرم‌افزارها کمیسیون اروپاست. پروژه مولتو(MOLTO)، که بوسیله دانشگاه گوتنبورگ ایجاد شده‌است، بیش از ۲٫۳۷ میلیون یورو بعنوان بودجهٔ حمایتی از اتحادیه اروپا برای ساخت ابزار مترجم قابل اطمینان دریافت کرده که بتواند بیشتر زبانهای اتحادیه اروپا را دربر بگیرد. تاگل تکست(Toggletext)، یک سیستم مبتنی بر انتقال است که زبان انگلیسی را به اندونزیایی ترجمه می‌کند.

گوگل ادعا کرده‌است که نتایجی که قولش را داده بود، بوسیله استفاده از موتور ترجمه ماشینی آماری اش حاصل شده‌است. ترجمه آماری که در ابزار زبان گوگل (Google language tools) برای تبدیل بین زبانهای عربی، انگلیسی و بین چینی و انگلیسی استفاده شده‌است، امتیاز کلی ۰٫۴۲۸۱ را از موسسه ملی استاندارد و تکنولوژی گرفت که درقیاس با بلو-۴ شرکت آی بی ام که در تابستان ۲۰۰۶ امتیاز ۰٫۳۹۵۴ گرفته بود، برتری یافت.

با تمرکز امروزی تروریسم، منابع نظامی ایالات متحده آمریکا مبلغ بالایی را در مهندسی زبان طبیعی، سرمایه گذاری کرده‌اند. در حال حاضر نیروی نظامی به ترجمه و پردازش زبانهایی همانند عربی، پشتو ودری علاقه‌مند است. دفترپردازش فناوری اطلاعات دارپا، برنامه‌هایی همانند تایدز(TIDES)و مترجم بابیلون را میزبانی می‌کند. نیروی هوایی آمریکا نیز ۱میلیون دلار برای توسعه و ایجاد تکنولوژی ترجمه زبان، تعهد کرده‌است.

رشد جالب توجه شبکه‌های اجتماعی، همانند فیس بوک یا پیام‌رسان‌های فوری همانند اسکایپ(Skype)، گوگل تاک(Google Talk) و ام اس ان مسنجر(MSN Messenger)، در سالهای اخیر، مورد استفادهٔ دیگری برای نرم‌افزارهای ترجمه ماشینی شده‌است. چراکه بدین وسیله کابران به زبان‌های محتلف می‌توانند با یکدیگر ارتباط برقرار کنند.

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






ارزیابی ترجمه خودکار در حوزه‌های مختلف

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

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






ارزیابی ترجمهٔ ماشینی

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

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





ترجمه متون ادبی

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

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





نقد ترجمه

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






توضیح

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

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

ترجمه یک متن ادبی وقتی بررسی میشود در ابتدا هدف بررسی‌کننده، قضاوت نیست بلکه هدف یافتن جایگاه ترجمه نسبت به متن اصلی است؛ این کار با بررسی عواملی انجام می‌شود که از انتخابهای ترجمه‌ای مترجم نشات می‌گیرند. هنگام مقایسه چند ترجمه از یک متن، نتایج بررسی باید منجر به ساخت یک فرضیه برای هر ترجمه شوند: ملاکهایی نظیر divergent similarity ،relative divergence ،radical divergence و adaptation برای چنین تحلیلی مهم هستند.

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





مطالعات ترجمه
مطالعات ترجمه یک حوزه بینارشته‌ای شامل عناصری از علوم اجتماعی و علوم انسانی است که به مطالعه نظام‌مند نظریه، توصیف و کاربرد ترجمه کتبی، شفاهی، چندرسانه‌ای و ماشینی می‌پردازد و هر از چندگاهی وارد دنیای سیاست و مسائل حقوقی می‌شود. این رشته در سال ۱۹۷۲ توسط جیمز هلمز تحت عنوان رشته‌ای مستقل معرفی شد و اکنون در بیش از ۷۰ دانشگاه جهان تدریس می‌شود.






مطالعات ترجمه در ایران

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






رشته مطالعات ترجمه در دانشگاه‌های ایران

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





ترجمه تحت‌اللفظی

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

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





زیرنویس

زیرنویس نوشتار گفته‌ها یا ترجمه‌ی یک فیلم، مستند، مجموعه تلویزیونی و... می‌باشد که از زبان بیگانه (و برای ناشنوایان و کم‌شنوایان از زبان اصلی) و اصلی گویندگان برنامه نمایشی به صورت متن نوشته شده و معمولاً در زیر نمایشگر ظاهر می‌شود.






فناوری رایانه‌ای و زیر نویس

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






انواع زیرنویس‌ها

زیرنویس‌ها به دو گونه‌اند یا بر روی فیلم حک شده‌اند یا جدا از فیلم هستند که در فایلی جداگانه زیرنویس قرار می‌گیرد در فرمت‌های جدیدتر فیلم مانند mkv قابلیت الصاق چند زیرنویس به فیلم موجود است که بیننده در صورت تمایل زیرنویس مورد نظر را انتخاب یا آن را خاموش می‌کند

زیرنویس‌ها عموماً با پسوند srt موجود می‌باشند هر چند با پسوندهای دیگر چون smi,sub idx و... نیز موجودند ولی اصلی ترین و بهترین نوع زیرنویس srt می‌باشد. نحوه خواندن این زیرنویس‌ها در کامپیوتر توسط نرم‌افزارهای حرفه‌ای پخش فیلم صورت می‌گیرد که از معروفترین و با کیفیت ترین آن‌ها می‌توان به kmplayer,klight codec,splash pro,VLC player و... اشاره کرد نحوه قرار گرفتن این زیرنویس‌ها روی فیلم باید نام فایل زیرنویس خود را هماهنگ با فیلم کنید برای مثال به صورت زیر

filename.mkv

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

نرم‌افزارهای ترجمه زیرنویس مترجمان این گونه فیلمها از نرم‌افزارهای خاصی برای ترجمه استفاده می‌کنند و در نهایت آن را باپسوند مورد نظر ذخیره می‌کنند که معروفترین این برنامه‌ها می‌توان به subtitle workshop, subtile editor و... اشاره کرد این برنامه‌ها امکان زمان بندی و نگارش ترجمه را به عهده دارند.






مترجمان

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






موازی کاری در زیرنویس‌ها

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





روز جهانی ترجمه
روز جهانی ترجمه برابر است با ۳۰ سپتامبر. این روز به افتخار سنت جروم که انجیل را ترجمه کرد و محافظ مترجمین به حساب می‌آید. این روز از ۱۹۵۳ که توسط فدراسیون بین المللی ترجمه جشن گرفته می شود ولی از ۱۹۹۱ که فدراسیون آن را به عنوان یک روز بین المللی پیشنهاد کرد تا همبستگی جامعه مترجمین جهان را نشان دهد که پیشبرنده حرفه ترجمه در کشورهای مختلف خواهد بود. این فرصتی است برای تاکید بر اهمیت شغلی که یکی از مهترین ابزارهای جهانی شدن به حساب می‌آید.





زبان فارسی

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

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

در ایران زبان نخست بیش از ۴۰ میلیون تن فارسی است (بین ۵۸٪ تا ۷۹٪). فارسی زبان نخست ۲۰ میلیون تن در افغانستان، ۵ میلیون تن در تاجیکستان، و در ازبکستان حدود ۷ میلیون است. زبان فارسی گویش‌ورانی نیز در هند و پاکستان دارد (نگاه: زبان فارسی در شبه‌قاره هندوستان). با توجه به رسمی بودن زبان فارسی در ایران، افغانستان و تاجیکستان و تسلط گویشوران سایر زبان‌ها بدان به عنوان زبان دوم روی هم‌رفته می‌توان شمار فارسی‌گویان جهان را حدود ۱۱۰ میلیون تن برآورد کرد. زبان فارسی چهاردهمین زبان پرکاربرد در محتوای وب است

گرچه فارسی اکنون زبان رسمی پاکستان نیست، پیش از استعمار انگلیس و در زمان امپراتوری گورکانی (به فرمان اکبرشاه)، زبان رسمی و فرهنگی شبه‌قاره هند بوده‌است. زبان رسمی کنونی پاکستان (اردو)، که «اسلامی‌شده»ی زبان هندی است، بسیار تحت تأثیر فارسی بوده‌است و واژه‌های فارسی بسیاری دارد. به طوری که تمامی کلمات سرود ملی پاکستان به جز یک حرف اضافه از کلمات مشترک با زبان فارسی تشکیل شده‌است.

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






پیشینه نام
نمودار رابطهٔ زبان فارسی و زبان‌های هندواروپایی

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






جایگاه زبان فارسی

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

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

در سال ۱۸۷۲ در نشست ادیبان و زبان‌شناسان اروپایی در برلین، زبان‌های یونانی، فارسی، لاتین و سانسکریت به عنوان زبان‌های کلاسیک جهان برگزیده شدند. بر پایهٔ تعریف، زبانی کلاسیک به شمار می‌آید که یکم، باستانی باشد، دوم، ادبیات غنی داشته باشد و سوم در آخرین هزاره عمر خود تغییرات اندکی کرده باشد.

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

از زبان فارسی واژه‌های زیادی در دیگر زبان‌ها به وام گرفته شده‌است. شمار وام‌واژه‌های فارسی در زبان انگلیسی ۸۱۱ واژه‌است. فارسی از نظر شمار و تنوع ضرب‌المثل‌ها در میان سه زبان اول جهان است. دامنه واژگان و تنوع واژه‌ها در فارسی هم‌چنین بسیار بزرگ و پرمایه‌است و یکی از غنی‌ترین زبان‌های جهان از نظر واژه‌ها و دایره لغات به‌شمار می‌آید. در کمتر زبانی فرهنگ لغاتی چون دهخدا (در ۱۸ جلد) و یا فرهنگ معین (در ۶ جلد) دیده می‌شود.

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






پیشینهٔ زبان فارسی

زبان فارسی از شاخهٔ هندواروپایی زیرشاخهٔ هندوایرانی و دستهٔ زبان‌های ایرانی است. پیشینهٔ کهن زبان فارسی به ایران باستان باز می‌گردد. روند تاریخی زبان فارسی را به سه دوره باستان، میانی و نو بخش می‌کنند. زبان فارسی امروزی ریشه در فارسی میانه دارد و فارسی میانه ریشه در فارسی باستان. و فارسی تنها زبان ایرانی است که هر سه دوره تاریخی آن ثبت شده و از آنها نوشتارهایی به‌جا مانده‌است.

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

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

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

در چهار سدهٔ فرمانروایی ساسانیان دگرگونی‌های اساسی در وضع زبان در ایران پدید آمد. پارتی دیگر به‌عنوان زبان رسمی برجای نماند و از سدهٔ چهارم به بعد همهٔ کتیبه‌ها به زبان فارسی نوشته شدند.

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

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

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

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

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

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

نظر بهار در مورد ریشه دری را نیز بنگرید.
4:12 pm
کاربرد

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





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

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

یک سیر رایج در گسترش زبان‌های برنامه نویسی این است که قابلیت حل مسائلی با درجات انتزاعی بالاتری را اضافه کنند. زبان‌های برنامه نویسی اولیه به سخت‌افزار رایانه گره خورده بودند. همانطور که زبان‌های برنامه نویسی جدید گسترش پیدا کرده‌اند، ویژگی‌هایی به برنامه‌ها افزوده شده که به برنامه نویس اجازه دهد که ایده‌هایی که از ترجمه ساده به دستورات سخت‌افزار دورتر هستند نیز استفاده کند. چون برنامه نویس‌ها کمتر به پیچیدگی رایانه محدود شده‌اند، برنامه‌های آنها می‌تواند محاسبات بیشتری با تلاش کمتر از سوی برنامه نویس انجام دهند. این به آنها این امکان را می‌دهد که کارایی بیشتردر واحد زمان داشته باشند. "پردازنده‌های زبان طبیعی" به عنوان راهی برای ازبین بردن نیاز به زبان‌های اختصاصی برنامه نویسی پیشنهاد شده‌اند. هرچند، این هدف دور است و فواید آن قابل بحث است. "ادسگر دیجسترا" موافق بود که استفاده از یک زبان رسمی برای جلوگیری از مقدمه سازی ساختارهای بی معنی واجب است، و زبان برنامه نویسی طبیعی را با عنوان "احمقانه" رد کرد، "آلن پرلیس" نیز مشابها این ایده را رد کرد. مطابق با متدولوژی نامتجانس استفاده شده توسط 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 هم قوی نوع گذاری شده و هم ضعیف و ایستایی نوع گذاری شده نامیده می‌شود.
ساعت : 4:12 pm | نویسنده : admin | مطلب قبلی | مطلب بعدی
مای اف | next page | next page