প্রোগ্রামিংয়ে 50 বছর বয়সী কম্পিউটার নিরক্ষর কিভাবে চালু করবেন [বন্ধ]


10

অন্য দিন আমার বাবা আমাকে একটি প্রশ্ন জিজ্ঞাসা করেছিলেন যা আমি তার কাছ থেকে কখনই আশা করতাম না।

"আমি কীভাবে সি ++ শিখতে পারি?"

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

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

সব ক্ষেত্রেই তার কিছু পড়ার দরকার ছিল। তাকে কিছু শেখানোর। তিনি স্পঞ্জের মতো তথ্য শোষণ করেন।

আমার বাবার অনুপ্রেরণা বা এটি করার ক্ষমতা নিয়ে আমার কোনও সন্দেহ নেই, তাই আমার সাধারণ লক্ষ্যটি কেবল:

আমার বাবা কম্পিউটারের জগতে প্রবেশ করুন এবং তাকে প্রোগ্রামিংয়ের পথে নামান।

আমি দৃ strongly়ভাবে বিশ্বাস করি যে একবার আমি তাকে মৌলিক বিষয়গুলির মাধ্যমে পেয়ে গেলে তার ড্রাইভ এবং পড়ার দক্ষতা তাকে এইভাবে চলতে থাকবে।

সুতরাং আমি আপনাকে সবাইকে জিজ্ঞাসা করছি: আমি এই সমস্ত দিয়ে কোথায় শুরু করব? এবং সেখানে সবচেয়ে ভাল সংস্থানগুলি কি? আমি কি তাকে উইন্ডোজ পরিবর্তে লিনাক্স শুরু করতে পারি? সি ++ কি খারাপ ধারণা?

মনে রাখবেন, তাকে প্রথমে কম্পিউটার শিখতে হবে এবং তারপরে প্রোগ্রামিংয়ের প্রথম উপলব্ধি ("হ্যালো ওয়ার্ল্ড" অভিজ্ঞতা) পান।

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

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

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

সম্পাদনা # 2: আমি বুঝতে পারি আমার পদ্ধতির / চিন্তাভাবনা / জ্ঞানের এখানে অভাব হতে পারে। আমি একটি দক্ষ স্তরের স্নাতক সিএস মেজর। আপনি যদি আমার পোস্টে কোনও কিছুর সাথে একমত না হন তবে আমাকে কেন বলুন - আমাকে ধারণা দিন, তথ্য দিন - এজন্য আমি প্রথম স্থানে জিজ্ঞাসা করছি। আমার সাধারণ লক্ষ্যটিকে নির্দিষ্ট पहुंचযোগ্য লক্ষ্যগুলিতে সংকুচিত করতে।


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

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

1
আমার জ্ঞানের সর্বোপরি, এমন কোনও সাইট নেই যা এই প্রশ্নটিকে মেনে নেবে। আমি কেবল তালিকাটি দেখেছি এবং একটিও দেখতে পেলাম না। আপনি এই আরও আলোচনা করতে চান তাহলে, একটি প্রশ্ন উত্থাপন দয়া মেটা
থমাসের মালিক

@ থমাস ওভেনস ওয়েল, আমি এখানে শোনা বা ট্রল করতে আসছি না, তাই আমি এটি দিয়ে যথাসাধ্য চেষ্টা করব। ধন্যবাদ
স্কিপার

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

উত্তর:


13

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

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

একই কারণে, উইন্ডোজের পরিবর্তে লিনাক্সে তাকে শুরু করবেন না, কারণ তারপরে ফোকাস করার জন্য তার দুটি সমস্যা আছে: একই সাথে লিনাক্স শেখা এবং কোডিং শেখা! বিচ্যুতি সর্বনিম্ন রাখুন।

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

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

এবং যদি তার কোনও প্রশ্ন থাকে তবে তাকে একটি স্ট্যাক ওভারফ্লো অ্যাকাউন্ট পান। :)


4

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

প্রোগ্রামিংয়ের জন্য মুখ্য কয়েকটি জিনিস রয়েছে:

  • বিমূর্ত সমস্যা সমাধান করার ক্ষমতা
  • সমস্যা সমাধানের জন্য সমস্যাগুলি ছোট ছোট পর্যায়ে বিভক্ত করার ক্ষমতা
  • পুনরাবৃত্তভাবে এবং সামান্য পর্যায়ে সমাধানগুলি তৈরি করার দক্ষতা যা অগ্রগতির অগ্রগতি সম্ভব
  • নির্দিষ্ট ভাষার বাক্য গঠন এবং শব্দার্থবিজ্ঞান।

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

সুতরাং, আমি আপনাকে পরামর্শ দিচ্ছি যে আপনার বাবা প্রথমবারের মতো আরও সহজ প্রোগ্রামিং ভাষাটি মোকাবেলা করুন: রুবি, পাইথন, সি, সি #, হাস্কেল ইত্যাদি Has d জানতে আগ্রহী হোন যে, সম্পূর্ণ novices একই "ফিশ-আউট অফ ওয়াটার" অনুভূতি ভোগ করে কিনা।)

সামনে সহজ সরল ভাষায় স্টিক করার অর্থ আপনার বাবার আগে আরও বেশি সাফল্য পাবে এবং "খেলা" সহজতর হবে। অনেকগুলি ভাষার ইন্টারেক্টিভ REPL লুপটি শেখার জন্য একটি দুর্দান্ত জায়গা।

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

আপনি লিনাক্স বনাম উইন্ডোজ সম্পর্কে কৌতূহলী; আমি নিশ্চিত নই যে পার্থক্যটি বেশি গুরুত্ব দেয়। যদি সে ইতিমধ্যে একটি বা অন্য পরিবেশের সাথে পরিচিত হয় তবে স্যুইচিং কেবল অন্য একটি বাধা। তিনি যদি না জানেন তবে আমি লিনাক্সের পরামর্শ দেব, তবে মূলত কারণ ভাল সরঞ্জামগুলি ইনস্টল করা হাস্যকরভাবে সহজ: apt-get install <foo>বেশিরভাগ বিতরণে কাজ করে এবং যে বিতরণগুলি সমর্থন করে না aptপ্রায়শই তেমন কিছু সরবরাহ করে। এক মিনিট পরে, আপনার ঝরঝরে নতুন প্যাকেজটি ইনস্টল করা হয়েছে, প্রায়শই দ্রুত আমার কাছে প্রম্পম্পাইল্ড উইন্ডোজ বাইনারিগুলির জন্য নির্ভরযোগ্য ডাউনলোড উত্স খুঁজে পেতে পারে যা ট্রোজান ঘোড়াগুলি ধরে না।


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

এইচআরএম, আমি সিন্ট্যাক্স এবং শব্দার্থবিজ্ঞানের উপর ঝাঁপিয়ে পড়া অন্যান্য দক্ষতার বিকাশ ঘটাতে পারে - এই বিষয়টি তৈরি করার জন্য দক্ষতাগুলি বিভিন্ন বিভাগে ভেঙে দিয়েছি - কম আরকেন-অনুভূতির নিয়মযুক্ত একটি ভাষা বিমূর্ততাটি আরও সহজ প্রবাহিত করবে - তবে আমি প্রদর্শিত হবে যে পয়েন্টটি ভালভাবে বলেছেন না।
sarnold

1
প্রস্তাবিত ভাষাগুলির মধ্যে আমি অবশ্যই পাইথনের পক্ষে থাকি। তবে, যদি আপনার বাবা দৃষ্টি নিবদ্ধ থাকে তবে প্রসেসিংটি (www.processing.org দেখুন) একটি আকর্ষণীয় ভূমিকা হতে পারে (যদিও এখানে বিভিন্ন ধরণের সমস্যা রয়েছে যার জন্য এটি উপযুক্ত নয়)।
জেমস ইয়ংম্যান

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