আমি পার্লকে সবচেয়ে ভাল জানি, তাই আমি এটি গ্রহণ করব।
পার্ল অনেক ধারণা চেষ্টা করে। কিছু ভাল ছিল। কিছু খারাপ ছিল। কিছুগুলি আসল ছিল এবং ভাল কারণে অনুলিপি করা হয়নি।
একটি প্রসঙ্গে ধারণা - প্রতিটি ফাংশন কল তালিকা বা স্কেলারের প্রসঙ্গে হয় এবং প্রতিটি প্রসঙ্গে সম্পূর্ণ ভিন্ন জিনিস করতে পারে। যেমনটি আমি http://use.perl.org/~btilly/jorter/36756 এ দেখিয়েছি এটি প্রতিটি এপিআই জটিল করে তোলে এবং প্রায়শই পার্ল কোডে সূক্ষ্ম নকশার সমস্যা নিয়ে আসে।
পরেরটি সিন্ট্যাক্স এবং ডেটা টাইপগুলি পুরোপুরি বেঁধে রাখার ধারণা। এটি টাইয়ের উদ্ভাবনে নেতৃত্ব দেয় যাতে অন্য ডেটা ধরণের হিসাবে বস্তুগুলিকে মাস্ক্রেড করতে দেওয়া হয়। (আপনি ওভারলোড ব্যবহার করে একই প্রভাব অর্জন করতে পারেন তবে পার্লের ক্ষেত্রে টাই আরও সাধারণ পদ্ধতি approach
অনেকগুলি ভাষায় করা অন্য একটি সাধারণ ভুল হ'ল শব্দাবলীর পরিবর্তে গতিশীল স্কোপিং অফার দিয়ে শুরু করা। এই নকশার সিদ্ধান্তটি পরে আবার ফিরিয়ে নেওয়া শক্ত এবং দীর্ঘস্থায়ী ওয়ার্সের দিকে নিয়ে যায়। পার্লের এই ওয়ার্টগুলির ক্লাসিক বর্ণনাটি হ'ল http://perl.plover.com/FAQs/Namespaces.html । লক্ষ্য করুন যে পার্ল our
ভেরিয়েবল এবং static
ভেরিয়েবল যুক্ত করার আগে এটি লেখা হয়েছিল ।
স্থির বনাম গতিশীল টাইপিংয়ের বিষয়ে লোকেরা বৈধভাবে একমত নয়। আমি ব্যক্তিগতভাবে গতিশীল টাইপিং পছন্দ করি। তবে টাইপগুলি ধরা পড়ার জন্য পর্যাপ্ত কাঠামো থাকা গুরুত্বপূর্ণ। পার্ল 5 কঠোরতার সাথে এটির একটি ভাল কাজ করে। কিন্তু পার্ল 1-4 এই ভুল পেয়েছে। অন্যান্য বেশ কয়েকটি ভাষায় লিন্ট চেকার রয়েছে যা একই কাজটি কঠোর হিসাবে করে। যতক্ষণ আপনি লিন্ট চেকিং কার্যকর করার বিষয়ে ভাল, ততক্ষণ তা গ্রহণযোগ্য।
আপনি যদি আরও খারাপ ধারণা খুঁজছেন (সেগুলির মধ্যে অনেকগুলি), পিএইচপি শিখুন এবং এর ইতিহাস অধ্যয়ন করুন। আমার প্রিয় অতীত ভুল (অনেক আগেই ঠিক করা হয়েছে কারণ এটি এতগুলি সুরক্ষা গর্তকে সরিয়ে দেয়) ফর্মের পরামিতিগুলিতে পাস করে যে কাউকে যে কোনও পরিবর্তনশীল সেট করার অনুমতি দেওয়ার জন্য ডিফল্ট ছিল। তবে এটি একমাত্র ভুল থেকে দূরে।