আমি অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ল্যাঙ্গুয়েজ শিখতে চেয়েছিলাম, আমি ওওপির পুরো ধারণাটি জানার জন্য এটি কোনও উদ্দেশ্যে চাই না। সুতরাং কেউ কি আমাকে বলতে পারেন যে আমার কোন ভাষাটি শেখা উচিত?
আমি অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ল্যাঙ্গুয়েজ শিখতে চেয়েছিলাম, আমি ওওপির পুরো ধারণাটি জানার জন্য এটি কোনও উদ্দেশ্যে চাই না। সুতরাং কেউ কি আমাকে বলতে পারেন যে আমার কোন ভাষাটি শেখা উচিত?
উত্তর:
আরও কিছু পরামর্শ:
আমি ওওপি বারে এখন পর্যন্ত যে সেরা বইটি পড়েছি তা হ'ল বার্ট্রান্ড মেয়ারের অবজেক্ট ওরিয়েন্টেড সফটওয়্যার কনস্ট্রাকশন । এটি কোনও 'সহজ' পঠিত নয় যা আপনাকে স্থানগুলিতে কঠোরভাবে চিন্তা করতে হবে। তবে ওও নীতিগুলি ব্যাখ্যা করার ক্ষেত্রে এটি সবচেয়ে ভাল কাজ করে।
ভাষার ক্ষেত্রে: আমি সি ++ থেকে দূরে থাকতাম। শেখার উদ্দেশ্যে খুব বড়। আপনি যদি এমন একটি ভাষা চান যা আপনাকে ওও বুঝতে সত্যই সহায়তা করবে (আপনি মূলধারার অ্যাপ্লিকেশনগুলিতে লিখতে / চাকরির মাধ্যমে কোনও চাকরি পাবেন) তারপরে ছোট্ট টালকের দিকে নজর দিন। বা আইফেল (উপরের মায়ারের বইয়ের ভাষা)।
আপনি যদি এমন ভাষা চান যা কিছুটা মূলধারার হলেও তবুও বিশ্বস্ততার সাথে ওও নীতিগুলি সমর্থন করে তবে পাইথন একটি ভাল বাজি। আপনি যদি স্ট্যাটিক টাইপ করতে চান তবে জাভা এবং সি # টিও শালীন।
সতর্কতার একটি শব্দ যদিও: ভাষা আপনাকে ওও শেখায় না। এটি কেবল ওও ধারণাগুলি সমর্থন করে এমন ক্ষেত্রে সহায়তা করতে পারে (বা বাধা দেয়)। ওও শেখা হ'ল ওও শর্তে ভাবতে শেখা । তার জন্য আমি মায়ারের বইটিতে ফিরে আসব।
HTH।
ওওপিএস চেষ্টা করে দেখতে আপনি যে কোনও অবজেক্ট ওরিয়েন্টেড ভাষা যেমন সি ++, জাভা, সি # ইত্যাদি শিখতে পারেন।
আপনি যদি সত্যই ওওপি শিখতে চান তবে আপনাকে ভাষার বাইরে চিন্তা করতে হবে এবং বুঝতে হবে যে এটি এমন একটি দৃষ্টান্ত যা ম্যানই জটিলতায় সফটওয়্যার প্রোগ্রামগুলিতে জড়িত যেমন ঠিক কীভাবে আমরা এই বাস্তব বিশ্বে তাদের পরিচালনা করি helps তারপরে ওওর প্রাথমিক ধারণাগুলি যেমন পলিমারফিজম, উত্তরাধিকার, এনক্যাপসুলেশন (পিআইই) ইত্যাদি শিখুন
গ্রেডি বুচের রচনা-অ্যাপ্লিকেশন (২ য় সংস্করণ) -ও-অবজেক্ট-ওরিয়েন্টেড অ্যানালাইসিস এবং ডিজাইনের আশেপাশে ভাল বই রয়েছে
এছাড়াও, আপনি এই যা আমি খুঁজে পাওয়া যায় নি মত ব্লগ চেষ্টা করতে পারেন সহজ with- শুরু করার জন্য যথেষ্ট fascinatingoops.com
আপনি ওওপি শিখতে চান? একটি উত্তর - স্মলটালক।
এটি একটি মার্জিত ভাষা এবং মূলত ওও। আপনি প্রথম থেকেই ওওপি শিখবেন এবং অন্যান্য ভাষাগুলি একত্রিত করার জন্য পরিচালনা করে এমন সমস্ত বিঘ্ন দ্বারা বাধা পাবেন না।
ছোট ছোট জয়। এবং কয়েকটি ভাল ফ্রি ই-বইও পাওয়া যায় (দেখুন: স্টিফেন ডুকাসি )
আপনাকে সি ++ শিখতে হবে, বা হতে পারে স্মলটালকের মতো পূর্বপুরুষদের মধ্যে একটি। সি ++ অবজেক্ট ওরিয়েন্টেশন, মেমরি ম্যানেজমেন্ট এবং রেফারেন্স বনাম মানের মতো ধারণাগুলির মধ্যে একটি পরিষ্কার বিচ্ছিন্নতার প্রস্তাব দেয় এবং এর দৃ strong় জেনেরিক সমর্থন রয়েছে।
জাভা বা সি # এর মতো একটি নেট নেট ভাষা শিখবেন না। আপনি যখন জাভার মতো কোনও ভাষা শিখেন, তারপরে আপনি "অবজেক্টস সর্বদা গাদা হয়ে থাকেন এবং সর্বদা রেফারেন্স হন" এর মতো জিনিসগুলি শিখেন যা জাভার পক্ষে কেবল সত্য এবং সাধারণভাবে ওওপি-র ক্ষেত্রে একেবারেই সত্য নয়। ধারণাগুলির এই সংমিশ্রণ (অবজেক্ট-ওরিয়েন্টেশন, মেমরি ম্যানেজমেন্ট, রেফারেন্স বনাম মান) প্রথম ভাষার পক্ষে খুব বিপজ্জনক, কারণ আপনি একবার এগুলিকে আপনার মাথায় আটকে ফেললে এগুলি ফিরিয়ে আনা খুব কঠিন হতে পারে। সি # এই ক্ষেত্রে কিছুটা ভাল তবে বেশি নয়। তদ্ব্যতীত, দুর্বল জেনেরিক প্রোগ্রামিং সমর্থন সহ "উত্তরাধিকার একটি হাতুড়ি এবং সবকিছুই পেরেক" শেখানোর পক্ষে তাদের উচ্চ প্রবণতা থাকতে পারে।
ওওপি ধারণাগুলি শেখার সর্বোত্তম উপায় হ'ল আরও বেশি সংখ্যক কোড লেখা এবং এটি প্রায়শই পর্যালোচনা করা। অনুশীলন একটি ভাল প্রোগ্রামার তোলে।
বাস্তব বিশ্বের পরিস্থিতিগুলি ভাবুন, কোনও সমস্যার বিবৃতি নির্ধারণ করুন - কোডে এটি সমাধান করুন এবং এটি পর্যালোচনা করুন। আপনি সর্বদা /codereview// এর পর্যালোচনাগুলির জন্য সহায়তা পেতে পারেন :)
শুভ কোডিং !!!
ধাপ
ওও বিশ্বের সাথে আমার প্রথম যোগাযোগ ছিল সি ++, যা কোনও খারাপ শুরু ছিল না। পাইথন শিখতে গিয়ে আমি অনেক উন্নতি করেছি। পার্থক্যটি ভাষাগুলি থেকে আসে: ধারণাগুলি চেষ্টা করে দেখতে ('ওও ফ্যাশনে আমি কীভাবে এই সমস্যাটি সমাধান করতে পারি?') এর সি ++ তে আরও কোড লিখতে হবে এবং পাইথনের একই ধারণাটি ব্যবহার করার চেয়ে অনেক বেশি সমস্যা রয়েছে। তাই আমি পাইথনের সুপারিশ করব।
ওওপি শেখার চেষ্টা করার সময় আপনার অন্য কোনও ভাষাতে নজর দেওয়া উচিত বলে আমি মনে করি না। আমার কাছে তত্ত্বটি উপলব্ধি করা আরও সহজ এবং তারপরে আমি যদি ইতিমধ্যে জেনে থাকা কোনও কিছুর সাথে সম্পর্কযুক্ত করতে পারি তবে এটি প্রয়োগ করা শিখি। একটি নতুন সিনট্যাক্স বের করা সবেমাত্র পথে যায়।
আপনি যে কোনও ওওপি বই দিয়ে শুরু করতে পারেন। আবার, আমি আমার পছন্দের ভাষায় একটি পেতে পারি। রিফ্যাক্টরিং (ওওপি স্টাইল) সম্পর্কিত একটি বই পড়া আমাকে ওওপি প্রয়োগে সহায়তা করে helped আমি একটি বিদ্যমান প্রকল্প গ্রহণ করেছি (প্রয়োজনীয়তা সংগ্রহের থেকে কোনও বিঘ্ন নেই) এবং এটি উন্নত করার জন্য নতুন উপায় খুঁজে পেয়েছি। এটি কেবল ওওপি খাওয়ার জন্য ছিল না। তারপরে আপনি কীভাবে এটি শুরু করবেন তা কোনও নতুন প্রকল্পে শেষ করতে শিখতে পারেন। এখানে যুক্তিটি হ'ল আপনি সর্বদা শুরু থেকেই ঠিক পাবেন না। আপনি যদি এটি যথাযথ কোথায় তা সনাক্ত করতে পারেন তবে আপনি আরও ভাল থাকবেন। বেশিরভাগ জিনিসের মতো এটি প্রতিটি সমস্যার সমাধান করবে না।
কিছু ভাষার সাথে সুনির্দিষ্ট সীমাবদ্ধতা রয়েছে। যদি আপনার লক্ষ্যটি বহুগুণ উত্তরাধিকারের মালিক হতে হয়,। নেট আউট।
আমি এখানে প্রচলিত চিন্তার বিরুদ্ধে যাব এবং পরামর্শ দেব যে ওওপি ব্যবহারের সহজতম ভাষাগুলি এটি শেখার জন্য প্রয়োজনীয় ভাষা নয় necess আমি প্রথমে সি ++ এর সাথে ওওপি-র কাছে প্রকাশিত হয়েছিলাম, তবে পার্লের সাথে ওওপি-র ল্যারি ওয়াল-এর উট বইয়ের অধ্যায়টি পড়া পর্যন্ত আমি এটি "পাইনি"। কোনও কারণে ক্লাসে কোনও বস্তুকে স্পষ্টভাবে আশীর্বাদ না করা পর্যন্ত ক্লাস এবং অবজেক্টের মধ্যে পার্থক্য বুঝতে আমার সমস্যা হয়েছিল had GObject এর সাথে সি তে না করা পর্যন্ত আমি সত্যই OOP এর অন্তর্নিহিত বাস্তবায়ন বুঝতে পারি নি, যেখানে এই বিবরণগুলির কোনওটিই আপনার কাছ থেকে গোপন করা হয়নি। ভাষা-অজ্ঞাতবিদ্যার মতো কর্পোরেট ক্লাস না নেওয়া পর্যন্ত আমি সত্যিই সেরা অনুশীলনগুলি বুঝতে পারি নি। এটি একটি খুব বড় বিষয়,।