রুবি একটি অস্বাভাবিক স্তরে রূপক (প্রতিচ্ছবি, অন্তঃকরণ), বহু-প্যারাডিম প্রোগ্রামিং এবং গতিশীলতা আলিঙ্গন করে। নিজেকে শক্তি এবং নমনীয়তার সাথে পায়ে গুলি করা সহজ।
বিরক্তিজনক? রুবি চূড়ান্তভাবে পঠনযোগ্য বা অবিচ্ছিন্ন হওয়ার ক্ষমতা রাখে। আমি কোড দেখেছি যা দেখে মনে হচ্ছে এটি কোনও বাশ স্ক্রিপ্টের অন্তর্গত।
খারাপ অভ্যাস? কিছু রুবিবাদী জ্ঞানের চেয়ে চালাকতার মূল্য দেয়। তারা কৌশলগুলি লিখে এবং ভাগ করে দেয় যা তাদের চতুরতা প্রদর্শন করে, তবে এটি অপঠনযোগ্য এবং ভঙ্গুর কোড তৈরি করে।
অন্যদিকে: জাভাস্ক্রিপ্ট ডিজাইনের দ্বারা একটি বিপর্যয় ছিল এবং "দ্য গুড পার্টস" বইটি এর লুকানো সৌন্দর্য বের করার চেষ্টা করে। পার্ল, এমন একটি ভাষাকে জনপ্রিয় করে তুলেছে যা "এটি করার চেয়ে ওয়ান ওয়ে করারও উপায় আছে" (যা নমনীয়তা) রয়েছে, "পার্ল, সেরা অনুশীলন" এ একটি সমকালীন বই রয়েছে। পার্লের ইতিহাস এক পরীক্ষামূলক এবং কঠোর জয়ের অভিজ্ঞতা, "সেরা অনুশীলনগুলি" এর জ্ঞানের প্রতিনিধিত্ব করে। পার্ল 6 হবে, আমি মনে করি এটি ন্যায়সঙ্গত বলে মনে হয়, সেই জ্ঞানের উপর ভিত্তি করে ভাষার একটি রিবুট এবং আরও অনেক কিছু। রুবি একই রকম সমস্যায় ভুগতে পারে।
@ জেমস এবং লুপগুলির জন্য ... আপনি যখন রুবিতে লুপের জন্য কোনও কাজ করেন, তখন এটি ".চেনা" কল করে। সুতরাং, সি স্টাইল লুপগুলির সাথে আরও স্বাচ্ছন্দ্যযুক্ত লোকদের জন্য "ফর" সিনট্যাকটিক চিনি। তবে একজন রুবিবাদক হিসাবে আপনি সর্বদা .map, .inject, .each_with_object এর মতো পুনরাবৃত্তি ব্যবহার করতে চলেছেন। রুবিতে "i = 0; i> 6; i ++" এর মতো কোনও জিনিস দিয়ে আপনাকে কখনই লুপের জন্য লিখতে হবে না এবং এর ফলে আপনি অভ্যাসটি শেষ করে দেবেন। @ অ্যান্ড্রু ... সুস্পষ্ট রুবি লুপগুলির পক্ষে সমর্থন করে না।