আমি দৃ strongly়ভাবে পরামর্শ দিচ্ছি যে আপনি নিজের লক্ষ্য নিয়ে পুনর্বিবেচনা করুন এবং এর কারণ এখানে:
আমি বিবিসি মাইক্রোকম্পিউটারে প্রথম 6502 বিধানসভা ভাষা শিখি (মডেল বি, 32 কে)। এটিতে একটি দুর্দান্ত বেসিক বাস্তবায়ন ছিল যাতে ম্যাক্রো এসেম্বেলারকে অন্তর্ভুক্ত করা হয়েছিল। আমাদের স্কুলে ছিল তাই আমি সমস্ত ধরণের দুষ্কৃতী প্রোগ্রাম লিখেছিলাম যা প্রতিটি স্ক্রিন জুড়ে লেমিং ওয়াক করতে সরাসরি স্ক্রিন বাফার ম্যানিপুলেশন এর মতো কাজ করতে পারে, ঘরের আশেপাশে (তারা নেটওয়ার্ক ছিল) যদি মেশিনগুলি 10 মিনিটের জন্য ব্যবহার না করা হত had । এটি আমার বছরের 7 বন্ধুদের মধ্যে গিগল ফিট করে।
আমি যখন ঘরে বসে কমোডোর 64৪ পেয়েছিলাম তখন আমি জানতে পারি এর একটি 10৫১০ সিপিইউ রয়েছে যা 50 assembly০২ টি সমাবেশের ভাষাও চালিয়েছিল তবে কিছু আকর্ষণীয় অতিরিক্ত রয়েছে। আমাকে একটি এসেম্বলার কিনতে হয়েছিল (একটি কার্তুজে এসেছিল) ) এবং বেসিকের মাধ্যমে প্রোগ্রামগুলি শুরু করতে হয়েছিল। সর্বাধিক বিক্রিত গেমটি লেখার দুর্দান্ত দর্শন সহ, আমি অবশেষে বেশ কয়েকটি ডেমো তৈরি করতে সক্ষম হয়েছি যা বিড়ো-পাকানো ভিডিও ডিসপ্লে হার্ডওয়্যারকে বাজানোতে মজাদার চিপ সংগীতের সাথে অ্যানিমেটেড আকর্ষণীয় কালার বার এফেক্ট করতে বাধা দেয় reg চিত্তাকর্ষক, কিন্তু দরকারী নয়।
তারপরে আমি একটি এ্যাকর্ন আর্কিমিডিস এ 310 পেয়েছিলাম যার একটি এআরএম 2 সিপিইউ ছিল তাই আমি বিবিসি মাইক্রো (একই heritageতিহ্য) হিসাবে অন্তর্নির্মিত ম্যাক্রো এসেমব্লারারের সাথে একই অসাধারণ বেসিক বাস্তবায়নটি ব্যবহার করেছি। আমি বেশ কয়েকটি গেম একসাথে পরিচালনা করতে পেরেছি যার জন্য একজন আর্টি বন্ধু গ্রাফিক্স সরবরাহ করেছিল, সাথে সাথে কিছু সাইনোসয়েড-ভিত্তিক ট্রিপ্পি ডেমো। এই দুটিই প্রোগ্রামের জন্য কঠোর পরিশ্রম ছিল এবং খারাপ কোডটি মেশিনটি (দুর্ঘটনাক্রমে ট্রিপ হার্ডওয়্যার রিসেট রেজিস্টার ইত্যাদি) নামিয়ে ফেলতে পারে, যদি আমি সংরক্ষণ না করে (ফ্লপি!) সবকিছু হারিয়ে ফেলে।
বিশ্ববিদ্যালয়ে আমার সি ++ এর সাথে পরিচয় হয়েছিল এবং এভাবে সি। আমি এটি সান / সোলারিস এবং আরও কয়েকটি বড় মেইনফ্রেম কম্পিউটার প্রোগ্রাম করতে ব্যবহার করতে সক্ষম হয়েছি। এই মেশিনগুলি সিপিইউয়ের আর্কিটেকচারগুলি কীভাবে চালিত হয়েছিল সে সম্পর্কে আমার কোনও ধারণা নেই - সি ++ সরঞ্জামগুলি পেশাদার অ্যাপ্লিকেশনগুলি উত্পাদন করার জন্য আমার প্রয়োজনীয় শক্তি দেয় বলে আমার কখনই এসেম্বলার ব্যবহার বা মেশিন কোড পড়ার দরকার পড়েনি।
ইউনির পরে আমি উইন্ডোজ এবং ইউনিক্সের বেশ কয়েকটি স্বাদে কাজ করেছি। সি এবং সি ++ এই সমস্ত মেশিনে কাজ করেছে এবং শেষ পর্যন্ত জাভাও তা করেছে।
আমি তখন ডিবাগিংয়ের জন্য ডাইরেক্টএক্সের সাথে ডাইরেক্টএক্সের সাথে সি ++ ব্যবহার করে উইন্ডোজ এবং ড্রিমকাস্টে কাজ করেছি।
আমি তখন স্মার্ট টিভির জন্য এআরএম-ভিত্তিক চিপসেটের সাথে কাজ করি (2000 সালে)। যদিও এআরএম 2 নিয়ে আমার অভিজ্ঞতা এখানে প্রাসঙ্গিক হতে পারে তবে কাজটি সি ভিত্তিক ছিল। আমি দেখতে পেয়েছি যে আর্কিমিডিসে আমি যে হার্ডওয়ারগুলি করেছি তা দিয়ে সিটিতে সোজা বিট-টুইডলিং ক্রিয়াকলাপগুলি ব্যবহার করে সিও করা যেতে পারে। আমার ভূমিকার অংশটি হ'ল কোড বেসটি উইন্ডোজ, প্লেস্টেশন 2, লিনাক্স, অন্যান্য টিভি এবং মোবাইল চিপসেটে স্থানান্তরিত করা। অন্তর্নিহিত মেশিনে লেখার জন্য এই সমস্ত প্ল্যাটফর্মগুলি একটি সি কম্পাইলার (প্রায়শই জিসিসি) এবং কিছু স্তরের এপিআইয়ের সাথে উপলব্ধ ছিল - এম্বেডড ওয়ার্ল্ডটি খুব কমই কার্নেল ও / এস হয়। বুট লোডার এবং মিনি-বিআইওএস লেখার বাইরে কোনও নির্দিষ্ট প্ল্যাটফর্মের জন্য আমার পুরো মেশিন কোডটি জানার দরকার ছিল না, উভয়ই প্রথম উপলব্ধ সুযোগে সি কোডে ঝাঁপিয়ে পড়েছিল (ট্র্যাপ ভেক্টর স্থাপনের পরে,
পরবর্তী কাজটি উইন্ডোজে সি ++, সি # এবং জাভাস্ক্রিপ্ট নিয়ে কাজ করছিল। কোনও মেশিনের কোড নেই।
বর্তমান কাজটি বিভিন্ন প্ল্যাটফর্মগুলিতে সি ++, জাভাস্ক্রিপ্ট, পাইথন, এলইউএ, এইচটিএমএল এবং অন্যান্য ভাষার সাথে কাজ করছে। এই প্ল্যাটফর্মগুলি কী মেশিন কোড চালায় সে সম্পর্কে আমার কোনও ধারণা নেই, না আমার জানার দরকার নেই - সংকলকটি আমাদের কোডটি যা প্রয়োজন তা অনুবাদ করে। যদি এটি ক্রাশ হয় তবে আমি একটি ডিবাগারে বা রানটাইম ডায়াগনস্টিক্সের (ব্যতিক্রম, সংকেত ইত্যাদি) ত্রুটিটি ধরা করি।
মজা করার জন্য, আমি ঘরে বসে অল্প অতিরিক্ত সময়ে আইওএস অ্যাপ্লিকেশনগুলি বিকাশ করি। এটি অবজেক্টিভ-সি এবং একটি এপিআই ব্যবহার করে যা একাধিক চিপসেট জুড়ে কাজ করে। স্পষ্টতই তারা আর্ম-ভিত্তিক, তবে আমার বিকাশে কোনও মেশিন কোড আমি কখনও দেখিনি।
যদিও এটি 'সমাবেশের ভাষা শেখার জন্য একটি আকর্ষণীয় অনুশীলন, এখন অনেক উচ্চ-স্তরের সরঞ্জাম এবং ভাষা রয়েছে যা আপনাকে ক্রমবর্ধমান (বা দুটি) আরও উত্পাদনশীল হতে দেয়।
জাভাস্ক্রিপ্ট, জাভা, সি #, সি ++ বা ওবিজিসির মতো কিছু তুলনায় একটি আশ্চর্যজনক সংসদীয় ভাষা / মেশিন কোড প্রোগ্রামারকে উপলভ্য কাজের সুযোগগুলি সংক্ষিপ্ত।
আমি আপনাকে প্রধান লক্ষ্য না করে এটিকে শখ / পার্শ্ব-আগ্রহ তৈরি করার পরামর্শ দিচ্ছি।