আমি পেশাগতভাবে 8 বছর ধরে প্রোগ্রামিং করছি, এবং শখের হিসাবে আমার বয়স 12 বছর ছিল।
গণিত প্রয়োজন হয় না, যুক্তি হয়। ম্যাথ মারাত্মকভাবে সহায়ক যদিও, এটি বলার অপেক্ষা রাখে না যে একজন ব্যক্তিকে হত্যা করার জন্য, বন্দুকের প্রয়োজন হয় না, আপনি ছুরি ব্যবহার করতে পারেন। ঠিক আছে, এটি সত্য, কিন্তু সেই বন্দুকটি এটিকে অনেক সহজ করে তোলে।
বেশ কয়েকটি ন্যূনতম রয়েছে, যা আপনার ইতিমধ্যে দেখা উচিত meet আপনার প্রাথমিক বীজগণিতিক ভাব এবং স্বরলিপি এবং কম্পিউটারের সমতুল্য সমষ্টি সম্পর্কে জানতে হবে। উদাহরণস্বরূপ, আপনাকে জানতে হবে একটি সূচক কী (3 থেকে তৃতীয়টি 27) এবং কম্পিউটারের সাধারণ প্রকাশটি 3 ^ 3 হয়। বীজগণিতের জন্য সাধারণ স্বরলিপিগুলি ভাষার মধ্যে পরিবর্তিত হয়, তবে তাদের মধ্যে কিছুটা কিছুটা একীভূত পদ্ধতি ব্যবহার করে। অন্যরা (আপনাকে এলআইএসপি দেখছে) তা করবে না। আপনাকে ক্রিয়াকলাপের ক্রমও জানতে হবে।
আপনাকে অ্যালগরিদমিক চিন্তাধারা বুঝতে হবে। প্রথমে এটি, তারপরে এটি উত্পাদন করে যা এই গণনায় ব্যবহৃত হয়। সম্ভাবনাগুলি কি আপনি এটি বুঝতে পারছেন বা আপনি তা বুঝতে পারছেন না, এবং যদি আপনি এটি না বুঝতে পারেন তবে লাফিয়ে ফেলা মোটামুটি একটি প্রতিবন্ধকতা; আমি খুঁজে পেয়েছি যে এটি এমন একটি যা আপনি 'পেয়েছেন' এবং এটি আপনি শিখতে পারেন এমন কিছু নয়। বিপরীতে, কিছু লোক শিল্প 'পায় না'। তাদের চিত্রশিল্পী হওয়া উচিত নয়। এছাড়াও, সিএস পাঠ্যক্রমগুলিতে এমন শিক্ষার্থী রয়েছে যারা এটি কেন কাজ করে না তা বুঝতে পারে না: x = z + w; z = 3; y = 5; এগুলি যে তারা সংযোজন বুঝতে পারে না তা নয়, তারা স্পষ্টতই এক্সপ্রেসের প্রয়োজনীয়তা উপলব্ধি করে না। যদি তারা এটি বুঝতে পারে, কম্পিউটারেরও ঠিক উচিত? আপনি যদি উপরের তিনটি লাইনের মধ্যে কী ভুল দেখতে না পান তবে প্রোগ্রামার হয়ে উঠবেন না।
শেষ অবধি, আপনার প্রোগ্রামিংয়ের ডোমেনের অধীনে গণিতটি যা আছে তা আপনার জানা দরকার। অ্যাকাউন্টিং সফ্টওয়্যার বেসিক বীজগণিত এ থামতে পারে। আপনি যদি পদার্থবিজ্ঞান প্রোগ্রামিং করে থাকেন তবে আপনাকে পদার্থবিজ্ঞান (আলগাভাবে) এবং ত্রিমাত্রিক জ্যামিতিতে (ইউক্লিডিয়ান) গণিত জানতে হবে। আপনি যদি আর্কিটেকচার সফ্টওয়্যার প্রোগ্রামিং করে থাকেন তবে আপনার ত্রিকোণমিতি জানতে হবে।
এটি আরও দূরে গণিত যদিও; আপনি যে ডোমেনের জন্য প্রোগ্রামিং করছেন তা আপনার বেসিকগুলি ভালভাবে বুঝতে হবে। আপনি যদি ভাষা বিশ্লেষণ সফ্টওয়্যার প্রোগ্রামিং করে থাকেন তবে আপনার সম্ভাবনা, পরিসংখ্যান, ব্যাকরণ তত্ত্ব (একাধিক ভাষা) ইত্যাদি জানা দরকার etc.
প্রায়শই, নির্দিষ্ট ডোমেনগুলির প্রয়োজন হয় বা আপনার জ্ঞান সম্পর্কিত নয় এমন জ্ঞান থেকে উপকার পেতে পারে। উদাহরণস্বরূপ, আপনি যদি অডিও সফ্টওয়্যার প্রোগ্রামিং করছিলেন তবে ওয়েভফর্মগুলি মোকাবেলা করার জন্য আপনার আসলে ত্রিকোণমিতি জানতে হবে।
বিশালতা জিনিসগুলিকেও পরিবর্তন করে। আপনি যদি 1000 আইটেমগুলির একটি আর্থিক ডেটা সেট বাছাই করেন তবে এটি কোনও বড় বিষয় নয়। এটি যদি ১ কোটি রেকর্ড থাকে তবে ভেক্টর গণিতটি আসলে জানার পরে এবং বাইনারি স্তরে বাছাই করার গভীর জ্ঞান অর্জনের মাধ্যমে আপনি কীভাবে উপকার পাবেন (সিস্টেমটি বর্ণমালা অনুসারে কীভাবে সাজান? কীভাবে এটি কীভাবে জানতে পারে যে 'বি' এর চেয়ে কম নয়) '?)
আপনি আবিষ্কার করতে যাচ্ছেন যে একজন প্রোগ্রামার হিসাবে আপনার সাধারণ জ্ঞানের ভিত্তি বিস্ফোরিত হতে চলেছে, কারণ প্রতিটি প্রকল্প প্রোগ্রামিংয়ের প্রত্যক্ষ ক্ষেত্রের বাইরে আরও বেশি শিক্ষার প্রয়োজন হবে। আপনি যদি স্ব-শিক্ষার বিষয়ে উদ্ভট বা অলস হন এবং সপ্তাহে 10+ ঘন্টা মূলত 'হোমওয়ার্ক' ব্যয় করার ধারণাটি পছন্দ করেন না তবে প্রোগ্রামার হয়ে উঠবেন না।
আপনি যদি চিন্তার ব্যায়াম পছন্দ করেন, আপনি যদি শেখা পছন্দ করেন, যদি আপনি কোনও গণক বা স্কেচপ্যাড ছাড়াই নকশাকৃত নকশার মতো বিমূর্ত বিষয় সম্পর্কে চিন্তা করতে পারেন, যদি আপনার জীবন এবং শখের বিস্তৃত স্বাদ থাকে, আপনি যদি আত্মসমালোচনা করেন এবং ফেলে দিতে পারেন তবে ' পছন্দসই 'ধারণাগুলি, যদি আপনি নিখুঁত জিনিস পছন্দ করেন তবে প্রোগ্রামার হন। এই সিদ্ধান্তকে গণিতের ভিত্তিতে স্থাপন করবেন না, বরং যুক্তিযুক্তভাবে চিন্তা করার এবং শেখার দক্ষতা। তারাই গুরুত্বপূর্ণ; গণিত কেবলমাত্র বাই-প্রোডাক্ট।