এমন কি কোনও সম্ভাবনা রয়েছে যে কেউ সি ++ এর সমস্ত মূল দিকগুলি শিখেছেন এবং ভাষার মূলসূত্রগুলি খুব ভাল জানেন, তিনি অন্যান্য ভাষা (যেমন, পাইথন, পার্ল, জাভা) দ্রুত এবং সহজ শিখবেন?
এমন কি কোনও সম্ভাবনা রয়েছে যে কেউ সি ++ এর সমস্ত মূল দিকগুলি শিখেছেন এবং ভাষার মূলসূত্রগুলি খুব ভাল জানেন, তিনি অন্যান্য ভাষা (যেমন, পাইথন, পার্ল, জাভা) দ্রুত এবং সহজ শিখবেন?
উত্তর:
যে কোনও প্রোগ্রামিং ভাষার গভীর জ্ঞান আপনাকে অন্যান্য ভাষাগুলি দ্রুত বাছাইয়ে সহায়তা করবে। এটি এতটা আংশিক কারণ প্রোগ্রামিংটি সিনট্যাক্স শেখার চেয়ে চিন্তাভাবনার একটি উপায় । বেশিরভাগ প্রোগ্রামিং অনুশীলন অন্যান্য প্রোগ্রামিং ভাষার বেশিরভাগ ক্ষেত্রেই সত্য। সে কারণেই লোকেরা বলে যে আপনি সর্বদা দ্বিতীয় প্রোগ্রামিং ভাষা প্রথমের চেয়ে দ্রুত শিখেন।
সি ++ এমন একটি ভাষা যা অন্যান্য ভাষার চেয়ে অনেক বেশি 'নিয়ন্ত্রণ' করতে দেয়। এটি ভাল এবং খারাপ উভয়ই হতে পারে। উদাহরণস্বরূপ, আপনি বনে যাওয়ার সময় একটি আসল বন্দুকটি এয়ার বন্দুকের চেয়ে ভাল (কারণ আপনি আসলে এটি দিয়ে কিছু গুলি করতে পারেন) তবে এটি আপনার এবং আপনার চারপাশের লোকদের জন্যও আরও বিপজ্জনক। সি ++ এর মেমরি ম্যানেজমেন্টের মতো ধারণাগুলি রয়েছে, যা আপনাকে বেশিরভাগ অন্যান্য ভাষায় চিন্তা করার দরকার নেই। অটো মেমরি ম্যানেজমেন্ট ল্যাঙ্গুয়েজগুলির সাথে কাজ করার পরেও এই ধারণাগুলির দৃ gra় উপলব্ধি করা অর্থহীন far আপনি বিটওয়াইজ অপারেশনও করতে পারেন এবং সি ++ এর মতো একটি ভাষা নিয়ে 'ধাতব' তে অনেক নিচে যেতে পারেন। এমনকি এই ক্ষেত্রগুলির মধ্যে একটি প্রাথমিক বোঝাপড়া আপনাকে যে কোনও ভাষায় প্রোগ্রামার হিসাবে অনেক সাহায্য করতে পারে।
আমি ব্যক্তিগতভাবে সি ++ শেখার আগে প্রায় 3 বছর ধরে জাভা প্রথম শিখেছি, এবং আমার বলা উচিত যে আমি এটির জন্য আফসোস করছি (ইউনিয়ন অবশ্যই ...)। এটি সি ++ শিখিয়েছে (আমি এখনও শিখছি - 'গভীর' জ্ঞান থেকে অনেক দূরে: ডি) আমি যতটা চাই ঠিক তত সহজ নয়। আমি যদি অন্য উপায়ে এটি করে থাকি তবে আমি বলতাম এটি আমার পক্ষে অনেক সহজ ছিল। বিশেষত যখন আপনি জানেন যে কেন কিছু নির্দিষ্ট পদ্ধতিতে করা হয়, এবং কেবলমাত্র ভাষাটির স্ব-যাদুতে আশ্বস্ত না হন। যদি আমাকে মতামত দেওয়ার অনুমতি দেওয়া হয় তবে আমি প্রস্তাব দেব: সি (মৌলিক এবং সর্বজনীন প্রোগ্রামিং প্যারাডিমগুলির জন্য) -> সি ++ (মেমরি পরিচালনার পাশাপাশি ওওপির প্রাথমিক বোঝার জন্য) -> তারপরে আপনি কোনও 'আসল' ওওপি ভাষায় যেতে পারেন ভাল ফাউন্ডেশন বা আপনি আরও কিসের উপর নির্ভর করে সি ++ তে আরও উন্নত বিষয়ের সাথে চালিয়ে যেতে পারেন
OR
এবং এর মধ্যে পার্থক্যের সাথে লড়াই করে AND
দুর্ভাগ্যক্রমে না. প্রোগ্রামিং ক্লাসগুলিতে সি ++ শেখানোর সময় এটি আসলে একটি বড় সমস্যা, বিশেষত শিক্ষানবিশ-স্তরের শ্রেণি: আপনি প্রোগ্রামিং নীতিগুলি শিখতে পারেন, বা আপনি সি ++ ভাষা শিখতে পারেন, তবে সি ++ ভাষার মধ্যে কার্যকরভাবে অনেকগুলি অসুবিধাগুলি এবং বোকা সামান্য গ্যাটাচ রয়েছে যা উভয় ক্ষেত্রেই কার্যকরভাবে শিখতে পারে ওয়ান-সেমিস্টার ক্লাসের সুযোগ!
সি ++ তে অনেকগুলি বিষয় চেষ্টা করা হয়েছিল এবং অবশেষে নিখুঁত জড়তার মাধ্যমে ভাষায় মুশকিল হয়ে ওঠে, যেহেতু অন্য যে কোনও ভাষা একেবারেই ত্রুটিযুক্ত বলে প্রমাণিত হয়েছে এবং প্রত্যাখ্যান করেছে it এর মধ্যে প্রধানগুলি হ'ল সি ++ এর টেম্পলেট এবং সি ++ এর অবজেক্ট মডেল (মানের ধরণ হিসাবে বস্তু কখনও ভাল জিনিস হয় না, কারণ এটি লিসকভের প্রতিস্থাপনা এবং নিজেই ওওপি ভেঙে দেয়))
তাই আপনি যদি C- এর একটি গভীর জ্ঞান পেতে ++, প্রথম, এবং তারপর আপনি অন্য প্রোগ্রামিং ভাষার জানতে চান, সেখানে ক্ষতিকারক এবং counterproductive টি ককটেলের একটি সম্পূর্ণ অনেক হতে আপনাকে করতে হবে যাচ্ছে ভুলিয়া যাত্তয়া অনুক্রমে অন্যান্য প্রোগ্রামিং ভাষা কার্যকর হবে।
না। সি ++ ভাল জানার ফলে সি ++ এর মতো অন্যান্য ভাষা শেখা সহজ হবে। কিন্তু এটি বিরক্তিকর হবে। আপনি দুটি ভাষা একইরকম কেন জানতে চান? এটি আপনাকে কিছু কিনে দেয় না। (দ্রষ্টব্য যে এটি সি ++ এর সাথে নির্দিষ্ট নয় any এটি যে কোনও ভাষার ক্ষেত্রে প্রযোজ্য natural প্রাকৃতিক ভাষার সাথে তুলনা করুন: ইতালীয় ভাষা শেখা অন্য ভাষা শেখা সহজ করে না Spanish স্প্যানিশ, ফরাসী বা পর্তুগিজ ভাষা শেখা এবং তিনটি শিখতে আরও সহজ করে তুলবে এর মধ্যে চতুর্থটি শিখতে আরও সহজ করে তুলবে, তবে সমস্ত রোম্যান্স ভাষা শেখা আপনাকে ফিনিশ, চীনা, হিন্দি, হিব্রু, আরবি, পশতু, গ্রীক ইত্যাদি শিখতে সহায়তা করবে না))
প্রোগ্রামিং ভাষাগুলি দৃষ্টান্ত প্রয়োগ করে। পিটার ভ্যান রায় 34 টি মূল প্রোগ্রামিং উপমার পোস্টার সংগ্রহ করেছেন ।
দৃষ্টান্তগুলি, পরিবর্তে, ধারণার সমন্বয়ে গঠিত। এই পোস্টারটিতে প্রায় 18 টি ধারণার তালিকা রয়েছে।
সমস্ত দৃষ্টান্ত (বা পোস্টারে অন্তত একটি) এই ধারণাগুলি থেকে রচিত। সমস্ত ভাষা সেই ধারণাগুলির সমন্বয়ে এক বা একাধিক দৃষ্টান্ত প্রয়োগ করে implement সুতরাং, আপনি যদি এই ধারণাগুলি শিখেন তবে আপনি প্রতিটি প্রোগ্রামিং ভাষা একবারে শিখবেন।
অবশ্যই এখনও প্রচুর ভাষা নির্দিষ্ট quirks আছে (তাদের মধ্যে বাক্য গঠন)। এছাড়াও, পোস্টারটি টাইপিংকে সম্পূর্ণ উপেক্ষা করে এবং অবশ্যই সিস্টেম এফ <: ω- স্টাইল টাইপ সিস্টেম, একটি স্কালাল-স্টাইল টাইপ সিস্টেম, বা একটি গতিশীল হাঁস-টাইপ টাইপ সিস্টেমের মধ্যে একটি উল্লেখযোগ্য পার্থক্য রয়েছে , একটি নির্ভরশীল টাইপ সিস্টেমকে ছেড়ে দিন Id লা ইদ্রিস, আগদা, কক, গুরু বা এটিএস।
আমি বলব যে কোনও প্রোগ্রামিংয়ের ভাষা গভীরভাবে জানলে একই পরিবারে অন্যদের, কমপক্ষে অন্যান্য ভাষা শেখার ক্ষেত্রে সহায়তা করবে। উদাহরণস্বরূপ, সি ++ জ্ঞান এলআইএসপি বা হাস্কেলের সাথে খুব বেশি সাহায্য করবে না, তবে অবজেক্ট ওরিয়েন্টেড পদ্ধতিগত ভাষার জন্য এটি করবে। আমার দৃষ্টিভঙ্গি হ'ল প্রতিটি ভাষার বিভিন্ন পরিবার (পদ্ধতিগত, কার্যকরী, অবজেক্ট অরিয়েন্টেড ইত্যাদি) ভাল করে ভাষা শেখার চেষ্টা করা এবং তারপরে জ্ঞানটি সেই পরিবারের অন্যান্য ভাষায়ও বহন করতে পারে। অন্যদিকে, এপিএলের গভীর জ্ঞান অন্য কোনও কিছুর সাথে সহায়তা করবে না ...
আমি এখানে একটি আলাদা ব্যাখ্যা নিতে যাচ্ছি।
মেমরি এবং ডেটা স্ট্রাকচার সম্পর্কে শেখার জন্য সি ++ একটি ভাল ভাষা, যেহেতু এটি আপনাকে অবজেক্টের মালিকানা এবং জীবনকাল সম্পর্কিত ধারণাগুলি সম্পর্কে সাবধানতার সাথে চিন্তা করতে বাধ্য করে। এবং মেমরি এবং ডেটা স্ট্রাকচার সম্পর্কে শেখা যে কোনও সফ্টওয়্যার ইঞ্জিনিয়ারিং কারিকুলামের অন্যতম প্রয়োজনীয় অঙ্গ।
তবে আপনাকে ডেটা স্ট্রাকচার সম্পর্কে শিখতে হবে। আপনি যদি কেবল "সি ++" শিখেন তবে আপনি সত্যিকার অর্থে খুব বেশি লাভ করতে পারবেন না এবং এটি অল্প সময়ে অন্যান্য ভাষা শেখার প্রক্রিয়াটি ধীর করে ফেলতে পারে।
আমি যখন কলেজে ছিলাম তখন ডেটা স্ট্রাকচারগুলি একটি প্রয়োজনীয় নবীন স্তরের কোর্স ছিল, যা সিএস 1 এর পরে নেওয়া হয়েছিল (যা কমপক্ষে অর্ধেক শ্রেণীর বাইরে রেখেছিল)। এটা কঠিন ছিল. কোর্সের ফর্ম্যাটটি মূলত "এখানে এমন একটি ডেটা কাঠামো যা আপনি আগে কখনও দেখেননি [উদাহরণস্বরূপ বামপন্থী গাদা ] এটি এক সপ্তাহের মধ্যে সি ++ এ প্রয়োগ করুন এবং আপনার আউটপুটটি আমাদের প্রত্যাশিত আউটপুটটিকে ঠিক বাইট-বাই-বাইটের সাথে মেলে ফেলুন, তাই আমরা এটি স্বয়ংক্রিয়ভাবে গ্রেড করতে পারেন। " তারপরে, পরের সপ্তাহে আপনি একটি নতুন ডেটা কাঠামো এবং একটি নতুন অ্যাসাইনমেন্ট পাবেন। আমার অন্যান্য সমস্ত কোর্স মিলিয়ে আমি কোর্সে বেশি শিখেছি।
সি ++ এর মূল্যবান হওয়ার জন্য আপনার এ ধরণের শিক্ষার প্রয়োজন।
আপনার শেখার প্রতিটি ভাষা পরেরটিটিকে আরও সহজ করে তোলে, বিশেষত একই দৃষ্টান্তের মধ্যে। এগুলি একে অপরের কাছ থেকে ভারী orrowণ গ্রহণ করে এবং কিছুক্ষণ পরে আপনি এমন এক বিন্দুতে পৌঁছান যেখানে কয়েকটি নতুন অনন্য বাঁক সহ একটি নতুন ভাষা অন্য ভাষাগুলির বৈশিষ্ট্যগুলির সংকলনের মতো দেখায়।
আমি মনে করি না যে সি ++ সে ক্ষেত্রে অন্য যে কোনও ভাষার চেয়ে ভাল বা খারাপ। এটি আমি জানি এমন আরও ভার্জোজ ভাষাগুলির মধ্যে একটি, এবং বেশ কয়েকটি বিষয় কঠোর করে তোলে যা বেশিরভাগ অন্যান্য ভাষায় সহজ but তবে এটি পরবর্তী ভাষা শিখতে আরও সহজ করার পক্ষে অগত্যা অনুবাদ হয় না । যদিও এটি পরবর্তী ভাষা ব্যবহার করতে সহজ বোধ করে feel একটি পার্থক্য আছে।
না। সি এর গভীর জ্ঞান বা সি ++ এর উপসেট যা "মূলত সি", অন্যান্য ভাষা শেখার ক্ষেত্রে সাহায্য করবে, কমপক্ষে যখন তাদের বাস্তবায়নগুলি কী করবে তা চিত্রিত করার সময়। অন্যদিকে, সি ++ এর গভীর জ্ঞান বেশিরভাগ ক্ষেত্রে এমন তথ্য হবে যা অন্যান্য ভাষা শেখার সময় বিভ্রান্ত বা অপ্রাসঙ্গিক হয়; যদি আপনি কোনও পৃষ্ঠের স্তরেরও বেশি সি ++ এর অবজেক্টের দিকনির্দেশনা শিখেন, উদাহরণস্বরূপ, আপনি যখন পার্ল / পাইথন / রুবিতে যান তখন আপনি এটি ব্যবহার করার চেয়ে যা জানবেন তা শিখতে আরও বেশি সময় ব্যয় করবেন, কারণ এই ভাষাগুলিতে অবজেক্টগুলি প্রয়োগ করা হয়েছে একটি সম্পূর্ণ ভিন্ন উপায়সি ++ এর চেয়ে বেশি। অন্যান্য জিনিসগুলির জন্য একই জিনিস বৃহত্তর বা কম পরিমাণে সত্য, এবং অন্যান্য ভাষার বৈশিষ্ট্যগুলির জন্য (উদাহরণস্বরূপ, সি ++ টেম্পলেট এবং হাস্কেল পলিমারফিজম মূলত একই বৈশিষ্ট্য, আবার সম্পূর্ণ ভিন্ন বাস্তবায়ন সহ)। সি ++ এর গভীর জ্ঞান বেশিরভাগ ক্ষেত্রে C ++ নির্দিষ্ট হতে চলেছে।