পিএইচপি কীভাবে অবজেক্ট ওরিয়েন্টেড? [বন্ধ]


13

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

আমরা পিএইচপি কীভাবে ওওপি পরিচালনা করে তা নিয়ে কথা বললাম। আমি বলেছিলাম যে পিএইচপি পিএইচপি 5.2 বা 5.3 হিসাবে প্রায় প্রতিটি ওওপি স্টাফ পরিচালনা করতে পারে। আমি কি ভূল? আমি হ্যাঁ / কোন উত্তর পাওয়ার চেষ্টা করছি না, তবে আমি বিকাশকারীদের কাছ থেকে আরও মতামত শুনতে চাই।



12
ভাষাগুলি খারাপ নয়, প্রোগ্রামাররা হলেন

@ জারোদ রবারসন: ভাষাগুলি সহজাত, কীভাবে? যদি তা হয় তবে দয়া করে এই দাবিটি সমর্থন করে গবেষণাটি উল্লেখ করুন, যেহেতু আমি এটি পড়তে আগ্রহী।
ভুল

4
@ জারোদ, এখানে কিছু আইনত খারাপ ভাষা রয়েছে, বিশেষত যখন সেগুলি তাদের প্রাথমিক সংস্করণগুলিতে থাকে। অ্যাকশ্রিপ্ট, জাভাস্ক্রিপ্ট, জাভা এবং পিএইচপি এর প্রাথমিক সংস্করণগুলি মনে আসে।
জর্দান

2
@ জারোডরোবারসন, তাই পিএইচপি
ডিজাইনকারী

উত্তর:


34

পিএইচপি 5.3 আসলে ওওপি জন্য যথেষ্ট শালীন সমর্থন আছে।

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

যদিও আজকাল পিএইচপি বেশিরভাগ ক্ষেত্রে ওওপির জন্য উপযুক্ত তবে সমস্যাটি হ'ল:

  1. কোড বেসের বিস্তৃত অংশ (লাইব্রেরি, ফ্রেমওয়ার্ক, কাস্টম কোড) পিএইচপি 5.3-এ লিখিত নেই
  2. এপিআইয়ের সিংহভাগ প্রক্রিয়াগত। arrayএখনও সবচেয়ে গুরুত্বপূর্ণ এবং সর্বাধিক ব্যবহৃত টাইপ এবং এটি কোনও বস্তু নয়।
  3. পিএইচপি প্রোগ্রামারদের সিংহভাগই কেবল প্রত্যাশিত ভবিষ্যতে পদ্ধতিগত স্টাইলের সাথে লেগে থাকবে। পিএইচপি ওওপি প্রচার করে না , যেমন উদ্দেশ্য-সি-এর বিপরীতে: উদ্দেশ্য-সি এর সম্পূর্ণ উপসেট হিসাবে সি রয়েছে এবং এর মাধ্যমে এটি তার শুদ্ধতম ফর্মগুলির মধ্যে একটিতে প্রসেসরাল প্রোগ্রামিংয়ের অনুমতি দেয় তবে এটি স্পষ্টতই ওওপি-র ব্যবহারের পক্ষে।

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

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

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


4
কৌতূহলের বাইরে, আপনি কেন জাভাটিকে খারাপ ওওপি বলে মনে করেন?
dkuntz2

2
আহেম .. আমি আপনার উত্তরটি অ্যাকশনস্ক্রিপ্ট 3-এ সুনির্দিষ্ট হতে আপডেট করতে পারি । তার আগে, অ্যাকশনসক্রিপ্টটি ওও হিসাবে নির্মিত হয়নি (ইসিএমএ ভিত্তিক হচ্ছে) এবং অ্যাকশনসক্রিপট 2 এএসএর জন্য কেবল একটি মোড়ক ছিল।
ডেমিয়ান ব্রেচেট

1
আমি তোমাদের কেন জাভা একটি খারাপ গলি ভাষা এছাড়াও কৌতুহলী
starcorn

2
@ ডেমিয়ান ব্রেচট: ডগলাস ক্রকফোর্ড মনে করছেন জাভাস্ক্রিপ্ট তুলনামূলকভাবে দৃ convinced়প্রতিজ্ঞ (যার মাধ্যমে কোনও ইসিএমএ-স্ক্রিপ্ট) ওও: javascript.crockford.com/javascript.html
back2dos

2
পার্থক্য যা এটির পরিমাণ ভাল: পিএইচপি হ'ল অবজেক্ট-সক্ষম , বস্তু-ভিত্তিক নয় ted
ভের্টেক

11

আপনি দেখতে পাবেন যে "সমর্থন করতে পারে " " সমর্থন করতে পারে " এর মতো নয় । আমি বলতে চাইছি নীট কৌতূহল বজায় রেখে, এমনকি সি আপনার কোডটি সঠিকভাবে গঠন করলে OOP পরিচালনা করতে পারে । প্রশ্নটি এই যে ভাষাটি কেবল ওওপিটিকে প্রোগ্রামের সবচেয়ে প্রাকৃতিক উপায়ে তৈরি করে ওওপিকে উত্সাহিত করার ক্ষেত্রে উত্সাহিত করার বাইরে চলে যায় কিনা ।

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


12
ম্যান, আমি প্রায় যুগে যুগে চলতে পারি, মুন। এখানে এটি ব্যর্থ হয় কোডের একটি টুকরো আছে: $e = function_that_returns_an_array()[0];। এখানে আপনি এটি ঠিক করার কি আছে কি আছে: $a = function_that_returns_an_array(); $e = $a[0];। যে ভাষাগুলির সিনট্যাক্স আপনাকে ফাংশন কলের ফলাফল সরাসরি ব্যবহার করতে দেয় না তা আমাকে টিক দেয়। এছাড়াও, আমাকে বল কি নিম্নলিখিত সংখ্যা দশমিক রয়েছে: 0246875। (ইঙ্গিত: আপনি যে লেক্সারটি কার্যকর করার জন্য কোনও গভীর উপায় খুঁজে পেতে সক্ষম হবেন না!) পিএইচপি কেবল এই ধরণের বোকামির সাথে পূর্ণ।
আমার সঠিক মতামতটি প্রকাশ করুন

6
@ মুন আপনার জন্য এখানে কিছু পাঠ্য রইল : সফটওয়্যারবাশিং.আর / ব্লগ / ২০০৯ / ০৯ / পিএইচপি- সমাপ্তি- সাক এবং টমমরিস.আর / উইকি / পিএইচপি ৯০২০ সফল কিছু গুরুতর সমস্যা রয়েছে, তবে এটির বেশিরভাগই কেবল অল্প কিছু অবচয়। পিএইচপি সম্পর্কে আমি যা ঘৃণা করি তা হ'ল সংস্কৃতি, এটি রুবি এবং পাইথনের বিকল্পগুলির মতো পেশাদার বা একাডেমিক নয়। বিকল্পগুলি আরও ভাল এবং তারা সেরা প্রোগ্রামারদের আকর্ষণ করে। উদাহরণস্বরূপ রুবি এবং অজগর উভয়ের ইন্টারেক্টিভ শেল, শালীন কার্যকরী বৈশিষ্ট্য এবং পরিষ্কার বাক্য গঠন রয়েছে। এগুলি ব্যবহার করতে আরও মজাদার। শেয়ার্ড ওয়েব হোস্টিংয়ে মার্কেট শেয়ারের পাশাপাশি পিএইচপি কেন ব্যবহার করবেন?
কিয়ো

8
"এখানে দুটি ধরণের ভাষা রয়েছে: যেগুলি লোকেরা অভিযোগ করে এবং যেগুলি কেউ ব্যবহার করে না।" বাজনে স্ট্রস্ট্রপ। ধ্যান করুন।
সিলভারড্রাগ

4
@ জাস্ট, ধন্যবাদ তারা 5.4 এ অ্যারে ডি रेফারিংয়ের সমস্যাটি ঠিক করেছেন
চার্লস

5
স্ট্রাস্ট্রাপটি কেবল এইভাবেই অনুভূত হয়েছে যে লোকেরা যে ভাষাগুলির মধ্য দিয়ে ঝাঁকুনি দেয় সেগুলির মধ্যে সি ++ অন্যতম।
আমার সঠিক মতামত

8

কোনও ভাষার অবজেক্ট অরিয়েন্টেডনেসের সত্যিকারের দুটি সংজ্ঞা রয়েছে: সিন্ট্যাক্স এবং স্ট্যান্ডার্ড লাইব্রেরিতে কীভাবে অবজেক্ট অরিয়েন্টেড তার নিজস্ব নির্মিত এবং সফ্টওয়্যার প্রোগ্রামাররা এর জন্য এটি লেখার কী প্রভাব ফেলে।

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

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

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

যখন আমার স্ত্রী জাভা সহ প্রোগ্রামিং ক্লাসে একটি পরিচিতি নিয়েছিলেন, তিনি ক্রমাগত হতাশ হয়ে পড়েছিলেন public static void mainএবং সমস্ত কিছু একটি ক্লাসে রেখেছিলেন, যা তার এখনও পটভূমি বুঝতে পারে নি, তবে কেবলমাত্র তার শিক্ষকের দ্বারা বিশ্বাস করা হয়েছিল যে তার এটির প্রয়োজনীয়তা রয়েছে। আমি এটি ব্যাখ্যা করার চেষ্টা করেছি, তবে কোডের অন্যান্য অংশগুলিকে অ্যাক্সেস করা থেকে কেন এটি কার্যকর হবে এবং কীভাবে এটি বিভক্ত করবেন কীভাবে কীভাবে সিদ্ধান্ত নেবেন সে সম্পর্কে ভেরিয়েবল সম্পর্কে সবেমাত্র শিখেছেন এমন কাউকে ব্যাখ্যা করা খুব কঠিন। আপনি তর্ক করতে পারেন যে পদ্ধতিগত প্রোগ্রামিং শিখলে প্রথমে খারাপ অভ্যাস তৈরি হয় তবে আপনি কী কোডটি অনুলিপি এবং প্যাস্ট করার অভ্যাসটি সম্পর্কে কী করবেন?


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

5

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

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


4

পিএইচপি শ্রেণীবদ্ধ

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

সংকলিত ভাষা

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

এন্টারপ্রাইজ সফটওয়্যার

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

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

সফ্টওয়্যার ডিজাইন (আর্কিটেকচার আলোচনা করা হয়েছে)

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

Multithreading

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

সমর্থন এবং মান

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

উপসংহার

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

সম্পর্কিত চিন্তা

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

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

এমন কিছু গুজবও রয়েছে যেমন পিএইচপি প্রিটি ভয়াবহ প্রোগ্রামিংকে বোঝায় । আমি এগুলি নিশ্চিত করতে পারি


3

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


2

পিএইচপি বৈশিষ্ট্য সমর্থন ! (5.4 শুরু) । যে কোনও ভাষা যে অনুভূমিক পুনঃব্যবহারের স্থানীয়ভাবে পরিচালনা করতে পারে তা আমার বইয়ের যথেষ্ট ভাল ওও ভাষা।


1

ঠিক আছে আমাদের কী ভাবতে হবে কোনটি ভাষা আরও ওও করে তোলে এবং এর কারণগুলি কী কারণে এটি এরকম হয়েছিল।

জাভাস্ক্রিপ্ট যা যেমন ব্রাউজার environement চালানোর জন্য অভিপ্রেত নাম ECMAScript একটি বাস্তবায়ন ব্যাখ্যা ভাষা । এটিকে ব্যাখ্যা করা ভাষা বলে মনে করা হয় যে এর সিনট্যাক্টিকাল / আচরণগত নকশায় খুব বড় প্রভাব ফেলেছিল।

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

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

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

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

তবে আমাদের এটি ভুলে যাবেন না যে ওও খুব বিমূর্ত ধারণা এটি কোনও সিনট্যাক্স শৈলীর সাথে আবদ্ধ নয় এমনকি কোনও নির্দিষ্ট বেহ্যাভায়রাল সম্পত্তিতেও নয় not

এবং পিএইচপি খুব ভাল ওও। কেবল জাভা, সি ++ এর মতো সন্ধান করা এবং অনুভব করা না, সি # এটিকে ওও ভাষা দুর্বল করে না। ঠিক আছে আমি সি ++ তারপর জাভা এবং তারপরে সি # শিখেছি।

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

আমাদের সত্যিই যা করতে হবে তা হল ওও বাস্তবায়ন করার সময় কোনও ভাষার বাক্য গঠন এবং আচরণের সূক্ষ্মতাগুলি শিখতে হয়। আমরা তাদেরকে দক্ষ করে তোলার পরে আমরা ভাবতে শুরু করব যে এটি ওও বাস্তবায়নের চেয়ে ভাল।

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