আমি এটি প্রাথমিকভাবে আমার ব্যবহৃত এসেম্বেলারদের ভিত্তি করে চলেছি - মূলত এমএএসএম, এনএএসএম এবং (কিছুটা কম) টিএএসএম। টিএএসএম এর পরবর্তী সংস্করণগুলির কয়েকটিতে ওওকে সমর্থন করার জন্য (রয়েছে?) কিছু বৈশিষ্ট্য ছিল, তবে আমি সেগুলি খুব বেশি ব্যবহার করি নি, এবং আমি তাদের বিষয়ে মন্তব্য করার চেষ্টা করছি না।
প্রথম: বেশিরভাগ ভাষা এমন কাঠামোর দিকে চলে গেছে যা কিছুটা গাছের মতো। অবজেক্ট অরিয়েন্টেড, বা অবজেক্ট-ভিত্তিক, বা ঠিক কী, কোনও সিস্টেমের বিভিন্ন অংশের মধ্যে সম্পর্ক সম্পর্কে কিছুটা সংজ্ঞায়িত হয়েছে। দুর্ঘটনাজনক "মধ্যস্থতা" থেকে অন্য একটি অংশের সিস্টেমের একটি অংশকে "সুরক্ষা" দেওয়ার জন্য বেশ কিছুটা রয়েছে তবে অন্যান্য অংশগুলি (যদিও আপনি চাইলে সুরক্ষাটি সাধারণত বাইপাস করা যায়)। বিপরীতে, সমাবেশ ভাষা তুলনামূলকভাবে "সমতল" - সিস্টেমের বিভিন্ন অংশের কোড (এবং ডেটা) এর বেশিরভাগ সম্পর্ক মূলত ডকুমেন্টেশন এবং কিছুটা নামকরণের কনভেনশন দ্বারা প্রতিষ্ঠিত হয়।
এর ফলাফলটি হ'ল আদর্শের তুলনায় কোডটি কোড করা আরও বেশি সহজ। যে প্রয়োজনীয়তাগুলি (উচ্চতর কার্য সম্পাদন, ছোট আকার ইত্যাদি) দিয়ে শুরু করার জন্য অ্যাসেম্বলি ভাষার পছন্দকে চালিত করে সেগুলি প্রায়শই এটিকে পুরস্কৃত করে - অনুমোদিত ইন্টারফেসগুলিকে বাইপাস করে এবং আপনি প্রায়শই ছোট এবং দ্রুত কোডগুলি পেতে পারেন (যদিও সাধারণত খুব বেশি কিছু হয় না) যে কোন মাত্রায় ভাল)। ভাষা এবং সরঞ্জামগুলি নিজেরাই আপনার (সত্তা বা খারাপ) সীমাবদ্ধ রাখতে খুব কম করে, যা সমস্যাগুলি রোধ করতে পরিচালকদের উপর অনেক বেশি বোঝা ফেলে। আমি এটি বলব না যে এটি গুণগতভাবে পৃথক, তবে পরিমাণগতভাবে এটি - অর্থাত্, সমস্যাগুলি যে কোনও উপায়ে রোধ করার জন্য পরিচালনাকে কাজ করতে হবে, তবে সমাবেশ ভাষার ক্ষেত্রে এটি সাধারণত কী (ইসন) বা আরও নয় সে সম্পর্কে আরও (এবং প্রায়শই কঠোর) দিকনির্দেশনা নেয় takes গ্রহণযোগ্য নয়
এটিকে প্রশমিত করা হ'ল মূলত আরও সতর্কতা নির্দেশিকা, আরও অভিজ্ঞ কর্মীদের আরও নির্দেশিকা এবং আরও সুনির্দিষ্টভাবে সাবধানতার সাথে নামকরণের সম্মেলন কার্যকর করা।
স্টাফিং একটি সমস্যা। আমি যে সমস্যার মুখোমুখি হয়েছি, যেখানে প্রাথমিকভাবে আমার প্রত্যাশা ছিল না। "ফাইটার জক" ব্যক্তিত্ব যারা বিধানসভা ভাষার কোডে ঝাঁপিয়ে পড়ে খুশি ছিলেন তাদের সাথে ছেলেদের সন্ধান করা মোটামুটি সহজ ছিল। সমাবেশ ভাষা ব্যবহারের ক্ষেত্রে প্রায় পুরো অভিজ্ঞতার অভাব সত্ত্বেও বেশিরভাগই যুক্তিসঙ্গত কাজ করেছিলেন did
আমি যে সমস্যার মুখোমুখি হয়েছিলাম তা হচ্ছিল আরও সিনিয়র কর্মী - এমন লোকেরা যারা প্রকল্পটি কমপক্ষে কিছুটা নিয়ন্ত্রণের আওতায় রাখতে পারেন, এবং কোডগুলি যুক্তিযুক্তভাবে রাখার জন্য প্রয়োজনীয় গাইডলাইন সরবরাহ করার জন্য (এবং মূলত প্রয়োগ করা) এমন ভাষাগুলির সাথে পুরোপুরি অভ্যস্ত ছিলেন না were বজায় রাখা এবং বোধগম্য।
পিছনে ফিরে তাকানো, আমি হতে পারি / যে সম্মানের মধ্যে বৃহত্তম সমস্যা হতে পারে। আমি আমার পক্ষ থেকে সমস্যার দুটি উত্স দেখতে পাচ্ছি। প্রথমত, আমি যে প্রকল্পটির কথা ভাবছি তার সময়কালে আমি প্রাথমিকভাবে উচ্চ স্তরের ভাষাগুলিতে বেশ কিছু সময়ের জন্য কোডিং করতাম এবং কেবল সমাবেশের ভাষা ব্যবহার করতামসর্বশেষ উপায় হিসাবে। যেমন, যখন আমি এটি ব্যবহার করি, পারফরম্যান্স অর্জনের প্রায় প্রতিটি সম্ভাব্য কৌশলটি কেবল ন্যায্য খেলা ছিল না, তবে প্রত্যাশিত। দ্বিতীয়ত, যখন আমি অ্যাসেম্বলি ভাষায় সম্পূর্ণ (বা প্রাথমিকভাবে) রচিত কয়েকটি সিস্টেমে কাজ করেছি, তখন এটি কিছু লোহার-মুষ্টিত প্রকল্প পরিচালকদের অধীনে ছিল। সেই সময় আমি তুলনামূলকভাবে তরুণ ছিলাম এবং তারা যেভাবে জিনিস চালাতে চাইবে তাতে খুব স্পষ্টভাবে বিরক্তি প্রকাশ করেছিল, তাই বিপরীতে কাজ করার ঝোঁক। পূর্ববর্তী ক্ষেত্রে, তারা আসলে কী করছিল তা গুরুত্বপূর্ণ ছিল এবং তারা বৃদ্ধ এবং অবিচ্ছিন্ন হওয়ার কারণে করা হয়নি (যা আমি নিশ্চিত যে সেসময় আমি কীভাবে জিনিসগুলি দেখেছি)।