সাহিত্যের প্রোগ্রামিং নিজেই ধারণার পরিবর্তে আমি নিজেই নতুন (এবং সম্ভবত এটি সম্ভবত নৌকাটি মিস করছি), এটি ডিএসএল ধারণার সাথে একত্রে মিলিত হওয়া খুব মনে হয় ।
ডিএসএল-এর পেছনের ধারণাটি হ'ল সমস্যাগুলির একটি ডোমেনকে একটি সাধারণ, প্রাকৃতিক-ভাষা-ভিত্তিক ব্যাকরণে ছড়িয়ে দেওয়া যা এই সমস্যাগুলি সমাধানের জন্য অ্যালগরিদম তৈরি করতে ব্যবহৃত হতে পারে।
আমার কাছে, একই ধারণা বা কমপক্ষে এর মূল ভিত্তি হ'ল একই বা কমপক্ষে শিক্ষিত প্রোগ্রামিংয়ের সাথে নিবিড়ভাবে সম্পর্কিত।
উদাহরণস্বরূপ, গ্রোভি বিশ্বে ডিএসএলগুলি আরও নিয়মিত ব্যবহার করার এবং সাধারণ সমস্যাগুলি সমাধান করার জন্য নতুন ডিএসএল তৈরি করার একটি শক্ত চাপ রয়েছে push এই পুশটি ভাষার মধ্যে সহজ সরঞ্জাম (সহজ নির্মাতারা) পাশাপাশি ডিএসএল-ভিত্তিক এপিআই সমর্থনকারী কোর লাইব্রেরি থেকে আসে।
অন্তত বিশ্বের কোণে প্রবণতাটি সাক্ষর প্রোগ্রামিংয়ের দিকে রয়েছে বলে আমি বলব যে এটির জন্য চেষ্টা করা ভাল পদ্ধতি।
দুর্ভাগ্যক্রমে, একটি ভাল ডিএসএল তৈরি করার জন্য যে স্তরের চিন্তাভাবনা প্রয়োজন তা প্রায়শই বেশিরভাগ প্রোগ্রামার ছাড়িয়ে যায়, যা আমি দেখেছি। আমি জানি আমি ব্যক্তিগতভাবে সময়ে সময়ে প্রয়োজনীয় কিছু ধারণার সাথে লড়াই করি। এই অসুবিধা হতে পারে যে এই জাতীয় কৌশলগুলি আরও বিস্তৃত-গ্রহণযোগ্যতা গ্রহণ থেকে বাধা দিয়েছে।
টুলটি ব্যবহার করার সময় এটি আপনার জিনিসগুলির সর্বোত্তম বিষয় তবে এটি তৈরি করা সম্পূর্ণ ভিন্ন স্তরে।
আমার দৃষ্টিকোণকে কিছুটা প্রসারিত করার জন্য, ডিএসএলগুলি সাক্ষর প্রোগ্রামিংয়ের মতো একই জিনিস নয়, বরং তারা শিক্ষিত প্রোগ্রামিংকে আরও বেশি সম্ভব করে তোলে । বিশেষত যখন তারা প্রাকৃতিক ভাষা ডিএসএল হয় ।
গ্রোভির 1.8 সংস্করণে , আরও শক্তিশালী কমান্ড চেইন যুক্ত করার সাথে প্রাকৃতিক ভাষা ডিএসএল ক্ষমতা যথেষ্ট উন্নত হয়েছিল ।
উদাহরণস্বরূপ, নিম্নলিখিত কোডের লাইনগুলি প্রোগ্রামিং করছে , কেবল ছদ্ম-বাক্য নয়:
drink tea with sugar and milk
move left by 30.centimeters
sendFrom "Guillaume" to "Jochen"
send from: "Jochen" to "Lidia"
Email.from "Lidia" to "Guillaume" withBody "how are you?"
contact.name "Guillaume" age 33
move left by 30.centimeters
sell 100.shares of MSFT
take 2.pills of chloroquinine in 6.hours
blend red, green of acrylic
artist.paint "wall" with "Red", "Green", and: "Blue" at 3.pm
wait 2.seconds and execute { assert true }
concat arr[0] with arr[1] and arr[2]
developped with: "Groovy" version "1.8-beta-2"
দ্রষ্টব্য: কোডের নমুনা গিলিয়াম লাফজের ব্লগ থেকে এসেছে
শিক্ষিত প্রোগ্রামিংয়ের মূল ধারণাটি হ'ল প্রাকৃতিক ভাষা মানুষের পক্ষে আরও বোধগম্য এবং এটিই গুরুত্বপূর্ণ। গ্রোভির প্রাকৃতিক ভাষা ডিএসএল ক্ষমতাগুলি আমার মতে এটি আরও ঘনিষ্ঠ বাস্তবতা তৈরি করে। বিশেষত যখন এই ডিএসএলগুলি কোনও অ্যাপ্লিকেশনটির ব্যবসায়ের নিয়ম তৈরি করতে ব্যবহৃত হয়।
প্রাকৃতিক ভাষা ব্যবহার করে একটি সিস্টেমের সমালোচনামূলক উপাদানগুলিকে "এনকোড" করতে সক্ষম হওয়াই সাক্ষর প্রোগ্রামিংয়ের মূল উপাদান। কোডের কিছু অংশের সাথে প্রাকৃতিক ভাষা ছেদ করা সাক্ষর প্রোগ্রামিংয়ের জারজবদ্ধ রূপ। দরকারী হিসাবে, আমি বিশ্বাস করি যে প্রাকৃতিক ভাষা ডিএসএলগুলি আপনাকে কোড হিসাবে প্রাকৃতিক ভাষা ব্যবহারের সুযোগ দেয় যা একটি বিশাল লিপ ফরোয়ার্ড।
সাধারণভাবে প্রোগ্রামিংয়ের ক্ষমতা বাড়ানো প্রক্রিয়াটির পরবর্তী ধাপ, তবে অনেকাংশে এটি করার সরঞ্জামগুলি ইতিমধ্যে কার্যকর। হ্যাঁ, এখনও কোনও "জেনারেল" ডিএসএল নেই, তবে ছোট ডোমেনগুলির জন্য সক্ষমতা রয়েছে।
ক্রিয়াকলাপে এটির আরও উদাহরণের জন্য (কোনও নির্দিষ্ট ক্রমে নয়):