একটি ডোমেন নির্দিষ্ট ভাষা কি? কেউ এটা ব্যবহার করছেন? আর কীভাবে?


107

আমি অনুমান করি যে আমি কোনও প্রকারের পরিচয় খুঁজছি এবং দেখছি যে কেউ এটি ব্যবহার করেছে কিনা। এটি ব্যবহারের কোনও বিশেষ সুবিধা আছে কি?

উইকিপিডিয়া:

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

আপনি কীভাবে এটি প্রয়োগ করেছেন বা প্রদত্ত দৃশ্যে এটি কীভাবে কার্যকর হতে পারে তার কোনও নির্দিষ্ট উদাহরণ কেউ দিতে পারেন?


প্রকৃতপক্ষে ডোমেন নির্দিষ্ট ভাষা হল একটি শব্দ যা প্রোগ্রামিংয়ের একটি সুস্পষ্ট সংজ্ঞাযুক্ত অর্থ সহ - উইকিপিডিয়া নিবন্ধটি পরীক্ষা করুন
1800 তথ্য

যেমনটি নীচে উল্লিখিত হয়েছে, ডিএসএল একটি ভাষা নয়, বিশেষ উদ্দেশ্যগুলির একটি সম্পূর্ণ শ্রেণীর নাম।
dmckee --- প্রাক্তন-মডারেটর বিড়ালছানা

তাহলে আমি কি বলতে পারি যে ডি একটি ডিএসএল?
শ্রীকর দোদি

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

উত্তর:


114

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

মার্টিন ফওলার এখানে যেমন ধারণাটির একটি বড় সমর্থক ।


3
রুবিতে এমন কোন বৈশিষ্ট্য রয়েছে যা একটি নতুন ডিএসএল তৈরি করা সহজ করে?
লার্নকুরভে

2
@ লারনকুরভে - রুবির রূপকর্ম ছিল, যা সাহায্য করে। rubylearning.com/blog/2010/11/23/…
জেমস ব্ল্যাক

@ চার্লিমার্টিন আপনি কি আমাকে "গ্রোভি" সম্পর্কে জানাতে পারেন? এটি ঠিক কোন ধরণের ভাষা? আমি এখানে সহায়তা করতে দয়া করে জানতে চাই ..
G dangi

2
গ্রোভি একটি স্ক্রিপ্টিং ভাষা যা একটি জেভিএম-এ চলে। এটি মূলত রুবির জাভা উত্তর হওয়ার উদ্দেশ্য to এটি একটি সাধারণ উদ্দেশ্য ভাষা কিন্তু এটি ডিএসএল লেখার জন্য ব্যবহার করা যেতে পারে। docs.groovy-lang.org/docs/latest/html/docamentation/…
চার্লি মার্টিন

1
আমি গ্রেডলের গ্রোভি যুক্ত করতে চাই। যদি ভুল না হয় তবে তাদের নিজস্ব ভাষা আছে একটি বিল্ড বর্ণনা করে।
নিওন ওয়ার্জ

67

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

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

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

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

আমি বলার সাহস করব যে কোনও ধরণের অ্যাপ্লিকেশন আপনার প্রয়োজন হতে পারে সেখানে যথেষ্ট পরিমাণে ডিএসএল রয়েছে; আপনার নিজের লেখা কীভাবে লিখতে হবে তা আপনার প্রায় অবশ্যই শেখার দরকার নেই।


1
যথেষ্ট মজার বিষয়, আপনি যে উদাহরণটি তালিকাভুক্ত করেননি তা হ'ল প্রথমটি যা আমি ভাবি:
রেজেেক্স

12

(প্রশ্নের তর্ককে সম্বোধন)

আমি মনে করি আমি প্রথমবার ডিএসএলকে কোথাও দেখেছি এবং এর সংজ্ঞাটিকে "ডোমেন নির্দিষ্ট ভাষা" হিসাবে আমিও মনে করেছি এটি একটি বিশেষ, কংক্রিট ভাষা যা আমি সবেমাত্র শুনি নি - তবে, না, এটি একটি সাধারণ শব্দ যা ভাষার জন্য একটি নির্দিষ্ট অ্যাপ্লিকেশন অঞ্চল অনুসারে।

হাস্যকরভাবে, আপনি যদি টিসিএল সম্পর্কে একটি "সরঞ্জাম কমান্ড ভাষা" হিসাবে শুনেছিলেন তবে আপনি ডিএসএল এর মতো ভাবতে পারেন যে বিভিন্ন সরঞ্জামের জন্য প্রচুর টিসিএল থাকবে - তবে, না, এটি একটি নির্দিষ্ট স্ক্রিপ্টিং ভাষার নির্দিষ্ট নাম।


10

আমি মনে করি এটি একটি নির্দিষ্ট ডোমেনের সমস্যার সমাধানের জন্য উপযুক্ত ভাষা। এটি কিছু নিয়ম-প্রক্রিয়াকরণ ভাষা বা পরিষেবা বর্ণনার ভাষা হতে পারে।

একটি ডোমেন নির্দিষ্ট ভাষা (ডিএসএল) এর বিপরীত একটি সাধারণ উদ্দেশ্যমূলক ভাষা


10

সবকিছুই একটি ডিএসএল ...

এসেম্ব্লার: এমওভি আর 1 থেকে আর 2
সংকলক: অ্যাসাইনমেন্ট স্টেটমেন্টস - এ = এ + 1, শর্তসাপেক্ষ - আইএফ (সত্য) ..., শাখা -
এইচটিএমএল
ফিরিয়ে দিন : ... একটি নেস্টেড স্ট্রাকচার টিসিপি / আইপি বর্ণনা করুন / থেকে বর্ণনা করুন ঠিকানা
পিডিএফ: কাগজে টেক্সট / চিত্র বসানো
বর্ণনা করুন হরফ: অক্ষর বর্ণনা করুন

একটি নির্দিষ্ট প্রক্রিয়া বর্ণনা করতে আমরা যে কোনও ভাষা ব্যবহার করি তা হ'ল ডিএসএল। দুর্ভাগ্যক্রমে আমাদের সর্বাধিক প্রাথমিক প্রক্রিয়াগুলি বর্ণনা করার জন্য ডোমেন সুনির্দিষ্ট ভাষার অভাব রয়েছে, তাই আমরা আমাদের যা কিছু করি তার বর্ণনা দেওয়ার জন্য কয়েকটি ভাষা ব্যবহার করি। "আমার ওয়েবসাইটে সমস্ত এইচটিএমএল ফাইল জিপ করুন" সম্পূর্ণ করতে 3 বা 4 টি ভিন্ন ভাষার 300 লাইন প্রয়োজন।

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

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

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

দেহটিতে আমার কর্মচারীদের একটি সারণী
রয়েছে শিরোনামে কলিনস সফ্টওয়্যারটিতে লগইন সহ একটি শিরোনাম বারের ক্যাপশন 'হ্যালো ওয়ার্ল্ড' রয়েছে

একটি মেনু ডিএসএল পৃষ্ঠার বিন্যাস ডিএসএল ফিট করে না, তাই মেনুগুলির জন্য আমি একটি অনন্য ডিএসএল তৈরি করেছি।

আমার প্রধান মেনু রিসোর্স করুন
* সংজ্ঞায়িত: মেনু, মি, স্তর, লেবেল, আইকন, ক্রিয়া;
মি, 0, ফাইল;
মি, 1, ওপেন, ওপেন.gif, ডায়ালগ ওপেন ফাইল;

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


8

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


5

আমরা হব! উপরে বর্ণিত অনেক কিছুই রয়েছে। আমি এটিকে আরও সহজ উপায়ে ব্যাখ্যা করার চেষ্টা করব যেহেতু আমার মতো কেউ বুঝতে পারে।

সাধারণ উদ্দেশ্যে ভাষাগুলি বিশাল উদ্দেশ্যে ব্যবহৃত হয় তবে ডিএসএল কেবল নির্দিষ্ট ডোমেনের জন্য তৈরি হয় made এইচটিএমএল বা সিএসএসের মতো।

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

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


4

আমি কেন ডিএসএল ব্যবহার করতে পছন্দ করি তা নিয়ে একটি সংক্ষিপ্ত ব্লগ পোস্ট লিখেছি:

আমি চাই আমরা ডোমেন নির্দিষ্ট ভাষা (ডিএসএল) আরও ব্যবহার করি

এটিতে আমি একটি ডিএসএলকে এই হিসাবে সংজ্ঞায়িত করি:

একটি বিশেষ প্রোগ্রামিং ল্যাঙ্গুয়েজ বিশেষভাবে সমস্যার নির্দিষ্ট ডোমেনের জন্য সমাধানের যোগাযোগের জন্য ডিজাইন করা।

ব্যবহারের ক্ষেত্রে আপনি যদি কখনও পিঁপড়া, স্ট্রাকচার্ড ক্যোয়ারী ল্যাঙ্গুয়েজ (এসকিউএল) বা ক্যাসকেডিং স্টাইল শীট (সিএসএস) ব্যবহার করেন তবে আপনি ডিএসএল ব্যবহার করেছেন।

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


3

ডোমেন স্পেসিফিক ল্যাঙ্গুয়েজ (ডিএসএল) এর একটি সাধারণ উদাহরণ হ'ল এইচটিএমএল যা ওয়েব-ভিত্তিক অ্যাপ্লিকেশন নামে পরিচিত ডোমেনের জন্য ব্যবহৃত হয়।


3

আমি সম্প্রতি ডিএসএল শুনেছি কিন্তু সত্যিই সহায়ক উদাহরণ খুঁজে পেয়েছি: লুনা (প্রাক্তন লুনাস্ক্রিপ্ট)।

এটি আসন দল তাদের নিজস্ব প্ল্যাটফর্মের জন্য তৈরি কাস্টম-তৈরি প্রোগ্রামিং ভাষা / কাঠামো।

আমি আরও খুঁজে পেয়েছি যে, অনেক প্রতিযোগিতা যথাযথ প্রতিযোগিতামূলক সুবিধা তৈরি করতে তাদের নিজস্ব ফ্রেমওয়ার্ক এবং ভাষা তৈরি করে, কয়েকটি উদাহরণ হ'ল:

  • অ্যাবএপ সহ এসএপি
  • পিপলকোড সহ পিপলসফট
  • অবজেক্টিভ-সি সহ অ্যাপল
  • ফেসবুকে এফবিএমএল এবং এফকিউএল এর মতো জিনিস রয়েছে

এগুলি ডোমেন নির্দিষ্ট কারণ আপনি এগুলি এই প্ল্যাটফর্মগুলিতে কাজ করার জন্য প্রায় একচেটিয়াভাবে ব্যবহার করবেন।

আমি আশা করি এই উত্তরটি আপনাকে ধারণাটি পরিষ্কার করতে সহায়তা করবে।


3
উদ্দেশ্য-সি ডোমেন নির্দিষ্ট ভাষা নয়
বোরাসোকসুন

এটি অ্যাপল (এবং জন্য) দ্বারা তৈরি করা হয়নি।
আলেকজান্ডার রোসা

2

মেশিন লার্নিংয়ে ব্যবহৃত ডিএসএল-এর উদাহরণ পাইথনে পাইটিস: https://patsy.readthedocs.io/en/latest/formulas.html#

যা আর: https://stat.ethz.ch/R-manual/R-devel/library/stats/html/forula.html থেকে সূত্র ডিএসএলকে ভিত্তি করে তৈরি করেছে

https://cran.r-project.org/web/packages/Formula/vignettes/Formula.pdf

এবং হ্যাডলির কাছে তার উন্নত আর বইয়ের একটি দুর্দান্ত বিভাগ রয়েছে যা কীভাবে ডিএসএল ডাব্লু / আর তৈরি করতে হবে তা বর্ণনা করে: http://adv-r.had.co.nz/dsl.html

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


1

ডোমেন-নির্দিষ্ট ভাষাগুলি আপনার ডোমেন প্রক্রিয়া এবং জ্ঞান এমন একটি ভাষায় প্রকাশ করে যা আপনার নির্দিষ্ট ক্ষেত্র থেকে সরাসরি ধারণা এবং যুক্তি ব্যবহার করে।

সম্প্রদায়টি অবশ্যই বৃদ্ধি পাচ্ছে তবে অন্যান্য "মূলধারার" প্রযুক্তির পর্যায়ে এখনও নেই।

বেশিরভাগ সময়, ডিএসএলগুলি সংস্থাগুলির অভ্যন্তরে উত্পাদনশীলতা উন্নত করার জন্য তৈরি করা হয়, তাই তারা এটিকে ব্যক্তিগত রাখে এবং ফলাফল / অন্তর্দৃষ্টি ভাগ করে না।

এখানে একটি সম্মেলন করা হয়েছে যেখানে প্রজেকশনাল সম্পাদনার প্রযুক্তির সাথে স্পিকার জেটব্রেইনস এমপিএস ব্যবহার করে ডিএসএলের কয়েকটি উদাহরণ দেয় : https://vimeo.com/197381453


1

ডিএসএল - ডোমেন নির্দিষ্ট ভাষা। চলুন শুরু করা যাক ডোমেন কী - ডোমেনটি কিছু সংজ্ঞায়িত ক্ষেত্র, সুযোগ scope এই ডোমেনটি ওয়েব সাইট চেহারা হতে পারে এবং আপনার এটির জন্য সিএসএস এবং দ্বিতীয় ডোমেন ওয়েব সাইট কাঠামো হতে পারে এবং আপনার এখানে HTML রয়েছে।

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

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

cookie = async getCookie(cookieId)
user = async getUser(userId)
result async user.buy(cookie)
if (result.isError()) {
  error.showAlert("User has not enough money")
} else {
  confirmation.showSuccess("Cookie was bought")
}

উপরের থেকে জিপিএল (সাধারণ উদ্দেশ্যে ভাষা) এবং সুনির্দিষ্ট ডোমেন পরিভাষা এবং সরঞ্জামগুলি কত। এটি দুটির সংমিশ্রণ, তবে সমস্ত কমান্ড এখানে ডোমেন নির্দিষ্ট। এটি বলেছিল যে আমরা বলতে পারি যে উপরেরটি DSL তে লেখা আছে যেখানে ডোমেনটি কিছু অ্যাপ্লিকেশন x।

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

waitForMany(getCookie(cookieId), getUser(userId)
  .andThen([cookie, user] -> user.buy(cookie))
  .andThen(showSuccess("Cookie was bought"))
  .whenError(showError("User has not enough money"))

আপনি দেখতে পাচ্ছেন যে আমি বেশ বিমূর্ত করতে পেরেছিলাম এবং নিয়ন্ত্রণ প্রবাহ সম্পাদন করতে এই বিমূর্তিটি ব্যবহার করতে পারি। এবং সবকিছু জিপিএল ভিত্তিক এবং জিপিএল এর স্কোপে কাজ করে।

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

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

হ্যাঁ, এখানে অনেকবার ডিএসএল পুনরাবৃত্তি করেছিলেন, দুঃখিত।

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