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