আমি কীভাবে নিশ্চিত করতে পারি যে আমি কোনও ভাষার বিবরণ কেবল শিখার চেয়ে প্রোগ্রামিং শিখছি? [বন্ধ]


82

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

আমি কীভাবে নিশ্চিত করতে পারি যে আমি কোনও ভাষার বিবরণ কেবল শিখার চেয়ে প্রোগ্রামিং শিখছি? এবং আমি কীভাবে প্রোগ্রামিং দক্ষতা বিকাশ করতে পারি যা কেবলমাত্র একটির পরিবর্তে সমস্ত ভাষার জন্য প্রয়োগ করা যেতে পারে?


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

42
এছাড়াও, যে লোকেরা এক সপ্তাহে একটি ভাষা শিখতে সক্ষম বলে দাবি করে তাদের "শিখুন" বলার সময় তাদের অর্থ কী তা বোঝাতে হবে। "What do you mean you're not an expert in LanguageX?!? I can learn a language in a Week!"। 1 সপ্তাহ পরে:"See, I've learnt the language, and here's a Hello World example I copied from Wikipedia to prove it!"
জনল

9
একটি প্রশ্ন জিজ্ঞাসা করা প্রয়োজন। আপনি কি সিনট্যাক্সে আপনার যুক্তি তৈরি করেন বা আপনি একটি দ্রুত এবং আরও দক্ষ মানসিক মডেল ব্যবহার করেন? আমি দেখতে পেয়েছি যে নভিশ প্রোগ্রামাররা সিনট্যাক্স ব্যবহার করে ভাবেন।
কেওসপ্যান্ডিওন

10
@ পলআরআর: বাইক চালানো শিখতে আমার 10,000 ঘন্টা সময় লাগেনি। বা সাঁতার, এই বিষয়ে।
রবার্ট হার্ভে

7
@PaulR উক্তি এটা 10k ঘণ্টা গ্রহণ সম্পর্কে মাস্টার একটি দক্ষতা, না নিছক "শিখতে" এটা
Tobias Kienzler

উত্তর:


96

"দক্ষতার" কিছু হাস্যকর ধারণার সাথে মিলিত হওয়ার বিষয়ে উদ্বিগ্ন হবেন না যা এই জাতীয় বিবৃতিতে সাধারণত শোনা যায়:

  • সমস্ত প্রোগ্রামিং ভাষা মূলত এক।
  • একবার আপনি একটি ভাষা ভালভাবে বেছে নেওয়ার পরে আপনি অন্য যে কোনও ভাষা দ্রুত এবং সহজেই বেছে নিতে পারেন।
  • ভাষাগুলি কেবলমাত্র সরঞ্জাম, এমন কিছু বিস্তৃত মস্তিষ্ক-যাদু যা আসলে সফ্টওয়্যার তৈরি করে।

এই বিবৃতিগুলি সমস্ত ত্রুটিযুক্ত ভিত্তিতে এবং প্রোগ্রামিং ভাষার বিস্তৃত বর্ণালী জুড়ে অভিজ্ঞতার অভাবকে বিশ্বাসঘাতকতা করে। তারা খুব সাধারণ বিবৃতি এবং দৃ program়ভাবে প্রোগ্রামারদের একটি বিশাল সোথ দ্বারা বিশ্বাসী, আমি এটিকে বিতর্ক করব না, তবে আমি তাদের যথার্থতার বিষয়ে বিতর্ক করব।

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

দেখা যাচ্ছে যে প্রোগ্রামিং ভাষা, কৌশল এবং পদ্ধতির একটি সম্পূর্ণ সোনা রয়েছে যা আমাদের 95% যা কখনও করেছে বা করেছে তার থেকে এত বিদেশী। অনেকগুলি সম্পূর্ণ অজানা যে এগুলি থেকে অন্য যে কোনও ধারণাগুলি এমনকি বিদ্যমান, যা সঠিক এবং এই ধারণাগুলি কোনও নিয়োগকৃত এমনকি কার্যকর প্রোগ্রামার হওয়ার প্রয়োজন হয় না।

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

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

ডানিং – ক্রুগার প্রভাবটি একটি জ্ঞানীয় পক্ষপাত, যাতে দক্ষ নয় এমন ব্যক্তিরা মায়াময় শ্রেষ্ঠত্বের শিকার হন, ভুলভাবে তাদের ক্ষমতাকে গড়ের চেয়ে অনেক বেশি রেটিং করে। এই পক্ষপাতদুশক্তি অক্ষমদের তাদের ভুলগুলি সনাক্ত করতে অক্ষম একটি অক্ষম অক্ষমতা বলে দায়ী করা হয়

আমি পিটার নরভিগের প্রোগ্রাম শিখার ধারণার বিষয়ে এই অভিজ্ঞ অভিজ্ঞ ব্যক্তির কাছে উল্লেখ করব: দশ বছরে প্রোগ্রাম শিখুন

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


নিশ্চয়ই, এমন অনেকগুলি নীতিমালা রয়েছে যা সমস্ত ভাষা শিখতে সহজ করে দেয়!

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

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


11
Enh। একটি ভাষা "জানা" এবং একটির মধ্যে একটি গৌণ ত্রুটি আবিষ্কার এবং ঠিক করার জন্য যথেষ্ট দক্ষ হয়ে ওঠার মধ্যে পার্থক্য রয়েছে। একটি ভাল প্রোগ্রামার আধুনিকগুলি পরে খুব তাড়াতাড়ি করতে পারে, এমনকি প্রত্নতাত্ত্বিক ভাষায়ও।
টেলাস্টিন

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

11
আমি এখনও তর্ক করব যে ধারণাগুলির খুব মৌলিক সেটটি বেশ কমপ্যাক্ট। আপনি যখন শব্দটি পুনর্লিখনটি বুঝতে পারবেন , তখন ল্যাম্বদা ক্যালকুলাস, এসকে ক্যালকুলাস, টুরিং মেশিন, মার্কভ অ্যালগরিদম ইত্যাদি সংজ্ঞায়নের জন্য আপনার কাছে একটি সরঞ্জাম রয়েছে A তবে অবশ্যই অভিজ্ঞতাকে আপাতদৃষ্টিতে জটিল জিনিসগুলিতে সাধারণ প্যাটার্নগুলি দেখতে সক্ষম হওয়া প্রয়োজন।
এসকে-যুক্তি

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

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

51

... আমি কীভাবে প্রোগ্রামিং দক্ষতা বিকাশ করতে পারি যা কেবলমাত্র একটির পরিবর্তে সমস্ত ভাষার জন্য প্রয়োগ করা যেতে পারে?

এই প্রশ্নের কী ভাষা অতিক্রম এবং মনে হয় না আপনি যে ভাষায় কোডিং করা হয়।

WAT?

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

এটি একটি কথ্য ভাষা শেখার ক্ষেত্রে যা দেখতে পায় তার অনুরূপ। যে লোকেরা অনেকগুলি ভাষায় কথা বলে তারা অনর্থক অর্থটি মনে করে এবং এটি একটি নির্দিষ্ট ভাষায় প্রকাশ পায়।

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

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

একজনের মাথায় এএসটি ব্যবহারের এই ক্ষমতা থাকলে, একই জাতীয় চিন্তার স্কুলটির মধ্যে অন্য ভাষা শেখা ( বেফুঞ্জে যাওয়া জাভা থেকে কিছুটা লাফানো, তবে ফোর থেকে যতটা নয় ) অনেক সহজ হয়ে যায় - এটি 'ন্যায়সঙ্গত' এটিএসটি একটি নতুন ভাষায় অনুবাদ করা যা তৃতীয়, চতুর্থ এবং 5 তম (ইত্যাদি ...) সময় শেষ হওয়ার চেয়ে অনেক সহজ।


এখানে একটি ক্লাসিক নিবন্ধ রয়েছে, রিয়েল প্রোগ্রামাররা প্যাসকাল ব্যবহার করবেন না । এর একটি অংশ পড়ে:

... নির্ধারিত রিয়েল প্রোগ্রামার যে কোনও ভাষায় ফোর্টরান প্রোগ্রাম লিখতে পারে

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

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

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

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

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

এই বিন্দু অতীত পেতে, এক একাধিক ভাষায় কোড লিখতে, চালিয়ে যেতে প্রয়োজন না ঐ ভাষায় মনে যখন কোড নকশা, কিন্তু তাদের মনে যখন কোডে নকশা অনুবাদ সঠিকভাবে ভাষা বাগধারার সঙ্গে কাজ করতে।

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

( তিনি যে উপস্থাপন করেছিলেন তার কাছ থেকে প্রচুর presentedণ নেওয়ার জন্য কওসপ্যান্ডিয়নের কাছে আমার ক্ষমাপ্রার্থী ))


3
কোন ক্ষমাপ্রার্থীর প্রয়োজন নাই. আমি মনে করি আপনি একটি চিত্তাকর্ষক উত্তর লিখেছেন।
কেওসপ্যান্ডিয়ন

আমি উত্তরটি লিখতে সেই ব্যক্তিকে যিনি আমাকে সে সম্পর্কে ভেবেছিলেন তাকে কৃতিত্ব দিতে চেয়েছিলাম।

3
এটি একটি খুব ভাল উত্তর। আশা করি আমি দু'বার উপড়ে যেতে পারতাম।
ওয়েইন ওয়ার্নার

2
প্রকৃতপক্ষে এটি কারণেই আপনাকে প্রথমে ওও শেখা উচিত নয়, কারণ এটি আপনার মস্তিষ্ককে সবচেয়ে খারাপ এএসটি কল্পনার মধ্যে ফর্ম্যাট করে।
মর্গ

1
@ জিমিহোফা - আপনি ঠিক থাকতে পারেন আমি প্রথমে প্রথমে একটি ভাষা ব্যবহার করা শিখেছি এবং আস্তে আস্তে আরও পরে পরিচয় করিয়েছি। তবুও আমি মনে করি এটি অন্বেষণ করা উপযুক্ত কারণ আমি সর্বদা ব্রেকগুলিকে আঘাত করতে পারি এবং সেগুলি একটি ভাষায় ফোকাস করতে পারি। (
এসএমএলটি

12

একটি ভাষা চয়ন করুন এবং কোডিং শুরু করুন। পাইথন একটি শিক্ষানবিসের জন্য একটি ভাল পছন্দ এবং অনলাইনে টিউটোরিয়াল রয়েছে যাতে আপনি এটি কীভাবে সঠিকভাবে করতে হয় তা শিখতে পারেন।

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

এবং হ্যাঁ, আপনি মৌলিকাগুলিতে দৃ discover় ভিত্তি স্থাপনের পরে আপনি হাস্কেলের মতো ভাষা আবিষ্কার করবেন যা আপনাকে নতুন কিছু শিখিয়ে দেবে।

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


2
এটি সত্য যদিও সত্য নয়? কিছু প্রোগ্রামিং ল্যাঙ্গুয়েজ সবকিছুকে বিশুদ্ধ ফাংশন (সিদ্ধান্ত + লুপ সহ) হিসাবে এনকোড করে। অন্যদের সেটগুলি ইত্যাদি থেকে ধাক্কা দেওয়া এবং পপিংয়ের মাধ্যমে মডেল করা যেতে পারে
jozefg

1
কি সত্য না? হাঁটতে বা চালানোর আগে আপনাকে কীভাবে ক্রল করতে হবে তা শিখতে হবে।
রবার্ট হার্ভে

1
আহ, আমার উল্লেখ করা উচিত, আমি শেষ অনুচ্ছেদটি বোঝাতে চাইছি, আমি বাকি উত্তরের সাথে একমত
jozefg

1
আমি শেষ অনুচ্ছেদে এমন একটি প্রতিস্থাপন করেছি যা আমার সংবেদনকে আরও ভাল প্রতিপন্ন করে।
রবার্ট হার্ভে

5

প্রোগ্রামিং সমস্যা সমাধানের বিষয়ে এমনভাবে হয় যাতে সমাধানটি এমন একটি সীমাবদ্ধ ব্যাকরণে প্রকাশ করা যায় যে এটি একটি প্রোগ্রামিং ভাষার মাধ্যমে প্রয়োগ করা যেতে পারে। প্রোগ্রামিং শিল্প তাই সমস্যা সমাধানের শিল্প।

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

আপনি যদি কাগজে বসে এমনভাবে সমস্যার সমাধান করতে পারেন যে এটি কোডে সহজেই অনুবাদ করা যায় এবং আপনার প্ল্যাটফর্মের জন্য উপযুক্ত মডেলের সাথে যুক্ত থাকে তবে আপনি প্রোগ্রামার you আপনি যদি এটি করতে পারেন তবে সেগুলি সমাধানগুলি গ্রহণ করে এবং আমাদের নির্বাচিত ভাষায় এগুলি প্রয়োগ করে, তবে এটি অন্য বিষয়।

আমি 30 বছর ধরে প্রোগ্রামিং করে যাচ্ছি (ওএমএফজি!) এবং এখনও php.netপিএইচপি-তে কমান্ড সন্ধান করতে ব্যবহার করি কারণ এটি আমার প্রথম ভাষা নয়।

আমি বলব যে ভাষাগুলিতে দক্ষতা আপনি ম্যানুয়াল বা স্ট্যাকওভারফ্লোতে কত ঘন ঘন তাকান তার বিপরীত অনুপাত হয় al প্রোগ্রামিংয়ে দক্ষতা হ'ল কম্পিউটার প্রোগ্রামিং ভাষার সাথে সামঞ্জস্যপূর্ণ এমন কোনও উপায়ে আপনি সমস্যাগুলি সহজেই সমাধান করেন।

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


আপনার মন্তব্যটি আমি মডেল এবং নিদর্শন সম্পর্কে প্রথম পড়েছি! আমি আপনার মন্তব্যে 100%, একটি জিনিস হল একটি ভাষা পাওয়া এবং একটি প্রোগ্রাম তৈরি করা। আর একটি হ'ল সমস্যাটি চিন্তা করে সমাধান করার উপযুক্ত সরঞ্জামগুলি খুঁজে বের করা, তারপরে আপনি কোনও ভাষা সন্ধান এবং প্রোগ্রামিং শুরু করে।

3

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

আমি মনে করি আপনি গিটার বাজাতে শেখার মতো কোনও কিছুর সমান্তরাল সহজে আঁকতে পারেন। যে কোনও ভাল সঙ্গীতজ্ঞ খুব অল্প সময়ের মধ্যে একটি নতুন গান বাজাতে শিখতে পারেন, কারণ তারা ইতিমধ্যে সমস্ত জাল এবং সমস্ত তত্ত্বটি জানে যে জালগুলি কীভাবে তার মতো বাজানো হয় behind তারা কীভাবে এতো ভাল পাবে? তারা কেবল এতগুলি গান বাজিয়েছে যে সমস্ত নিদর্শন স্রেফ একত্রিত হয়েছে, একই সময়ে তাদের জ্ঞানকে প্রকৃত নথিভুক্ত তত্ত্বের সাথে পরিপূরক করেছে যে সেই নিদর্শনগুলিও সাবস্ক্রাইব করে।

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


1

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

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

লিস্প ব্যবহার করার সময় আপনার ফরটনে প্রোগ্রাম করা উচিত বা কার্সার ব্যবহার করে ডিবিতে কোনও টেবিলে একটি কলামের মান যুক্ত করা উচিত নয় to কেবলমাত্র ভাষাটি একটি বাস্তবায়ন বিশদ। একটি যা প্রসেসগুলি প্রয়োজন তা পরিবর্তন করতে পারে তবে প্রক্রিয়াগুলি সনাক্তকরণ এবং তৈরি করার প্রয়োজন নেই - শেষ পর্যন্ত ইনপুট / আউটপুট এবং পছন্দসই ফলাফল সহ একটি আসল বিশ্ব বাস্তবায়ন রয়েছে।


1

আমার কৌশলটি সর্বদা সুনির্দিষ্ট দক্ষতার চেয়ে খাঁটি দক্ষতার দিকে মনোনিবেশ করা ছিল।

আপনি যা কিছু করতে চান তার জন্য পাইথন (বা কোনও ভাষা) এর বিশেষ বাক্য গঠন শিখার পরিবর্তে, মস্তিষ্কের চক্রগুলি বিমূর্ত সমস্যাগুলি সমাধান করতে ব্যয় করুন, কীভাবে সেই বিভাগের প্রতিটি সমস্যাটিকে সর্বোত্তম সমাধান করা যায়।

এইভাবে, আপনি জানবেন যে ভাষা কোনও বিষয় নয় কী করবেন এবং বেশিরভাগ সময়সীম দক্ষতা অর্জন করবেন যা কোনও ভাষায় প্রোগ্রামিংয়ের জন্য ব্যবহার করা যেতে পারে।

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

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

আপনি সর্বদা জিজ্ঞাসাবাদ করতে এবং সমাধানটি দ্রুত, মার্জিত এবং নির্ভরযোগ্য হলেই গ্রহণ করতে চান।


1
"অন্যান্য প্রোগ্রামারদের কথা শুনবেন না" - হ্যাঁ নিশ্চিত। "- আপনি কীভাবে জানবেন যে আপনি পাঠযোগ্য এবং সহজেই বজায় রাখতে সক্ষম কোডটি লিখেছেন? - আপনার সমবয়সী কোডটি পর্যালোচনা করার পরে আপনাকে বলে। যুক্তিযুক্ত: আপনি কোডটি নিজেরাই নির্ধারণ করতে পারবেন না কারণ কোডটি লেখার চেয়ে লেখক হিসাবে আপনি বেশি জানেন A একটি কম্পিউটার আপনাকে কোনও কারণ বলতে পারে না, কারণ এটি চিত্রাঙ্কন শিল্প কিনা না তা বলতে পারে না Hence সুতরাং, আপনার আরেকটি মানুষের প্রয়োজন - সফ্টওয়্যারটি বজায় রাখতে সক্ষম - আপনি কী লিখেছেন তা দেখার জন্য এবং তার মতামত দেওয়ার জন্য ... " ( উদ্ধৃতি উত্স )
gnat

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

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

যাই হোক. সামগ্রী> ফর্ম। আপনার ফর্মটি রাখুন, আমি আমার বিষয়বস্তু রাখব।
মর্গ

0

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

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

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


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

@ জিমিহোফা - ভাল পয়েন্ট!
সিস্টেমটি

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

0

ঠিক আছে, আমি বলতে চেয়েছি বেশিরভাগ জিনিস ইতিমধ্যে বলা হয়েছে। আমি যা যুক্ত করতে চাই তা একটি খুব সাধারণ উপমা।

প্রোগ্রামিং ভাষাগুলিকে যদি কেবল সরঞ্জাম হিসাবে বিবেচনা করা হয়, তবুও একে অপরের পক্ষে কেকওয়াক ভাল হওয়ার পক্ষে কোনও যুক্তি নেই।

খ্যাতিমান মাস্টার তলোয়ারদের একগুচ্ছ বিবেচনা করুন, হঠাৎ তাদের তরোয়াল নামিয়ে দিয়ে days দিনের প্রশিক্ষণ শেষে বর্শার সাথে যুদ্ধে নামলেন। কি হবে? তাদের হত্যা করা হত।

ভাষা প্রায়শই শিখতে অসুবিধা হয় না তবে এটার ভাল হতে ধৈর্য ও অনুশীলন লাগে। অতিরিক্তভাবে, প্রোগ্রামিং শেখার কোনও সঠিক উপায় নেই ।

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

একটি ভাষা শেখার সময় আপনি কিছু করতে চাইবেন এমন কয়েকটি বিষয় এখানে।

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

নতুন ভাষার অভিজ্ঞতা অর্জন করুন, নতুন লাইব্রেরিগুলি ঘুরে দেখুন, আপনার ফ্রি সময়ে নতুন কৌশল শিখুন। এটি জানার আগে আপনি নিজের দক্ষতা দিয়ে নিজেকে বিস্মিত করবেন।


0

আমার ক্ষেত্রে, আমি নীচের মাধ্যমে আসলে কীভাবে প্রোগ্রাম করবেন তা শিখলাম:

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

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


0

আমি মনে করি, যদি আপনি বিশ্লেষণাত্মকভাবে চিন্তা করতে পারেন তবে আপনার একটি ভাল শুরু আছে।

আপনি যে কোনও ভাষা চান তা শিখুন এবং নিজেই কাজ করে নিন উদাহরণস্বরূপ উদাহরণস্বরূপ প্রায় কোনও বইয়ে যা প্রোগ্রামিং শেখায় presented

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

অন্যান্য প্রোগ্রামারগুলির কোড পড়ুন এবং কেন তারা এইভাবে সমস্যার সমাধান করলেন তা বোঝার চেষ্টা করুন।

স্ট্যান্ডার্ড পদ্ধতির উপর ওভারভিউ পেতে আপনার অ্যালগরিদম সম্পর্কে কয়েকটি বই পড়তে হবে। নতুন সমস্যা হ'ল প্রায়শই পুরানো সমস্যার পরিবর্তন।

দলগুলিতে কোডের সাথে প্রচুর অনুশীলন এবং কাজ করা আপনাকে ধাপে ধাপে আপনার দক্ষতা বাড়াতে সহায়তা করবে।

আমি আশা করি আমার মতামত আপনার প্রশ্নের উত্তর দেয় কমপক্ষে আংশিক।

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