পাইথনের চেয়ে রুবি কেন রেলের জন্য বেশি উপযুক্ত? [বন্ধ]


90

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


44
স্বীকৃতি _
জিমি

75
"পাইথন অন পাইলস" এর সাথে ঠিক একইরকম অনুভূতি হয় না ...
প্রশংসাপত্র

105
@ স্পেসিয়েন্ট: আমি বিশ্বাস করি এটি প্লেনে পাইথন হবে।
জিমি

37
@ জিমি: কার প্লেন দরকার? আমদানি
বৈষম্য

157
জেলে কি জাভা আছে?
নসরেডনা

উত্তর:


170

সম্ভবত দুটি প্রধান পার্থক্য রয়েছে:

রুবির মার্জিত, বেনামে বন্ধ রয়েছে।

রেলগুলি তাদের ভাল ব্যবহার করতে ব্যবহার করে। এখানে একটি উদাহরণ:

class WeblogController < ActionController::Base
  def index
    @posts = Post.find :all
    respond_to do |format|
      format.html
      format.xml { render :xml => @posts.to_xml }
      format.rss { render :action => "feed.rxml" }
    end
  end
end

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

রুবির ক্লিনার রয়েছে, মেটাপোগ্র্যামিং ব্যবহার করা সহজ।

এটি রেলগুলিতে ব্যাপকভাবে ব্যবহৃত হয়, মূলত এটি ব্যবহার করা কত সহজ because সুনির্দিষ্টভাবে বলতে গেলে, রুবিতে, আপনি শ্রেণীর প্রসঙ্গে নির্বিচারে কোডটি কার্যকর করতে পারেন। নিম্নলিখিত স্নিপেটগুলি সমতুল্য:

class Foo
  def self.make_hello_method
    class_eval do
      def hello
        puts "HELLO"
      end
    end
  end
end

class Bar < Foo # snippet 1
  make_hello_method
end

class Bar < Foo; end # snippet 2
Bar.make_hello_method

উভয় ক্ষেত্রেই আপনি তা করতে পারেন:

Bar.new.hello  

যা "হেল্লো" মুদ্রণ করবে। class_evalপদ্ধতি নামেও একটি বর্গ তৈরি করা হচ্ছে একটি স্ট্রিং লাগে তাই এটা মাছি উপর পদ্ধতি তৈরি করতে সম্ভব, যে প্যারামিটার পাস উপর ভিত্তি শব্দার্থবিদ্যা বিভিন্নমুখী হয়েছে।

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

এটি কারাগারে সম্ভাব্য ডিগ্রিবিজ্ঞানের ডিগ্রির জন্য বৃহত্তর ডিগ্রী এবং এর জন্য আমরা কী কীওয়ার্ড বা নতুন ব্লক ভাষার বৈশিষ্ট্যগুলির মতো দেখতে নতুন ঘোষণামূলক বৈশিষ্ট্যগুলি কার্যকর করতে সক্ষম হয়েছি।


40
পাইথনে, সমস্ত কিছুই অবজেক্টস এবং কোডের সমস্ত লাইন সরাসরি কার্যকর করা হয়। ;) তবে, আপনার কাছে ক্লাস বডির ক্লাসের দিকে ইশারা করার কোনও "স্ব" নেই, যা ক্লাস সংজ্ঞা না হওয়া পর্যন্ত তৈরি হয় না, সুতরাং আপনাকে সেই কোডটি পাইথন পরে রেখে দিতে হবে, যা স্বীকারোক্তি কম মার্জিত নয় , তবে কার্যত সমতুল্য।
লেনার্ট রেজেব্রো

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

9
এগুলি আমার কাছে বড় পার্থক্যের মতো দেখায় না।
ডায়েটারিচ এপ্প

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

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

58

যারা তর্ক করেছেন

রেল ফ্রেমওয়ার্কের অপরিসীম সাফল্যের সাথে নির্মিত ভাষাটির সাথে সত্যিই দুর্দান্ত কাজ রয়েছে

(আইএমও) ভুল হয়েছে। সেই সাফল্যটি সম্ভবত কোনও প্রযুক্তিগত দক্ষতার চেয়ে চতুর এবং টেকসই বিপণনের অধিক .ণী। জ্যাঙ্গো যুক্তিযুক্তভাবে রুবির কোনও বৈশিষ্ট্যের প্রয়োজন ছাড়াই অনেক ক্ষেত্রে (যেমন বিল্ট-ইন কিক-অ্যাস অ্যাডমিন) আরও ভাল কাজ করে। আমি রুবিকে মোটেও অপসারণ করছি না, কেবল পাইথনের পক্ষে দাঁড়িয়ে!


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

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

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

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

6
@ ম্যাট: তাঁর প্রশ্ন হ'ল কেন রুবি পাইথনের চেয়ে বেশি উপযুক্ত And আর উত্তরটি বেশ সঠিকভাবে বলা যায় যে এটি তা নয়।
লেনার্ট রেজেব্রো

54

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

কারাগুলি নির্দিষ্ট কিছুগুলি অনুসরণ করে যদি আপনার জন্য যাদুতে অন্য কিছু ঘটে থাকে follow বিশ্বের দিকে তাকানোর রুবি পদ্ধতিতে সেই জীভগুলি সত্যিই ভাল, তবে প্রকৃতপক্ষে অজগর পথটি অনুসরণ করে না।


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

4
রেলগুলির শূন্য জাদু রয়েছে, উত্সটিতে এটি ঠিক আছে। যদি আপনি কীভাবে জানতে চান তবে নিজের গাধা থেকে নেমে এটি সন্ধান করুন।
নাইটকোডার

21
"যেকোন পর্যাপ্ত উন্নত প্রযুক্তি ম্যাজিক থেকে আলাদা নয়।" - আর্থার সি ক্লার্ক
বিনয় সজিপ

4
"যাদু" অর্থ কাঠামো সরাসরি জিজ্ঞাসা না করে আপনার জন্য প্রচুর পরিমাণে হ্যাক করে। আবার, আমি মূল্যবোধের রায় দিচ্ছি না, এটি এমন জিনিস করার একটি স্টাইল যা এর ভাল দিক এবং খারাপ দিক রয়েছে। ব্যক্তিগতভাবে, আমি মনে করি এটি রেলগুলিতে দুর্দান্তভাবে কাজ করে।
ম্যাট ব্রিগস

4
কমনীয়তা এবং সম্মেলনগুলি যাদুকে বোঝায় না।
বিজে ক্লার্ক

26

এই বিতর্কটি কি নতুন "ভিম বনাম ইমাস" বিতর্ক?

আমি পাইথন / জ্যাঙ্গো প্রোগ্রামার এবং এখন পর্যন্ত আমি সেই ভাষা / কাঠামোর কোনও সমস্যা পাইনি যা আমাকে রুবি / রেলগুলিতে স্যুইচ করতে পরিচালিত করবে।

আমি ভাবতে পারি যে আমি যদি রুবি / রেইলগুলি নিয়ে অভিজ্ঞ হয়ে থাকি তবে এটি একই হবে।

উভয়ের একই দর্শন রয়েছে এবং দ্রুত এবং মার্জিত উপায়ে কাজটি করেন। আরও ভাল পছন্দটি যা আপনি ইতিমধ্যে জানেন is


25

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

numlist = [1,2,3,4]
#=> [1, 2, 3, 4]
numlist.join(',')
#=> "1,2,3,4"

পাইথনে, জোড় স্ট্রিং অবজেক্টের একটি পদ্ধতি তবে যা যদি আপনি স্ট্রিং ব্যতীত অন্য কিছুকে যোগ দেওয়ার জিনিস হিসাবে পাস করেন তবে এটির একটি ত্রুটি ছুঁড়ে দেয়, সুতরাং একই গঠনটি হ'ল কিছু:

numlist = [1,2,3,4]
numlist
#=> [1, 2, 3, 4]
",".join([str(i) for i in numlist])
#=> '1,2,3,4'

এই ধরণের সামান্য ধরণের পার্থক্য রয়েছে যা সময়ের সাথে যুক্ত হয়।

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


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

4
শুরু এবং শেষের ভাষাগুলিতে এবং ব্রেসযুক্ত ভাষায় এবং সমাবেশে আমি দেখেছি কোডটি ভুলতে আটকে গেছে এবং পরে সমস্যা সৃষ্টি করে। এটাই সবসময় সমস্যা। পাইথনকে খারাপভাবে পেস্ট করাতে আপনার কি খুব সমস্যা হয়েছে?
নসরেডনা

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

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

8
Godশ্বর সর্বশক্তিমান ... আপনার অর্থ স্থিতিশীলভাবে টাইপ করা হয়েছে, শক্তভাবে টাইপ করা হয়নি। পাইথন দৃ strongly ়ভাবে টাইপ করা হয়, তেমনি রুবি: stackoverflow.com/questions/520228/… আপনি রুবিতে কোনও পূর্ণসংখ্যার সাথে স্ট্রিং যোগ করতে পারবেন না। আমি আপনাকে সংশোধন করতে করতে ক্লান্ত হয়ে পড়েছি, ভবিষ্যতে উত্তর দেওয়ার আগে দয়া করে আপনার সত্যতা যাচাই করুন।
লেনার্ট রেজেব্রো

15

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

বেশিরভাগ লোক যারা এক বা অন্যের পক্ষে তর্ক করেন তা হয় কখনও কখনও অন্য ভাষাটিকে গুরুত্বের সাথে ব্যবহার করেননি বা তাদের ব্যক্তিগত পছন্দ হিসাবে 'ভোটদান' করছেন।

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

যদি পাইথন এবং এর এমভিসি ফ্রেমওয়ার্কগুলির একটি আমি প্রথম খুঁজে পেয়েছি তবে তার পরিবর্তে আমি সম্ভবত ভাষাটির প্রশংসা করব!


11

পাইথনটিতে রেলের মতো ফ্রেমওয়ার্কগুলির পুরো হোস্ট রয়েছে। অনেকগুলি আছে যে একটি রসিকতা আছে যে পাইকন-এ সাধারণ আলাপকালে কমপক্ষে একটি ওয়েব ফ্রেমওয়ার্ক আলো দেখতে পাবে।

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

সুতরাং আমি মনে করি আমরা এই উপসংহারে পৌঁছাতে পারি যে রুবি এই বিষয়ে পাইথনের চেয়ে ভাল (এবং সম্ভবত এর চেয়ে খারাপ নয়)।


8

কারন রুবিস বৈশিষ্ট্য সেটটির সুবিধা নেওয়ার জন্য রেলগুলি বিকাশ করা হয়েছে।

একইভাবে গরমহীন একটি প্রশ্ন থাকবে "জাবির চেয়ে পাইথন কেন রুবির চেয়ে বেশি উপযুক্ত?"।


4

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


1

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

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


4
সত্যই, পাইথনে এই ধরণের "যাদু" প্রায়শই নকল করা হয়; উদাহরণস্বরূপ, কোড. djangoproject.com/wiki/RemovingTheMagic
প্রশংসাপত্র

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

1

আমি মনে করি যে সিনট্যাক্সটি পরিষ্কার এবং রুবি, আমার পক্ষে কমপক্ষে কেবল আরও অনেক "উপভোগযোগ্য" - যতটা বিষয়াত্মক!


-1

দুটি উত্তর:

ক। কারণ রেল রুবির জন্য লেখা ছিল।

খ। একই কারণে সি রুবীর চেয়ে লিনাক্সের জন্য উপযুক্ত


প্রশ্নের উত্তরের প্রসঙ্গটি দেওয়া একেবারেই কোনও ধারণা রাখে না।
lorefnon

-6

এই সমস্তগুলি সম্পূর্ণ "IMHO"

রুবিতে একটি ওয়েব-অ্যাপ্লিকেশন কাঠামো রয়েছে, সুতরাং এটি কেবলমাত্র সেই ফ্রেমওয়ার্কটিই সেই ভাষার জন্য বিজ্ঞাপন দেওয়া হয়।

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

রেলের কারণে সম্প্রদায়গুলির আকারটি সম্পূর্ণরূপে বা কমপক্ষে বিশাল সংখ্যাগুরুতে রয়েছে।

পাইথন এবং রুবি উভয়ই ওয়েব অ্যাপ্লিকেশন ফ্রেমওয়ার্ক হিসাবে কাজটি করতে পুরোপুরি সক্ষম। আপনার মতো একটি (এবং আপনার সম্ভাব্য উন্নয়ন দল) ব্যবহার করুন এবং এটিকে সারিবদ্ধ করতে পারেন।


7
রুবির একাধিক ওয়েব অ্যাপ্লিকেশন ফ্রেমওয়ার্ক রয়েছে: নাইট্রো, মার্ব, ক্যাম্পিং .. কয়েকটি নাম রাখার জন্য
কর্বান ব্রুক

4
যোগ করুন: সিনেট্রা এবং এমনকি খুব দ্রুত খুব ন্যূনতম ওয়েব অ্যাপ্লিকেশনগুলির জন্য একটি বেয়ার র্যাক অ্যাপ্লিকেশন।
ক্রিস

4
-1 "রুবিতে একটি ওয়েব-অ্যাপ্লিকেশন কাঠামো রয়েছে" খুব স্পষ্টত ... মিথ্যা বিবৃতি দেওয়ার জন্য। নাইট্রো, মার্ব, ক্যাম্পিং, সিনাত্রা
ম্যাক্সিমিলিয়ানো গুজম্যান

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

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