আমার উত্তরটি সত্যিই গিলসের একটি ব্যাখ্যা ', যা আমি আমার লেখার আগে পড়িনি। তবে এটি তবুও সহায়ক।
প্রোগ্রামিং ভাষার কাজের দুটি মাত্রার কাজের পার্থক্যের সাথে আপনার প্রশ্নের উত্তর দেওয়ার জন্য আমার প্রয়াসটি শুরু করতে দিন যা সাধারণভাবে প্রোগ্রামিং ভাষা তত্ত্বের সাথে এবং বিশেষত ক্যালকুলাসের প্রক্রিয়াজাতকরণের সাথে বেশ আলাদাভাবে সম্পর্কিত।
পরেরটি সাধারণত পণ্য হিসাবে প্রোগ্রামিং ভাষা সরবরাহের লক্ষ্যে শিল্পে স্থান নেয়। মাইক্রোসফ্টে ওরাকল এবং সি # তে জাভা বিকাশকারী দলগুলির উদাহরণ। বিপরীতে, খাঁটি গবেষণা পণ্যগুলির সাথে আবদ্ধ নয়। এর উদ্দেশ্য হ'ল প্রোগ্রামিং ভাষাগুলি অন্তর্নিহিত আগ্রহের বিষয় হিসাবে এবং সমস্ত প্রোগ্রামিং ভাষার অন্তর্নিহিত গাণিতিক কাঠামোগুলি অন্বেষণ করা।
বিচ্ছিন্ন লক্ষ্যের কারণে, প্রোগ্রামিং ল্যাঙ্গুয়েজ তত্ত্বের বিভিন্ন দিকগুলি খাঁটি গবেষণায় এবং পণ্য কেন্দ্রীভূত গবেষণা ও উন্নয়নে প্রাসঙ্গিক, নীচের ছবিটি কোথায় গুরুত্বপূর্ণ তা ইঙ্গিত দিতে পারে।
কেউ এই মুহুর্তে জিজ্ঞাসা করতে পারেন কেন দুটি মাত্রা এত বেশি আপাতদৃষ্টিতে পৃথক এবং তবুও তারা কীভাবে সম্পর্কযুক্ত।
মূল অন্তর্দৃষ্টি হ'ল প্রোগ্রামিং ভাষা গবেষণা এবং বিকাশের একাধিক মাত্রা রয়েছে: প্রযুক্তিগত, সামাজিক এবং অর্থনৈতিক। প্রায় সংজ্ঞা অনুসারে, শিল্প প্রোগ্রামিং ভাষার অর্থনৈতিক পরিশোধে আগ্রহী। মাইক্রোসফ্ট এবং আল তাদের হৃদয়ের সচ্ছলতার বাইরে ভাষা বিকাশ করে না তবে তারা বিশ্বাস করে যে প্রোগ্রামিং ভাষাগুলি তাদের একটি অর্থনৈতিক সুবিধা দেয়। এবং তারা গভীরভাবে তদন্ত করেছে যে কিছু প্রোগ্রামিং ভাষা কেন সফল হয় এবং অন্যেরা আপাতদৃষ্টিতে অনুরূপ বা আরও উন্নত বৈশিষ্ট্য সহ, কেন না। এবং তারা দেখতে পেল যে এর একক কারণ নেই। প্রোগ্রামিং ভাষা এবং তাদের পরিবেশ জটিল এবং তাই কোনও নির্দিষ্ট ভাষা গ্রহণ বা উপেক্ষা করার কারণগুলি। তবে প্রোগ্রামিং ভাষার সাফল্যের একক বৃহত্তম বিষয় হ'ল প্রোগ্রামারগণ যে ভাষাগুলি ইতিমধ্যে ব্যাপকভাবে ব্যবহৃত হয় সেগুলির সাথে অগ্রাধিকার সংযুক্তি: যত বেশি লোক কোনও ভাষা ব্যবহার করেন, তত বেশি গ্রন্থাগার, সরঞ্জাম, শিক্ষাদান সামগ্রী উপলব্ধ এবং আরও বেশি উত্পাদনশীল একটি প্রোগ্রামার যে ভাষা ব্যবহার করা যেতে পারে। একে নেটওয়ার্ক ইফেক্টও বলা হয়। আরেকটি কারণ হ'ল ব্যক্তি ও সংস্থার জন্য উচ্চমূল্যের স্যুইচিং ভাষা: বিশেষত অভিজ্ঞতার সাথে অভিজ্ঞ না হওয়া প্রোগ্রামারের কাছে ভাষা দক্ষকরণ এবং যখন পরিচিত ভাষাগুলির কাছে শব্দার্থিক দূরত্ব বড় হয় তখন এটি একটি গুরুতর, সময় সাপেক্ষ প্রচেষ্টা। এই তথ্যগুলি দেওয়া, কেউ জিজ্ঞাসা করতে পারেন কেন নতুন ভাষাগুলি মোটেও কৃপণতা পায়? সংস্থাগুলি কেন একেবারে নতুন ভাষা বিকাশ করে? আমরা শুধু জাভা বা কোবোলের সাথে থাকি না কেন? আমি মনে করি যে কোনও ভাষা সফল হওয়ার কয়েকটি মূল কারণ রয়েছে,
প্রোগ্রামিংয়ের একটি নতুন ডোমেন খোলে যার স্থানচ্যুতকরণের কোনও আগমন নেই। প্রাথমিক উদাহরণটি জাভাস্ক্রিপ্টের সহবর্তী উত্থানের সাথে ওয়েব।
ভাষার আঠালোতা। এর দ্বারা আমি ভাষার পরিবর্তনের উচ্চ মূল্য বোঝাচ্ছি। তবে কখনও কখনও প্রোগ্রামাররা বিভিন্ন ক্ষেত্রে চলে যায়, তাদের সাথে একটি প্রোগ্রামিং ভাষা নিয়ে যায় এবং নতুন ক্ষেত্রে পুরানো ভাষার সাথে সফল হয়।
একটি ভাষা গুরুতর আর্থিক ফায়ারপাওয়ার সহ একটি বড় সংস্থার দ্বারা ঠেলে দেওয়া হয়। এই সমর্থনটি গ্রহণের ঝুঁকি হ্রাস করে, কারণ প্রাথমিক গ্রহণকারীরা নিশ্চিতভাবেই নিশ্চিত হতে পারে যে কয়েক বছরের মধ্যেও ভাষাটি সমর্থনযোগ্য। এর একটি ভাল উদাহরণ হ'ল সি #।
একটি ভাষা বাধ্যকারী সরঞ্জাম এবং ইকো-সিস্টেমের সাথে আসতে পারে। এখানেও সি # এবং এটি et নেট এবং ভিজ্যুয়াল স্টুডিও ইকো-সিস্টেমের উদাহরণ হিসাবে উল্লেখ করা যেতে পারে।
পুরানো ভাষাগুলি নতুন বৈশিষ্ট্য তুলে ধরে। জাভা মনে আসে, যা প্রতিটি পুনরাবৃত্তিতে ক্রিয়ামূলক প্রোগ্রামিং traditionতিহ্য থেকে আরও ভাল ধারণা অর্জন করে।
পরিশেষে, একটি নতুন ভাষার অভ্যন্তরীণ প্রযুক্তিগত সুবিধাগুলি থাকতে পারে, উদাহরণস্বরূপ আরও অভিব্যক্তিপূর্ণ হওয়া, ভাল সিনট্যাক্স থাকতে পারে, টাইপিং সিস্টেমে আরও ত্রুটি ধরা পড়ে ইত্যাদি ইত্যাদি
এই পটভূমিটি দেওয়া, এটি অবাক হওয়ার মতো বিষয় নয় যে খাঁটি প্রোগ্রামিং ভাষা গবেষণা এবং বাণিজ্যিক প্রোগ্রামিং ভাষার বিকাশের মধ্যে কিছুটা সংযোগ রয়েছে। উভয় লক্ষ্য সফ্টওয়্যার নির্মাণ এবং বিবর্তনকে আরও দক্ষ করে তোলার লক্ষ্যে, বিশেষত বৃহত আকারের সফ্টওয়্যারগুলির জন্য, শিল্প প্রোগ্রামিং ভাষার কাজের সমালোচনা জনগণের কাছে পৌঁছানোর এবং নেটওয়ার্কের প্রভাব পেতে দ্রুত গ্রহণের সুবিধার্থে আরও আগ্রহী হতে হবে। এটি কর্মরত প্রোগ্রামারদের যত্ন নেওয়ার বিষয়ে গবেষণার দিকে মনোনিবেশ করে। এবং এটি লাইব্রেরি উপলভ্যতা, সংকলক গতি, সংকলিত কোডের মান, বহনযোগ্যতা এবং এর মতো জিনিস হতে পারে। প্রক্রিয়া ক্যালকুলাস আজ আমরা এটি অনুশীলন করে মূলধারার প্রকল্পগুলিতে কর্মরত প্রোগ্রামারদের খুব কম ব্যবহার হয় (যদিও আমি বিশ্বাস করি ভবিষ্যতে পরিবর্তিত হবে)।
λπβক্রিয়ামূলক প্রোগ্রামিং জন্য রেজুলেশন, যুক্তি-প্রোগ্রামিং জন্য রেজোলিউশন / একীকরণ, সমবর্তী গণনার জন্য নাম পাসিং)। স্কালার মতো কোনও ভাষাতে কার্যকর টাইপ-ইনফারেন্স থাকতে পারে তা বুঝতে, আমাদের জেভিএম সম্পর্কে চিন্তা করার দরকার নেই। প্রকৃতপক্ষে জেভিএম সম্পর্কে চিন্তাভাবনা টাইপ-ইনফারেন্সের আরও ভাল বোঝার থেকে বিরত থাকবে। এই কারণেই ক্ষুদ্র কোর ক্যালকুলিতে গণনার বিমূর্ততা গুরুত্বপূর্ণ এবং শক্তিশালী।
সুতরাং আপনি প্রোগ্রামিং ভাষার গবেষণাকে একটি বিশাল স্যান্ডবক্স হিসাবে ভাবতে পারেন যেখানে লোকেরা খেলনা নিয়ে খেলেন এবং নির্দিষ্ট খেলনা নিয়ে খেলতে যদি তারা আকর্ষণীয় কিছু খুঁজে পান এবং খেলনাটি ভালভাবে তদন্ত করেছেন, তবে সেই আকর্ষণীয় খেলনাটি মূলধারার শিল্প গ্রহণযোগ্যতার দিকে তার লংমার্চ শুরু করে । আমি লংমার্চ বলি কারণ প্রোগ্রামিং ভাষার গবেষক দ্বারা ভাষার বৈশিষ্ট্যগুলি প্রথম উদ্ভাবিত হয়েছিল ব্যাপকভাবে গৃহীত হওয়ার আগে কয়েক দশক সময় নেয়। উদাহরণস্বরূপ, আবর্জনা সংগ্রহ 1950 এর দশকে কল্পনা করা হয়েছিল এবং 1990 এর দশকে জাভা দিয়ে ব্যাপকভাবে উপলব্ধ হয়েছিল। প্যাটার্ন ম্যাচিং হার্কগুলি 1970 সালে ফিরে আসে এবং কেবলমাত্র স্কালার পরে ব্যাপকভাবে ব্যবহৃত হয়।
প্রক্রিয়া ক্যালকুলাস একটি বিশেষ আকর্ষণীয় খেলনা। তবে পুঙ্খানুপুঙ্খভাবে তদন্ত করা খুব নতুন। এটি খাঁটি গবেষণার জন্য আরও এক দশক লাগবে। বর্তমানে প্রক্রিয়া তত্ত্ব গবেষণায় যা চলছে তা হল প্রোগ্রামিং ভাষা গবেষণার একক বৃহত্তম সাফল্যের গল্প, (অনুক্রমিক) ধরণের তত্ত্ব এবং বার্তা সহকারে এক হয়ে যাওয়ার জন্য প্রকারের তত্ত্বটি বিকাশ করা। ক্রমবর্ধমান প্রোগ্রামিংয়ের জন্য মধ্যপন্থী প্রকাশের টাইপিং সিস্টেমগুলি, হিন্ডলি-মিলনার বলছেন, এখন কর্মক্ষম প্রোগ্রামাররা সর্বজনবিদিত, সর্বব্যাপী এবং স্বীকৃত। আমরা সমবর্তী প্রোগ্রামিংয়ের জন্য পরিমিতরূপে মতপ্রকাশের ধরনগুলি চাই। ১৯৮০ এর দশকে মিলনার, সানজিওরজি, টার্নার, কোবাশী, হোন্ডা এবং অন্যান্যদের মতো অগ্রণীদের দ্বারা গবেষণা শুরু হয়েছিল, লিনিয়ার যুক্তি থেকে উদ্ভূত লৈখিকতার ধারণার উপর প্রায়শই স্পষ্ট বা স্পষ্টভাবে ভিত্তিক হয়। গত কয়েক বছর ধরে ক্রিয়াকলাপে একটি বড় বৃদ্ধি দেখেছে এবং আমি প্রত্যাশিত ভবিষ্যতের জন্য এই wardsর্ধ্বমুখী পথটি চালিয়ে যাওয়ার আশা করি। আমি আরও আশা করি যে এই কাজটি পণ্য কেন্দ্রীভূত আরএন্ডডি তে প্রবর্তন শুরু হবে, এমন কিছু অংশে যে গবেষকরা প্রক্রিয়া ক্যালকুলাসে প্রশিক্ষণপ্রাপ্ত তরুণ গবেষকরা শিল্প গবেষণা ও উন্নয়ন ল্যাবগুলিতে গিয়ে কাজ করবেন, তবে সিপিইউ এবং কম্পিউটার আর্কিটেকচারের বিবর্তনের কারণেও রয়েছে। অনুক্রমের অনুক্রমের ফর্ম থেকে।
সংক্ষেপে, আমি উদ্বিগ্ন হব না যে আপনি নিজেরাই ভাষা তৈরির নিজস্ব কাজের ক্ষেত্রে প্রক্রিয়া ক্যালকুলাসের মতো প্রান্ত প্রোগ্রামিং ভাষার তত্ত্বটি খুঁজে পান না। এটি কেবলমাত্র এজেন্ট থিওরি বর্তমান প্রোগ্রামিং ভাষার উদ্বেগকে সম্বোধন করে না বলেই। এটি ভবিষ্যতের ভাষা সম্পর্কে। 'রিয়েল ওয়ার্ল্ড'কে ধরতে কিছুটা সময় লাগবে। আজকের জন্য আপনি ভাষা তৈরিতে যে জ্ঞান ব্যবহার করেন তা হ'ল অতীতের প্রোগ্রামিং ভাষা তত্ত্ব। আমি আপনাকে প্রক্রিয়া ক্যালকুলাস সম্পর্কে আরও জানতে উত্সাহিত করি কারণ এটি সমস্ত তাত্ত্বিক কম্পিউটার বিজ্ঞানের সর্বাধিক বহির্গমন ক্ষেত্রগুলির মধ্যে একটি।