কোন তাত্ত্বিক, ব্যবহারিক প্রোগ্রামিং ভাষার কোনও সংরক্ষিত কীওয়ার্ড নেই?


22

আমি একটি ব্যবহারিক প্রোগ্রামিং ভাষার সন্ধান করছি যার কোনও সংরক্ষিত কীওয়ার্ড নেই তবে এর সন্ধান করার মতো কোনও ভাগ্য আমার হয়নি।

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

সংকলক লেখকের পক্ষে ভাষার শেষ ব্যবহারকারীর পক্ষে গুরুত্বপূর্ণ বলে আমি সুবিধাকে দেখছি না। কম্পিউটার প্রসঙ্গ থেকে অর্থ নির্ধারণ করতে সক্ষম এখন দিন যথেষ্ট শক্তিশালী। আর কোনো ট্যাগ বিশেষ্য ক্রিয়া এবং একজন লেখক চাহিদা চেয়ে যেমন যখন একটি উপন্যাস লেখা, কেন একটি প্রোগ্রামার ট্যাগ ফাংশন এবং ভেরিয়েবল থাকা উচিত function x() {}বা set x = 1বা var x = 1ইত্যাদি; আমি যখন বিবৃতিগুলির প্রসঙ্গটি থেকে অনুমান করতে পারি যে এটি কোনও ফাংশন ঘোষণার বা একটি আহবান বা একটি লেবেল একটি মূল্যতে একটি অ্যাসাইনমেন্ট বা সেই লেবেলের মানটির একটি রেফারেন্স?

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

কার্য ঘোষণা

sum3(a,b,c) -> a + b + c.

ফাংশন প্রার্থনা

x = sum3(1,2,3).

নামবিহীন ফাংশন

x = (a,b,c) -> a + b + c.
y = x(1,2,3).

আমি জানতে চাই কেন সফল প্রোগ্রামিং ভাষার জন্য কীওয়ার্ডগুলি গুরুত্বপূর্ণ?


8
ফোর্থটি বেশ ব্যবহারিক, এবং এর কোনও কীওয়ার্ড নেই।
এসকে-লজিক

4
@ জেমসএন্ডারসন, না, তারা কেবল অন্য শব্দগুলির মতোই শব্দ। কোন বিশেষ অর্থ।
এসকে-যুক্তি

7
অপারেটর এবং বিরামচিহ্নগুলি কি "কীওয়ার্ড" হিসাবে গণনা করে? যদি হ্যাঁ, তবে কোনও ভাষার অস্তিত্ব থাকতে পারে না, যেহেতু কোনও সিনট্যাক্স সংজ্ঞায়িত করা যায় না।
এমিলিও গারাভাগলিয়া

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

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

উত্তর:


12

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

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


2
"কীওয়ার্ড লেখক লেখকদের আরও সহজে পার্সিং কার্যকর করতে সহায়তা করে" এর জন্য +1। আমি মনে করি এটি অনেক বেশি। কোনও পার্সার স্মৃতিতে রাখতে পারে এমন প্রসঙ্গের পরিমাণ হ্রাস করার জন্য কীওয়ার্ডগুলি আবিষ্কার করা হয়েছিল, যখন পুরো সংকলকটি তার কার্যকরী সেটটি এক ডজন কেবি র‌্যামের সাথে ফিট করে back
Jörg ডব্লু মিটাগ

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

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

6
কীওয়ার্ডগুলিতে এপিএলের কী অভাব রয়েছে, এটি তার নিজের ফন্টের প্রয়োজনের চেয়ে বেশি করে তোলে।
ব্লারফ্লায়

@ ব্লারফ্লাল এটি জে, কে এবং কিউ এর বিন্দু They এএসসিআইআই-এ এপিএল সমস্তই এক ডিগ্রি বা অন্য একটিতে।
বিশ্ব প্রকৌশলী

9

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

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

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


1
আইআইআরসি লিস্পের কোনও কীওয়ার্ড নেই। সংকলক দ্বারা বিশেষ ফর্মগুলি বিশেষভাবে চিকিত্সা করতে হয় তবে তাদের নামগুলি নিয়মিত প্রতীক।
জানু হুডেক

2
কীওয়ার্ডগুলি সিনট্যাক্সের একটি বৈশিষ্ট্য, যা লিস্পের মধ্যে নেই। আমি মনে করি না যে লিস্পে কীওয়ার্ডগুলি সম্পর্কে কথা বলাই বুদ্ধিমান হয়ে যায়, সত্যই।
Jörg ডব্লু মিটাগ

2
আমি জার্গের সাথে একমত আমি মনে করি যে কোনও কীওয়ার্ড সম্পর্কে কথা বলতে পারে যখন কোনও ভাষায় টোকেন থাকে যা অবশ্যই একইরকম কাঠামোর সাথে টোকেন থেকে আলাদা হওয়ার জন্য স্পষ্টভাবে নির্দিষ্ট করতে হবে। বিভিন্ন টোকেন বিভিন্ন সিনট্যাক্স গাছের দিকে নিয়ে যায়। উদাহরণস্বরূপ, ifসিতে এটি একটি বৈধ সনাক্তকারী হবে যদি এটি বিশেষ (কোনও কীওয়ার্ড) হিসাবে সংজ্ঞায়িত না করা হয়। এর অর্থ এটি ifশনাক্তকারী নয় এবং if = 10একটি সিনট্যাক্স ত্রুটি দেয়। যদি আমি ভুল নই, পাতার মর্মর এর সংক্ষিপ্ত বাক্য গঠন পার্থক্য নেই defunথেকে f, x, yএবং +(defun f (x y) (+ x y))
জর্জিও

@Giorgio উল্লেখযোগ্য if হল কমন পাতার মর্মর (এবং অন্যান্য পাতার মর্মর-2s) একটি বৈধ পরিবর্তনশীল নাম (defparameter if nil)কিছু না বিরতি হবে ও এর মত রূপ ব্যবহার করা যেতে পারে(unless if (setf if t))
tobyodavies

একই নোটে যদিও (defun if ...)ব্যর্থ হবে। মন্তব্যগুলি থেকে অ্যাকাউন্টে নোট নেওয়া এবং উত্তরটি সম্পাদনা করা। আমি একমত হতে পারি যে বিশেষ ফর্মগুলি সি এর মতো একই স্তরের কীওয়ার্ড নয়, তবুও তারা লিস্পের নিকটতম জিনিস।
scrwtp

8

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

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


2
"এই সমস্ত কিছু একটি তালিকা" এর পরিবর্তে "সমস্ত কিছু একটি তালিকা" এর পরিবর্তে টিসিএল লিস্পের সাথে খুব মিল similar একটি তালিকা এটিতে শ্বেত স্পেসের সাথে কেবল স্ট্রিং থাকে এবং একটি প্রক্রিয়া কল কেবল একটি তালিকা যাঁর প্রথম উপাদানটি একটি পদ্ধতির নাম হিসাবে ব্যাখ্যা করা হয় এবং বাকীটিকে তার আর্গুমেন্ট হিসাবে ব্যাখ্যা করা হয়। এটি মূলত একটি লিস্প এস-এক্সপ্রেশন।
Jörg ডব্লু মিটাগ

হ্যাঁ তারা উভয়েই পোলিশ স্বরলিপি ব্যবহার করে এবং হোমো-আইকনিক হয় তাই বেশ অনুরূপ শব্দার্থবিদ্যা
জে.কে.

5

কম্পিউটার প্রসঙ্গ থেকে অর্থ নির্ধারণ করতে সক্ষম এখন দিন যথেষ্ট শক্তিশালী।

এর অর্থ কি আপনি এমন একটি ব্যাকরণ চান যা প্রসঙ্গমুক্ত নয়? শুভকামনা।

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

বিটিডব্লিউ।, সিনট্যাক্সের মতো হাস্কেলের মধ্যে আপনি ঠিক এমন কিছু লিখুন

f x y = (x+1)*(y-1)

একটি ফাংশন সংজ্ঞায়িত করা। তবে লক্ষ্য করুন যে এই ক্ষেত্রে "কীওয়ার্ড" হ'ল '='। আপনি যদি এটিকে মিস করেন তবে পার্সারে ঘটবে ভয়ঙ্কর জিনিস।

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

তবুও, এই ব্যাকরণটি সরল পুরাতন LALR (1) এ লেখা যেতে পারে, এখানে কোনও অর্থ "প্রসঙ্গ থেকে অনুমান করা" হয় না।


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

2
সিএফজিগুলি বেশ মৃত, এবং কয়েক দশক ধরে মারা গিয়েছিল। এইচটিএমএল এর ভিতরে জাভাস্ক্রিপ্ট, সি এর অভ্যন্তরে সি বিন্যাসের স্ট্রিং এমনকি মন্তব্যগুলিতে নেস্ট করেছেন, ওক্যামল - এই সমস্ত জিনিস প্রসঙ্গমুক্ত নয়। এবং, আপনি কেন এখন পিইজি এবং জিএলআর যুগে নিজেকে এইরকম স্বেচ্ছাকৃত বেছে নেওয়া আনুষ্ঠানিকতায় সীমাবদ্ধ রাখতে চান?
এসকে-যুক্তি

1
@ ইঙ্গো, হ্যাঁ, আপনি ঠিক বলেছেন, উদাহরণের একটি ভুল পছন্দ। আমি মিক্সড এবং এক্সটেনসিবল (অর্থাত্ উচ্চ-অর্ডার) ব্যাকরণগুলি বোঝাতে চাইছিলাম, যা সিএফজি নয়।
এসকে-যুক্তি

2
@ এসকে-যুক্তি: সিএফজির বেশ মরে যাওয়ার তথ্য আপনি কোথায় পেয়েছেন তা আমি জানি না। আমি আমার এক প্রাক্তন সহকর্মীর সাথে কথা বলছি যিনি গত 20 বছর ধরে সংকলক নির্মাণের শিক্ষা দিচ্ছেন এবং সিএফজির মনে হয় এটি অনেক দূরে রয়েছে।
জর্জিও

1
@ ইঙ্গো: যতদূর আমার মনে আছে নন সিএফ দিকগুলি পরে পার্স গাছটিকে শব্দার্থভাবে বিশ্লেষণ করে পরিচালনা করা হয়। উদাহরণস্বরূপ, { int x = 0; x = "HELLO"; }একটি পার্স গাছ লাগানো উচিত তবে সংকলক যখন দ্বিতীয় অ্যাসাইনমেন্টে এক্স দেখায় তখন এটি দেখতে পাবে যে এটি কোনও ইন্ট হিসাবে ঘোষিত হয়েছে এবং একটি ধরণের ত্রুটি জারি করেছে। সুতরাং প্রোগ্রামটির সিএফ কাঠামো সঠিক থাকলেও প্রত্যাখ্যান করা হয়।
জর্জিও

4

যতদূর আমি জানি, স্মার্টটাক হ'ল ভাষা যা কমপক্ষে কীওয়ার্ড রয়েছে (যদি আমি ব্রেনফাকের মতো ভাষা গণনা না করি)। স্মলটক কীওয়ার্ড হয় true, false, nil, self, superএবং thisContext

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

সুতরাং, আমার অভিমত হ'ল কীওয়ার্ড ব্যতীত ভাষা সম্ভব, তবে এটি খুব ব্যবহারিক নয় এবং এই কারণেই সমস্ত জনপ্রিয় ভাষার কীওয়ার্ড রয়েছে।


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

1
এগুলি কীওয়ার্ড নয়, তারা সিউডোভেরিয়েবল। "ছদ্ম" কারণ true, falseএবং nilসুপরিচিত পরিবেশ দ্বারা সরবরাহকৃত মান এবং self, superএবং thisContextভেরিয়েবল আপনি সেট করতে পারে না, কিন্তু যার মান সঞ্চালনের ফলে পরিবর্তন করুন।
ফ্র্যাঙ্ক শায়ারার

3

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

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

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

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

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


সমস্ত দুর্দান্ত পয়েন্ট। +1

যদি কোনও উপন্যাসের প্রতিটি বিশেষ্য, ক্রিয়া, ক্রিয়াপদ এবং বিশেষণকে এমন লেবেলযুক্ত করা হয় যা এটি আরও সহজ করে পড়া সহজ করে তোলে!

@ জারোডরোবারসন: অবশ্যই, এটি হবে তবে কোডটি কোনও উপন্যাস নয়। প্রাকৃতিক ভাষা প্রোগ্রামিং ভাষা থেকে খুব আলাদা। প্রাকৃতিক ভাষা স্বজ্ঞাতভাবে বোঝা যায়, অন্যদিকে একটি প্রোগ্রামিং ভাষার আনুষ্ঠানিক শব্দার্থবিদ্যা থাকে। এটি পড়তে এবং এর অর্থ বোঝার জন্য ব্যবহৃত কৌশলগুলি খুব আলাদা এবং আপনার মতো দু'জনের সমান করার চেষ্টা করা ভুল।
ম্যাসন হুইলার

আমি বলেছিলাম সংকলক লেখক যা সংকলক থেকে পৃথক । সংকলকগুলি দ্রুত হার্ডওয়্যারে দ্রুত পায়, সংকলক লেখকেরা মানুষ, আমরা মুরের আইন মেনে চলি না!

আমি যে কোড বেসগুলির সাথে কাজ করতে চাই সেগুলি দৈর্ঘ্যের উপন্যাসগুলির চেয়ে দীর্ঘতর আকারের অর্ডার হয়, বেশিরভাগ> 1000,000+ কোডের লাইন হয়, সবচেয়ে দীর্ঘ উপন্যাসগুলির মধ্যে সবচেয়ে বেশি <2,000,000 শব্দ ! এবং উপন্যাসগুলির মতো এগুলি মানুষ দ্বারা পড়া হয়, আসলে কোড লেখার চেয়ে বেশি সময় ব্যয় হয়! একটি কোড বেস দেওয়া হয়েছে যা> 10 বছরের পুরানো এবং 1,000,000+ লাইন এটি বিকাশকারীদের দ্বারা 10 বছরের বেশি সময় পড়ার সংখ্যাটি প্রথম স্থানে তৈরি করার সময়টিকে বামন করে!

2

এর কয়েকটি দুর্লভ উদাহরণ রয়েছে।

এপিএল কেবলমাত্র প্রতীক ব্যবহার করে - তবে এগুলির অনেকগুলি! ভাষাটি ব্যবহার করতে আপনার একটি বিশেষ কীবোর্ড দরকার।

দেখুন এই Wikipedia নিবন্ধটি

করাল 66 66 - এর কীওয়ার্ড ছিল তবে কেবল সেগুলি স্বীকৃত যদি সেগুলি একক উদ্ধৃতি দিয়ে উদ্ধৃত করা হয় with

পিএল / 1 এর কীওয়ার্ডও ছিল - তবে আপনি এগুলি পরিবর্তনশীল বা পদ্ধতির নাম হিসাবেও ব্যবহার করতে পারেন।

সব মিলিয়ে আপনার প্রশ্নটি "কেন কথ্য ভাষায় শব্দ থাকে?" জিজ্ঞাসার মতোই is


কেবল এটিকে যুক্ত করতে আপনি যদি এপিএল চেহারা পছন্দ করেন তবে নতুন কীবোর্ড কিনতে না চান তবে জে কেবল জিনিস just
আকাশম

0

মূল কারণ হ'ল মানব এবং কম্পিউটার উভয়ের পক্ষে পার্স করা সহজ। কীওয়ার্ড ব্যতীত একটি জটিল ভাষা বিতরণ করার জন্য সিনট্যাক্স হিসাবে অনেক চিহ্নের প্রয়োজন হবে এবং এটি ব্যাপকভাবে এবং অযৌক্তিকভাবে বিভ্রান্তিকর হবে। এটি পড়ার functionচেয়ে অনেক সহজ $!{}। এবং প্রসঙ্গ সমস্ত অস্পষ্টতা সমাধান করে না।


1
আমি মনে করি আপনার উত্তরের মূল শব্দটি জটিল , যথেষ্ট নকশাকৃত ভাষা সহজ হওয়া উচিত , জটিল নয় ।

1
@ জারোদ রবারসন: লিওনার্দো দা ভিঞ্চি: "সরলতা হ'ল চূড়ান্ত পরিশীলন", এন্টোইন ডি সেন্ট এক্সুপুরি: "মনে হয় সংযোজন করার মতো কিছুই যখন নেই তখন সিদ্ধি পৌঁছেছে, তবে যখন কিছুই সরিয়ে নিতে বাকি নেই"।
জর্জিও

1
@ জারোদ: সমস্ত অর্থবোধক কম্পিউটারের ভাষা জটিল।
ডেড এমজি

1
@ ডেড এমএমজি: স্কিমটি খুব সহজ এবং একই সাথে খুব অভিব্যক্তিপূর্ণ। দুর্ভাগ্যক্রমে, যতদূর আমি জানি এটিতে একটি প্রমিত লাইব্রেরি নেই।
জর্জিও

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