রেফারেন্সের অনুরোধ: বিভাগের তত্ত্বটি যেমন টাইপ সিস্টেমগুলির ক্ষেত্রে প্রযোজ্য


13

প্রোগ্রামিং ভাষার তত্ত্বটি সত্যিকার অর্থে বুঝতে কীভাবে কাউকে বিভাগের তত্ত্বটি শিখতে হবে সে সম্পর্কে শুনছি। এখনও অবধি, আমি বিভাগের ক্ষেত্রের দিকে পা না রেখেই পিএল সম্পর্কে একটি ভাল চুক্তি শিখেছি। যাইহোক, আমি অনুভব করেছি যে আমি কী অনুপস্থিত ছিল তা দেখার জন্য এই সময় নেওয়ার সময় হয়েছে।

দুর্ভাগ্যক্রমে, আমি যে উত্সগুলি খুঁজে পেতে পারি তার কোনওটিই টাইপ সিস্টেম বা প্রোগ্রামিংয়ের সাথে কোনও সংযোগ স্থাপন করেছে বলে মনে হয় না। তারা বলেছে এটি কম্পিউটার বিজ্ঞানীদের জন্য বিভাগের তত্ত্বের একটি পরিচিতি, তবে সাধারণ ব্যবহারিক উদাহরণ বা অ্যাপ্লিকেশন না দিয়ে সাধারণ বিমূর্ত বাজে কথা (আমি এটাকে ভালবেসে বলি)।

আমার ধারণা আমার প্রশ্নটি আসলে দ্বিগুণ:

  1. পিএল মধ্যে "গভীর ধারণা" বোঝার জন্য বিভাগের তত্ত্বটি কি প্রয়োজনীয়?
  2. সিস্টেম এবং প্রোগ্রামিং টাইপ করার জন্য ব্যবহারিক প্রয়োগগুলির দৃষ্টিকোণ থেকে বিভাগের তত্ত্বকে ব্যাখ্যা করে এমন একটি উত্স কী?

এখন অবধি, আমি যা অর্জন করেছি তা হ'ল ফান্টেক্টরগুলির একটি অস্পষ্ট ধারণা (যা এমএল এর ফান্টারের সাথে সম্পর্কিত বলে মনে হয় না, যতদূর আমি বলতে পারি)। আমি বিমূর্ততাটিকে ভয়ঙ্কর করছি একটি বিভাগ-তাত্ত্বিক দৃষ্টিভঙ্গি থেকে মনাদগুলি বোঝার জন্য আমার মাথায় রাখা দরকার।


2
@ রাফেল এমন প্রশ্ন জিজ্ঞাসা করা খারাপ ধারণা যা দুটি ভিন্ন প্রশ্ন নিয়ে একে অপরের সাথে অস্পষ্টভাবে সম্পর্কিত related তবে প্রশ্ন ১। বিষয়গত নয়। এটি বরং ব্যাখ্যা এবং ব্যাখ্যা করার জন্য অনুরোধ। আমার মনে হয় প্রশ্ন 2। এই অর্থেই বোঝানো হয়েছিল যে তিনি এমন কোনও জায়গার রেফারেন্সে খুশি যেখানে সত্যিকারের ব্যাখ্যার পরিবর্তে এটি ব্যাখ্যা করা হয়েছে।
থমাস ক্লিম্পেল

2
ভবিষ্যতে, প্রতি পোস্টের জন্য কেবল একটি প্রশ্ন জিজ্ঞাসা করা ভাল। আপনি প্রশ্ন 1 জিজ্ঞাসা করতে পারেন, তারপরে যে উত্তর পেয়েছেন তার উপর নির্ভর করে 2 প্রশ্নটি আলাদাভাবে জিজ্ঞাসা করবেন কিনা তা স্থির করুন। এটি প্রায়শই জিনিসগুলিকে আরও মসৃণ করে তোলে।
DW

1
@ রাফেল প্রশ্নটি কীভাবে বিষয়ভিত্তিক? এটি বিচার করা কঠিন হতে পারে - আপনি কি বোঝাতে চান এটি? এবং এর উত্তর হিসাবে থাকতে পারে "এটি আপনি কোন ধরণের ব্যক্তি তার উপর নির্ভর করে।" - তুমি কি এটাই বুজাতে চাও? এটি এখনও পরিণত হতে পারে যে এটি অবশ্যই প্রয়োজনীয় বা অবশ্যই প্রয়োজনীয় নয়, তাই না? (এবং লোকেরা এটি সম্মত বলে মনে হচ্ছে এটি অত্যাবশ্যক নয়))
কে.এসটিএম

1
@ k.stm প্রশ্নের সাধারণ আকার আমাকে চিন্তিত করে। যদি কারও কাছে জিজ্ঞাসা করা হয় যে, "আনুষ্ঠানিক ভাষার গভীর ধারণাগুলি বোঝার জন্য বীজগণিত কি প্রয়োজনীয়?", আমি একটি সত্যতার জন্য জানি যে বিভিন্ন ব্যক্তি তাদের পছন্দ এবং স্বাদের ভিত্তিতে আলাদা আলাদা উত্তর দেবে। আমি এখানে এটি অন্যরকম হবে বলে আশা করি না।
রাফেল

1
@ রাফেল ঠিক আছে, আমি পেয়েছি তবে আমি মনে করি যে এটি লোকেরা একটি উদ্দেশ্যমূলক প্রশ্নে বিষয়ভিত্তিক উত্তর দিচ্ছে। (লোকেরা যেমন বলছেন "ওহ, আমি প্রতিদিন পাঁচ কাপ পান করি এবং আমি দুর্দান্ত অনুভব করি!") যখন জিজ্ঞাসা করা হয় কফি স্বাস্থ্যকর কি না।)
কে.এস.টি.এম

উত্তর:


15

শ্রেণী তত্ত্ব না , প্রোগ্রামিং ভাষা বুঝতে প্রয়োজনীয় এটা ভাষায় প্রোগ্রামিং এর উপর উন্নত গবেষণা করতে এমনকি প্রয়োজনীয় নয়। বেশিরভাগ প্রোগ্রামিং ভাষার লোকেরা (অনেক) বিভাগের তত্ত্ব জানেন না।

বিভাগীয় তাত্ত্বিক পদ্ধতিগুলি বেশিরভাগ প্রোগ্রামিং ভাষার গবেষণার একটি ক্ষুদ্র অংশে কার্যকর হয়েছে, বিশেষত কার্যকরী প্রোগ্রামিং বিশ্লেষণে, বিশেষত, মোগগির এই দুর্দান্ত আবিষ্কার থেকে যে কয়েকটি গণনাগত প্রভাব মোনাদিক কাঠামোতে রয়েছে। নব্বইয়ের দশকে মোগগীর সাফল্যের পরে, প্রোগ্রামিং ভাষার অন্যান্য রূপগুলিতে শ্রেণিবদ্ধ পদ্ধতি প্রসারিত করার জন্য অনেক গবেষণা করা হয়েছিল। যাইহোক, আমার জ্ঞানের সর্বোত্তম ধরণের পদ্ধতিগুলি ওও, সমবর্তী, সমান্তরাল এবং বিতরণকৃত গণনা, সময়সী গণনা বা সংকলকগুলির জন্য এত দরকারী যে খুঁজে পাওয়া যায় নি। এই কারণে, লোকেরা বেশিরভাগ শ্রেণিবদ্ধ পদ্ধতিগুলি প্রসারিত করে চলেছে।

টাইপড প্রোগ্রামিংয়ের শ্রেণিবদ্ধ পদ্ধতিগুলি খাঁটি ফাংশনে ভাল কাজ করে। প্রকৃতপক্ষে কিছু সাধারণ টাইপিং সিস্টেমগুলি বিভাগগুলি। এটি যেমন বর্ণনা করা হয়

সমবর্তী প্রক্রিয়াগুলির জন্য ধরণের উপর এখন প্রচুর কাজ চলছে (উদাহরণস্বরূপ সেশনের ধরণ) এবং সেগুলির কোনও কিছুই সেপ্টেম্বর ২০১ of অনুসারে প্রকৃতির শ্রেণিবদ্ধ নয়।

এটি বলেছিল যে কেউ কখনই খুব বেশি গণিত জানতে পারে না এবং বিভাগের তত্ত্বটি জেনে রাখা দরকারী। সুতরাং এটি ব্যয় / উপকারের প্রশ্ন। আপনি যদি গণিত পছন্দ করেন, যদি সম্ভবত আপনার বীজগণিতের কিছুটা পটভূমি থাকে (যেমন একটি সেটের তুলনায় ফ্রি গ্রুপ কী, ফ্রি রিং ইত্যাদি) তবে বিভাগের তত্ত্ব শেখা সহজ হবে এবং আপনি যদি কাজটি করার পরিকল্পনা করেন (অনুপ্রাণিত) ফাংশনাল প্রোগ্রামিং, বিভাগগুলি জেনে রাখা কার্যকর হবে।

পরিশেষে, বিভাগের তত্ত্বটি সুন্দর গণিত, এবং এটি এত ঝরঝরে কারণ কেবল অধ্যয়নযোগ্য।


অন্য আলোচনার জন্য উদয় রেড্ডির অবদান দেখুন।


"তবে, আমার জ্ঞানের সেরাটি অনুসারে শ্রেণিবদ্ধ পদ্ধতিগুলি এতটা কার্যকর বলে খুঁজে পাওয়া যায় নি ..." এটাই আমার সমস্যা। ক্রিয়ামূলক শব্দার্থবিজ্ঞানগুলি এই সমস্ত ধারণাটি নির্ভুলভাবে বর্ণনা করতে পারে, তাই আমি অনুভব করিনি যে আমি মিস করছি। আমি গণিত পছন্দ করি, তবে বিমূর্ত বীজগণিতের আমার ব্যাকগ্রাউন্ডে দুঃখজনকভাবে অভাব হয়। আমি কেবল সাধারণ বীজগণিত কাঠামোর খালি বেসিকগুলি বুঝতে পারি। এটি উপলব্ধি করার জন্য বিভাগের তত্ত্বটি বিশেষ করে জটিল করে তুলেছে।
বাগেরহেড

2
@gardenhead তাহলে সম্ভবত সিটি আপনার পক্ষে তেমন কার্যকর নয়। আপনি যদি টাইপগুলির কাজ সহ "ফাংশনাল প্রোগ্রামিং" স্পেসে প্রচুর কাগজপত্র পড়তে চান তবে তাদের অনেকগুলি যদিও সিটির ভাষা ব্যবহার করবে।
মার্টিন বার্গার

কি এই এক একটি ডুপ্লিকেট?
রাফেল

2
আমি অতিরিক্তভাবে cs.unibo.it/~asperti/PAPERS/book.pdf "বিভাগ, প্রকার এবং কাঠামোগুলি " বইটি সুপারিশ করতাম যা প্রচ্ছন্নভাবে মুদ্রণযোগ্য , তবে এটি একটির একটি পিডিএফের লিঙ্ক লেখকদের হোমপৃষ্ঠাগুলি, সুতরাং আমার ধারণা এটি বৈধ।
জন ফোরকোষ

6

বিভাগের তত্ত্ব শেখা একটি বিশাল সময় বিনিয়োগ, এবং এটির মূল্যবান কিনা এই প্রশ্নটি খুব কার্যকর। আমি এখনও এটির সাথে লড়াই করছি এবং কেন এটি শেখা উচিত তা আমি ইতিমধ্যে জানি। আমি লিখেছিলাম:

আমি যখন প্রোগ্রাম শুরু করি তখন আমি সমাবেশের ভাষা পছন্দ করি এবং সেট তত্ত্বটি সমাবেশ ভাষার সাথে সাদৃশ্য অনুভব করে। মূল ধারার জেডএফসি সেট তত্ত্বটিতে এম্বেড হওয়া যুক্তি এবং মডেল তত্ত্ব সম্পর্কে সমস্ত খোদাই করা কুসংস্কারগুলি ঘুরে দেখার জন্য বিভাগ তত্ত্ব একটি বিকল্প।

এখানে ধারণাটি কোনও নির্দিষ্ট ধরণের তত্ত্ব বা প্রোগ্রামিং ভাষার জন্য সম্ভাব্য শব্দার্থক হিসাবে সেট বা "অনির্দিষ্ট বিট" এর পরিবর্তে বিভাগগুলি ব্যবহার করা। কেন এটি করা উচিত? কোন ক্রিয়া এবং পর্যবেক্ষণের মধ্যে দ্বৈততা বিবেচনা করুন। বিভিন্ন পর্যবেক্ষণ (বা কমপক্ষে তাদের আদেশ সময়ে) একে অপরের সাথে হস্তক্ষেপ করে না (কোয়ান্টাম মেকানিকের বাইরে) তবে এটি বিভিন্ন ক্রিয়াকলাপের জন্য অবশ্যই সত্য নয়। সেট থিওরিতে এম্বেড যুক্তি সম্পর্কে খোদাই করা কুসংস্কারগুলি মডেলিং পর্যবেক্ষণের তুলনায় ক্রিয়াকে মডেল করা শক্ত করে তোলে।


আমি নিশ্চিত নই যে এখানে দাবি করা মত বিভাগের তত্ত্ব এবং টাইপ তত্ত্বের মধ্যে সত্যিই একটি নিখুঁত যোগাযোগ রয়েছে :

সিনট্যাক্স-শব্দার্থবিজ্ঞানের দ্বৈততার দ্বারা টাইপ তত্ত্বকে বিভাগের তত্ত্বের জন্য একটি আনুষ্ঠানিক সিনট্যাক্টিক ভাষা বা ক্যালকুলাস হিসাবে দেখতে পারা যায় এবং বিপরীতভাবে কেউ টাইপ তত্ত্বের জন্য শব্দার্থবিজ্ঞান সরবরাহকারী হিসাবে বিভাগ তত্ত্বকে ভাবতে পারে।

এটি সত্য যে বিভাগের তত্ত্বটি টাইপ থিওরির (যা সত্যই কার্যকর হতে পারে) শব্দার্থার্থ সরবরাহ করতে পারে তবে আমি সন্দেহ করি যে টাইপ থিওরিটি প্রকৃতপক্ষে বিভাগ তত্ত্বের সমস্ত গণনা প্রকাশ করার জন্য যথেষ্ট শক্তিশালী আনুষ্ঠানিক সিনট্যাকটিক ভাষা সরবরাহ করে।


অনুশীলনে, বিভাগীয় তত্ত্বের দরকারীতা কার্যকর প্রশ্ন এবং উপমাগুলির পরামর্শ দিয়ে উত্থাপিত হতে পারে। তবে বিভাগের তত্ত্বটি এমন ক্রিয়াকলাপ এবং প্রশ্নগুলিরও পরামর্শ দিতে পারে যা শেষ পর্যন্ত সত্যিকারের গুরুত্বপূর্ণ বিষয়গুলি থেকে কেবলমাত্র একটি বিচ্যুতি (সময়ের অপচয়) হিসাবে পরিণত হয়। এবং আপনি অবশ্যই বিভাগ তত্ত্ব সম্পর্কে যত্ন না নিয়ে যুক্তি এবং টাইপ তত্ত্ব শিখতে পারেন।


আপনার চিন্তাভাবনার জন্য ধন্যবাদ। বিভাগের তত্ত্বটি শেখার জন্য আপনার কারণগুলি আমার থেকে পৃথক বলে মনে হচ্ছে; আপনার আগ্রহগুলি খাঁটি-গাণিতিক দৃষ্টিকোণ থেকে শুরু করা হয়েছে, তবে আমি আমার ধরণের প্রবণতাগুলি আরও বাড়িয়ে তুলতে চাই। তবুও, এটা জেনে ভালো লাগল যে অন্যান্য ব্যক্তিরা আমার কাছে
বেদীর
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.