বিচ্ছিন্ন জনগোষ্ঠীতে মানব ভাষার পৃথকীকরণ (দারভিয়ান?) বিবর্তন থেকে আসে। প্রোগ্রামিং ভাষার পৃথকীকরণ প্রযুক্তিগত প্রয়োজনের বিভিন্নতা, প্রযুক্তিগত মতাদর্শ, প্রযুক্তিগত এবং তাত্ত্বিক বোঝার পরিবর্তন থেকে, বাস্তবায়নের আমাদের প্রযুক্তিগত দক্ষতার পরিবর্তন থেকে আসে। এটি কিছুটা সচেতন প্রক্রিয়া, আমার ধারণা।
কম্পিউটারের ভাষা কি প্রাকৃতিক ভাষার মতো হতে পারে? সম্ভবত কিছুটা, এক পর্যায়ে। আমি অনুমান করি যে প্রাকৃতিক ভাষার জটিলতার একটি বৃহত অংশ বিভিন্ন সমান্তরাল বিবর্তন ঘটনার ফলাফল থেকে আসে যে সময়ে কোনও এক পর্যায়ে ধারাবাহিক ফলাফল আনার কারণ নেই যদিও পুরানো অসঙ্গতিগুলি সম্ভবত ক্রমান্বয়ে মুছে ফেলা হয় যখন নতুন প্রদর্শিত হয় । আমি ডায়ক্রোনিক ভাষাতত্ত্বের বিশেষজ্ঞ নই। তবে আমরা কি প্রোগ্রামিং ভাষায় এই জাতীয় জটিলতা চাই?
অস্পষ্টতার বিষয়টি একটি গুরুত্বপূর্ণ বিষয়, তবে বেশিরভাগ লোকের বক্তব্য অনুসারে নয়। একটি ভাষা যোগাযোগের মাধ্যম, এবং অবশ্যই সেই যোগাযোগের প্রসঙ্গে (ম্যান-ম্যান, ম্যান-মেশিন, উভয়ই স্থানের মধ্যে বা সময়ের মধ্যে ... ... কিছুটা সরলভাবে বলতে গেলে) অবশ্যই এটি বিশ্লেষণ করা উচিত। যে বিষয়টি গুরুত্বপূর্ণ তা নয় যে আপনি ভাষায় কেবল দ্ব্যর্থহীন বক্তব্য দিতে পারেন, তবে আপনি সর্বদা এটি নিশ্চিত করতে পারেন যে যোগাযোগটি তার উদ্দিষ্ট প্রসঙ্গে সুস্পষ্ট হবে। এখানে একটি সুপরিচিত এবং বহুল ব্যবহৃত প্রোগ্রামিং ল্যাঙ্গুয়েজ রয়েছে, এটি দ্ব্যর্থহীন প্রোগ্রামগুলি লেখার অনুমতি দেয় (ভাল, এটি হয়েছে তবে আমি কিছুক্ষণের জন্য সর্বশেষতম সংস্করণগুলিতে নজর রাখিনি)। এই ক্ষেত্রে, সংকলকটি অস্পষ্টতা সনাক্ত করতে এবং স্পষ্টতা জানতে চাইতে যথেষ্ট চৌকস, যা অস্পষ্টতা দূর করার জন্য প্রোগ্রামে অন্তর্ভুক্ত করা যেতে পারে। নোট করুন যে অস্পষ্টতা সনাক্তকরণের অর্থ এই নয় যে সম্ভাব্য পছন্দগুলির মধ্যে কেবল একটিরই অর্থ রয়েছে, তারা সবাই করে। ইস্যুটি হল যে কোনও যোগাযোগকারী সত্তা দ্ব্যর্থহীনতা সনাক্ত করতে পারে যাতে প্রেরক এটি স্পষ্ট করে দিতে পারে। মানুষ এতে খারাপ, কিন্তু কম্পিউটারগুলি বেশ ভাল হতে পারে।
ফর্মালিজম এবং প্রোগ্রামিং ল্যাঙ্গুয়েজে আরও সমৃদ্ধ এবং আরও নমনীয় সিনট্যাক্স থাকতে পারে। আমি বিশ্বাস করি তারা না করার মূল কারণটি হ'ল সাধারণ রক্ষণশীলতা। সেই সময়ের কম্পিউটারগুলির সীমাবদ্ধতা মেটাতে ব্যবহৃত সিনট্যাকটিক সরঞ্জামগুলি এখনও প্রায়শই ত্রিশ বছর আগে বা তারও বেশি সময় পরিকল্পিত সরঞ্জাম tools পার্সিং দক্ষতা সংকলনের ক্ষেত্রে আর এই জাতীয় সমালোচনা নয় এবং আরও শক্তিশালী কৌশলগুলি ট্র্যাক্টে উপস্থিত রয়েছে exist
মজার বিষয় হল, প্রোগ্রামিং ভাষার সিনট্যাক্সের সর্বাধিক ব্যবহৃত ভিত্তিটি প্রাকৃতিক ভাষা গবেষণা থেকে আসে: প্রসঙ্গমুক্ত ব্যাকরণ। প্রযুক্তিগত গবেষণার বেশিরভাগ অংশ ষাটের দশকে তাত্ত্বিক / প্রযুক্তিগত কম্পিউটার বিজ্ঞানের দিকে পরিচালিত করেছিল, প্রাকৃতিক ভাষার লোকেরা আশির দশকের গোড়ার দিকে কিছুটা পুনরায় আবিষ্কার করতে পেরেছিলেন (আমি সরল করছি)। তার পর থেকে, প্রাকৃতিক ভাষায় বাক্য গঠনের জন্য অনেক অগ্রগতি হয়েছে, অন্যদিকে কম্পিউটার বিজ্ঞান পুরানো সিনট্যাকটিক সরঞ্জামগুলির সাথে বেশিরভাগভাবে আটকে রয়েছে। প্রাকৃতিক ভাষার দুলটি এখন পরিসংখ্যানগত কৌশলগুলির দিকে আবার দুলছে, তবে সিনট্যাক্সের জন্য বীজগণিতিক পদ্ধতির কথা ভুলে যায় না। সম্ভবত, বীজগণিত এবং পরিসংখ্যান কৌশলগুলির সংমিশ্রণ থেকে ভাল পন্থা আসবে।
আমার অনুভূতিটি হল যে সমালোচনামূলক অঞ্চলটি শব্দার্থক শব্দ এবং সিনট্যাক্স এবং শব্দার্থবিদ্যার মধ্যে রূপান্তর। প্রাকৃতিক ভাষার জন্য আনুষ্ঠানিককরণ করা এটি এখনও খুব কঠিন, যদিও আমাদের কাছে প্রোগ্রামিং ভাষা এবং আনুষ্ঠানিক সিস্টেমের ক্ষেত্রে অনেকগুলি সুনির্দিষ্ট কৌশল রয়েছে। যেহেতু গেমটি প্রাকৃতিক ভাষাগুলির জন্য খেলা থেকে দূরে, তাই ভবিষ্যতে প্রোগ্রামিং ভাষার উপর এটি কী প্রভাব ফেলতে পারে তা বলা শক্ত।
আর একটি বিষয় হ'ল অনেক প্রোগ্রামিং ল্যাঙ্গুয়েজ ডিজাইনার কিছু প্রমাণ করার বা প্রযুক্তিগত আদর্শ প্রয়োগের চেষ্টা করছেন। সুতরাং ব্যবহারকারীরা তাদের উদ্দেশ্যযুক্ত দৃষ্টান্তগুলি থেকে প্রস্থান করতে বাধা দেওয়ার জন্য তারা তাদের নকশায় চূড়ান্তভাবে প্রেসক্রিপটিভ পান। এটি সৃজনশীলতার জন্য দুর্ভাগ্যক্রমে অত্যন্ত পাল্টা-উত্পাদনশীল। এখন পর্যন্ত ডিজাইন করা সর্বাধিক সৃজনশীল ভাষা ছিল প্রথম: লিস্প (1958)। এটি যে স্বাধীনতা এবং নমনীয়তার অনুমতি দিয়েছে তা ছিল যথেষ্ট সৃজনশীলতার উত্স। দাম ছিল এটি স্ব-শৃঙ্খলা এবং বোঝার প্রয়োজন। তবে লিস্প সত্যিই একটি ধাতবভাষা, ভাষা তৈরির ভাষা ছিল language
এখন, অন্য দৃষ্টিকোণ নিতে, প্রোগ্রামগুলি আসলে গাণিতিক বিবৃতি হিসাবে দেখা তাদের স্পেসিফিকেশনের প্রমাণ (ভাল, আমি আবার সরল করছি)। কিছু লোক (আমি রেফারেন্স মনে করি না, দুঃখিত) প্রপঞ্চ তৈরি করার জন্য প্রপঞ্চ প্রবাদের সাথে খেলছি যা দেখে মনে হবে যে তারা কোনও গণিতবিদ লিখেছেন যেমন প্রাকৃতিক ভাষায়। সুতরাং আমি অনুমান করি যে প্রোগ্রামগুলি এমন মনে হচ্ছে যেগুলি প্রাকৃতিক ভাষায় লিখিত হয়েছিল দেখে মনে হচ্ছে এটি সম্পূর্ণ অযৌক্তিক নয়।
তবে আপনি খেয়াল করতে পারেন, কোনও গণিতবিদ অনানুষ্ঠানিকভাবে লেখার পরেও গাণিতিক বক্তৃতাটি সাধারণ আলাপ থেকে বা ইতিহাসের বইয়ের থেকে একেবারেই আলাদা লাগে। এটি কথোপকথনের সম্পর্কিত মহাবিশ্বের, উল্লেখযোগ্য ডোমেনগুলির বিষয়ে উল্লেখযোগ্য পার্থক্যের কারণে। আপনি যখন প্রাকৃতিক ভাষার মতো দেখতে প্রোগ্রামিং ভাষাগুলির কল্পনা করতে পারেন, সেখানে একটি প্রাকৃতিক সীমাবদ্ধতা রয়েছে যা কথোপকথনের ডোমেন এবং এর নিজস্ব পছন্দসই বৈশিষ্ট্য। সম্ভবত এটি মূলত পর্যায়ে থাকবে, যা বেশিরভাগ সিন্ট্যাকটিক act গণিতবিদ আনুষ্ঠানিক ব্যবস্থা এবং রাজনীতি সম্পর্কে কথা বলতে পারেন। আশা করি দুটি বক্তৃতা একরকম লাগবে না। কম্পিউটার রাজনীতি নিয়ে (এখনও?) কথা বলতে পারে না বা বুঝতে পারে না। যেদিন তারা এটি করবে সেদিন আর প্রোগ্রামিং হবে না।
ইতিহাসের দিকে ফিরে তাকালে, উচ্চ স্তরের ভাষাগুলি প্রথম থেকেই (ফরটারান) গণ্যমূলক কাজগুলি প্রকাশের জন্য আরও প্রাকৃতিক রূপের আরও কাছাকাছি যাওয়ার চেষ্টা ছিল, তবে এই কাজগুলি গাণিতিক বা যৌক্তিক হিসাবে বোঝা হত (ফোর্ট্রান 1957, আলগোল 1958, লিস্প 1958) ), বা আরও ব্যবসায়িক ভিত্তিক (কোবল 1959)। 10 বছরের মধ্যে লোকেরা ভাষাগুলি সম্পর্কে উদ্বিগ্ন ছিল যা নিকটবর্তী হবে, হাতের সমস্যার সাথে আরও ভাল খাপ খাইয়েছে, এবং extensible
languages
সিনট্যাক্স এবং শব্দার্থক উভয়কেই কভার করে তথাকথিত মধ্যে উল্লেখযোগ্য গবেষণা হয়েছিল । সমস্যাটিকে আরও প্রাকৃতিকভাবে প্রকাশের জন্য একটি প্রধান পথ হ'ল object
orientation
(কখনও কখনও অন্য নামে)। যদিও পিতৃত্বের দায়িত্ব অর্পণ করা সবসময়ই কঠিন, সম্ভবত এটি কৃত্রিম বুদ্ধিমত্তার কাজ থেকে বেশিরভাগ লিস্পে এবং ভাষা থেকে উদ্ভূত হয়েছিলSimula
67
(আলগোল পরিবার) যা নিজেই কম্পিউটারে আরও প্রাকৃতিক বাস্তব সমস্যাগুলি প্রকাশ করার উদ্দেশ্যে তৈরি হয়েছিল। এগুলি সব historতিহাসিকভাবে সুসংগত বলে মনে হচ্ছে।