কর্মক্ষমতা জন্য সিস্টেম টাইপ করুন


11

(স্থিতিশীল) টাইপ সিস্টেমগুলি কি প্রোগ্রামগুলির কর্মক্ষমতা বৈশিষ্ট্যগুলিকে আনুষ্ঠানিক করার চেষ্টা করে? আমি এই ধরনের প্রচেষ্টা খুঁজে পাওয়া যায় না।

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


1
আপনার টাইপ সিস্টেমের পারফরম্যান্স সম্পর্কে কী বলবে if condition then expensive_operation else cheap_operation?
svick

আমি জানি যে কোডের (এবং সমাপ্তি) সবচেয়ে খারাপ পরিস্থিতি স্বয়ংক্রিয়ভাবে অনুমান করার জন্য বিমূর্ত ব্যাখ্যাটি ব্যবহার করার ক্ষেত্রে কিছু উন্নয়ন ঘটেছিল। আপনি এতে আগ্রহী হতে পারেন ...
বাকুরিউ

পুরোপুরি সম্পর্কিত নয়, তবে এখনও: কার্নেলওয়াইবস.আর.এফএকিউ / লাইকলি ইউনিকলিলি লিনাক্সে কার্নেল / জিসিসি সংকলকটি সম্ভবত কিছু পাথ অপ্টিমাইজ করার সম্ভাবনা / অসম্ভব ম্যাক্রোস। উদাহরণস্বরূপif (likely(operation_went_fine)) { // Do something } else if (unlikely(error_occured)) { // Do something else }
অ্যামেজিংড্রিমগুলি

সি এর অস্থির এবং নিবন্ধভুক্ত কীওয়ার্ডগুলি মনে আসে।
mattnz

উত্তর:


6

আপনি ডাব্লুসিইটি বা প্রোগ্রামের জটিলতার সাথে সম্পর্কিত হওয়ার জন্য যথেষ্ট পরিশীলিত একটি টাইপ সিস্টেম কল্পনা করতে পারেন । তারপরে, সমস্যাটি হ'ল একটি সাউন্ড টাইপ অ্যানালাইজার (বা পরীক্ষক) - অর্থাৎ টাইপিং বিধিগুলি - এটি সম্ভব করার জন্য এবং এটিকে যুক্তিসঙ্গতভাবে কার্যকর করার জন্য যথেষ্ট দক্ষতার সাথে এটি প্রয়োগ করা।

অনুশীলনে গণনা করার জন্য বেশিরভাগ টাইপ সিস্টেমগুলি যথেষ্ট সহজ (কমপক্ষে কোনও মানব বিকাশকারী ম্যানুয়ালি লিখতে পারে এমন প্রোগ্রামগুলির যুক্তিসঙ্গত সেটগুলির জন্য)।

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

(যদি আমি ভালভাবে বুঝতে পারি তবে জেরমি সালভুচির পিএইচডি প্যারিসের এলআইপি 6 এ কাজ চলছে যা আপনার প্রশ্নের সাথে সম্পর্কিত; আমি তাকে এ সম্পর্কে একটি ইমেল পাঠিয়েছি; আপনি অঞ্চল এবং প্রকারগুলি সন্ধান করতে পারেন ...))

ধানের উপপাদ্য এবং হ্যালটিং সমস্যা সম্পর্কে তবে সচেতন হন । প্রকারের সিস্টেমগুলি সর্বদা সিলভার বুলেট নাও হতে পারে আপনি সেগুলি চান (পুরানো কোনও সিলভার বুলেট বইটি দেখুন)।


4
ডব্লুসিইটি হ'ল "সবচেয়ে খারাপ মামলার মৃত্যুদণ্ডের সময়" এই প্রসঙ্গে (আমার ক্ষেত্রে অন্য কেউ যদি অবাক হন তবে)
ক্লাস ভ্যান শেলভেন

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

3

এটা একটা টাইপ ব্যবস্থা যা কর্মক্ষমতা চরিত্রগত categorises তৈরি করতে মাত্রাতিরিক্তভাবে সম্ভব বলে মনে হয় ধরনের(যেমন, "সিরিয়াল অ্যাক্সেসের জন্য দ্রুত / ধীরগতি," এলোমেলো অ্যাক্সেসের জন্য দ্রুত / ধীর "," মেমরি দক্ষ / অদক্ষ ") Those বৈশিষ্ট্যগুলি হায়ারার্কিতে এমনভাবে বিমুগ্ধ প্রকারের হতে পারে যাতে আরও বেশি কংক্রিটের ধরণগুলি তাদের উত্তরাধিকার সূত্রে প্রাপ্ত হয়। যাইহোক, এই ধরণের ব্যবহার করে যে কোনও প্রোগ্রামের কার্যকারিতা নির্ভর করে যে তারা আসলে কীভাবে ব্যবহার / অ্যাক্সেস করা হয় তার উপর নির্ভর করে itself প্রোগ্রামটি নিজেই সম্পর্কে বিবৃতি দেওয়ার জন্য টাইপ সিস্টেমের জন্য (এই প্রবেশাধিকারের জন্য) এই ধরণের ব্যবহারগুলি নিজেকে টাইপ হিসাবে উপস্থাপন করতে হবে এর অর্থ হ'ল বিল্ট-ইন কন্ট্রোল স্ট্রাকচারের ব্যবহার (যেমন লুপগুলির জন্য / যখন লুপগুলির জন্য) ব্যবহার করা যায় এবং পরিবর্তে এগুলি প্রয়োগ করে এমন ধরণের ব্যবহার করা উচিত Hence সুতরাং শ্রেণিবদ্ধের একটি বিমূর্ত ক্রমিক-অ্যাক্সেসের ধরণ এবং বংশধর তালিকা-সিরিয়াল-অ্যাক্সেস, ট্রি-সিরিয়াল থাকতে পারে -অ্যাক্সেসের প্রকারগুলি এবং তাই।ব্যবহারের দক্ষতা তখন একে অপরের সাথে এই ধরণের সংমিশ্রণ এবং প্রয়োগের মাধ্যমে কমপক্ষে আংশিকভাবে প্রকাশ করা যেতে পারে।

হাস্কেলের মতো একটি কার্যকরী ভাষায় - যার প্রায় কোনও নিয়ন্ত্রণ কাঠামো নেই - এটি আমার কাছে মোটামুটি ব্যবহারিক এবং প্রয়োগযোগ্য বলে মনে হচ্ছে । জাভা তবে, এই ধরনের একটি সিস্টেম অনেক কম সাধনযোগ্য (না বলে মনে হয় , যাতে অনেক ফলাফলের enforceability / বিশ্বাসযোগ্যতা থেকে বাস্তবায়ন থেকে)।

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

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.