আমি কীভাবে সত্যিই একটি প্রোগ্রামিং ল্যাঙ্গুয়েজ আয়ত্ত করতে পারি?


103

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

এখন আমি জানি যে অভিজ্ঞতাটি একটি প্রধান কারণ, তবে ভাষার অভ্যন্তরীণ শিখার বিষয়ে কী, অন্তর্নিহিত কাঠামো কী ইত্যাদি etc.

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

তালিকাটি আরও চলতে পারে তবে আমি বিশ্বাস করি আমি বিষয়টি তৈরি করেছি। :)

এবং পরিশেষে, প্রয়োজনে যে কোনও ভাষা উদাহরণ হিসাবে নিন, যদিও সি উদাহরণ হিসাবে নেওয়া হয় তবে সবচেয়ে ভাল।


11
অভিজ্ঞতা হ'ল এটি আসলেই ফুটে যায়। আপনি যে সমস্ত তত্ত্ব বিশেষজ্ঞ, সে সমস্ত তত্ত্ব অকার্যকর যদি না আপনি এটি ব্যবহারিকভাবে প্রয়োগ করতে পারেন।
সাইমন হোয়াইটহেড

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

6
"মানুষ, আলু ডাইনোসর, গাড়ী মহাবিশ্ব"। আপনি কোনও ভাষায় কতটা আয়ত্ত করেছেন তা বিবেচ্য নয়, কোডটি যদি খারাপ হয় এবং তা বোঝা যায় না তবে এটি এখনও বোঝা শক্ত।
রেনাতো দিনহানি

2
আমার মনে হচ্ছে পয়েন্টটি কিছুটা মিস করছি। ল্যাঙ্গুয়েজগুলি বিকশিত হয়, সুতরাং কোনও ভাষার আয়ত্তে নেই, আপনি এটির সাথে বাড়বেন, আপনি যত বেশি এটি ব্যবহার করবেন তত বেশি শিখতে হবে।
nycynik

2
কোড এবং পঠন কোড। লিনাক্স কার্নেল (সি প্রোগ্রামিং) এর এলোমেলো টুকরো নিন এবং কোনও ফাংশন কী করে তা নির্ধারণ করুন।
অ্যালেক্স হার্ট

উত্তর:


166

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

  • প্রতিদিন, প্রতিদিন ভাষাটি ব্যবহার করুন। সাধারণত এর অর্থ ভাষাতে পূর্ণ-সময় নিযুক্ত হওয়া।

  • ভাষা সম্পর্কে আপনারা যা কিছু পারেন পড়ুন। বিশেষত, "সেরা অনুশীলন" এবং প্রতিমা।

  • ভাষা এবং তারা এর সাথে কী করে সে সম্পর্কে অন্যদের সাথে কথা বলতে কোনও ব্যবহারকারী গ্রুপে যোগ দিন।

  • অন্য মানুষের কোড দিয়ে কাজ! যে ভাষায় কিছু খারাপ কাজ করেছে তার পরে পরিষ্কার করার চেয়ে কোনও ভাষায় কী না করা শিখার আর দ্রুত উপায় নেই।

  • আপনি যে কোডটি লিখেছেন তা সমর্থন করুন - প্রতিটি বাগ আপনার খারাপ সিদ্ধান্তের ট্যুর হয়ে যায়!

  • কম্পিউটার বিজ্ঞান এবং সাধারণভাবে ভাষা অধ্যয়ন করুন

  • খুব আলাদা ভাষা শিখুন। সি এর একটি দুর্দান্ত প্রশংসা হ'ল লিস্পের মতো কার্যকরী ভাষা। এটি আপনার প্রক্রিয়াজাতীয় ভাষাটি ভিতরে ভাবতে ভাববে turn

  • সেই ভাষার জন্য উপলব্ধ ফ্রেমওয়ার্ক এবং এপিআই ব্যবহার করতে শিখুন।

  • ভাষার সাথে নিজের পরীক্ষা-নিরীক্ষার জন্য সময় নিন Take এসআইসিপি সি-র ক্ষেত্রে প্রযোজ্য নয়, তবে কোনও ভাষা এর সীমা পরীক্ষা করে শেখার মনোভাব খুব উত্পাদনশীল।

  • এটি কেন এভাবে তৈরি করা হয়েছিল তা জানতে ভাষার ইতিহাস পড়ুন।

  • ভাষার লেখকরা কথা বলতে শুনতে বা শিল্প নেতৃবৃন্দ ভাষা নিয়ে কী করছেন তা শুনতে সম্মেলনে অংশ নিন।

  • ভাষাতে একটি ক্লাস নিন।

  • অন্যকে ভাষা শেখান ( ব্রায়ান ওকলেকে ধন্যবাদ )

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


76
আপনি যে কোডটি লিখছেন সেটিকে সমর্থন করার জন্য +5 - প্রতিটি বাগ আপনার খারাপ সিদ্ধান্তের ট্যুর হয়ে যায়!
জেনিফার এস

8
চূড়ান্ত বাক্যটির জন্য +1:Every technique you use to learn brings and additional perspective to your understanding.
ইজকাটা

1
@ ইজকাটা: ওএমজি, আমি কি এটি লিখেছিলাম? আমি আসলে স্থানীয় নেটিভ স্পিকার! আমি সংশোধন করেছি। ধন্যবাদ!
গ্লেনপিটারসন

2
@ গ্লেনপিটারসন ... আসলে, আমি বাক্যটি "বন্ধ" হওয়ার দিকে খুব বেশি নজর না দিয়ে কেবল পেস্ট করা অনুলিপি করেছি। +1 আসলে এর পিছনে অভিপ্রায় ছিল for = পি
ইজকাটা

13
জন্য +1 "একটি খুব ভিন্ন ভাষা সম্পর্কে জানুন। সি একটি দুর্দান্ত প্রশংসা পাতার মর্মর মত একটি কার্মিক ভাষা। এই ভাবে আপনি আউট ভিতরে আপনার পদ্ধতিগত ভাষা সম্পর্কে চিন্তা চালু হবে হবে।" - এটি সম্ভবত সবচেয়ে গুরুত্বপূর্ণ। এটি আপনাকে প্রোগ্রামিং সম্পর্কে কীভাবে শিখতে সহায়তা করে (অর্থাত্ কোন পরিস্থিতিতে কী সন্ধান করতে হবে) learn
nnot101

53

অনুশীলনের 10,000 ঘন্টা যা তা নেয়।

"দশ বছরে নিজেকে প্রোগ্রামিং শেখান" পড়ুন

উপরের মূল বিষয়গুলি:

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

1
আমি কি পোস্ট করতে যাচ্ছি! স্পষ্টতই, আমি পি.এস.ই. তে যথেষ্ট ঘন্টা ব্যয় করি নি।
মার্টিজন পিটারস

@ মার্তিজজনপিটারস:: ডি
ভেরেটেক

8
একটি বইয়ের দুর্দান্ত শিরোনাম! আমি সিক্যুয়ালের জন্য অপেক্ষা করতে পারি না, "নিজেকে 20 বছর ভালভাবে প্রোগ্রাম করতে শেখান!"
গ্লেনপিটারসন

16
তবে, আপনাকে অবশ্যই নিশ্চিত করতে হবে যে আপনি একই 10 ঘন্টা 1000 বার পুনরাবৃত্তি করছেন না ...
ইজকাটা

কোনও পরিমাণ প্রযুক্তিগত দক্ষতা কাউকে কী কী স্বয়ংক্রিয় করতে বা কোনও প্রোগ্রাম তৈরি করতে হবে তা জানতে সহায়তা করবে না। এটি বলার মতো - জিমে যান এবং বাস্কেটবলের প্রতিটি মৌলিক অনুশীলন করুন দশ বছর ধরে, প্রতিদিন 1 ঘন্টা। সমকামী! আপনি একজন বাস্কেটবল সুপারস্টার (মাস্টার) ... না, এটি কেবল প্রযুক্তিগত দক্ষতার চেয়ে বেশি। অতএব, আমি এটিকে প্রশ্নের উত্তর হিসাবে বিবেচনা করি না, তবে কীভাবে মাস্টার হব? এটি সমাধানের একটি অংশ হতে পারে, তবে এটি মাস্টারশীপের জন্য যাদু মিশ্রণ নয়। আমি জানি - আমি মাস্টার নই!
oemb1905

36

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

  • সি: এলসিসি সংকলক বই

  • সি ++: সি ++ এর ডিজাইন এবং বিবর্তন (এবং তারপরে আপনার নিজের সি ++ সংকলক তৈরি করুন বা কমপক্ষে জিএনইউ সি ++ সংকলক কোড ব্যবহার করে কোনওটির প্রয়োগ বুঝতে পারবেন)

  • জাভা: "ইনভাইড জেভিএম" পান এবং জাভাক উত্স কোড পান। "java" এর .C কোডটিও সহায়ক

  • পাইথন: সিপিথন বাস্তবায়ন।

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

  • লিস্প: এসআইসিপি বুক (ভাষার জন্য লিস্পের জন্য আপনাকে স্কিম এবং একটি বেসিক ইন্টারপ্রেটার-সংকলক শেখায়): লিপ্প ইন স্মল পিস (অন্য একটি ভাল বই)।


1
এখন এই আমি একটি উত্তর কল। আমি ইতিমধ্যে একটি গ্রহণ করেছি তবে এটি কিছুটা আগে থাকলে এটি একটি "সেরা উত্তরের" দাবি করতে পারে
cprogcr

2
আপনার উত্তরটি কতটা সহায়তা করেছে তা আপনার কোনও ধারণা নেই। আপনার উল্লিখিত বইগুলি সম্পর্কে আমি পড়ছি এবং সেগুলি আমার প্রয়োজনীয় ধরণের জিনিস।
cprogcr

সে আমি তাদের কাছ থেকে শিখেছি। সাহায্য করতে পেরে খুশি :-)
অনিকেত ইনজ

যেহেতু আপনি সি হিসাবে উদাহরণ হিসাবে উল্লেখ করেছেন, আমি আপনাকে উপহার হিসাবে আরও দুটি বইয়ের নাম দেব, যা আমি আমার হাতের পিছনের দিকের মতো সি আয়ত্ত করতাম): 1. ওওসি.পিডিএফ (নিখরচায় অনলাইনে উপলব্ধ) এবং ২। মিনিক্স বুক (যদিও একটি ওএস প্রয়োগকারীদের বই, লিনাক্স প্রয়োগের আগে লিনাস টরভাল্ডস এটি পড়েন)
অনিকেত ইঙ্গেজ

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

12

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


1
আমি যখন কলেজে ছিলাম তখন আমি সিদ্ধান্ত নেব যে আমি যখন কোনও ভাষা পং লিখেছিলাম তখন আমি কোনও ভাষা "আয়ত্ত" করতে পারি। আমি এমআইপিএস শেখার আগ পর্যন্ত এটি বেশ ভাল কাজ করেছে। আমার এখনও দুঃস্বপ্ন আছে।
হিমশীতল মটর রডি

সি তে ওয়েবসাইট করা যায়?
বিগস্যাক

10

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


2
The true goal is to master your conceptual understanding of a language or languages.যথাযথভাবে। এটাই আমি আসলে বোঝাতে চাইছিলাম
cprogcr

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

এসকে-যুক্তি: প্রোগ্রামিংয়ের ভাষা পরিবর্তিত হয় এবং তাদের লাইব্রেরি এবং পরিবেশগুলিও তাই করে। ফলস্বরূপ আপনি ভাষা নিয়ে কাজ করার পদ্ধতিও পরিবর্তিত হয়। উদাহরণস্বরূপ, জাভাস্ক্রিপ্ট জাভাস্ক্রিপ্ট দিয়ে আমাদের কাজ করার পদ্ধতি পরিবর্তন করেছে।
orlp

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

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

5

আপনি এর উত্তরটি ইতিমধ্যে জানেন

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

এটি কঠোর পরিশ্রম এবং দৃ determination়সংকল্পে নেমে আসে এবং এমন কিছুর জন্য যা আপনি কখনই পাবেন না।

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

কোনও ম্যাজিক বুলেট নেই ...


2

এসডিএলসি (ওরফে, সফটওয়্যার ডেভলপমেন্ট লাইফ-চক্র) কী এবং তা বুঝতে পেরে শুরু করুন । এটি একটি পুনরাবৃত্তি প্রক্রিয়া যা স্ব-উন্নতি, শেখার সাথে জড়িত**practicing, practicing...**

এখানে চিত্র বর্ণনা লিখুন

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

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


1
ধন্যবাদ। আমি এটি পড়ার আগেই উত্তরটি বেছে নিয়েছিলাম তবে অবশ্যই আপনার পরামর্শ নেব।
cprogcr

কেন নিচে ভোট হয়েছে তা নিশ্চিত নন, দয়া করে আমাকে কীসের উন্নতি করা দরকার তা আমাকে জানান।
EL Yusubov

2

অভিজ্ঞতার বিকল্প নেই। কোনও কিছু আয়ত্ত করার জন্য আপনাকে এটিকে অনেক কিছু করতে হবে / ব্যবহার করতে হবে।

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

আমি অন্য লোকের কোডটি পড়তে এবং এটি বুঝতে সক্ষম হতে চাই, তা যতই কঠিন হোক না কেন।

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


2

সমস্যার উচ্চ স্তরের দিকে, আর্কিটেকচার সম্পর্কে শিখুন: আপনার প্রকল্পগুলি কীভাবে সংগঠিত করবেন, এর কাঠামো কী। এগুলি এলোমেলোভাবে বাড়তে দিন।

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

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


1

আমি কি কয়েকটা পরামর্শ দিতে পারি?

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

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


0

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

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

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

আশা করি এটা কাজে লাগবে!


0

আমি গ্লেনের তালিকায় দুটি আইটেম যুক্ত করব

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

0

@ টিএমএন যা বলেছিল তা বানাতে। ভিন্ন প্রোগ্রামে একই প্রোগ্রাম লিখে আমি ভাষা শেখার ক্ষেত্রে বড় সাফল্য পেয়েছি।

উদাহরণস্বরূপ এমন একটি প্রোগ্রাম লিখুন যা কোনও সিএসভি ফাইলে পড়ে, পাঠ্যটিকে পার্স করে এবং তারপরে এটি বিপরীত ক্রমে কলামগুলি সহ একটি দ্বিতীয় সিএসভিতে ফিরিয়ে দেয়।

এটার মত,

COLUMN1, COLUMN2, Column3

প্রতি

Column3, COLUMN2, COLUMN1

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

এছাড়াও আমি মনে করি @ গ্লেনপিটারসন যা বলেছিলেন,

খুব আলাদা ভাষা শিখুন। সি এর একটি দুর্দান্ত প্রশংসা হ'ল লিস্পের মতো কার্যকরী ভাষা। এটি আপনার প্রক্রিয়াজাতীয় ভাষাটি ভিতরে ভাবতে ভাববে turn

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

সাথে দুর্দান্ত খেলা।


0

আপনি বই থেকে একটি ভাষা শিখতে পারবেন না। আপনার প্রয়োজন কেবল অনুশীলন এবং অনুশীলন। আপনি সেই নির্দিষ্ট বই বা সেই নির্দিষ্ট উত্স থেকে কোনও ভাষা শিখতে পারবেন না বলে মনে করবেন না J কেবলমাত্র মনে করুন প্রোগ্রামিং ভাষাটি মানুষের ভাষা হিসাবে একই। আপনি কোনও নির্দিষ্ট বই পড়ে কেবল ইংরেজী বা ফরাসী ভাষা শিখতে পারবেন না ll আপনার প্রয়োজন সমস্তই দিনের বেলা এটি ব্যবহার করা উচিত দৈনন্দিন জীবন. স্ক্র্যাচ থেকে কোড, এর কার্যকারিতাটি এমন কিছু তৈরি করার চেষ্টা করুন যা আপনাকে কিছুটা সন্তুষ্ট করবে nd এবং আপনি যদি কোনও ভাষা পুরো ভাষাটি জানার জন্য এবং প্রোগ্রামিং ভাষার প্রতিটি উপাদানকে ব্যবহারিক কোডিংয়ে ব্যবহার করার কথা ভাবছেন তবে আপনি পারবেন না। অথবা আপনি যদি এটি করতে পারেন তবে 10-15 বছর সময় নিতে পারে।

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