روش آماری ترجمه
روش آماری
ترجمه ماشینی به روش آماری، سعی در تولید ترجمههایی دارد که از روشهای آماری مبتنی بر پیکرههای متنی دوزبانی استفاده میکنند. همانند پیکره کانادایی هانسارد(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 و... اشاره کرد این برنامهها امکان زمان بندی و نگارش ترجمه را به عهده دارند.
مترجمان
مترجمان این نوع فیلمها ترجمه خود را بر دو اساس انجام میدهند یک اینکه بر اساس شندیهها صورت میگیرد یعنی با توجه به صحبتهای گوینده و آنچه میشنوند صورت میدهند که به این نوع ترجمهها شنیداری میگویند و دوم بر اساس یک زیرنویس دیگری از آن فیلم به زبانی که مترجم مسلط است که عموماً زبان انگلیسی است صورت میگیرد که روش دوم کیفیت بهتری نسبت به روش نخست دارد به شرط آن که کیفیت زیرنویس منبع خوب باشد البته بسته به قدرت مترجم در ترجمه در هر دو مورد کیفیت متغیر میباشد.
در کار ترجمه مترجمها یا به صورت انفرادی یا گروهی کار میکنند بدین صورت که فرد متعلق به هیچ گروهی نیست یا فرد مترجم در یک گروه که در ترجمه فیلم شناخته شدهاند ترجمههای خود را ارائه میدهد.
موازی کاری در زیرنویسها
موازی کاری در زیرنویسها بدین معنی است که چند مترجم برای ترجمه یک فیلم داوطلب میشوند و باعث میشود برای چند فیلم چند زیرنویس از مترجمهای مختلف موجود باشد از مهمترین فعالیت گروههای ترجمه جلوگیری تا حدالامکان از این موازی کاری هاست تا مترجمان بتوانند به ترجمه فیلم دیگری پرداخته و فیلمهای بیشتری ترجمه شوند
روز جهانی ترجمه
روز جهانی ترجمه برابر است با ۳۰ سپتامبر. این روز به افتخار سنت جروم که انجیل را ترجمه کرد و محافظ مترجمین به حساب میآید. این روز از ۱۹۵۳ که توسط فدراسیون بین المللی ترجمه جشن گرفته می شود ولی از ۱۹۹۱ که فدراسیون آن را به عنوان یک روز بین المللی پیشنهاد کرد تا همبستگی جامعه مترجمین جهان را نشان دهد که پیشبرنده حرفه ترجمه در کشورهای مختلف خواهد بود. این فرصتی است برای تاکید بر اهمیت شغلی که یکی از مهترین ابزارهای جهانی شدن به حساب میآید.
زبان فارسی
فارسی یکی از زبانهای هندواروپایی در شاخهٔ زبانهای ایرانی جنوب غربی است که در کشورهای ایران، افغانستان، تاجیکستان و ازبکستان به آن سخن میگویند. فارسی زبان رسمی کشورهای ایران و تاجیکستان و یکی از دو زبان رسمی افغانستان (در کنار زبان پشتو) است.
فارسی را پارسی نیز میگویند. زبان فارسی در افغانستان به طور رسمی دری و در تاجیکستان تاجیکی خوانده شدهاست.
در ایران زبان نخست بیش از ۴۰ میلیون تن فارسی است (بین ۵۸٪ تا ۷۹٪). فارسی زبان نخست ۲۰ میلیون تن در افغانستان، ۵ میلیون تن در تاجیکستان، و در ازبکستان حدود ۷ میلیون است. زبان فارسی گویشورانی نیز در هند و پاکستان دارد (نگاه: زبان فارسی در شبهقاره هندوستان). با توجه به رسمی بودن زبان فارسی در ایران، افغانستان و تاجیکستان و تسلط گویشوران سایر زبانها بدان به عنوان زبان دوم روی همرفته میتوان شمار فارسیگویان جهان را حدود ۱۱۰ میلیون تن برآورد کرد. زبان فارسی چهاردهمین زبان پرکاربرد در محتوای وب است
گرچه فارسی اکنون زبان رسمی پاکستان نیست، پیش از استعمار انگلیس و در زمان امپراتوری گورکانی (به فرمان اکبرشاه)، زبان رسمی و فرهنگی شبهقاره هند بودهاست. زبان رسمی کنونی پاکستان (اردو)، که «اسلامیشده»ی زبان هندی است، بسیار تحت تأثیر فارسی بودهاست و واژههای فارسی بسیاری دارد. به طوری که تمامی کلمات سرود ملی پاکستان به جز یک حرف اضافه از کلمات مشترک با زبان فارسی تشکیل شدهاست.
زبان پارسی از سرزمین پارس در حدود استان امروزی پارس در جنوب ایران سرچشمه گرفتهاست و در زمان ساسانیان در دیگر سرزمینهای ایرانی گسترش زیادی یافت بهطوریکه در جریان شاهنشاهی ساسانیان، زبان فارسی میانه و گویشهای آن در خراسان بزرگ جایگزین زبانهای پارتی و بلخی شد و بخشهای بزرگی از خوارزمیزبانان و سغدیزبانان نیز فارسیزبان شدند. گویشی از فارسی میانه که بعدها فارسی دری نام گرفت پس از اسلام به عنوان گویش استاندارد نوشتاری در خراسان شکل گرفت و این بار با گسترش به سوی غرب به ناحیه پارس و دیگر نقاط ایران بازگشت.
پیشینه نام
نمودار رابطهٔ زبان فارسی و زبانهای هندواروپایی
زبان پارسی نو در طول تاریخ و در پهنههای مختلف جغرافیایی نامهای متفاوتی داشته و دارد. این زبان بصورت رسمی در ایران به نام پارسی، در افغانستان دری، در تاجیکستان به نام تاجیکی و در ازبکستان به نام فارسی مشهور است. اگرچه مردم فارسی زبان افغانستان همچنان زبان خود را پارسی مینامند. زبان فارسی در بحرین نیز نام عجمی دارد. در ترکیه عثمانی که زبان پارسی دارای جایگاهی ادبی بود نام پارسی برای آن کاربرد داشت. در هند به زبان پارسی، فارسی میگویند. فارسی زبانان در گذشته واژگان دری و پارسی را نیز برای این زبان بکار میبردند و فارسی که معرب پارسی است. در کشور ایران نام این زبان در سراسر کشور پارسی است. در زبان عربی کلاسیک بویژه قرنهای نخست دوره اسلامی به زبان پارسی لسان العجم یا زبان عجم و به ایرانیان عجمی و بندرت عجمو میگفتند. بطور نمونه در تفسیر الضحاک آمدهاست منظور قرآن از عجمی سلمان فارسی است.
جایگاه زبان فارسی
زبان پارسی با اینکه یکی از ارکان اصلی هویت ایرانی است و به عنوان زبان ملی و رسمی ایران شناخته شدهاست، ولی هویتی بسیار فراتر از فلات ایران دارد. و به همین دلیل عصر ارتباطات و دهکده جهانی آنرا آسیبپذیر نمیکند. فارسی از حدود سال ۱۰۰۰ میلادی تا ۱۸۰۰، زبان میانجی بخش بزرگی از غرب و جنوب آسیا بود. به عنوان نمونه پیش از استعمار هند توسط انگلیس، در زمان حکومت گورکانیان در هند، که ادامه دهنده امپراتوری تیموریان در هند بودند، فارسی زبان رسمی این امپراتوری وسیع بود. یا نقل میکنند که وقتی که شاه اسماعیل صفوی در ابتدای یکی از جنگهای خود قطعه شعری به زبان ترکی آذربایجانی برای پادشاه عثمانی فرستاد، پادشاه عثمانی شعری فارسی را در جواب او، برای شاه اسماعیل پس فرستاد. زبان فارسی جدا از اینکه زبان اصلی و یا زبان دوم مردم سرزمین ایران با قومیتهای مختلف بودهاست، نفوذ بسیاری در کشورهای مجاور خود همچون هند و عثمانی داشتهاست. و در دوره امپراتوری گورکانیان زبان فارسی در هندوستان زبان رسمی اداری و نظامی بودهاست و در کنار نفوذ زبان فارسی، نفوذ فرهنگ ایرانی هم در فرهنگهای دیگر دیده میشود و به طور مثال در امپراتوری گورکانیان در کنار دین اسلام، فرهنگ ایرانی جزو سرلوحههای فرهنگیشان بودهاست.
این نفوذ فرهنگی تا به آن حد است که ریچارد نلسون فرای، استاد بازنشسته دانشگاه هاروارد معتقد است که «... عربها دیگر نقش ایران و زبان فارسی را در شکلگیری فرهنگ اسلامی درک نمیکنند. شاید آنان آرزو دارند که گذشته را فراموش کنند، ولی با این کار آنها ریشههای معنوی، اخلاقی و فرهنگی خودشان را حذف میکنند.».
در سال ۱۸۷۲ در نشست ادیبان و زبانشناسان اروپایی در برلین، زبانهای یونانی، فارسی، لاتین و سانسکریت به عنوان زبانهای کلاسیک جهان برگزیده شدند. بر پایهٔ تعریف، زبانی کلاسیک به شمار میآید که یکم، باستانی باشد، دوم، ادبیات غنی داشته باشد و سوم در آخرین هزاره عمر خود تغییرات اندکی کرده باشد.
زبان فارسی پس از عربی زبان دوم اسلام است و امروزه هم گروندگان به اسلام در چین و دیگر نقاط آسیا فارسی را به عنوان زبان دوم متون اسلامی پس از عربی میآموزند. برای گروندگان به بهاییت در سطح جهان، زبان فارسی زبان اول دینی آنها است.
از زبان فارسی واژههای زیادی در دیگر زبانها به وام گرفته شدهاست. شمار وامواژههای فارسی در زبان انگلیسی ۸۱۱ واژهاست. فارسی از نظر شمار و تنوع ضربالمثلها در میان سه زبان اول جهان است. دامنه واژگان و تنوع واژهها در فارسی همچنین بسیار بزرگ و پرمایهاست و یکی از غنیترین زبانهای جهان از نظر واژهها و دایره لغات بهشمار میآید. در کمتر زبانی فرهنگ لغاتی چون دهخدا (در ۱۸ جلد) و یا فرهنگ معین (در ۶ جلد) دیده میشود.
امروزه بهجز صدها کانال رادیویی و تلویزیونی داخلی کشورهای فارسیزبان، بسیاری از رسانههای بزرگ جهان همچون بیبیسی، صدای آمریکا، یورونیوز، صدای آلمان (دویچهوله)، رادیو فرانسه، نشنال جیوگرفیک، صدای روسیه، رادیو اسرائیل و رادیو بینالمللی چین، العربیه و غیره به زبان فارسی برنامه دارند. و دهها کانال ماهوارهای و اینترنتی به پخش برنامه به زبان فارسی مشغولاند، و فارسی از زبانهای قابل انتخاب در گوگل، جیمیل و بسیاری از دیگر ابزارهای ارتباطی است. فارسی همچنین جزو چند زبانی است که در بسیاری از دانشگاههای اصلی جهان به عنوان رشته تحصیلی در مقطع کارشناسی و بالاتر ارائه میشود و بسیاری از دانشگاهها نشریاتی به فارسی یا در مورد زبان فارسی دارند.
پیشینهٔ زبان فارسی
زبان فارسی از شاخهٔ هندواروپایی زیرشاخهٔ هندوایرانی و دستهٔ زبانهای ایرانی است. پیشینهٔ کهن زبان فارسی به ایران باستان باز میگردد. روند تاریخی زبان فارسی را به سه دوره باستان، میانی و نو بخش میکنند. زبان فارسی امروزی ریشه در فارسی میانه دارد و فارسی میانه ریشه در فارسی باستان. و فارسی تنها زبان ایرانی است که هر سه دوره تاریخی آن ثبت شده و از آنها نوشتارهایی بهجا ماندهاست.
زبان فارسی به عنوان یکی از گویشهای قوم و تیره پارس که به جنوب غربی فلات ایران کوچیده بود آغاز شد و با چیره شدن خاندان هخامنش که از این تیره بودند بر سرزمینهای گستردهای در فلات ایران و پیرامون، فارسی نیز (در شکل آنزمان خود یعنی پارسی باستان) زبان چیره و زبان اداری این منطقه پهناور شد. پارسی باستان مانند تمامی زبانهای هندواروپایی آغازین زبانی بود با دستور زبان پیچیده، و دارای حالتهای صرفی گوناگون. بسیاری از مردم غیرایرانیزبان منطقه وسیع شاهنشاهی هخامنشی نیز به آموختن فارسی روی آوردند و از این تماسها و گسترشها به عنوان یکی از دلایل روند سادهتر شدن دستور زبان پیچیده پارسی باستان یاد میکنند.
در اواخر دوره هخامنشی پارسی باستان با سادهسازیهای پیوسته به شکل اولیهای از پارسی میانه تبدیل شدهبود. پارسی در زمان شاهنشاهی اشکانیان تاثیرات گوناگونی از زبان پارتی گرفت اما با چیرگی ساسانیان خود تبدیل به زبان برتر و زبان رسمی و اداری ایران شد و در منطقه وسیعی گسترش یافت. فارسی میانه در مناطقی چون آسیای میانه رفتهرفته زبان رایج بازرگانان و بعداً زبان دیگر اقشار مردم شد.
در سدهٔ سوم پس از میلاد نوشتههای نخستین پادشاهان ساسانی به سه زبان ضبط شدهاند: پارتی، فارسی میانه و یونانی. پارتی زبان فروانروایان اشکانی بود که قلمرو حکومت خود را بهتدریج از شمال خراسان بر همه ایران گسترش دادند. فارسی میانه زبان فرمانروایان ایرانی ساسانی بود که از ایالت فارس برخاستند، بر پادشاه اشکانی چیره شدند و بر جای او در تیسفون نشستند. در این دوران پارتی در شمال و فارسی میانه در جنوب ایران زبان گفتاری بود.
در چهار سدهٔ فرمانروایی ساسانیان دگرگونیهای اساسی در وضع زبان در ایران پدید آمد. پارتی دیگر بهعنوان زبان رسمی برجای نماند و از سدهٔ چهارم به بعد همهٔ کتیبهها به زبان فارسی نوشته شدند.
آرتور کریستنسن، ایرانشناس نامدار دانمارکی، معتقد است که رواج زبان فارسی در مناطق شمال خاوری فلات ایران ناشی از ایجاد مراکز نظامی در خراسان، به منظور دفاع از قلمرو شاهنشاهی در برابر هجوم ساکنان آسیای میانه بود.
با تسخیر سرزمین باختر (بلخ) بهدست ساسانیان در سال ۵۵۸ میلادی، فارسی در بلخ به عنوان زبان رسمی جایگزین زبان بلخی شد و به علت اینکه دستور زبان فارسی به مراتب از بلخی سادهتر بود مردم این ناحیه به آسانی فارسی را پذیرفتند و این آغازی شد بر گسترش فارسی در آسیای میانه.
در نیمه شمالی ایران و بهویژه خراسان، زبان فارسی از زبان پارتی تأثیر زیادی گرفت و باعث شد تا در این ناحیه گویش تازهای از فارسی (گویش شمالی آن زمان) بهوجود بیاید که با گویش جنوبی (در پارس و خوزستان و...) تفاوتهایی پیدا کرد؛ با انتقال مقر شاهنشاهی ساسانیان به تیسفون و مناطق شمالی، گویش شمالی که در تیسفون رواج بیشتری یافته بود برای تمایز با گویش اصلی منطقه فارس یعنی همان گویش جنوبی، به عنوان فارسی دری (پارسی درباری) نامیدهشد.
بنابر این، در این زمان به گویش دستنخوردهتر استان فارس، پارسی، و به گویش شمالیتر که عناصر زیادی از پارتی را در خود جذب کردهبود پارسی دری گفته شد. برای نمونه در حالی که در فارسی (جنوبی) واژه «گَپ» رایج بود در گویش شمالی برای همین معنی کلمه «بزرگ» بهکار رفت.
در سده هفتم میلادی زبان فارسی زبان گفتاری نیمه جنوبی ایران، از خوزستان تا سیستان بود. در نیمه شمالی ایران فارسی زبان شهرها و زبان رسمی بود ولی پارتی هنوز در روستاها زبان گفتاری ساکنان بود. در بلخ نیز فارسی زبان رسمی نوشتاری و در حال گسترش به عنوان زبان گفتاری در جامعه بود. فارسی در این دوره در سغد و خوارزم تبدیل به زبان میانجی و بازرگانی شدهبود.
بر اثر این روندها، زبان پارتی در همان دوره پیش از اسلام از خراسان بزرگ رخت بربست و جای خود را به فارسی (میانه) داد و عربها پس از حمله به ایران زبان فارسی دری را به عنوان زبان تماس با مردم محل برگزیدند و سربازان حملات اسلامی به شرق همین زبان فارسی دری را با خود در مناطق دوردستتری در آسیای میانه گسترش دادند.
نظر بهار در مورد ریشه دری را نیز بنگرید.
ترجمه ماشینی به روش آماری، سعی در تولید ترجمههایی دارد که از روشهای آماری مبتنی بر پیکرههای متنی دوزبانی استفاده میکنند. همانند پیکره کانادایی هانسارد(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 و... اشاره کرد این برنامهها امکان زمان بندی و نگارش ترجمه را به عهده دارند.
مترجمان
مترجمان این نوع فیلمها ترجمه خود را بر دو اساس انجام میدهند یک اینکه بر اساس شندیهها صورت میگیرد یعنی با توجه به صحبتهای گوینده و آنچه میشنوند صورت میدهند که به این نوع ترجمهها شنیداری میگویند و دوم بر اساس یک زیرنویس دیگری از آن فیلم به زبانی که مترجم مسلط است که عموماً زبان انگلیسی است صورت میگیرد که روش دوم کیفیت بهتری نسبت به روش نخست دارد به شرط آن که کیفیت زیرنویس منبع خوب باشد البته بسته به قدرت مترجم در ترجمه در هر دو مورد کیفیت متغیر میباشد.
در کار ترجمه مترجمها یا به صورت انفرادی یا گروهی کار میکنند بدین صورت که فرد متعلق به هیچ گروهی نیست یا فرد مترجم در یک گروه که در ترجمه فیلم شناخته شدهاند ترجمههای خود را ارائه میدهد.
موازی کاری در زیرنویسها
موازی کاری در زیرنویسها بدین معنی است که چند مترجم برای ترجمه یک فیلم داوطلب میشوند و باعث میشود برای چند فیلم چند زیرنویس از مترجمهای مختلف موجود باشد از مهمترین فعالیت گروههای ترجمه جلوگیری تا حدالامکان از این موازی کاری هاست تا مترجمان بتوانند به ترجمه فیلم دیگری پرداخته و فیلمهای بیشتری ترجمه شوند
روز جهانی ترجمه
روز جهانی ترجمه برابر است با ۳۰ سپتامبر. این روز به افتخار سنت جروم که انجیل را ترجمه کرد و محافظ مترجمین به حساب میآید. این روز از ۱۹۵۳ که توسط فدراسیون بین المللی ترجمه جشن گرفته می شود ولی از ۱۹۹۱ که فدراسیون آن را به عنوان یک روز بین المللی پیشنهاد کرد تا همبستگی جامعه مترجمین جهان را نشان دهد که پیشبرنده حرفه ترجمه در کشورهای مختلف خواهد بود. این فرصتی است برای تاکید بر اهمیت شغلی که یکی از مهترین ابزارهای جهانی شدن به حساب میآید.
زبان فارسی
فارسی یکی از زبانهای هندواروپایی در شاخهٔ زبانهای ایرانی جنوب غربی است که در کشورهای ایران، افغانستان، تاجیکستان و ازبکستان به آن سخن میگویند. فارسی زبان رسمی کشورهای ایران و تاجیکستان و یکی از دو زبان رسمی افغانستان (در کنار زبان پشتو) است.
فارسی را پارسی نیز میگویند. زبان فارسی در افغانستان به طور رسمی دری و در تاجیکستان تاجیکی خوانده شدهاست.
در ایران زبان نخست بیش از ۴۰ میلیون تن فارسی است (بین ۵۸٪ تا ۷۹٪). فارسی زبان نخست ۲۰ میلیون تن در افغانستان، ۵ میلیون تن در تاجیکستان، و در ازبکستان حدود ۷ میلیون است. زبان فارسی گویشورانی نیز در هند و پاکستان دارد (نگاه: زبان فارسی در شبهقاره هندوستان). با توجه به رسمی بودن زبان فارسی در ایران، افغانستان و تاجیکستان و تسلط گویشوران سایر زبانها بدان به عنوان زبان دوم روی همرفته میتوان شمار فارسیگویان جهان را حدود ۱۱۰ میلیون تن برآورد کرد. زبان فارسی چهاردهمین زبان پرکاربرد در محتوای وب است
گرچه فارسی اکنون زبان رسمی پاکستان نیست، پیش از استعمار انگلیس و در زمان امپراتوری گورکانی (به فرمان اکبرشاه)، زبان رسمی و فرهنگی شبهقاره هند بودهاست. زبان رسمی کنونی پاکستان (اردو)، که «اسلامیشده»ی زبان هندی است، بسیار تحت تأثیر فارسی بودهاست و واژههای فارسی بسیاری دارد. به طوری که تمامی کلمات سرود ملی پاکستان به جز یک حرف اضافه از کلمات مشترک با زبان فارسی تشکیل شدهاست.
زبان پارسی از سرزمین پارس در حدود استان امروزی پارس در جنوب ایران سرچشمه گرفتهاست و در زمان ساسانیان در دیگر سرزمینهای ایرانی گسترش زیادی یافت بهطوریکه در جریان شاهنشاهی ساسانیان، زبان فارسی میانه و گویشهای آن در خراسان بزرگ جایگزین زبانهای پارتی و بلخی شد و بخشهای بزرگی از خوارزمیزبانان و سغدیزبانان نیز فارسیزبان شدند. گویشی از فارسی میانه که بعدها فارسی دری نام گرفت پس از اسلام به عنوان گویش استاندارد نوشتاری در خراسان شکل گرفت و این بار با گسترش به سوی غرب به ناحیه پارس و دیگر نقاط ایران بازگشت.
پیشینه نام
نمودار رابطهٔ زبان فارسی و زبانهای هندواروپایی
زبان پارسی نو در طول تاریخ و در پهنههای مختلف جغرافیایی نامهای متفاوتی داشته و دارد. این زبان بصورت رسمی در ایران به نام پارسی، در افغانستان دری، در تاجیکستان به نام تاجیکی و در ازبکستان به نام فارسی مشهور است. اگرچه مردم فارسی زبان افغانستان همچنان زبان خود را پارسی مینامند. زبان فارسی در بحرین نیز نام عجمی دارد. در ترکیه عثمانی که زبان پارسی دارای جایگاهی ادبی بود نام پارسی برای آن کاربرد داشت. در هند به زبان پارسی، فارسی میگویند. فارسی زبانان در گذشته واژگان دری و پارسی را نیز برای این زبان بکار میبردند و فارسی که معرب پارسی است. در کشور ایران نام این زبان در سراسر کشور پارسی است. در زبان عربی کلاسیک بویژه قرنهای نخست دوره اسلامی به زبان پارسی لسان العجم یا زبان عجم و به ایرانیان عجمی و بندرت عجمو میگفتند. بطور نمونه در تفسیر الضحاک آمدهاست منظور قرآن از عجمی سلمان فارسی است.
جایگاه زبان فارسی
زبان پارسی با اینکه یکی از ارکان اصلی هویت ایرانی است و به عنوان زبان ملی و رسمی ایران شناخته شدهاست، ولی هویتی بسیار فراتر از فلات ایران دارد. و به همین دلیل عصر ارتباطات و دهکده جهانی آنرا آسیبپذیر نمیکند. فارسی از حدود سال ۱۰۰۰ میلادی تا ۱۸۰۰، زبان میانجی بخش بزرگی از غرب و جنوب آسیا بود. به عنوان نمونه پیش از استعمار هند توسط انگلیس، در زمان حکومت گورکانیان در هند، که ادامه دهنده امپراتوری تیموریان در هند بودند، فارسی زبان رسمی این امپراتوری وسیع بود. یا نقل میکنند که وقتی که شاه اسماعیل صفوی در ابتدای یکی از جنگهای خود قطعه شعری به زبان ترکی آذربایجانی برای پادشاه عثمانی فرستاد، پادشاه عثمانی شعری فارسی را در جواب او، برای شاه اسماعیل پس فرستاد. زبان فارسی جدا از اینکه زبان اصلی و یا زبان دوم مردم سرزمین ایران با قومیتهای مختلف بودهاست، نفوذ بسیاری در کشورهای مجاور خود همچون هند و عثمانی داشتهاست. و در دوره امپراتوری گورکانیان زبان فارسی در هندوستان زبان رسمی اداری و نظامی بودهاست و در کنار نفوذ زبان فارسی، نفوذ فرهنگ ایرانی هم در فرهنگهای دیگر دیده میشود و به طور مثال در امپراتوری گورکانیان در کنار دین اسلام، فرهنگ ایرانی جزو سرلوحههای فرهنگیشان بودهاست.
این نفوذ فرهنگی تا به آن حد است که ریچارد نلسون فرای، استاد بازنشسته دانشگاه هاروارد معتقد است که «... عربها دیگر نقش ایران و زبان فارسی را در شکلگیری فرهنگ اسلامی درک نمیکنند. شاید آنان آرزو دارند که گذشته را فراموش کنند، ولی با این کار آنها ریشههای معنوی، اخلاقی و فرهنگی خودشان را حذف میکنند.».
در سال ۱۸۷۲ در نشست ادیبان و زبانشناسان اروپایی در برلین، زبانهای یونانی، فارسی، لاتین و سانسکریت به عنوان زبانهای کلاسیک جهان برگزیده شدند. بر پایهٔ تعریف، زبانی کلاسیک به شمار میآید که یکم، باستانی باشد، دوم، ادبیات غنی داشته باشد و سوم در آخرین هزاره عمر خود تغییرات اندکی کرده باشد.
زبان فارسی پس از عربی زبان دوم اسلام است و امروزه هم گروندگان به اسلام در چین و دیگر نقاط آسیا فارسی را به عنوان زبان دوم متون اسلامی پس از عربی میآموزند. برای گروندگان به بهاییت در سطح جهان، زبان فارسی زبان اول دینی آنها است.
از زبان فارسی واژههای زیادی در دیگر زبانها به وام گرفته شدهاست. شمار وامواژههای فارسی در زبان انگلیسی ۸۱۱ واژهاست. فارسی از نظر شمار و تنوع ضربالمثلها در میان سه زبان اول جهان است. دامنه واژگان و تنوع واژهها در فارسی همچنین بسیار بزرگ و پرمایهاست و یکی از غنیترین زبانهای جهان از نظر واژهها و دایره لغات بهشمار میآید. در کمتر زبانی فرهنگ لغاتی چون دهخدا (در ۱۸ جلد) و یا فرهنگ معین (در ۶ جلد) دیده میشود.
امروزه بهجز صدها کانال رادیویی و تلویزیونی داخلی کشورهای فارسیزبان، بسیاری از رسانههای بزرگ جهان همچون بیبیسی، صدای آمریکا، یورونیوز، صدای آلمان (دویچهوله)، رادیو فرانسه، نشنال جیوگرفیک، صدای روسیه، رادیو اسرائیل و رادیو بینالمللی چین، العربیه و غیره به زبان فارسی برنامه دارند. و دهها کانال ماهوارهای و اینترنتی به پخش برنامه به زبان فارسی مشغولاند، و فارسی از زبانهای قابل انتخاب در گوگل، جیمیل و بسیاری از دیگر ابزارهای ارتباطی است. فارسی همچنین جزو چند زبانی است که در بسیاری از دانشگاههای اصلی جهان به عنوان رشته تحصیلی در مقطع کارشناسی و بالاتر ارائه میشود و بسیاری از دانشگاهها نشریاتی به فارسی یا در مورد زبان فارسی دارند.
پیشینهٔ زبان فارسی
زبان فارسی از شاخهٔ هندواروپایی زیرشاخهٔ هندوایرانی و دستهٔ زبانهای ایرانی است. پیشینهٔ کهن زبان فارسی به ایران باستان باز میگردد. روند تاریخی زبان فارسی را به سه دوره باستان، میانی و نو بخش میکنند. زبان فارسی امروزی ریشه در فارسی میانه دارد و فارسی میانه ریشه در فارسی باستان. و فارسی تنها زبان ایرانی است که هر سه دوره تاریخی آن ثبت شده و از آنها نوشتارهایی بهجا ماندهاست.
زبان فارسی به عنوان یکی از گویشهای قوم و تیره پارس که به جنوب غربی فلات ایران کوچیده بود آغاز شد و با چیره شدن خاندان هخامنش که از این تیره بودند بر سرزمینهای گستردهای در فلات ایران و پیرامون، فارسی نیز (در شکل آنزمان خود یعنی پارسی باستان) زبان چیره و زبان اداری این منطقه پهناور شد. پارسی باستان مانند تمامی زبانهای هندواروپایی آغازین زبانی بود با دستور زبان پیچیده، و دارای حالتهای صرفی گوناگون. بسیاری از مردم غیرایرانیزبان منطقه وسیع شاهنشاهی هخامنشی نیز به آموختن فارسی روی آوردند و از این تماسها و گسترشها به عنوان یکی از دلایل روند سادهتر شدن دستور زبان پیچیده پارسی باستان یاد میکنند.
در اواخر دوره هخامنشی پارسی باستان با سادهسازیهای پیوسته به شکل اولیهای از پارسی میانه تبدیل شدهبود. پارسی در زمان شاهنشاهی اشکانیان تاثیرات گوناگونی از زبان پارتی گرفت اما با چیرگی ساسانیان خود تبدیل به زبان برتر و زبان رسمی و اداری ایران شد و در منطقه وسیعی گسترش یافت. فارسی میانه در مناطقی چون آسیای میانه رفتهرفته زبان رایج بازرگانان و بعداً زبان دیگر اقشار مردم شد.
در سدهٔ سوم پس از میلاد نوشتههای نخستین پادشاهان ساسانی به سه زبان ضبط شدهاند: پارتی، فارسی میانه و یونانی. پارتی زبان فروانروایان اشکانی بود که قلمرو حکومت خود را بهتدریج از شمال خراسان بر همه ایران گسترش دادند. فارسی میانه زبان فرمانروایان ایرانی ساسانی بود که از ایالت فارس برخاستند، بر پادشاه اشکانی چیره شدند و بر جای او در تیسفون نشستند. در این دوران پارتی در شمال و فارسی میانه در جنوب ایران زبان گفتاری بود.
در چهار سدهٔ فرمانروایی ساسانیان دگرگونیهای اساسی در وضع زبان در ایران پدید آمد. پارتی دیگر بهعنوان زبان رسمی برجای نماند و از سدهٔ چهارم به بعد همهٔ کتیبهها به زبان فارسی نوشته شدند.
آرتور کریستنسن، ایرانشناس نامدار دانمارکی، معتقد است که رواج زبان فارسی در مناطق شمال خاوری فلات ایران ناشی از ایجاد مراکز نظامی در خراسان، به منظور دفاع از قلمرو شاهنشاهی در برابر هجوم ساکنان آسیای میانه بود.
با تسخیر سرزمین باختر (بلخ) بهدست ساسانیان در سال ۵۵۸ میلادی، فارسی در بلخ به عنوان زبان رسمی جایگزین زبان بلخی شد و به علت اینکه دستور زبان فارسی به مراتب از بلخی سادهتر بود مردم این ناحیه به آسانی فارسی را پذیرفتند و این آغازی شد بر گسترش فارسی در آسیای میانه.
در نیمه شمالی ایران و بهویژه خراسان، زبان فارسی از زبان پارتی تأثیر زیادی گرفت و باعث شد تا در این ناحیه گویش تازهای از فارسی (گویش شمالی آن زمان) بهوجود بیاید که با گویش جنوبی (در پارس و خوزستان و...) تفاوتهایی پیدا کرد؛ با انتقال مقر شاهنشاهی ساسانیان به تیسفون و مناطق شمالی، گویش شمالی که در تیسفون رواج بیشتری یافته بود برای تمایز با گویش اصلی منطقه فارس یعنی همان گویش جنوبی، به عنوان فارسی دری (پارسی درباری) نامیدهشد.
بنابر این، در این زمان به گویش دستنخوردهتر استان فارس، پارسی، و به گویش شمالیتر که عناصر زیادی از پارتی را در خود جذب کردهبود پارسی دری گفته شد. برای نمونه در حالی که در فارسی (جنوبی) واژه «گَپ» رایج بود در گویش شمالی برای همین معنی کلمه «بزرگ» بهکار رفت.
در سده هفتم میلادی زبان فارسی زبان گفتاری نیمه جنوبی ایران، از خوزستان تا سیستان بود. در نیمه شمالی ایران فارسی زبان شهرها و زبان رسمی بود ولی پارتی هنوز در روستاها زبان گفتاری ساکنان بود. در بلخ نیز فارسی زبان رسمی نوشتاری و در حال گسترش به عنوان زبان گفتاری در جامعه بود. فارسی در این دوره در سغد و خوارزم تبدیل به زبان میانجی و بازرگانی شدهبود.
بر اثر این روندها، زبان پارتی در همان دوره پیش از اسلام از خراسان بزرگ رخت بربست و جای خود را به فارسی (میانه) داد و عربها پس از حمله به ایران زبان فارسی دری را به عنوان زبان تماس با مردم محل برگزیدند و سربازان حملات اسلامی به شرق همین زبان فارسی دری را با خود در مناطق دوردستتری در آسیای میانه گسترش دادند.
نظر بهار در مورد ریشه دری را نیز بنگرید.
خط مشی جاوا
یکی از ویژگیهای جاوا قابل حمل بودن آن است. یعنی برنامهٔ نوشته شده به زبان جاوا باید به طور مشابهی در کامپیوترهای مختلف با سختافزارهای متفاوت اجرا شود. و باید این توانایی را داشته باشد که برنامه یک بار نوشته شود، یک بار کامپایل شود و در همه کامپیوترها اجرا گردد. به این صورت که کد کامپایل شدهٔ جاوا را ذخیره میکند، اما نه بهصورت کد ماشین بلکه بهصورت بایتکد جاوا. دستورالعملها شبیه کد ماشین هستند، اما با ماشینهای مجازی که به طور خاص برای سختافزارهای مختلف نوشته شدهاند، اجرا میشوند. در نهایت کاربر از سکوی جاوا نصب شده روی ماشین خود یا مرورگر وب استفاده میکند. کتابخانههای استاندارد یک راه عمومی برای دسترسی به ویژگیهای خاص فراهم میکنند. مانند گرافیک، نخکشی و شبکه. در بعضی از نسخههای ماشین مجازی جاوا، بایتکدها میتوانند قبل و در زمان اجرای برنامه به کدهای محلی کامپایل شوند. فایدهٔ اصلی استفاده از بایتکد، قسمت کردن است. اما ترجمهٔ کلی یعنی برنامههای ترجمه شده تقریباً همیشه کندتر از برنامههای کامپایل شدهٔ محلی اجرا میشوند. این شکاف میتواند با چند تکنیک خوشبینانه که در کاربردهای JVM قبلی معرفی شد، کم شود. یکی از این تکنیکها JIT است که بایتکد جاوا را به کد محلی ترجمه کرده و سپس آن را پنهان میکند. در نتیجه برنامه خیلی سریعتر نسبت به کدهای ترجمه شدهٔ خالص شروع و اجرا میشود. بیشتر VMهای پیشرفته، بهصورت کامپایل مجدد پویا، در آنالیز VM، رفتار برنامهٔ اجرا شده و کامپایل مجدد انتخاب شده و بهینهسازی قسمتهای برنامه، استفاده میشوند. کامپایل مجدد پویا میتواند کامپایل ایستا را بهینهسازی کند. زیرا میتواند قسمت hot spot برنامه و گاهی حلقههای داخلی که ممکن است زمان اجرای برنامه را افزایش دهند را تشخیص دهد. کامپایل JIT و کامپایل مجدد پویا به برنامههای جاوا اجازه میدهد که سرعت اجرای کدهای محلی بدون از دست دادن قابلیت انتقال افزایش پیدا کند.
تکنیک بعدی به عنوان کامپایل ایستا شناخته شدهاست. که کامپایل مستقیم به کدهای محلی است مانند بسیاری از کامپایلرهای قدیمی. کامپایلر ایستای جاوا، بایتکدها را به کدهای شی محلی ترجمه میکند.
کارایی جاوا نسبت به نسخههای اولیه بیشتر شد. در تعدادی از تستها نشان داده شد که کارایی کامپایلرJIT کاملاًَ مشابه کامپایلر محلی شد. عملکرد کامپایلرها لزوماً کارایی کدهای کامپایل شده را نشان نمیدهند. یکی از پیشرفتهای بی نظیر در در زمان اجرای ماشین این بود که خطاها ماشین را دچار اشکال نمیکردند. علاوه بر این در زمان اجرای ماشینی مانند جاوا وسایلی وجود دارد که به زمان اجرای ماشین متصل شده و هر زمانی که یک استثنا رخ میدهد، اطلاعات اشکال زدایی که در حافظه وجود دارد، ثبت میکنند.
پیادهسازی
شرکت سان میکروسیستم مجوز رسمی برای پلت فرم استاندارد جاوا را به مایکروسافت ویندوز, لینوکس، و سولاریس (سیستمعامل). دادهاست. همچنین محیطهای دیگری برای دیگر پلت فرمها فراهم آوردهاست. علامت تجاری مجوز شرکت سان میکروسیستم طوری بود که با همهٔ پیادهسازیها سازگار باشد. به علت اختلاف قانونی که با ماکروسافت پیدا کرد، زمانی که شرکت سان ادعا کرد که پیادهسازی ماکروسافت از RMI یا JNI پشتیبانی نکرده و ویژگیهای خاصی را برای خودش اضافه کردهاست. شرکت سان در سال ۱۹۹۷ پیگیری قانونی کرد و در سال ۲۰۰۱ در توافقی ۲۰ میلیون دلاری برنده شد. در نتیجه کمی بعدماکروسافت جاوا را به ویندوز فرستاد. در نسخهٔ اخیر ویندوز، مرورگر اینترنت نمیتواند از جاوا پلت فرم پشتیبانی کند. شرکت سان و دیگران یک سیستم اجرای جاوای رایگان برای آنها و نسخههای دیگر ویندوز فراهم آوردند.
اداره خودکار حافظه
جاوا از حافظهٔ بازیافتی خودکار برای ادارهٔ حافظه در چرخهٔ زندگی یک شی استفاده میکند. برنامهنویس زمانی که اشیا به وجود میآیند، این حافظه را تعیین میکند. و در زمان اجرا نیز، زمانی که این اشیا در استفادهٔ زیاد طولانی نباشند، برنامه نویس مسئول بازگرداندن این حافظهاست. زمانی که مرجعی برای شیهای باقیمانده نیست، شیهای غیر قابل دسترس برای آزاد شدن به صورت خودکار توسط بازیافت حافظه، انتخاب میشوند. اگر برنامهنویس مقداری از حافظه را برای شیهایی که زیاد طولانی نیستند، نگه دارد، چیزهایی شبیه سوراخ حافظه اتفاق میافتند.
یکی از عقایدی که پشت سر مدل ادارهٔ حافظهٔ خودکار جاوا وجود دارد، این است که برنامهنویس هزینهٔ اجرای ادارهٔ دستی حافظه را نادیده میگیرد. در بعضی از زبانها حافظه لازم برای ایجاد یک شی، به صورت ضمنی و بدون شرط، به پشته تخصیص داده میشود. و یا بهطور صریح اختصاص داده شده و از heap بازگردانده میشود. در هر کدام از این راهها، مسئولیت ادارهٔ اقامت حافظه با برنامهنویس است. اگر برنامه شی را برنگرداند، سوراخ حافظه اتفاق میافتد. اگر برنامه تلاش کند به حافظهای را که هماکنون بازگردانده شده، دستیابی پیدا کند یا برگرداند، نتیجه تعریف شده نیست و ممکن است برنامه بیثبات شده و یا تخریب شود. این ممکن است با استفاده از اشارهگر مدتی باقی بماند، اما سرباری و پیچیدگی برنامه زیاد میشود. بازیافت حافظه اجازه دارد در هر زمانی اتفاق بیفتد. بهطوری که این زمانی اتفاق میافتد که برنامه بیکار باشد. اگر حافظهٔ خالی کافی برای تخصیص شی جدید در هیپ وجود نداشته باشد، ممکن است برنامه برای چند دقیقه متوقف شود. در جایی که زمان پاسخ یا اجرا مهم باشد، ادارهٔ حافظه و منابع اشیا استفاده میشوند.
جاوا از نوع اشارهگر ریاضی C و ++C پشتیبانی نمیکند. در جایی که آدرس اشیا و اعداد صحیح میتوانند به جای هم استفاده شوند. همانند ++C و بعضی زبانهای شیگرای دیگر، متغیرهای نوعهای اولیهٔ جاوا شیگرا نبودند. مقدار نوعهای اولیه، مستقیماً در فیلدها ذخیره میشوند. در فیلدها (برای اشیا) و در پشته (برای توابع)، بیشتر از هیپ استفاده میشود. این یک تصمیم هوشیارانه توسط طراح جاوا برای اجرا است. به همین دلیل جاوا یک زبان شیگرای خالص به حساب نمیآید.
گرامر
گرامر جاوا وسیعتر از ++C است و برخلاف ++C که ترکیبی است از ساختارها و شیگرایی، زبان جاوا یک زبان شیگرای خالص میباشد. فقط نوع دادة اصلی از این قاعده مستثنی است. جاوا بسیاری از ویژگیها را پشتیبانی میکند و از کلاسها برای سادهتر کردن برنامهنویسی و کاهش خطا استفاده میکند.
بر طبق قرارداد فایل هل بعد از کلاسهای عمومی نام گذاری میشوند. سپس باید پسوند java را به این صورت اضافه کرد: Hello world.java. این فایل اول باید با استفاده از کامپایلر جاوا به بایت کد کامپایل شود. در نتیجه فایل Hello world.class ایجاد میشود. این فایل قابل اجرا است. فایل جاوا ممکن است فقط یک کلاس عمومی داشته باشد. اما میتواند شامل چندین کلاس با دستیابی عمومی کمتر باشد.
کلاسی که به صورت خصوصی تعریف میشود ممکن است در فایل.java ذخیره شود. کامپایلر برای هر کلاسی که در فایل اصلی تعریف میشود یک کلاس فایل تولید میکند. که نام این کلاس فایل همنام کلاس است با پسوند.class
کلمه کلیدی public (عمومی) برای قسمتهایی که میتوانند از کدهای کلاسهای دیگر صدا زده بشوند، به کار برده میشود. کلمهٔ کلیدی static (ایستا) در جلوی یک تابع، یک تابع ایستا را که فقط وابسته به کلاس است و نه قابل استفاده برای نمونههایی از کلاس، نشان میدهد. فقط تابعهای ایستا میتوانند توسط اشیا بدون مرجع صدا زده شوند. دادههای ایستا به متغیرهایی که ایستا نیستند، نمیتوانند دسترسی داشته باشند.
کلمهٔ کلیدی void (تهی) نشان میدهد که تابع main هیچ مقداری را بر نمیگرداند. اگر برنامهٔ جاوا بخواهد با خطا از برنامه خارج شود، باید system.exit() صدا زده شود. کلمهٔ main یک کلمهٔ کلیدی در زبان جاوا نیست. این نام واقعی تابعی است که جاوا برای فرستادن کنترل به برنامه، صدا میزند. برنامه جاوا ممکن است شامل چندین کلاس باشد که هر کدام دارای تابع main هستند.
تابع main باید آرایهای از اشیا رشتهای را بپذیرد. تابع main میتواند از آرگومانهای متغیر به شکل public static void main(string…args) استفاده کند که به تابع main اجازه میدهد اعدادی دلخواه از اشیا رشتهای را فراخوانی کند. پارامترstring[]args آرایهای از اشیا رشته ایست که شامل تمام آرگومانهایی که به کلاس فرستاده میشود، است.
چاپ کردن، قسمتی از کتابخانهٔ استاندارد جاوا است. کلاس سیستم یک فیلد استاتیک عمومی به نام out تعریف کردهاست. شی out یک نمونه از کلاس printstream است و شامل تعداد زیادی تابع برای چاپ کردن اطلاعات در خروجی استاندارد است. همچنین شامل println(string) برای اضافه کردن یک خط جدید برای رشتهٔ فرستاده شده اضافه میکند.
توزیعهای جاوا
منظور از توزیع جاوا پیادهسازیهای مختلفی است که برای کامپایلر جاوا و همچنین مجموعه کتابخانههای استاندارد زبان جاوا (JDK) وجود دارد. در حال حاضر چهار توزیعکنندهٔ عمده جاوا وجود دارند:
سان میکروسیستمز: توزیع کننده اصلی جاوا و مبدع آن میباشد. در اکثر موارد هنگامی که گفته میشود جاوا منظور توزیع سان میباشد.
GNU Classpath: این توزیع از سوی موسسه نرمافزارهای آزاد منتشر شده و تقریباً تمامی کتابخانه استاندارد زبان جاوا در آن بدون بهرهگیری از توزیع شرکت سان از اول پیادهسازی شدهاست. یک کامپایلر به نام GNU Compiler for Java نیز برای کامپایل کردن کدهای جاوا توسط این موسسه ایجاد شدهاست. فلسفه انتخاب نام Classpath برای این پروژه رها کردن تکنولوژی جاوا از وابستگی به علامت تجاری جاوا است بطوریکه هیچ وابستگی یا محدودیتی برای استفاده آن از لحاظ قوانین حقوقی ایجاد نشود و از طرفی به خاطر وجود متغیر محیطی classpath در تمامی محیطهای احرایی برنامههای جاوا، این نام به نوعی تکنولوژی جاوا را برای خواننده القا میکند. کامپایلر GNU توانایی ایجاد کد اجرایی (در مقابل بایت کد توزیع سان) را داراست. لازم به ذکر است که در حال حاضر شرکت سان تقریباً تمامی کدهای JDK را تحت مجوز نرمافزارهای آزاد به صورت متن باز منتشر کردهاست و قول انتشار قسمت بسیار کوچکی از این مجموعه را که بهدلیل استفاده از کدهای شرکتهای ثانویه نتوانسته به صورت متن باز منتشر نماید در آینده نزدیک با بازنویسی این کدها دادهاست.
مایکروسافت #J: این در حقیقت یک توزیع جاوا نیست. بلکه زبانی مشابه میباشد که توسط مایکروسافت و در چارچوب.net ارائه شدهاست. انتظار اینکه در سیستمعاملی غیر از ویندوز هم اجرا شود را نداشته باشید.
AspectJ: این نیز یک زبان مجزا نیست. بلکه یک برنامه الحاقی میباشد که امکان برنامه نویسی Aspect Oriented را به جاوا میافزاید. این برنامه توسط بنیاد برنامهنویسی جلوهگرا و به صورت کدباز ارائه شدهاست.
کلاسهای خاص
برنامک (برنامههای کاربردی کوچک)
اپلت جاواها برنامههایی هستند که برای کاربردهایی نظیر نمایش در صفحات وب، ایجاد شدهاند. واژهٔ import باعث میشود کامپایلر جاوا کلاسهای javaapplet.Applet وjava.awt.Graphics را به کامپایل برنامه اضافه کند. کلاس Hello کلاس Applet را توسعه میدهد. کلاس اپلت چارچوبی برای کاربردهای گروهی برای نمایش و کنترل چرخهٔ زندگی اپلت، درست میکند. کلاس اپلت یک تابع پنجرهای مجرد است که برنامههای کوچکی با قابلیت نشان دادن واسط گرافیکی برای کاربر را فراهم میکند. کلاس Hello تابع موروثی print(Graphics) را از سوپر کلاس container باطل میکند، برای اینکه کدی که اپلت را نمایش میدهد، فراهم کند. تابع paint شیهای گرافیکی را که شامل زمینههای گرافیکی هستند را میفرستد تا برای نمایش اپلتها استفاده شوند. تابع paint برای نمایش "Hello world!" تابع drawstring(string,int,int) را صدا میزند.
جاوا سرولت
تکنولوژی servlet جاوا گسترس وب را به آسانی فراهم میکند. و شامل مکانیزمهایی برای توسعهٔ تابعی سرور وب و برایدسترسی به سیستمهای تجاری موجود است.servlet قسمتی از javaEE است که به درخواستهای مشتری پاسخ میدهد.
واژهٔ import کامپایلر جاوا را هدایت میکند که تمام کلاسهای عمومی و واسطها را از بستههای java.io وjava.servlet را در کامپایل وارد کند.
کلاس Hello کلاس Genericservlet را توسعه میدهد. کلاس Genericservlet واسطی برای سرور فراهم میکند تا درخواست را به servlet بفرستد و چرخهٔ زندگی servlet را کنترل کند.
JSP
صفحهٔ سرور جاوا قسمتی از سرور javaEE است که پاسخ تولید میکند. نوعاً صفحات HTML به درخواستهای HTTP از مشتری.JSPها کد جاوا در صفحهٔ HTML را با استفاده از حائل <%and%> اضافه میکنند.JSP به javaservlet کامپایل میشود.
سوینگ
Swing کتابخانهٔ واسط گرافیکی کاربر است برای پلت فرم javaSE. ابزاری مشابه پنجره، GTK و motif توسط شرکت sun فراهم شدهاند. این مثال کاربرد swing یک پنجرهٔ واحد همراه با Hello world را ایجاد میکند.
اولین جملهٔ import کامپایلر جاوا را هدایت میکندتا کلاس Borderlayout را از بستهٔ java.awt در جاوا به کامپایل اضافه کند. و import دوم همهٔ کلاسهای عمومی و واسط آنها را از بستهٔ javax.swing اضافه میکند. کلاس Hello کلاس Jframe را توسعه میدهد. کلاس Jframe یک پنجره با میلهٔ عنوان و کنترل بستن است.
زمانی که برنامه آغاز میشود، تابع main با JVM صدا زده میشود. این یک نمونهٔ جدید از کلاس Hello را ایجاد کرده و با صدا زدن تابع setvisible(boolean) با مقدار true نمایش داده میشود.
یکی از ویژگیهای جاوا قابل حمل بودن آن است. یعنی برنامهٔ نوشته شده به زبان جاوا باید به طور مشابهی در کامپیوترهای مختلف با سختافزارهای متفاوت اجرا شود. و باید این توانایی را داشته باشد که برنامه یک بار نوشته شود، یک بار کامپایل شود و در همه کامپیوترها اجرا گردد. به این صورت که کد کامپایل شدهٔ جاوا را ذخیره میکند، اما نه بهصورت کد ماشین بلکه بهصورت بایتکد جاوا. دستورالعملها شبیه کد ماشین هستند، اما با ماشینهای مجازی که به طور خاص برای سختافزارهای مختلف نوشته شدهاند، اجرا میشوند. در نهایت کاربر از سکوی جاوا نصب شده روی ماشین خود یا مرورگر وب استفاده میکند. کتابخانههای استاندارد یک راه عمومی برای دسترسی به ویژگیهای خاص فراهم میکنند. مانند گرافیک، نخکشی و شبکه. در بعضی از نسخههای ماشین مجازی جاوا، بایتکدها میتوانند قبل و در زمان اجرای برنامه به کدهای محلی کامپایل شوند. فایدهٔ اصلی استفاده از بایتکد، قسمت کردن است. اما ترجمهٔ کلی یعنی برنامههای ترجمه شده تقریباً همیشه کندتر از برنامههای کامپایل شدهٔ محلی اجرا میشوند. این شکاف میتواند با چند تکنیک خوشبینانه که در کاربردهای JVM قبلی معرفی شد، کم شود. یکی از این تکنیکها JIT است که بایتکد جاوا را به کد محلی ترجمه کرده و سپس آن را پنهان میکند. در نتیجه برنامه خیلی سریعتر نسبت به کدهای ترجمه شدهٔ خالص شروع و اجرا میشود. بیشتر VMهای پیشرفته، بهصورت کامپایل مجدد پویا، در آنالیز VM، رفتار برنامهٔ اجرا شده و کامپایل مجدد انتخاب شده و بهینهسازی قسمتهای برنامه، استفاده میشوند. کامپایل مجدد پویا میتواند کامپایل ایستا را بهینهسازی کند. زیرا میتواند قسمت hot spot برنامه و گاهی حلقههای داخلی که ممکن است زمان اجرای برنامه را افزایش دهند را تشخیص دهد. کامپایل JIT و کامپایل مجدد پویا به برنامههای جاوا اجازه میدهد که سرعت اجرای کدهای محلی بدون از دست دادن قابلیت انتقال افزایش پیدا کند.
تکنیک بعدی به عنوان کامپایل ایستا شناخته شدهاست. که کامپایل مستقیم به کدهای محلی است مانند بسیاری از کامپایلرهای قدیمی. کامپایلر ایستای جاوا، بایتکدها را به کدهای شی محلی ترجمه میکند.
کارایی جاوا نسبت به نسخههای اولیه بیشتر شد. در تعدادی از تستها نشان داده شد که کارایی کامپایلرJIT کاملاًَ مشابه کامپایلر محلی شد. عملکرد کامپایلرها لزوماً کارایی کدهای کامپایل شده را نشان نمیدهند. یکی از پیشرفتهای بی نظیر در در زمان اجرای ماشین این بود که خطاها ماشین را دچار اشکال نمیکردند. علاوه بر این در زمان اجرای ماشینی مانند جاوا وسایلی وجود دارد که به زمان اجرای ماشین متصل شده و هر زمانی که یک استثنا رخ میدهد، اطلاعات اشکال زدایی که در حافظه وجود دارد، ثبت میکنند.
پیادهسازی
شرکت سان میکروسیستم مجوز رسمی برای پلت فرم استاندارد جاوا را به مایکروسافت ویندوز, لینوکس، و سولاریس (سیستمعامل). دادهاست. همچنین محیطهای دیگری برای دیگر پلت فرمها فراهم آوردهاست. علامت تجاری مجوز شرکت سان میکروسیستم طوری بود که با همهٔ پیادهسازیها سازگار باشد. به علت اختلاف قانونی که با ماکروسافت پیدا کرد، زمانی که شرکت سان ادعا کرد که پیادهسازی ماکروسافت از RMI یا JNI پشتیبانی نکرده و ویژگیهای خاصی را برای خودش اضافه کردهاست. شرکت سان در سال ۱۹۹۷ پیگیری قانونی کرد و در سال ۲۰۰۱ در توافقی ۲۰ میلیون دلاری برنده شد. در نتیجه کمی بعدماکروسافت جاوا را به ویندوز فرستاد. در نسخهٔ اخیر ویندوز، مرورگر اینترنت نمیتواند از جاوا پلت فرم پشتیبانی کند. شرکت سان و دیگران یک سیستم اجرای جاوای رایگان برای آنها و نسخههای دیگر ویندوز فراهم آوردند.
اداره خودکار حافظه
جاوا از حافظهٔ بازیافتی خودکار برای ادارهٔ حافظه در چرخهٔ زندگی یک شی استفاده میکند. برنامهنویس زمانی که اشیا به وجود میآیند، این حافظه را تعیین میکند. و در زمان اجرا نیز، زمانی که این اشیا در استفادهٔ زیاد طولانی نباشند، برنامه نویس مسئول بازگرداندن این حافظهاست. زمانی که مرجعی برای شیهای باقیمانده نیست، شیهای غیر قابل دسترس برای آزاد شدن به صورت خودکار توسط بازیافت حافظه، انتخاب میشوند. اگر برنامهنویس مقداری از حافظه را برای شیهایی که زیاد طولانی نیستند، نگه دارد، چیزهایی شبیه سوراخ حافظه اتفاق میافتند.
یکی از عقایدی که پشت سر مدل ادارهٔ حافظهٔ خودکار جاوا وجود دارد، این است که برنامهنویس هزینهٔ اجرای ادارهٔ دستی حافظه را نادیده میگیرد. در بعضی از زبانها حافظه لازم برای ایجاد یک شی، به صورت ضمنی و بدون شرط، به پشته تخصیص داده میشود. و یا بهطور صریح اختصاص داده شده و از heap بازگردانده میشود. در هر کدام از این راهها، مسئولیت ادارهٔ اقامت حافظه با برنامهنویس است. اگر برنامه شی را برنگرداند، سوراخ حافظه اتفاق میافتد. اگر برنامه تلاش کند به حافظهای را که هماکنون بازگردانده شده، دستیابی پیدا کند یا برگرداند، نتیجه تعریف شده نیست و ممکن است برنامه بیثبات شده و یا تخریب شود. این ممکن است با استفاده از اشارهگر مدتی باقی بماند، اما سرباری و پیچیدگی برنامه زیاد میشود. بازیافت حافظه اجازه دارد در هر زمانی اتفاق بیفتد. بهطوری که این زمانی اتفاق میافتد که برنامه بیکار باشد. اگر حافظهٔ خالی کافی برای تخصیص شی جدید در هیپ وجود نداشته باشد، ممکن است برنامه برای چند دقیقه متوقف شود. در جایی که زمان پاسخ یا اجرا مهم باشد، ادارهٔ حافظه و منابع اشیا استفاده میشوند.
جاوا از نوع اشارهگر ریاضی C و ++C پشتیبانی نمیکند. در جایی که آدرس اشیا و اعداد صحیح میتوانند به جای هم استفاده شوند. همانند ++C و بعضی زبانهای شیگرای دیگر، متغیرهای نوعهای اولیهٔ جاوا شیگرا نبودند. مقدار نوعهای اولیه، مستقیماً در فیلدها ذخیره میشوند. در فیلدها (برای اشیا) و در پشته (برای توابع)، بیشتر از هیپ استفاده میشود. این یک تصمیم هوشیارانه توسط طراح جاوا برای اجرا است. به همین دلیل جاوا یک زبان شیگرای خالص به حساب نمیآید.
گرامر
گرامر جاوا وسیعتر از ++C است و برخلاف ++C که ترکیبی است از ساختارها و شیگرایی، زبان جاوا یک زبان شیگرای خالص میباشد. فقط نوع دادة اصلی از این قاعده مستثنی است. جاوا بسیاری از ویژگیها را پشتیبانی میکند و از کلاسها برای سادهتر کردن برنامهنویسی و کاهش خطا استفاده میکند.
بر طبق قرارداد فایل هل بعد از کلاسهای عمومی نام گذاری میشوند. سپس باید پسوند java را به این صورت اضافه کرد: Hello world.java. این فایل اول باید با استفاده از کامپایلر جاوا به بایت کد کامپایل شود. در نتیجه فایل Hello world.class ایجاد میشود. این فایل قابل اجرا است. فایل جاوا ممکن است فقط یک کلاس عمومی داشته باشد. اما میتواند شامل چندین کلاس با دستیابی عمومی کمتر باشد.
کلاسی که به صورت خصوصی تعریف میشود ممکن است در فایل.java ذخیره شود. کامپایلر برای هر کلاسی که در فایل اصلی تعریف میشود یک کلاس فایل تولید میکند. که نام این کلاس فایل همنام کلاس است با پسوند.class
کلمه کلیدی public (عمومی) برای قسمتهایی که میتوانند از کدهای کلاسهای دیگر صدا زده بشوند، به کار برده میشود. کلمهٔ کلیدی static (ایستا) در جلوی یک تابع، یک تابع ایستا را که فقط وابسته به کلاس است و نه قابل استفاده برای نمونههایی از کلاس، نشان میدهد. فقط تابعهای ایستا میتوانند توسط اشیا بدون مرجع صدا زده شوند. دادههای ایستا به متغیرهایی که ایستا نیستند، نمیتوانند دسترسی داشته باشند.
کلمهٔ کلیدی void (تهی) نشان میدهد که تابع main هیچ مقداری را بر نمیگرداند. اگر برنامهٔ جاوا بخواهد با خطا از برنامه خارج شود، باید system.exit() صدا زده شود. کلمهٔ main یک کلمهٔ کلیدی در زبان جاوا نیست. این نام واقعی تابعی است که جاوا برای فرستادن کنترل به برنامه، صدا میزند. برنامه جاوا ممکن است شامل چندین کلاس باشد که هر کدام دارای تابع main هستند.
تابع main باید آرایهای از اشیا رشتهای را بپذیرد. تابع main میتواند از آرگومانهای متغیر به شکل public static void main(string…args) استفاده کند که به تابع main اجازه میدهد اعدادی دلخواه از اشیا رشتهای را فراخوانی کند. پارامترstring[]args آرایهای از اشیا رشته ایست که شامل تمام آرگومانهایی که به کلاس فرستاده میشود، است.
چاپ کردن، قسمتی از کتابخانهٔ استاندارد جاوا است. کلاس سیستم یک فیلد استاتیک عمومی به نام out تعریف کردهاست. شی out یک نمونه از کلاس printstream است و شامل تعداد زیادی تابع برای چاپ کردن اطلاعات در خروجی استاندارد است. همچنین شامل println(string) برای اضافه کردن یک خط جدید برای رشتهٔ فرستاده شده اضافه میکند.
توزیعهای جاوا
منظور از توزیع جاوا پیادهسازیهای مختلفی است که برای کامپایلر جاوا و همچنین مجموعه کتابخانههای استاندارد زبان جاوا (JDK) وجود دارد. در حال حاضر چهار توزیعکنندهٔ عمده جاوا وجود دارند:
سان میکروسیستمز: توزیع کننده اصلی جاوا و مبدع آن میباشد. در اکثر موارد هنگامی که گفته میشود جاوا منظور توزیع سان میباشد.
GNU Classpath: این توزیع از سوی موسسه نرمافزارهای آزاد منتشر شده و تقریباً تمامی کتابخانه استاندارد زبان جاوا در آن بدون بهرهگیری از توزیع شرکت سان از اول پیادهسازی شدهاست. یک کامپایلر به نام GNU Compiler for Java نیز برای کامپایل کردن کدهای جاوا توسط این موسسه ایجاد شدهاست. فلسفه انتخاب نام Classpath برای این پروژه رها کردن تکنولوژی جاوا از وابستگی به علامت تجاری جاوا است بطوریکه هیچ وابستگی یا محدودیتی برای استفاده آن از لحاظ قوانین حقوقی ایجاد نشود و از طرفی به خاطر وجود متغیر محیطی classpath در تمامی محیطهای احرایی برنامههای جاوا، این نام به نوعی تکنولوژی جاوا را برای خواننده القا میکند. کامپایلر GNU توانایی ایجاد کد اجرایی (در مقابل بایت کد توزیع سان) را داراست. لازم به ذکر است که در حال حاضر شرکت سان تقریباً تمامی کدهای JDK را تحت مجوز نرمافزارهای آزاد به صورت متن باز منتشر کردهاست و قول انتشار قسمت بسیار کوچکی از این مجموعه را که بهدلیل استفاده از کدهای شرکتهای ثانویه نتوانسته به صورت متن باز منتشر نماید در آینده نزدیک با بازنویسی این کدها دادهاست.
مایکروسافت #J: این در حقیقت یک توزیع جاوا نیست. بلکه زبانی مشابه میباشد که توسط مایکروسافت و در چارچوب.net ارائه شدهاست. انتظار اینکه در سیستمعاملی غیر از ویندوز هم اجرا شود را نداشته باشید.
AspectJ: این نیز یک زبان مجزا نیست. بلکه یک برنامه الحاقی میباشد که امکان برنامه نویسی Aspect Oriented را به جاوا میافزاید. این برنامه توسط بنیاد برنامهنویسی جلوهگرا و به صورت کدباز ارائه شدهاست.
کلاسهای خاص
برنامک (برنامههای کاربردی کوچک)
اپلت جاواها برنامههایی هستند که برای کاربردهایی نظیر نمایش در صفحات وب، ایجاد شدهاند. واژهٔ import باعث میشود کامپایلر جاوا کلاسهای javaapplet.Applet وjava.awt.Graphics را به کامپایل برنامه اضافه کند. کلاس Hello کلاس Applet را توسعه میدهد. کلاس اپلت چارچوبی برای کاربردهای گروهی برای نمایش و کنترل چرخهٔ زندگی اپلت، درست میکند. کلاس اپلت یک تابع پنجرهای مجرد است که برنامههای کوچکی با قابلیت نشان دادن واسط گرافیکی برای کاربر را فراهم میکند. کلاس Hello تابع موروثی print(Graphics) را از سوپر کلاس container باطل میکند، برای اینکه کدی که اپلت را نمایش میدهد، فراهم کند. تابع paint شیهای گرافیکی را که شامل زمینههای گرافیکی هستند را میفرستد تا برای نمایش اپلتها استفاده شوند. تابع paint برای نمایش "Hello world!" تابع drawstring(string,int,int) را صدا میزند.
جاوا سرولت
تکنولوژی servlet جاوا گسترس وب را به آسانی فراهم میکند. و شامل مکانیزمهایی برای توسعهٔ تابعی سرور وب و برایدسترسی به سیستمهای تجاری موجود است.servlet قسمتی از javaEE است که به درخواستهای مشتری پاسخ میدهد.
واژهٔ import کامپایلر جاوا را هدایت میکند که تمام کلاسهای عمومی و واسطها را از بستههای java.io وjava.servlet را در کامپایل وارد کند.
کلاس Hello کلاس Genericservlet را توسعه میدهد. کلاس Genericservlet واسطی برای سرور فراهم میکند تا درخواست را به servlet بفرستد و چرخهٔ زندگی servlet را کنترل کند.
JSP
صفحهٔ سرور جاوا قسمتی از سرور javaEE است که پاسخ تولید میکند. نوعاً صفحات HTML به درخواستهای HTTP از مشتری.JSPها کد جاوا در صفحهٔ HTML را با استفاده از حائل <%and%> اضافه میکنند.JSP به javaservlet کامپایل میشود.
سوینگ
Swing کتابخانهٔ واسط گرافیکی کاربر است برای پلت فرم javaSE. ابزاری مشابه پنجره، GTK و motif توسط شرکت sun فراهم شدهاند. این مثال کاربرد swing یک پنجرهٔ واحد همراه با Hello world را ایجاد میکند.
اولین جملهٔ import کامپایلر جاوا را هدایت میکندتا کلاس Borderlayout را از بستهٔ java.awt در جاوا به کامپایل اضافه کند. و import دوم همهٔ کلاسهای عمومی و واسط آنها را از بستهٔ javax.swing اضافه میکند. کلاس Hello کلاس Jframe را توسعه میدهد. کلاس Jframe یک پنجره با میلهٔ عنوان و کنترل بستن است.
زمانی که برنامه آغاز میشود، تابع main با JVM صدا زده میشود. این یک نمونهٔ جدید از کلاس Hello را ایجاد کرده و با صدا زدن تابع setvisible(boolean) با مقدار true نمایش داده میشود.