আমি এটি উত্তর হিসাবে পোস্ট করতে যাচ্ছি না, তবে জিয়নক্রস আমাকে জিজ্ঞাসা করেছিল, তাই আমরা এখানে যাচ্ছি:
(সিডিনোট: যদি কেউ কোড কোড উদাহরণে মার্কডাউন সমস্যাটি সমাধান করতে পারে তবে আমি এটির প্রশংসা করব))
এরিক ম্যাক্স ফ্রান্সিস লিখেছেন:
"ব্র্যান্ডন জে ভ্যান প্রতিটি" লিখেছেন:
পাইথনের চেয়ে রুবি সম্পর্কে আর কী ভাল? আমি নিশ্চিত কিছু আছে। এটা কি? পাইথনের লোকদের চেয়ে রুবি মানুষকে এগুলি জিজ্ঞাসা করা কি আরও বেশি অর্থবোধ করে না?
কারও উদ্দেশ্যগুলির উপর নির্ভর করে হতে পারে, বা নাও পারে - উদাহরণস্বরূপ, যদি কারও উদ্দেশ্যগুলিতে পাইথন সম্প্রদায়ের "সমাজতাত্ত্বিক অধ্যয়ন" অন্তর্ভুক্ত থাকে, তবে সেই সম্প্রদায়ের কাছে প্রশ্ন রাখলে এটিকে অন্য কোথাও রাখার চেয়ে তথ্যের বিষয়ে আরও প্রকাশিত প্রমাণ হতে পারে :-)। ব্যক্তিগতভাবে, আমি আনন্দের সাথে শেষ ওএসকনে ডেভি টমাসের একদিনের রুবি টিউটোরিয়ালটি অনুসরণ করার সুযোগটি গ্রহণ করেছি। সিনট্যাক্স পার্থক্যের একটি পাতলা পাতলা নীচে, আমি রুবি এবং পাইথনকে আশ্চর্যজনকভাবে দেখতে পেয়েছি - যদি আমি প্রায় কোনও ভাষার মধ্যে ন্যূনতম বিস্তৃত গাছটি গণনা করছিলাম তবে আমি নিশ্চিত যে পাইথন এবং রুবি একত্রিত হওয়ার প্রথম দুটি পাতা হবে একটি মধ্যবর্তী নোড :-)।
নিশ্চিত, আমি ক্লান্ত পেতে রুবি, প্রত্যেক ব্লক শেষে নিরীহ "শেষ" টাইপ (বদলে শুধু unindenting) এর কি - কিন্তু তারপর আমি সমানভাবে-নিরীহ টাইপ এড়াতে পেতে পারি :
যা পাইথন এ প্রয়োজন
শুরু এর প্রতিটি ব্লক, যাতে এটি প্রায় ধোয়া :-)। @fooবনাম
হিসাবে অন্যান্য সিনট্যাক্স পার্থক্য self.foo, বা রুবি বনাম পাইথন ক্ষেত্রে মামলার উচ্চ তাত্পর্য, আমার কাছে সত্যই প্রায় অপ্রাসঙ্গিক।
নিঃসন্দেহে অন্যরা প্রোগ্রামিং ভাষার তাদের পছন্দগুলি কেবলমাত্র এই জাতীয় ভিত্তিতেই ভিত্তি করে এবং এগুলি সবচেয়ে বিতর্কিত বিতর্ক তৈরি করে - তবে আমার কাছে এটি পার্কিনসনের আইন প্রয়োগের একটি মাত্র উদাহরণ (কোনও ইস্যুতে বিতর্কের পরিমাণ ইস্যুটির বিপরীতভাবে সমানুপাতিক প্রকৃত গুরুত্ব)। একটি সিনট্যাক্স পার্থক্য যা আমি গুরুত্বপূর্ণ মনে করি এবং পাইথনের পক্ষে - তবে অন্য লোকেরা অবশ্যই সন্দেহ করবে কেবল উল্টো - এটি হল "আপনি কোনও ফাংশনটিকে কীভাবে কল করবেন যা কোনও পরামিতি নেয় না"। পাইথনে (সি এর মতো) কোনও ফাংশন কল করার জন্য আপনি সর্বদা "কল অপারেটর" প্রয়োগ করেন - আপনি যে বস্তুটি কল করছেন তার ঠিক পিছনে প্যারেন্টিজেসগুলি (tra ট্রেলিং বন্ধনীর ভিতরে আপনি কলটিতে যাচ্ছেন সেই অর্গগুলি যান) যদি আপনি কোনও অর্গ পাস করছেন না, তবে প্রথম বন্ধনী খালি রয়েছে)। এটি কোনও অবজেক্টের নিছক উল্লেখ রেখে দেয়, এতে কোনও অপারেটর জড়িত না, যার অর্থ কোনও অবজেক্টের জন্য কেবল একটি রেফারেন্স - কোনও প্রসঙ্গে, বিশেষ ক্ষেত্রে ব্যতিক্রম, অ্যাড-হক বিধি এবং এই জাতীয় মত। রুবিতে (পাস্কেলের মতো), আপনি আর্গুমেন্টগুলি দিয়ে একটি ফাংশন কল করার জন্য আর্গুমেন্টগুলি দিয়ে পাস করেন (সাধারণত প্যারেন্টেসিসে, যদিও এটি প্রায়শই হয় না) - তবে যদি ফাংশনটি কোনও অর্গ না নেয় তবে কেবল ফাংশনটির উল্লেখ কেবল স্পষ্টভাবে বলা হয়। এটি অনেক লোকের প্রত্যাশা পূরণ করতে পারে (কমপক্ষে সন্দেহ নেই, যাদের প্রোগ্রামিংয়ের পূর্ববর্তী অভিজ্ঞতা কেবল পাস্কালের সাথে ছিল, বা অন্যান্য ভাষাগুলির সাথে অনুরূপ "ইমপ্লিট কলিং", যেমন ভিজুয়াল বেসিক) - তবে আমার কাছে এটির অর্থ কেবলমাত্র কোনও সামগ্রীর উল্লেখের অর্থ, অবজেক্টের একটি রেফারেন্স, বা বস্তুর কাছে কল, অবজেক্টের ধরণের উপর নির্ভর করে - এবং যেসব ক্ষেত্রে আমি কেবলমাত্র উল্লেখ করে অবজেক্টের রেফারেন্স পেতে পারি না সে ক্ষেত্রে আমার স্পষ্ট ব্যবহার করা দরকার "আমাকে এ সম্পর্কে একটি রেফারেন্স দিন, এটি কল করবেন না!" অপারেটরগুলির যা অন্যথায় প্রয়োজন হয় না। আমি এটি ফাংশনগুলির ("পদ্ধতি বা অন্যান্য কলযোগ্য বস্তু)" এবং প্রথম শ্রেণীর মধ্যে "প্রভাবিত করে এবং সহজেই অবজেক্টগুলি বিনিময়ের সম্ভাবনাটিকে প্রভাবিত করি।" অতএব, আমার কাছে, এই নির্দিষ্ট বাক্য গঠন পার্থক্যটি রুবির বিরুদ্ধে মারাত্মক কালো চিহ্ন - তবে আমি বুঝতে পারি যে অন্যরা কেন অন্যথায় বিষয়টি করবে, যদিও আমি তাদের সাথে খুব দৃhe়তার সাথেই অসম্মতি প্রকাশ করতে পারি :-)। বাক্য গঠন নীচে, আমরা প্রাথমিক শব্দার্থবিজ্ঞানের কিছু গুরুত্বপূর্ণ পার্থক্য পেতে পারি - উদাহরণস্বরূপ, রুবির স্ট্রিংগুলি পারস্পরিক পরিবর্তনযোগ্য বস্তু (যেমন সি ++ এর মতো), পাইথনে থাকাকালীন সেগুলি পরিবর্তনযোগ্য নয় (যেমন জাভাতে বা আমি বিশ্বাস করি সি #)। আবার, লোকেরা যাঁরা ইতিমধ্যে পরিচিত তাদের সাথে প্রাথমিকভাবে বিচার করে তারা রুবীর জন্য এটি একটি প্লাস বলে মনে করতে পারে (যদি না তারা জাভা বা সি # এর সাথে পরিচিত না হন তবে অবশ্যই :-)। আমি, আমার মনে হয় অপরিবর্তনীয় স্ট্রিংগুলি একটি দুর্দান্ত ধারণা (এবং আমি অবাক হই না যে জাভা, স্বাধীনভাবে আমি মনে করি যে ধারণাটি পুনরুদ্ধার করেছেন যা ইতিমধ্যে পাইথনে ছিল), যদিও আমি "পরিবর্তনীয় স্ট্রিং বাফার" টাইপটিও পোষণ করব না would (এবং জাভা এর নিজস্ব "স্ট্রিং বাফার" এর চেয়ে সহজেই ব্যবহারের সুবিধাসহ এক); এবং জাভা অধ্যয়ন করার আগে, কার্যকরী প্রোগ্রামিং ভাষা বাদে, কারণ আমি এই রায়টি জানিনা যে সমস্ত লোকেরা ইতিমধ্যে তাদের সাথে পরিচিত তারা মূলত বিচার করে তারা রুবীর জন্য এটি একটি প্লাস বলে মনে করতে পারে (যদি না তারা জাভা বা সি # এর সাথে পরিচিত না হয় তবে অবশ্যই :-)। আমি, আমার মনে হয় অপরিবর্তনীয় স্ট্রিংগুলি একটি দুর্দান্ত ধারণা (এবং আমি অবাক হই না যে জাভা, স্বাধীনভাবে আমি মনে করি যে ধারণাটি পুনরুদ্ধার করেছেন যা ইতিমধ্যে পাইথনে ছিল), যদিও আমি "পরিবর্তনীয় স্ট্রিং বাফার" টাইপটিও পোষণ করব না would (এবং জাভা এর নিজস্ব "স্ট্রিং বাফার" এর চেয়ে সহজেই ব্যবহারের সুবিধাসহ এক); এবং জাভা অধ্যয়ন করার আগে, কার্যকরী প্রোগ্রামিং ভাষা বাদে, কারণ আমি এই রায়টি জানিনা যে সমস্ত লোকেরা ইতিমধ্যে তাদের সাথে পরিচিত তারা মূলত বিচার করে তারা রুবীর জন্য এটি একটি প্লাস বলে মনে করতে পারে (যদি না তারা জাভা বা সি # এর সাথে পরিচিত না হয় তবে অবশ্যই :-)। আমি, আমার মনে হয় অপরিবর্তনীয় স্ট্রিংগুলি একটি দুর্দান্ত ধারণা (এবং আমি অবাক হই না যে জাভা, স্বাধীনভাবে আমি মনে করি যে ধারণাটি পুনরুদ্ধার করেছেন যা ইতিমধ্যে পাইথনে ছিল), যদিও আমি "পরিবর্তনীয় স্ট্রিং বাফার" টাইপটিও পোষণ করব না would (এবং জাভা এর নিজস্ব "স্ট্রিং বাফার" এর চেয়ে সহজেই ব্যবহারের সুবিধাসহ এক); এবং জাভা অধ্যয়ন করার আগে, কার্যকরী প্রোগ্রামিং ভাষা বাদে, কারণ আমি এই রায়টি জানিনা আমার মনে হয় অপরিবর্তনীয় স্ট্রিংগুলি একটি দুর্দান্ত ধারণা (এবং আমি বিস্মিত হই না যে জাভা, স্বাধীনভাবে আমি মনে করি যে ধারণাটি ইতিমধ্যে পাইথনে ছিল তা পুনরায় উদ্ভাবিত করেছি) যদিও আমি "পরিবর্তনীয় স্ট্রিং বাফার" টাইপটিও বোধ করি না (এবং জাভা এর নিজস্ব "স্ট্রিং বাফারস" এর চেয়ে আরও সহজে ব্যবহারের সুবিধাসহ এক); এবং জাভা অধ্যয়ন করার আগে, কার্যকরী প্রোগ্রামিং ভাষা বাদে, কারণ আমি এই রায়টি জানিনা আমার মনে হয় অপরিবর্তনীয় স্ট্রিংগুলি একটি দুর্দান্ত ধারণা (এবং আমি বিস্মিত হই না যে জাভা, স্বাধীনভাবে আমি মনে করি যে ধারণাটি ইতিমধ্যে পাইথনে ছিল তা পুনরায় উদ্ভাবিত করেছি) যদিও আমি "পরিবর্তনীয় স্ট্রিং বাফার" টাইপটিও বোধ করি না (এবং জাভা এর নিজস্ব "স্ট্রিং বাফারস" এর চেয়ে আরও সহজে ব্যবহারের সুবিধাসহ এক); এবং জাভা অধ্যয়ন করার আগে, কার্যকরী প্রোগ্রামিং ভাষা বাদে, কারণ আমি এই রায়টি জানিনাসমস্ত ডেটা অপরিবর্তনীয়, আমি যে সকল ভাষাগুলি জানতাম তার মধ্যে পরিবর্তনীয় স্ট্রিং ছিল - তবুও আমি যখন প্রথম জাভাতে অপরিবর্তনীয় স্ট্রিং আইডিয়াটি দেখেছি (যা আমি পাইথন শিখার আগে আমি ভালভাবে শিখেছিলাম) তখনই এটি আমাকে তাত্ক্ষণিকভাবে চমকে দিয়েছে, এটি খুব ভাল ফিট একটি উচ্চ স্তরের প্রোগ্রামিং ভাষার রেফারেন্স-শব্দার্থবিজ্ঞানের (মেশিনের কাছাকাছি ভাষা এবং অ্যাপ্লিকেশন থেকে আরও সুনির্দিষ্ট ভাষাগুলির সাথে সবচেয়ে ভাল যে মান-শব্দার্থবিজ্ঞানের বিপরীতে) প্রথম শ্রেণীর অন্তর্নির্মিত (এবং সুন্দর) গুরুত্বপূর্ণ) ডেটা টাইপ।
প্রাথমিক অর্থশাস্ত্রের ক্ষেত্রে রুবির কিছু সুবিধা রয়েছে - উদাহরণস্বরূপ, পাইথনের "তালিকাগুলি বনাম টিউপলস" অপসারণের অতি সূক্ষ্ম পার্থক্য অপসারণ। তবে বেশিরভাগ স্কোর (যেমন আমি এটি রেখেছি, সরলতার সাথে একটি বৃহত প্লাস এবং সূক্ষ্মভাবে, চতুর পার্থক্যগুলি একটি উল্লেখযোগ্য বিয়োগ), রুবির বিরুদ্ধে (যেমন, বন্ধ এবং অর্ধ-খোলা বিরতি উভয়ই, a..b এবং a স্বরলিপি সহ) .b [যে কেউ দাবি করতে চায় যে এটি স্পষ্ট যা কোনটি? -)] নির্বোধ - আইএমএইচও, অবশ্যই!)। আবার, যে লোকেরা একটি মিনাসের পরিবর্তে কোনও প্লাসের মূল অংশে অনেকগুলি অনুরূপ তবে সূক্ষ্মভাবে বিভিন্ন জিনিস রাখার বিষয়টি বিবেচনা করে তারা অবশ্যই আমি তাদের কীভাবে গণনা করব :-) থেকে এগুলি "অন্যান্য উপায়ে" গণনা করব।
এই ভাষাগুলি দুটি ভাষাগুলি খুব ভেবে ভেবে ভুল করবেন না
আলাদা, মনে আছে। তারা না। তবে যদি আমাকে "কেপেলি ডি'জেলো" এর সাথে "স্প্যাগেটিনি" তুলনা করতে বলা হয়, তবে এই দুটি ধরণের পাস্তা কারও কাছেই অবিচ্ছেদ্য এবং যে কোনও খাবারের জন্য আপনি প্রস্তুত করতে চান তা বিনিময়যোগ্য, তা উল্লেখ করার পরে আমি অবশ্যম্ভাবীভাবে দৈর্ঘ্য এবং ব্যাসারকগুলি কীভাবে অবিচ্ছিন্নভাবে পৃথক হয়, একটি ক্ষেত্রে কীভাবে প্রান্তগুলির প্রান্তটি টেপার করা হয় এবং অন্যভাবে - এবং কেন আমি ব্যক্তিগতভাবে, বরং ক্যাপেলি ডি করানোর চেষ্টা করব এবং তা ব্যাখ্যা করার জন্য অণুবীক্ষণিক পরীক্ষায় যেতে 'অ্যাঞ্জেলো কোনও প্রকারের ঝোলের পাস্তা হিসাবে, তবে স্প্যাসেটিটিনি পছন্দ করবে যেমন পাতাসিচুত্তা হিসাবে দীর্ঘ লম্বা পাতলা পাস্তা ফর্মগুলির জন্য উপযুক্ত জলপাই (অলিভ অয়েল, কাঁচা রসুন, কাঁচা লাল মরিচ এবং সূক্ষ্ম গ্রাউন্ড অ্যাঙ্কোভিস, উদাহরণস্বরূপ - তবে আপনি যদি রসুন এবং মরিচগুলি কাটা কাটার পরিবর্তে টুকরো টুকরো করে ফেলেছেন তবে স্প্যাগেটিিনীর পাতলা প্রসারণের চেয়ে স্প্যাগেটির শব্দযুক্ত দেহটি বেছে নেওয়া উচিত এবং ভালভাবে অ্যাচোভিউকে পূর্বে রেখে কিছু নতুন বসন্তের তুলসী যুক্ত করার পরামর্শ দেওয়া হবে [ বা এমনকি - আমি একজন ধর্মাবলম্বী ...! - হালকা পুদিনা ...] পাতা - ডিশ পরিবেশন করার আগে একেবারে শেষ মুহুর্তে)। ওফস, দুঃখিত, এটি দেখায় যে আমি বিদেশ ভ্রমণ করছি এবং কিছুক্ষণের জন্য পাস্তাও করিনি। তবে সাদৃশ্যটি এখনও বেশ ভাল! -) এবং অচোভিউকে পূর্বের দিকে রেখে এর পরিবর্তে কিছু টাটকা বসন্তের তুলসী যুক্ত করার পরামর্শ দেওয়া হবে [বা এমনকি - আমি একজন আধ্যাত্মিক ...! - হালকা পুদিনা ...] পাতা - ডিশ পরিবেশন করার আগে একেবারে শেষ মুহুর্তে)। ওফস, দুঃখিত, এটি দেখায় যে আমি বিদেশ ভ্রমণ করছি এবং কিছুক্ষণের জন্য পাস্তাও করিনি। তবে সাদৃশ্যটি এখনও বেশ ভাল! -) এবং অ্যাচোভিউকে পূর্বে রেখে নতুন পরিবর্তে কিছুটা বসন্তের তুলসী যুক্ত করার পরামর্শ দেওয়া হবে [বা এমনকি - আমি একজন ধর্মাবলম্বী ...! - হালকা পুদিনা ...] পাতা - ডিশ পরিবেশন করার আগে একেবারে শেষ মুহুর্তে)। ওফস, দুঃখিত, এটি দেখায় যে আমি বিদেশ ভ্রমণ করছি এবং কিছুক্ষণের জন্য পাস্তাও করিনি। তবে সাদৃশ্যটি এখনও বেশ ভাল! -)
সুতরাং, পাইথন এবং রুবিতে ফিরে আমরা দুটি বিগির কাছে এসেছি (ভাষার যথাযথ বিবেচনায় - গ্রন্থাগারগুলি রেখে, এবং অন্যান্য গুরুত্বপূর্ণ উপকরণ যেমন সরঞ্জাম এবং পরিবেশ, প্রতিটি ভাষা কীভাবে এম্বেড / প্রসারিত করা যায় ইত্যাদি ইত্যাদি) এটি আপাতত - তারা যে কোনওভাবেই প্রতিটি ভাষার সমস্ত প্রয়োগের জন্য আবেদন করবে না, যেমন, জাইথন বনাম ক্লাসিক পাইথন পাইথন ভাষার দুটি বাস্তবায়ন!):
রুবির পুনরুক্তিকারী এবং কোডব্লক বনাম পাইথনের পুনরুক্তি এবং জেনারেটর;
রুবির মোট, নিরবিচ্ছিন্ন "গতিশীলতা", যা অন্তর্নির্মিত সকল সহ যে কোনও বিদ্যমান শ্রেণীর "পুনরায় খোলা" করার ক্ষমতা এবং রান-টাইমে এর আচরণ পরিবর্তন করতে সক্ষম - বনাম পাইথনের বিস্তৃত তবে সীমিত
গতিশীলতা, যা কখনই বিদ্যমান আচরণের পরিবর্তন করে না অন্তর্নির্মিত ক্লাস এবং তাদের দৃষ্টান্তগুলি।
ব্যক্তিগতভাবে, আমি 1 ওয়াশ বিবেচনা করি (পার্থক্যগুলি এতটাই গভীর যে আমি সহজেই লোককে ঘৃণা করতে দেখি এবং অন্যটিকে আবার ঘুরিয়ে দিতে দেখি, তবে আমার ব্যক্তিগত স্কেলগুলিতে প্লাসগুলি এবং বিয়োগগুলি এমনকি প্রায় উপরে উঠে যায়); এবং [২] একটি গুরুত্বপূর্ণ সমস্যা - এটি রুবিকে "টিঙ্কারিং" করার জন্য অনেক বেশি উপযোগী করে তোলে, তবে পাইথন বড় উত্পাদন অ্যাপ্লিকেশনগুলিতে ব্যবহারের জন্য সমানভাবে আরও উপযুক্ত। এটি একরকম মজার বিষয়, কারণ উভয় ভাষাই বেশিরভাগের তুলনায় অনেক বেশি গতিশীল, যাতে শেষ পর্যন্ত আমার পিওভি থেকে তাদের মধ্যে মূল পার্থক্যটি এটির উপর নির্ভর করে - যে রুবি এই বিষয়ে "এগারোটিতে যায়" (রেফারেন্স) অবশ্যই এটি "স্পাইনাল ট্যাপ" করতে হবে)। রুবিতে,আমি এটা করতে পারি ! অর্থাৎ, আমি গতিশীলভাবে বিল্ট-ইন স্ট্রিং ক্লাসটি পরিবর্তন করতে পারি যাতে
a = "হ্যালো ওয়ার্ল্ড"
b = "হ্যালো ওয়ার্ল্ড"
যদি a == খ
"সমান! print n" মুদ্রণ
আর
"আলাদা! print n" মুদ্রণ করুন
শেষ
"সমান" মুদ্রণ করবে। অজগরটিতে, আমি এটি করতে পারি এমন কোনও উপায় নেই। রূপান্তরকরণ, পরীক্ষামূলক কাঠামো বাস্তবায়ন এবং এর মতো উদ্দেশ্যে, রুবির এই আশ্চর্যজনক গতিশীল দক্ষতা অত্যন্ত
মর্মস্পর্শী। তবে - যদি আমরা বিভিন্ন অ্যাপ্লিকেশনগুলির বিষয়ে কথা বলি যা বহু লোক দ্বারা বিকাশিত হয় এবং বিভিন্ন উত্স থেকে সমস্ত ধরণের লাইব্রেরি সহ আরও অনেকগুলি দ্বারা রক্ষণাবেক্ষণ করা হয় এবং ক্লায়েন্ট সাইটগুলিতে উত্পাদনে যাওয়ার প্রয়োজন হয় ... ভাল, আমি চাই না এমন একটি ভাষা যা কোয়েট এত গতিশীল, আপনাকে অনেক ধন্যবাদ। আমি কিছু লাইব্রেরিকে অজান্তেই অন্যান্য সম্পর্কহীনভাবে ভেঙে ফেলার যে ধারণাটি ঘৃণা করি সেগুলি পৃথক করে দেয় - এ ধরণের গভীর এবং গভীরভাবে লুকানো "চ্যানেল", কোডের টুকরোগুলির মধ্যে যা দেখতে আলাদা এবং আলাদা হওয়া উচিত, যা মৃত্যুর বানান করে বড় আকারের প্রোগ্রামিং। কোনও মডিউলকে অন্য কোনও "গোপনে" আচরণকে প্রভাবিত করতে দিয়ে,
যদি আমাকে এত বড় অ্যাপ্লিকেশনের জন্য রুবিকে ব্যবহার করতে হয়, আমি কোডিং-স্টাইল বিধিনিষেধ, প্রচুর পরীক্ষার উপর নির্ভর করতে চেষ্টা করতাম (যখনই কোনও পরিবর্তন হয় তখনই পুনরায় চালিত হতে হবে - এমনকি যা সম্পূর্ণ সম্পর্কযুক্ত নয় ...) এবং এর মতো, এই ভাষার বৈশিষ্ট্যটির ব্যবহার নিষিদ্ধ করতে। তবে আমার মতে বৈশিষ্ট্যটি প্রথম স্থানে না রাখা আরও ভাল, ঠিক যেমন পাইথন নিজেই অ্যাপ্লিকেশন প্রোগ্রামিংয়ের জন্য আরও ভাল ভাষা হতে পারে যদি নির্দিষ্ট সংখ্যক বিল্ট-ইনগুলি "পেরেক চেপে ধরে" রাখতে পারে, তবে আমি জানলাম যে , যেমন,
len("ciao")4 হয় (বরং কারো নামের বাঁধাই পরিবর্তিত কিনা সম্পর্কে চিন্তা করবেন না subliminally থাকার চেয়ে lenমধ্যে __builtins__
মডিউল ...)। আমি আশা করি শেষ পর্যন্ত পাইথন তার বিল্ট-ইনগুলি "পেরেক ডাউন" করবে।
তবে সমস্যাটি নাবালক, যেহেতু বিল্ট-ইনগুলি রিবাডিং করা একেবারে অবহেলিত পাশাপাশি পাইথনের বিরল অনুশীলন। রুবিতে, এটি আমাকে প্রধান হিসাবে আঘাত করেছে - যেমন
অন্যান্য ভাষার খুব শক্তিশালী ম্যাক্রো সুবিধা (যেমন, ডিলান) আমার নিজের মতামতগুলিতে একই রকম ঝুঁকি উপস্থিত করে (আমি আশা করি যে পাইথন কখনও এ জাতীয় শক্তিশালী ম্যাক্রো সিস্টেম পায় না, না "লোকেরা তাদের নিজস্ব ডোমেন-নির্দিষ্ট ছোট্ট ভাষাগুলিকেই নিজের ভাষায় এম্বেড করে দিতে দেয়" - এর প্রলোভনের বিষয়টি বিবেচনা করে - এটি আইএমএইচও, অ্যাপ্লিকেশন প্রোগ্রামিংয়ের জন্য পাইথনের বিস্ময়কর কার্যকারিতা ক্ষতিগ্রস্থ করবে, যিনি এই টিনকিয়ারকে "আকর্ষণীয় উপদ্রব" উপস্থাপন করে প্রতিটি প্রোগ্রামারের হৃদয়ে লুকিয়ে থাকে ...)।
অ্যালেক্স