জাভা বা সি ++ বিশ্ববিদ্যালয়ের সিএস কোর্সের জন্য?


11

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

আপনি এখন কী জানেন তা জানা, যদি আপনার পছন্দ হয় তবে আপনি জাভা বা সি ++ তে আপনার সিএস পাঠ্যক্রমের ভিত্তি স্থাপন করবেন?

আমার বর্তমান বিতর্কটি বর্তমানে এটির মতো দেখাচ্ছে:

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

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

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

অথবা আমি এটি সম্পর্কে খুব কঠিন চিন্তা করতে পারে।

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


1
একাডেমিক গবেষণার পরিবেশের প্রত্যেকে এখনই জাভা টিউটিং করছে। এছাড়াও, ভাষা নির্বিশেষে আপনার কীভাবে নতুন ভাষা শেখার বিশ্ববিদ্যালয় থেকে শিখতে হবে। সি ++ জাভা যেমন রয়েছে তবুও তারা 5 বছরের মধ্যে থাকবে না এমন দৃser়তা নেই। নতুন ভাষা / প্রযুক্তি সর্বদা আসে তাই আপনাকে সেগুলি গ্রহণ করার জন্য এবং প্রস্তুত হয়ে ওঠার জন্য প্রস্তুত হওয়া দরকার।
ক্রিস

1
@ ক্রিস: এ কারণেই আমার সুপারিশটি হ'ল এখনকার জনপ্রিয় জিনিসের পরিবর্তে এমন কিছু শিখতে হবে যা আরও শেখার সুবিধার্থে করে। আমি জাভা পরিবর্তে সি ++ বা পাইথনকে প্রস্তাব দেব (স্পষ্টতই বিভিন্ন কারণে) for
ডেভিড থর্নলি

এটি সেই ভাষা নয়। এটি বিমূর্ত ধারণা। ধারণাটি সঠিকভাবে পান, যাতে তার জীবনের পরে শিক্ষার্থীরা খুব সহজেই কিছু শিখতে পারে।
J-16 SDiZ

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

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

উত্তর:


51

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

জাভা ইকো-সিস্টেম সম্পর্কে সত্যই কঠিন বিষয় হ'ল এটি বিশাল আকারের ফ্রেমওয়ার্ক, গ্রন্থাগার ইত্যাদি - তারা এগুলি যে কোনওভাবে বিশ্ববিদ্যালয়ে আবদ্ধ করার সম্ভাবনা নেই।

দিন শেষে এটা কোন ব্যাপার চালু হচ্ছে না যে , অনেক কি আপনার পছন্দের ভাষা যতদিন হিসাবে আপনি নীতিগুলো শিখতে।

আমার JUG সি ++ ;-) সমর্থন করার জন্য আমাকে হত্যা করতে চলেছে


1
জাভা ইকো সিস্টেমের আকার এবং উত্তরণের ব্যাখ্যা সম্পর্কে দুর্দান্ত পয়েন্টের জন্য +1।
জেস

1
একটি বিশ্ববিদ্যালয়ে বড় ইকো-সিস্টেম শিখতে সমস্যা হ'ল এটি আপনার পেশাদার ক্যারিয়ার জুড়ে কার্যকর হবে না। আপনি কম লাইব্রেরি এবং ধারণা শিখতে বা প্রকৃত ভাষার বৈশিষ্ট্যগুলির সাথে পরিচিত হওয়ার চেয়ে আরও ভাল।
ডেভিড থর্নলি

2
সি ++ এর জন্য আরও একটি জাম্প-অফ হ'ল আপনি তারপরে .NET ফ্রেমওয়ার্কে সি ++ পরিচালনা করতে পারবেন, আপনাকে সেই রানটাইমের সি #, এফ # এবং অন্য কোনও ভাষা শেখার ক্ষেত্রে নেতৃত্ব প্রদান করবে। জাভাতেও জেভিএম, এবং স্কালার মতো ভাষাতে দুর্দান্ত লিড-ইন রয়েছে তবে আমি জানি এমন কোন জেভিএম সি ++ নেই।
কোডেক্সআর্কানিয়াম

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

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

18

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

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

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


সম্মত, আমি ইতিবাচক যে আপনি যদি ইতিমধ্যে জাভা সম্পর্কে দক্ষ হন তবে সি ++ শেখার চেয়ে জাভা শেখা অনেক সহজ, সি ++ শেখার চেয়ে অনেক সহজ।
কারসন 63000

"সি ++ এর সাথে যুক্তিসঙ্গতভাবে দক্ষ হয়ে ওঠার সমস্যাটি হ'ল এটি কয়েক বছর সময় নেবে এবং আপনি এখনও কেবল ওওপির একটি ক্ষুদ্র উপসেট শিখবেন।
হেনরি

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

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

9

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

কারণটি হ'ল: প্রতিভাধরদের বাদ দিয়ে বেশিরভাগ শিক্ষার্থীরা মডিউলার প্রোগ্রামিং না বুঝে অবজেক্ট অরিয়েন্টেশনকে (এবং সম্ভবত সম্ভবত কখনই করতে পারে না) বুঝতে পারে। এবং তারা পদ্ধতিগত ভাষায় কাঠামোগত প্রোগ্রামিংটি প্রথমে না বুঝে মডিউলার প্রোগ্রামিং বুঝতে পারে না। সোজা এবং সরল. এর (অন্যান্য জিনিসের মধ্যে) টেস্টামেন্টটি হ'ল আমরা এখন ৪-৪ দশক ধরে ওও জানি, লোকেরা এখনও অনুশীলনে হাইপার-স্প্যাগেটি লেখেন।

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

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

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

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

আপনাকে সেই সমস্ত স্টাফ জানতে হবে যাতে আপনি বাণিজ্যিকভাবে বা সরকারী খাতের জন্য, বড় আকারের এবং ছোট উভয় ক্ষেত্রেই এন্টারপ্রাইজে বা খুব নিম্ন স্তরের প্রয়োগকারী সিস্টেম-স্তরের স্টাফগুলিতে কাজ করতে সক্ষম একটি সু-বৃত্তাকার কম্পিউটার বিজ্ঞানী হয়ে উঠুন স্কেল.

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

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

আমি আপনাকে "জাভা স্কুল" এর উপর জোল স্পলস্কির টুকরো পড়ার পরামর্শ দেব।

http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html

সংক্ষেপে, যদি তারা আপনাকে পদ্ধতিগত প্রোগ্রামিং ভাষা না শেখায় (এটি সি বা অ্যাডা জাতীয় যেমন শিল্পী বা পাসকালের মতো শিক্ষার পক্ষে যথেষ্ট ভাল) এবং তারা আপনাকে সি ++ (যদি আপনি ভাগ্যবান) বা জাভা / সি # প্রদান করেন (আপনি যদি দুর্ভাগ্য হন), আমি অন্য একটি স্কুলের সন্ধান করব। সরল এবং সরল, এমন এক ব্যক্তির কাছ থেকে যা জাভা ব্যবহার করে বেশ কিছু সময়ের জন্য আসল বিশ্বে বাঁচার জন্য ব্যবহার করে আসছে।


কেউ ++, জানে জাভা, C ও C চমত্কার এবং যারা স্নাতক করা হয়নি থেকে খুব অনেক আগে, আমি অসম্মতি আছে যাচ্ছি। সি (বা সি ++) ভিএস জাভা - জাভা হল 'সহজ'। যদি আমি সি ++ দিয়ে শুরু করি (যা আমি মনে করি বিটিডব্লিউটি দুর্দান্ত (তবে সহজ নয়) বিটিডাব্লু (এর পরিবর্তে (ডেল্ফি (ইভি) +) জাভা)) এটি সম্পূর্ণভাবে সম্ভব যে আমি ডেমোটিভেটেড হয়ে গেছি, ছেড়ে দিয়েছি এবং প্রোগ্রামার হয়ে উঠছি না (যদিও আমাদের সবেমাত্র খারাপ সি ++ শিক্ষক ছিল)। তবে হ্যাঁ, জাভাটির ইন্টার্নালগুলি বুঝতে সি ++ শিখতে একেবারে অমূল্য ছিল। এবং আমি অনুমান করব যে আজকাল প্রায় 95% প্রোগ্রামার "আসলেই হার্ডওয়ারের কাছে আসবে না"।
ডিউক্লিং

" সি (বা সি ++) ভিএস জাভা - জাভা হ'ল 'সহজ' '- ভাল, এটি একটি সুপরিচিত। আমি নিশ্চিত যে এটি আমার পোস্টের সাথে কী করবে, যদিও (?????)
luis.espinal

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

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

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

4

আমি মনে করি আপনার ব্যক্তিত্বের উপর অনেক কিছু নির্ভর করে। কমপক্ষে আমার দৃষ্টিকোণ থেকে, জাভা এবং সি ++ এর মূলত বিভিন্ন ধরণের দৃষ্টিভঙ্গি রয়েছে যা বিভিন্ন ধরণের লোকেদের কাছে আবেদন করে।

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

সি ++ প্রাক লিখিত কোড সরবরাহের উপর অনেক কম জোর দেয়। এটিতে একটি লাইব্রেরি অন্তর্ভুক্ত রয়েছে (এসটিএল 1 ), সেই লাইব্রেরিতে কোডটি অন্তর্ভুক্ত নয় যা শৈলী এবং নীতিগুলির সেট সম্পর্কে অন্তর্ভুক্ত রয়েছে about "এসটিএল" কোড হিসাবে স্বচ্ছ এবং সহজেই স্বীকৃত এমন কোড লেখা সম্পূর্ণভাবে সম্ভব, যদিও এটি প্রাক-লিখিত কোডের সামান্য বা এমনকি কোনওটিই ব্যবহার করে না।

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

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

জাভা শিখতে সহজ হওয়ার উপর আরও বেশি জোর দেয়। সি ++ আরও সহজে জোর দেওয়ার জন্য আরও বেশি জোর দেয় - তবে (দুর্ভাগ্যক্রমে) কেবল যদি আপনি সত্যিই জানেন যে আপনি কী করছেন।

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

1 হ্যাঁ, আমি জানি এটি সত্যই সঠিক নয়, তবে আমি এটিকে কোনও বইতে পরিণত করা থেকে বিরত রাখার চেষ্টা করছি ...


3

আমি বিশ্বাস করতে পারি না লোকেরা প্রথম ভাষা হিসাবে সি ++ এর পক্ষে পরামর্শ দিচ্ছে! আপনি আপনার বেশিরভাগ সময় বয়লার প্লেট লেখার জন্য এবং প্রোগ্রামটি শেখার চেয়ে ভাষাতে সীমাবদ্ধতা এবং ফিশ হুকগুলি সন্ধান করার জন্য ব্যয় করবেন।

জাভা একটি খুব সহজ ভাষা এবং আপনার শেখার পথে পাবে না।

আপনার যদি অবশ্যই সি ++ শিখতে পারেন, জাভা সহ ধারণাটি শিখুন এবং তারপরে সি ++ এ যান বা আরও ভাল, আপনি যদি ম্যাক সফ্টওয়্যার লিখতে চান তবে ওবিজে-সিতে যান। জাভা এবং ওবিজে-সি খুব আলাদা নয়।

এফওয়াইআই আমি বাণিজ্যিক সি ++ বিকাশকারী হিসাবে 10 বছর অতিবাহিত করেছি।


এটি আমার প্রথম ভাষা হবে না। আমি একজন প্রোগ্রামার এখন স্কুলে ফিরে আসছি আসলে একটি ডিগ্রি পাওয়ার জন্য। সি ++ এবং জাভা সম্পর্কিত আমার অভিজ্ঞতা সীমাবদ্ধ তবে সি এবং অবজেক্টিভ-সি নিয়ে আমার অভিজ্ঞতা আছে। তবে উত্তর দেওয়ার জন্য সময় দেওয়ার জন্য ধন্যবাদ।
ফিলিপ রেগান

3
জাভা হবে আপনার শেখার পথে পেতে। এটি আপনাকে ভাষা-স্বাধীন ধারণা সম্পর্কে মোট অ-সত্য শিখিয়ে দেবে।
ডেড এমএমজি

2

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

  • ইজেবি 1.x / 2.0, জেএনডিআই, জেএমএস, জেটিএ / জেটিএস, আরএমআই, জেডিবিসি, সার্লেটস, জেএসপি, স্যাক্স / ডোম, ওয়েব পরিষেবাদি, এসওএপি, ডাব্লুএসডিএল, ইউডিডিআই, জ্যাকএক্সবি, জাভামেল, ডাব্লুএমএল, এইচটিএমএল
  • টমক্যাট, অ্যাপাচি জালান, অ্যাপাচি জেরেস, জর্ভার, জেআরুন, জে বিল্ডার, টুগেদারজ, ওয়েব লজিক 5.x / 6.x, ওয়েবস্পিয়ার 3.5 / 4

এবং সম্ভাবনা হ'ল একটি জাভা ভিত্তিক পাঠ্যক্রম আপনাকে সি ++ ভিত্তিক পাঠকের তুলনায় অনেক ভাল প্রস্তুত করে না।


1
আমি এটিকে যুক্ত করব (কমপক্ষে আমার ক্ষেত্রে) সি ++ চাকরিগুলি জাভা জব (উদ্দেশ্য) থেকে বেশ কিছুটা ভাল দিতে এবং সাধারণত আরও আকর্ষণীয় (বিষয়গত) হয়।
সেরেসরিলা

2

এটি মুশকিল কারণ জাভা শেখা নিঃসন্দেহে সহজ। আপনি জাভা দিয়ে আরও তাড়াতাড়ি করবেন।

সি ++ কাজ করা আরও অনেক কঠিন একটি ভাষা। পয়েন্টার এবং মেমরি পরিচালনার সাথে কাজ করার জন্য ধারণাগত এবং ব্যবহারিকভাবে কৌশলযুক্ত। সি ++ আপনাকে কোনও সুরক্ষা জাল সরবরাহ করে না।

দীর্ঘমেয়াদে সি ++ আপনাকে যে সমস্ত শিক্ষা দেয় তা বোঝা কার্যকর হবে। এছাড়াও সি ++ থেকে জাভাতে রূপান্তর অন্যান্য দিকের চেয়ে অনেক সহজ।

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

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


2

সি ++ আরও নমনীয় এবং বোঝার গভীরতর প্রস্তাব দেয়। সন্দেহাতীতভাবে, আপনি জাভা থেকে সি ++ থেকে আরও বেশি উপার্জন করতে পারবেন। সি ++ আরও শক্ত, কারণ এটি আরও জটিল।

এটি বলেছিল, সি ++ চাকরি জাভা কাজের মতো প্রায় সাধারণ নয়।

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


1

কলেজ পর্যায়ে সি ++ এবং জাভা উভয়কেই শেখানোর পরে, আমি জাভাটির জন্য দৃ strongly়ভাবে সুপারিশ করব ।

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

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

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


2
আপনি যদি বাফার ওভারফ্লো এবং মেমরি পরিচালনা নিয়ে গুরুতর সমস্যায় পড়ে থাকেন তবে আপনি সি ++ টি ভুল শিখিয়ে দিচ্ছেন। স্ট্যান্ডার্ড পাত্রে কোনটি বাফারের মতো উপচে পড়তে পারে?
ডেভিড থর্নলি

অ্যারেগুলির? আমি প্রকৃতপক্ষে সি ++ টি ভুল শিখিয়েছি; এটি এক দশক আগে ভাল ছিল।
অ্যালেক্স ফেইনম্যান

0

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

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


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