ترجمه

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






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

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

کت فورد ترجمه را چنین تعریف کرده‌است:

جایگزینی مواد متنی یک زبان با مواد متنی برابر، در زبان دیگر.

ترجمه به بیان رومن یاکوبسن: ترجمه یا واقعیت تازه ی ادبی صرفارابطه ی بینامتنی با شعر یا اثر قبلی دارد.

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






پیرامون واژه

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






انواع

انواع ترجمه با توجه به روشی که مترجم انتخاب می کند عبارتند از :

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




پیشینه
پیشینه در ایران

پیشینهٔ ترجمه در ایران به روزگار هخامنشیان می‌رسد (۵۵۹-۳۲۱ ق.م.). گستردگی این شاهنشاهی و ارتباطات گستردهٔ آن با سرزمین‌های دیگر ترجمه را امری بایسته ساخته بود. کتیبه‌های هخامنشیان معمولاً به سه زبان فارسی باستان، اکدی، و ایلامی نوشته می‌شده‌است.

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

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

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






مدل‌های زبان‌ها
جمع یا مفرد

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



نظریهٔ اعداد
Théorie des nombres
Number theory



نظریهٔ احتمالات
Théorie des probabilités
Probability theory



مکانیک سیالات
Mécanique des fluides
Fluid mechanics



مکانیک محیط‌های پیوسته
Mécanique des milieux continus
Continuum mechanics

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

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







مثال:

زبان انگلیسی: .I must go there
زبان نواهو: It is only good that I go there

زبان انگلیسی: .I make the horse run
زبان نواهو: .The horse is running for me





ترجمه هم‌زمان

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






مترجم هم‌زمان

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






انواع ترجمه‌های هم‌زمان

در حال حاضر سه نوع ترجمه هم‌زمان در سازمان‌های بین‌المللی خصوصاً در سازمان ملل متحد معمول است که عبارت‌اند از:




ترجمهٔ هم‌زمان مقطع (Consecutive interpreting):

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




ترجمهٔ هم‌زمان همردیف (Simultaneous interpreting):

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




ترجمهٔ مکتوب هم‌زمان (Trans - interpreting):

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





ترجمه شاهنامه

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

در سده‌های اخیرتر ترجمه‌هایی از برخی داستان‌های شاهنامه زبان‌های اروپایی صورت پذیرفت. در ای میان ترجمه‌های آلمانی و فرانسوی و انگلیسی بیشتر اهمیت می‌دارند. سترگ‌ترین کار در ترجمه را از آنِ ژول مول (Jules Mohl) باید دانست. علاوه بر اینکه تصحیحی تا آن زمان بی‌نظیر از شاهنامه ارائه داد تمام شاهنامه را به فرانسوی ترجمه کرد و در طی چهل سال چاپ کرد.

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





ترجمه حقوقی

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

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

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





ترجمه چندرسانه‌ای

ترجمه چندرسانه‌ای (به انگلیسی: Multimedia Translation) شاخه ای تخصصی از علم ترجمه است که بیانگر وجود هرگونه سیستم چندرسانه‌ای الکترونیک در ترجمه یا در فرایند مخابره یک سخن میباشد.






تشریح

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

بعضی از راههای تخصصی در ترجمه چندرسانه‌ای عبارتند از:




دوبله
زیرنویس
Closed captioning(زیرنویس قابل محو کردن از صفحه پخش)
سینما و اقتباس تلویزیونی
Surtitling
Audio description
Respeaking
Mobile translation
ترجمه بازیهای ویدیویی





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






بازنگری

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






محدوده ابزار

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

غلط یابهای املایی، یا داخل نرم‌افزار پردازش کلمه ساخته شده است، و یا در برنامه اضافه می شود.
غلط یابهای دستور زبانی، دوباره یا داخل نرم‌افزار پردازش کلمه ساخته شده است و یا در برنامه اضافه می شود.
مدیریت کننده های اصطلاحات، که به مترجم اجازه می دهد تا بانک واژگان خود را در فرم الکترونیکی مدیریت کند. این می تواند محدوده ای از جدول ساده ایجاد شده توسط نرم‌افزار مترجم کلمه، یا گسترده ای از یک پایگاه داده ایجاد شده در برنامه از جمله فایل‌میکر و یا دیگر برنامه های قدرتمند(و گران تر) باشد که در بسته های نرم‌افزار تخصصی مانند: SDL MultiTerm ،LogiTerm ،Termex و غیره، کاربرد دارد.
واژه نامه های الکترونیک، یا تک زبانه اند یا دو زبانه.
پایگاه داده های اصطلاحات، یا در کامپیوتر میزبان یا قابل دسترس از طریق اینترنت می باشند. از قبیل TERMIUM Plus یا فرهنگ لغت های بزرگ وابسته به اصطلاحات نظام زبانی فرانسه.
ابزار جستجوی متن کامل (یا نمایه سازان)، که اجازه می دهد تا کاربر در متون ترجمه شده یا انواع مختلف اسناد مرجع، جستجو کند. برخی از این نمایه سازان نرم‌افزار جستجو ISYS ، dtSearch دسکتاپ و طبیعت، می باشند.
نرم‌افزارهای تطبیق دهنده: برنامه هایی هستند که بازیابی نمونه از یک کلمه یا یک عبارت و زمینه های مربوطه خود را در یک پیکره تک زبانه، دو زبانه و یا چند زبانه، انجام می دهند از جمله یک bitext و یا یک حافظه ترجمه.
همتراز کننده های Bitext: ابزاری که اجازه می دهد پس از ترجمه با استفاده از یک نرم‌افزار جستجو کننده یا تطبیق دهنده عمل تجزیه و تحلیل را انجام داد.
نرم‌افزار مدیریت پروژه که اجازه می دهد تا زبان شناسان ساختار پیچیده پروژه های ترجمه را تعیین وظیفه کنند و به افراد مختلف توانایی پیگیری پیشرفت هر یک از این وظایف را بدهند.
ابزار حافظه ترجمه (ابزار TM) متشکل از یک پایگاه داده از بخش های متن در زبان مبدأ و ترجمه آنها در یک یا چند زبان هدف.






ترجمه ماشینی

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

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

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






تاریخچه

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

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






فرایند ترجمه

فرایند ترجمه به شرح زیر است:

رمزگشایی معنایی متن مبدا
کدگذاری دوباره این معنا در زبان مقصد

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






روش‌ها

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

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

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

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






روش قاعده‌مند

الگوی ترجمه ماشینی قانون مند شامل الگوی ترجمه ماشینی مبتنی بر انتقال، ترجمه ماشینی بین زبانی و ترجمه ماشینی مبتنی بر فرهنگ لغت است.






روش بین زبانی

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






روش مبتنی بر فرهنگ لغت

ترجمه ماشینی می‌تواند از روشی مبتنی بر داده‌های فرهنگ لغت استفاده کند و این بدان معنی است که کلمات به همان گونه‌ای که در فرهنگ لغات موجودند، ترجمه می‌شوند.
7:08 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 هم قوی نوع گذاری شده و هم ضعیف و ایستایی نوع گذاری شده نامیده می‌شود.



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

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

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


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


عمل
طراحان زبان و کاربران باید مصنوعاتی ایجاد کنند تا برنامه نویسی را در عمل ممکن سازند و کنترل کنند. مهمترین این مصنوعات خصوصیات و پیاده سازی‌های زبان هستند.
ساعت : 7:08 pm | نویسنده : admin | مطلب قبلی | مطلب بعدی
بامداد نویس | next page | next page