মেটা-প্রোগ্রামিং কতটা সাধারণ? [বন্ধ]


10

আপনি কতবার প্রকল্পে মেটা-প্রোগ্রামিং ব্যবহার করতে দেখেছেন? ইউনিয়নে আমি কখনই এটি প্রয়োগ হতে দেখিনি, তবে আমি এটি আমার আগের কাজটিতে দেখেছি (যখন আমি এটি দেখলাম তখন এটি কতটা কার্যকর ছিল তা থেকে দূরে সরে গিয়েছিলাম)।

তবে এটা কত সাধারণ? এটি কি সমস্ত সময় ব্যবহার করা হয়, বা কেবল মাঝে মাঝে?


5
এটি সাধারণ নাও হতে পারে; যদিও লিস্পে বেশ সাধারণ, লিস্প এতটা সাধারণ নয় - এমনকি কমন লিস্পও নয়।
পল

সুস্পষ্ট বা অন্তর্নিহিত? জাভা এবং সি # ব্যবহার করে একটি চূড়ান্তভাবে তর্কযোগ্যভাবে মেটা-প্রোগ্রামিং হয় যেহেতু তাদের সংকলকগুলি আউটপুট ভাষার ফাইলগুলি সংকলন করে বা ব্যাখ্যা করা হয় inter অন্যদিকে কেবলমাত্র কেউই কোনও ভাষায় কোড উত্পন্ন করার জন্য কোড লেখেন না যার জন্য তারা একটি সংকলক তৈরি করেছেন।
Moz

রূপক সর্বব্যাপী। অটোটুলগুলিতে নির্ভর করে যে কোনও ওপেনসোর্স প্রকল্পটি রূপক ব্যবহার করছে ming কিউটি ওয়ার্ল্ডে এমওসি, এলএলভিএম-এ টিবিলজেন, অসংখ্য। নেট প্রকল্পে টি 4, জাভাস্ক্রিপ্ট তৈরির কোনও ওয়েব প্রকল্প এবং আরও অনেক কিছু।
এসকে-যুক্তি

উত্তর:


5

আপনি যদি প্রতিবিম্বকে এক ধরণের মেটা-প্রোগ্রামিং বিবেচনা করেন তবে এটি তুলনামূলকভাবে সাধারণ। কিছু লোকের জন্য এমনকি জেনেরিক প্রোগ্রামিং (টেমপ্লেট এবং জেনেরিক্স) হ'ল মেটা-প্রোগ্রামিংয়ের একটি রূপ, তাই এটি আরও সাধারণ।

আমার মতে, তবে, মেটা-প্রোগ্রামিং আরও জটিল কিছু, এতে প্রকৃত কোড জেনারেশন জড়িত, এবং তাই স্ক্রিপ্টিং ভাষায়ও এটি বেশ অস্বাভাবিক।


টেমপ্লেট মেটাগ্রোগ্রামিং কেন একটি "আসল কোড জেনারেশন" নয়?!? সি ++ টেমপ্লেটগুলি টিউরিং-সম্পূর্ণ এবং আপনি স্বেচ্ছাসেবী জটিল কোড তৈরি করতে পারেন।
এসকে-যুক্তি

@ এসকে-যুক্তি: আমার অর্থ রানটাইমের সময় চাহিদা অনুসারে নতুন কোড তৈরি করা হচ্ছে। টেমপ্লেটগুলি সংকলক দ্বারা প্রক্রিয়া করা হয়, আপনি এগুলি একটি শক্তিশালী ধরণের প্রাকম্পম্পেলার ম্যাক্রো হিসাবে দেখতে পারেন।
উইজার্ড 79

আপনি রানটাইমে কোড তৈরি করতে চান কেন? রূপকর্মের সর্বাধিক শক্তিশালী ফর্মগুলি (যেমন প্রচলিত লিস্প, র‌্যাকেট, টেম্পলেট হাস্কেল ইত্যাদি) সংকলন-সময়ে রয়েছে।
এসকে-যুক্তি

3

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


2

এটি কমন লিস্প প্রকল্পগুলিতে সাধারণত এবং ধারাবাহিকভাবে প্রদর্শিত হয় to পরীক্ষা করে দেখুন OnLisp এবং আসুন ওভার ল্যামডা কিছু ব্যাখ্যা / অন্তর্দৃষ্টি জন্য।

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


1

গত দু'বছর ধরে কোনও নতুন টাস্কে প্রথম বিট প্রোগ্রামিং কোডটি লেখার জন্য প্রায় সবসময় কোড লিখছিল writing একটি ডাটাবেসের সাথে কথোপকথনের সাথে জড়িত একটি টন বয়লারপ্লেট রয়েছে যা স্বয়ংক্রিয় স্ক্রিপ্ট উত্পন্নকরণে সহজতর করা যায়। এমন কোনও বিষয়বস্তু সম্পর্কে ভাবুন যেখানে আপনাকে কোনও বস্তু বা এরকম কিছু তৈরির জন্য 3 টি সারণী জিজ্ঞাসা করতে হবে। ভবিষ্যতে পরিবর্তিত হতে পারে এই 10 টির মধ্যে যদি 10 টি থাকে তবে কেন এটি নিজেকে লিখবেন?

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