কখন নিজের প্রোগ্রামিং ভাষা তৈরি করা যুক্তিসঙ্গত?


48

এখানে কি হত্যাকারীর অ্যাপ্লিকেশন, শ্রেণীর অ্যালগোরিদমিক সমস্যা ইত্যাদি রয়েছে, যেখানে দীর্ঘমেয়াদে আমার নিজের ভাষা তৈরি করা ভাল?

পিএস: ঠিক নিশ্চিত করার জন্য, আমার অর্থ একটি নতুন প্রোগ্রামিং ভাষা এবং একটি সংকলক, বিদ্যমান ভাষার জন্য নতুন সংকলক নয়।

সম্পাদনা : উত্তরের জন্য আপনাকে ধন্যবাদ। আপনি কি কয়েকটি উদাহরণ প্রদান করতে পারেন, যেখানে কোনও ডিএসএল তৈরি করা সম্পূর্ণরূপে অপ্রয়োজনীয় বা এমন কোনও ক্ষেত্রে যেখানে ডিএসএল একটি ভাল ধারণা হতে পারে?


8
আমি বিশ্বাস করি যে প্রতিটি সমস্যার জন্য একজনকে ডিএসএল তৈরি করা উচিত ।
এসকে-লজিক 1

4
এটি কি এলআইএসপি জন্য দুর্দান্ত না?
ডার্কনাইট

1
@ ডার্কনাইট, অগত্যা লিস্প নয় - শালীন রূপক কর্মক্ষমতার কোনও ভাষা ঠিক আছে with
এসকে-যুক্তি 10

2
যখন আপনার সংকলক ইন্টার্নালগুলি সম্পর্কে জানার ইচ্ছা আছে।
ড্যান_ওয়াটারওয়ার্থ

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

উত্তর:


40

শিক্ষাগত উদ্দেশ্যে কোনও ব্যক্তির নিজস্ব ভাষা লেখার পক্ষে এটি অবশ্যই প্রাসঙ্গিক। প্রোগ্রামিং ভাষার নকশা এবং সংকলক নকশা সম্পর্কে শিখতে। তবে বাস্তব-বিশ্বের ব্যবহারগুলি খুব কম এবং এর মধ্যে are

আপনার নিজস্ব ভাষা লেখার ক্ষেত্রে আপনি:

  • আপনার সমস্যাটিতে একটি বিশাল পরিমাণের জটিলতা যুক্ত করা
  • নতুন ভাষা এবং সংকলক রচনা এবং রক্ষণাবেক্ষণে উল্লেখযোগ্য পরিমাণে কাজ যুক্ত করা

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

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


13
আমাকে উল্লেখ করতে হবে যে "দ্যা প্র্যাগমেটিক প্রোগ্রামার" এ যে কোনও কাজে সহায়তার জন্য ছোট, ডোমেন-নির্দিষ্ট ভাষা লিখতে অবিশ্বাস্যরূপে সহায়ক এবং উত্সাহ দেওয়া হয়। আমি একটি পূর্ণাঙ্গ সাধারণ উদ্দেশ্যে ভাষা লেখার পরামর্শ দেব না, তবে কোড তৈরি করে এমন একটি ধাতবভাষা মাঝে মাঝে সহায়ক হতে পারে।
জর্ডান পারমার 18

4
এটি মিথ্যা. একটি ভাষা লিখতে কোনও জটিলতা যুক্ত হয় না - সাধারণত এটি জটিলতাটি উল্লেখযোগ্যভাবে হ্রাস করবে। একটি সংকলক বাস্তবায়ন এবং এটি বজায় রাখা যাই হোক না কেন কাজের একটি ক্ষুদ্র অংশ।
এসকে-লজিক 1

3
@ এসকে-যুক্তি, "একটি সংকলক বাস্তবায়ন এবং এটি বজায় রাখা যাই হোক না কেন কাজের একটি ক্ষুদ্র অংশ"। আপনি চেষ্টা করেছেন? কোন প্রসেসরের জন্য?

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

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

24

আমাকে কেবল ভিবি সংকলকের প্রাক্তন প্রধান বিকাশকারী পল ভিককে উদ্ধৃত করে এখন প্রোজেক্ট অসলো এবং এম ভাষাতে কাজ করছি:

এটি মানসিকভাবে বাঁকানো, একটি নতুন ভাষা তৈরি করা বোকামিপূর্ণভাবে কঠিন, এমনকি মূলত বিদ্যমান ভাষার উপর ভিত্তি করে এমন একটি ভাষা। তবুও অনেক প্রোগ্রামাররা মনে করেন, "আরে, আমি ভাষা ব্যবহার করি , এটি কতটা কঠিন হতে পারে?" এবং এতে যান। ... সম্ভবত তাদের 98% এরও বেশি কোনওরকম ট্র্যাকশন অর্জন করতে ব্যর্থ হয় তবে godশ্বর আশাবাদীদের আশীর্বাদ করেন কারণ তাদের ছাড়া আমরা কখনই 2% ভাষা সফল হতে পারি না। আমি ব্যক্তিগতভাবে কয়েক মিলিয়ন ডলার এবং ঘন্টাগুলিকে এমন ভাষার জন্য নষ্ট করে দিতে প্রস্তুত যা এটি কখনই তৈরি করে না যাতে আমরা সি # এবং জাভা এবং রুবি এবং পাইথন ইত্যাদির মতো ভাষা পেতে পারি।

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

ডিএসএলস: অবশ্যই একটি খারাপ ধারণা!


8
ভিবি! = ভিবিএ। যাইহোক, এই সাইটে ভিবিএ সমালোচনা করা কি আইনী? সর্বোপরি, জোয়েল এটিকে বিকাশে সহায়তা করেছে, তাই না?
কনরাড রুডলফ

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

2
আমি গুগল ক্যাশে না দিয়ে পল ভিকের আর্টিকেলটিতে আবার নির্দেশ করার জন্য আপনার উত্তরটি সম্পাদনা করেছি । ২০১১ সালে তিনি "তার ব্লগটি পুনরায় সেট করুন" এবং সমস্ত ভিবি সামগ্রী মুছে ফেলেছিলেন, তবে ২০১২ সালে তিনি এটি বিভিন্ন ইউআরএল সহ ফিরিয়ে দিয়েছেন। মনে হচ্ছে তিনি ব্যক্তিগতভাবে একটি কঠিন সময় কাটাচ্ছেন যখন তিনি সেই জিনিসটি মুছলেন।
MarkJ

2
@ মারকজে অনেক ধন্যবাদ এবং, বাহ, নিবন্ধটি মনোরম পড়ার জন্য তৈরি করে না । আশা করি তিনি এখন আরও ভাল করছেন।
কনরাড রুডল্ফ

2
সদয় মন্তব্যের জন্য ধন্যবাদ, আমি আসলে এখন জাভাস্ক্রিপ্টে কাজ করছি এবং, হ্যাঁ, বিষয়গুলি কিছুটা ভাল। :-) আসল লিঙ্কটি কেন কাজ করে না তা নিশ্চিত নয়, আমি পুরানো সমস্ত লিঙ্ক শৈলীগুলি কাজ করার চেষ্টা করেছি, আমি এটি একবার দেখব।
প্যানোপটিকসেন্ট্রাল

22

এটা কখন যুক্তিসঙ্গত?

আপনার যখন মনে হয়!

এই লোকদের কাছে নিন্দিত মন্তব্যগুলি শুনবেন না যা মূলত বলে:

"এটি করবেন না কারণ এটির তুলনায় খুব শক্ত এবং এক্স ভাষা আপনার যে ভাষাগুলির সাথে আসতে পারে তার চেয়ে ভাল" "

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

যদি "এটি না করেন" সঠিক উত্তর ছিল, আমরা সকলেই সিওবিএল এবং ফোর্টরান লিখব।


3
সত্যি? আমি ফ্রেমওয়ার্ক, ম্যাক্রো এবং ফাংশনগুলিকে সমস্তই এমন জিনিস হিসাবে বিবেচনা করব যা কোনও ভাষার ডোমেনের স্বাধীনতা বজায় রাখতে সহায়তা করে।
কার্টেনডগ

3
@ কার্টেনডগ, এটি কেবলমাত্র ভাষাটির অংশ হয়ে যায় যদি এটির পাঠাগারের অংশ থাকে। অন্যথায় এটি ভাষার একটি "উপভাষা"।

9

আপনি যদি নিজের ভাষা লেখার কথা ভাবছেন তবে আপনি মার্টিন ফাউলারের আসন্ন ডিএসএল বইয়ের কিছু অংশ পড়তে চাইতে পারেন ।

আমি ব্যবসার ক্ষেত্রে ভাবতে পারি না যে এটি স্ক্র্যাচ থেকে একটি ভাষা তৈরি করার জন্য এটি একটি অসাধারণ শেখার অভিজ্ঞতা ছাড়া অন্য কিছু হতে পারে।

সম্পাদনা করুন: ডিএসএল-এর জন্য প্রচুর ব্যবসায়িক কেস পাওয়া যায় তবে এখানকার চাবিকাঠিটি চালিয়ে যাওয়া এবং সরল রাখা সহজ নয়।


7

আমি পরামর্শ দিচ্ছি যে মূল প্রশ্নগুলি হ'ল, "আমি কোন সমস্যাটি সমাধান করার চেষ্টা করছি?" এবং "কে আরওআই পায়?"

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


7

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

লিস্পের মতো ভাষায় কেন লিখবেন না যা আপনাকে নতুন নিদর্শন আবিষ্কার করার সাথে সাথে ভাষাটি প্রসারিত করতে দেয়? তারপরে, আপনি একটি প্রতিষ্ঠিত ভাষার সমস্ত সুবিধা সহ একটি নতুন ভাষার সমস্ত শক্তি পাবেন।


6

এর একটি কারণ ভাষা নকশা এবং সংকলক বিল্ডিং সম্পর্কে শিখতে একটি পরীক্ষা হিসাবে এটি তৈরি করা হতে পারে।

অন্য কোনও কারণ হতে পারে যখন কোনও তৃতীয় পক্ষের API যুক্ত করার বিকল্প আপনার কাছে না থাকে তখন অ্যাপ্লিকেশনটিতে স্ক্রিপ্টিং ভাষা তৈরি করা।


6

আমি মনে করি না যে আপনি কোনও নতুন ভাষা তৈরি না করেই প্রোগ্রাম করতে পারবেন , সুতরাং আপনি যা করছেন তা বোঝা ভাল হবে এবং সমস্যাগুলি বোঝা উচিত।

  • একটি ভাষা কি?
    শব্দভাণ্ডার, বাক্য গঠন এবং শব্দার্থবিজ্ঞান।

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

  • আপনি কোন ভাষা করতে চান?
    সংক্ষিপ্তভাবে সমস্যা প্রকাশের জন্য ভাল হন।

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

  • সংক্ষিপ্ততা কেন ভাল?
    কারণ এটি বাগগুলি হ্রাস করে।

যদি 1 টি প্রয়োজনীয়তা প্রয়োগ করতে এন কোড পরিবর্তন হয় এবং আপনি কখনও কখনও ভুল করেন তবে আপনার প্রবর্তিত বাগের সংখ্যাটি আনুমানিক সমানুপাতিক N the সীমাতে যেখানে N = 1, চেষ্টা না করে কোনও বাগ প্রবর্তন করা প্রায় অসম্ভব

নোট করুন যে আমরা আজকাল দেখি "কোড ব্লাট" এর পক্ষে এটি সরাসরি চ্যালেঞ্জ।

যুক্ত: উদাহরণের জন্য আপনার অনুরোধের জবাবে, ডিফারেনশিয়াল এক্সিকিউশন দেখুন । আমি বলব না এটি দ্রুত বোঝা যায়, তবে এটি ইউআই কোড উল্লেখযোগ্যভাবে হ্রাস করে।


যদি এক বাক্য প্রয়োজনীয়তা বিদ্যমান থাকে তবে আমরা সকলেই ইংরাজীতে কোডিং করতাম। যে কোনও মানব ভাষার মতোই কোডের কোনও অর্থ হওয়ার জন্য পুরো বয়লারপ্লেট প্রয়োজন।
কার্টেনডগ

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

5

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

তবে এটি একটি আকর্ষণীয় বৌদ্ধিক চ্যালেঞ্জ।


ওফস, দুঃখিত। দেশীয় না-স্পিকার ... :)
ড্যানিয়েল রিকোভস্কি

ওহ, এটি জানতেন না এবং আপনার পোস্টটি দুর্দান্ত ইংরেজিতে, তাই বলা শক্ত। ব্যাকরণ পুলিশ হওয়ারও চেষ্টা করছেন না - ক্ষমাপ্রার্থী।
সাইমন

5

আপনার দলের মূল ব্যবসা যদি প্রোগ্রামিং ভাষা হয়।

আমি এমন একটি প্রোগ্রামিং ভাষায় কাজ করেছি যা একটি আর্থিক সংস্থায় তৈরি হয়েছিল created

স্পষ্টতই, আর্কিটেক্টের নিজের জন্য এটি একটি দুর্দান্ত চ্যালেঞ্জ ছিল এবং তার নিজস্ব দক্ষতা উন্নত হয়েছিল।

অনিবার্যভাবে, ভাষা C # বা জাভা এর মতো কিছু যে হারের কাছাকাছি হতে পারে তার কাছাকাছি কোথাও উন্নতি বা উন্নতি করতে পারে না - তাদের পক্ষে এটি করার জন্য উত্সর্গীকৃত দল রয়েছে।

নতুন ভাষা কেউ অন্য কারও পোষা প্রাণীর প্রকল্পের উন্নতির কাজ গ্রহণ করতে চায়নি বলেই ভাষাটি শীঘ্রই স্থবির হয়ে পড়ে।

মূল স্থপতি বাম। ভাষাটি শুকিয়ে যায় এবং 10 বছর পরে মারা যায়।

সেই দশ বছর কারও জন্যই খুব খারাপ ছিল যার দুর্ভাগ্য ছিল একটি মৃত-শেষ ভাষায় কাজ করার জন্য।

সুতরাং এগিয়ে যান, নিজের ভাষা তৈরি করুন তবে দয়া করে অন্য কাউকে এটি ব্যবহার করতে বলবেন না। দয়া করে অন্য কারও জন্য এটির জন্য ধন্যবাদ আশা করবেন না।


1
আকর্ষণীয় কেস স্টাডি ... জাভা বা। নেট প্ল্যাটফর্মগুলির জন্য কোনও ভাষা লক্ষ্য করে এই ধরনের স্থবিরতা এড়ানো যেতে পারে। বেস লাইব্রেরিতে আরও যুক্ত হওয়ার সাথে সাথে ভাষাটি 'বাড়তে' পারে।
কার্টেনডগ

2
আমি নিশ্চিত নই যে আপনি এমন একটি ভাষা কেন তৈরি করেছেন যা জাভা-র মতো অন্যটিকে লক্ষ্য করে। শুধু জাভা বা সি # ব্যবহার করে শুরু করবেন না কেন?

4

ভাষা নকশা মজা হতে পারে। তবে আপনাকে প্রোগ্রামিং ভাষাগুলিতে নিজেকে সীমাবদ্ধ করতে হবে না।

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


4

আপনার দক্ষতা বাড়াতে এবং শেখার জন্য করা হয়ে থাকলে এটি সম্পূর্ণ যুক্তিসঙ্গত।

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

এবং আপনি এটি সম্পর্কেও ভুল হতে পারেন, তবে আপনাকে সে সম্পর্কে নিশ্চিত করার জন্য আপনার আরও একজন বিশেষজ্ঞের প্রয়োজন হবে (বা আপনাকে দেখানোর জন্য যে আপনি নিজেকে বিশেষজ্ঞ মনে করেন না)। একটি প্রাণবন্ত আলোচনা হবে যা আপনি এখানে পাবেন এমন কোনও সহজ প্রশ্নোত্তর নয়।


4

স্ব-শিক্ষামূলক উদ্দেশ্যে ব্যতীত আমি দাবি করতে চাই যে আপনার নিজস্ব ভাষা তৈরি করার জন্য আজ আর কোনও প্রয়োজন নেই । যে কোনও পরিস্থিতিতে। কখনো। আপনি যা করতে চান তা নির্বিশেষে, বিদ্যমান ভাষার নৌকা বোঝাই রয়েছে যা আপনি আপনার প্রয়োজনের সাথে গ্রহণ / গ্রহণ করতে পারেন।


আপনার দাবীটি অত্যন্ত বিতর্কিত, এবং আমার কাছে বেদনার মতো শোনাচ্ছে।
এসকে-যুক্তি

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

ঠিক আছে, এই "সাধারণ উদ্দেশ্য" সংযোজন সবকিছু পরিবর্তন করে। তবে, আমি "সাধারণ উদ্দেশ্য" ভাষাগুলিতে বিশ্বাস করি না - এর মধ্যে কোনওটিই যথেষ্ট সাধারণ নয়, তাই এখনও নতুন "কিছুটা সাধারণ" ভাষার (যা আসলে, এক ধরণের ডিএসএল), যথেষ্ট পরিমাণে রয়েছে।
এসকে-যুক্তি 12

3

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

সাধারণভাবে আমি প্রতিষ্ঠিত প্রযুক্তির উপর নির্ভর করার পরামর্শ দেব।

তবে আপনি যদি নিজের নিজস্ব "ভাষা" তৈরি করতে আগ্রহী হন তবে আপনার চেক করা উচিত: ওয়াইএসিসিসি এবং লেক্স


3

আপনি পারেন, কেবলমাত্র "স্কোয়ার চাকা পুনরুদ্ধার" বিরোধী-প্যাটার্নে নিজেকে ধরবেন না।

এর অর্থ আপনি ইতিমধ্যে যা করা হয়েছে তার পুনরাবৃত্তি করছেন, কেবল আসল (গুলি) এর চেয়ে দরিদ্র।


চাকাগুলি পুনরায় তৈরি না করা হলে আমরা এখনও রক চাকা ব্যবহার করতে পারতাম। শিশুটিকে রক করুন
ওয়াং জিয়া হাউ

3

ওয়াউটার যে কোনও নতুন ধারণার জন্য একটি নতুন ভাষা তৈরি করার জন্য পরিচিত ছিল। আপনি তাঁর কাজ থেকে অনুপ্রেরণা আঁকতে পারেন: ওয়েটারের প্রোগ্রামিং ভাষার পৃষ্ঠা


এটা খুব চিত্তাকর্ষক।
পল নাথান

3

নিজের ভাষা কখন তৈরি করবেন?

আপনি যখন চান, একটি বৃহত শখের প্রকল্প হিসাবে।

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

যখন আপনার লক্ষ্যগুলি অত্যন্ত উচ্চাভিলাষী হয় এবং আপনি মনে করেন আপনি পল গ্রাহামের আর্ক প্রকল্পের মতো সত্যিকারের অগ্রগতি করতে পারেন ।

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

কখন আপনি এটিকে এড়াবেন, আশা করি, প্লাগের মতো এড়িয়ে যাওয়ার মতো কোনও ক্লিচ এড়ানো উচিত?

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

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


3

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

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


3

আপনার নিজের প্রোগ্রামিংয়ের ভাষা লেখার ক্ষেত্রে কোনও সমস্যা নেই যদি আপনি বিদ্যমান সরঞ্জামগুলি উপার্জন করতে পারেন। আজকের বিশ্বে এর অর্থ হ'ল আপনি হয় এটি একটি বিদ্যমান ভাষার (যেমন জাভা বা সি #) ব্যবহারযোগ্য সিনট্যাক্সে এটি সংজ্ঞায়িত করুন বা একটি ছোট রূপান্তর সিস্টেম (ম্যাক্রো এক্সপেন্ডার) লিখুন যা বিদ্যমান ভাষায় কোড উত্পন্ন করে।

মেশিন কোডে সমস্ত পথে যাওয়া হ'ল প্রচুর চাকা পুনরুদ্ধার করছে ...

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


3

সাধারণভাবে উত্তরটি বলাই বড় সংখ্যা হবে O সেখানকার শত শত ভাষার মধ্যে সাধারণত একটি সমস্যা থাকে যা আপনার সমস্যার জন্য উপযুক্ত হবে।

তবে এমন পরিস্থিতিতে রয়েছে যেখানে এটি একটি নতুন ভাষা বিকাশের যৌক্তিক বিকল্প: -

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

2

ভাষাটি যে বিষয়ে ভাল তা হ'ল রচনাটি বা বিভিন্ন উপায়ে একই উপাদানগুলিকে একসাথে স্থাপন করা।

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

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


1

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


1

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


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

1

একটি কারণ শিক্ষামূলক উদ্দেশ্যে, যেমন ইতিমধ্যে বলা হয়েছে। তবে আরও আছে। উদাহরণস্বরূপ, সেখানে মত অনেক গবেষণা ভাষা Sing#উপর একতা অপারেটিং সিস্টেম এবং BitCউপর Coyotos যে পরিকল্পিত হয়েছে কারণ বিদ্যমান ভাষা দরকারি বৈশিষ্টগুলিকে (ক ভাষা স্তরের উপর উদাহরণস্বরূপ যাচাইয়ের জন্য) প্রস্তাব না।


1

টম ভ্যান কাটসেম সম্প্রতি এই একই প্রশ্নের একটি রচনা উত্তর লিখেছেন:

http://soft.vub.ac.be/~tvcutsem/whypls.html

বুলেট সারাংশ (সেই পৃষ্ঠা থেকে):

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

0

সম্ভবত না.

আপনি যদি মূলত অন্য কোনও ভাষায় ভাষা এম্বেড করতে চান তবে লুয়া হ'ল সেরা পছন্দ।

ছোট ডোমেন স্পেসিফসি ভাষা বর্তমানে রয়েছে এবং এটি কিছু অ্যাপ্লিকেশনগুলিতে বোঝা যায়।

অন্য যে কারণে, কারণগুলি মূলত একাডেমিক।

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


লুয়া হ'ল স্লো-আউও। তবে, অন্যদিকে, কিছু শালীন রূপক দক্ষতার সাথে একটি মেটালুয়া রয়েছে।
এসকে-যুক্তি 10

0

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

  1. আপনার ইউজারবেস কয়েকটি লোকের চেয়ে বড়, সাধারণত অ প্রযুক্তিগত এবং / অথবা সীমাবদ্ধ সিস্টেম অ্যাক্সেস সহ (তাই তাদের বিদ্যমান সাধারণ উদ্দেশ্যে ভাষা শেখার / ব্যবহার করা আশা করা অযৌক্তিক নয়)। এটি যদি আপনার ডেভ দল বা সফ্টওয়্যার সংস্থার মধ্যে থাকে তবে আপনি পরিবর্তে "কেবল একটি স্ক্রিপ্ট লিখুন" বলতে পারেন।
  2. আপনার ব্যবহারকারীর যথেষ্ট পরিমাণে এটি ব্যবহার করতে হবে, পর্যাপ্ত বিচিত্র এবং পরিবর্তিত আচরণের প্রয়োজনের সাথে (যেমন আপনি কেবল আপনার দ্বারা পরিচালিত ফাংশনগুলির একটি নির্দিষ্ট গ্রন্থাগার সরবরাহ করতে পারবেন না)
  3. ব্যবহারকারীরা যে আচরণটি নির্দিষ্ট করতে পারেন তা ডেটা হিসাবে নির্দিষ্ট করার মতো জটিল (যেমন আপনি এটি একটি ডেটাবেস টেবিল, বা একটি ব্যবহারকারী-ইনপুট ম্যাট্রিক্স, বা কার্যগুলির একটি তালিকা, বা কী-মান সংগ্রহের সাহায্যে অর্জন করতে পারবেন না) সাবধানে চিন্তা করুন কারণ আপনি এগুলি নিয়ে অনেক জটিলতা অর্জন করতে পারেন)। আপনি যদি ডিএসএল এর পরিবর্তে ডেটা ইনপুট বা কনফিগারেশন ব্যবহার করে আচরণটি অর্জন করতে পারেন তবে আপনার সম্ভবত হওয়া উচিত কারণ এটি অনেক কম কাজ হবে। একরকম শর্তসাপেক্ষতা, বা একযোগে সামঞ্জস্যতা / শৃঙ্খলাবদ্ধ হওয়া বা কয়েকটি ভিন্ন বিমূর্ততার মডেলিং করা লক্ষণগুলি হতে পারে যে আপনার প্রয়োজনীয় আচরণটি সরল ডেটা / কনফিগারেশনের জন্য অত্যন্ত জটিল that
  4. তবে আচরণটি এখনও যথেষ্ট পরিমাণে সীমাবদ্ধ যা আপনি এটি একটি সংক্ষিপ্ত ডিএসএলে নির্দিষ্ট করতে পারবেন। একটি বড় বিপদ হ'ল প্ল্যাটফর্ম ব্লাট 'উদাহরণস্বরূপ যদি ব্যবহারকারীরা "আপনি কি কেবল যুক্ত করতে পারেন ...?" অনুরোধ করতে শুরু করেন। তাদের যদি ইন্টারনেটের সাথে সংযোগ স্থাপনের প্রয়োজন হয়, বা ফাইল সিস্টেম থেকে পড়তে এবং লিখতে বা প্রক্রিয়াগুলি খুলতে এবং বন্ধ করতে হয় - তবে এটি আর ডিএসএল নয়। (আমি এটি বাস্তবের জন্য দেখেছি ... ব্যবহারকারীরা অজগর কলগুলি এম্বেড করার অনুমতি দিয়েছে, ধীরে ধীরে অজগর স্ক্রিপ্টগুলিতে বৃদ্ধি পেয়েছে এবং শেষ পর্যন্ত কোনও সীমা / মড্যুলারিটি / পারফরম্যান্স নষ্ট করে)

যদি এই সমস্তগুলি সত্য হয় তবে কোনও ডিএসএল উপযুক্ত হতে পারে।


0

এখানে কি হত্যাকারীর অ্যাপ্লিকেশন, শ্রেণীর অ্যালগোরিদমিক সমস্যা ইত্যাদি রয়েছে, যেখানে দীর্ঘমেয়াদে আমার নিজের ভাষা তৈরি করা ভাল?

এটা নির্ভর করে.

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

সাধারণভাবে বলতে গেলে, এখনও এমন জটিল বিষয় রয়েছে যা অন্যান্য কৌশলগুলির দিকে নিয়ে যেতে পারে যা প্রদত্ত দৃশ্যের জন্য আরও ভাল 'ভাষা' অন্তর্ভুক্ত করতে পারে।

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