প্রোগ্রামিংয়ের জন্য গণিত কি প্রয়োজনীয়? [বন্ধ]


117

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

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

যুক্তিগুলির কোন দিকটি সঠিক তা আমি এখনও স্থির করতে পারি না। আপনার নিজের অভিজ্ঞতা থেকে আপনি কি আমাদের অবস্থান বলতে পারেন?


7
আমি দশ বছর পরে আমার এইচএস গণিত শিক্ষককে ডেকেছিলাম কেবল তাকে বলার জন্য আমি কখনই আমার পুরো ক্যারিয়ারের উন্নত গণিত ব্যবহার করি নি। ডিক মুভ, আমি জানি, তবে দুর্দান্ত প্রশ্ন! এক যোগ করুন.
ক্রিস ম্যাককেল


এই প্রশ্নের সর্বাধিক ভোট দেওয়া উত্তর দেখুন ।
বরিস স্ট্যাটনিকি

বরং. বন্ধ, এটি প্রোগ্রামারগুলিতে স্থানান্তরিত হওয়া উচিত।
ক্রিস চডমোর

উত্তর:


111

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

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

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

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

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

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


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

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

56

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

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

খুব ভাল সম্ভাবনা রয়েছে যে আপনি যদি একজনের পক্ষে ভাল হন তবে আপনি সম্ভবত অন্যের পক্ষে ভাল হতে পারেন।


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

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

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

@ লিয়াম - এটি স্বল্প মেয়াদে স্মৃতিতে প্যাটার্ন মেলানো এবং জাগ্রত করার বিষয়ে about উভয় ক্রিয়াকলাপে সেই দক্ষতা প্রয়োজন।
jcolebrand

"1 এর জন্য খুব ভাল সুযোগ রয়েছে যে আপনি যদি একজনের পক্ষে ভাল হন তবে আপনি সম্ভবত অন্যের পক্ষে ভাল হতে পারেন" "
থরবজর্ন রাভন অ্যান্ডারসন

39

কম্পিউটার বিজ্ঞান! = প্রোগ্রামিং

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


12
আমার মনে হয় আমি যে সেরা উক্তিটি শুনেছি তা হ'ল "কম্পিউটার বিজ্ঞান কম্পিউটার সম্পর্কে আর জ্যোতির্বিজ্ঞান টেলিস্কোপ সম্পর্কে নয়।" (
ডিজকস্ট্রা

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

2
@ সিমসিম: আমি এটি আপত্তিজনক বলে মনে করি যে লোকেরা মনে করে যে কোনও সিএস ডিগ্রি প্রোগ্রামিং সম্পর্কে।
চালনা করুন

3
@ সিমসিম: এই ওয়েবসাইটটি তৈরি করার সময় জোয়েল এবং জেফের মনে কী ছিল তা বিবেচ্য নয়। এটি একটি সম্প্রদায় তৈরি সম্পর্কে যেখানে প্রোগ্রামাররা একে অপরকে সহায়তা করে। আমি মনে করি ডেভিডের সংক্ষিপ্ত উত্তরটি ঠিক টার্গেটে। +1
স্কটি টি

@ স্কটি: যদি এটি "প্রোগ্রামার একে অপরকে সহায়তা করে এমন একটি সম্প্রদায় তৈরির বিষয়ে" থাকে তবে ফোরাম এবং মেলিংয়ের তালিকা যথেষ্ট হত। সম্ভবত আমি আমার প্রতিক্রিয়াতে কিছুটা কঠোর ছিলাম, তবে অবশ্যই অবাক হওয়ার আগেই 15 জন ব্যবহারকারী অবশ্যই পুরোপুরি ক্লাসহীন "উত্তর" দিয়েছিলেন, ভাল, অবশ্যই সম্পাদনার আগে। :-)
1'08

29

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

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

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

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


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

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

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

26

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

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

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


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

@ বালাবাস্টার: কখনও কখনও - তবে আমি বলব যে এটি প্রায়শই ঘটে না। সমানভাবে, এটি ব্যবহারের জন্য আপনাকে আগে কোনও সূত্র আগে জানার দরকার নেই। হচ্ছে উপযুক্ত যাতে আপনি সূত্র আপনি যখন তাদেরকে দেখেন বুঝতে পারেন, কিন্তু আপনি খুব কমই আইএমও ডিগ্রী পর্যায়ের গণিতশাস্ত্র নিজেই প্রয়োজন গণিতশাস্ত্র এ, ভাল।
জন স্কিটি

11
গণিত ডিগ্রি? তাহলে আপনি জানেন যে এটি কেবল সংখ্যা নয়। আমি দুই গণিত ডিগ্রী আছে, এবং বিষয়বস্তু প্রায়ই ব্যবহার করুন: বুলিয়ান বীজগণিত বিশ্লেষণ / প্রক্রিয়া সহজ যুক্তি, অটোমাটা / ভাষার ডিএসএল নির্মাণ, বড় হে কর্মক্ষমতা বিশ্লেষণের জন্য বীজগণিত, ইত্যাদি জন্য তত্ত্ব
joel.neely

14

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


14

আমি এখানে শস্যের বিরুদ্ধে যাব এবং "হ্যাঁ" বলব

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

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


একজন গড় প্রোগ্রামার সত্যই কতগুলি মৌলিক অ্যালগরিদম লিখতে পারে? আমি অনুমান করতে পারি যে ৮০% প্রোগ্রামিং জব বুনিয়াদি বীজগণিতের বাইরে কোনও গণিতের সাথে জড়িত না।
dbkk

@dbkk: একটি গড় প্রোগ্রামার এর সবচেয়ে সাধারণ কাজ হ'ল অবজেক্ট মডেলটির ডিজাইন, কিছু ডোমেনের "ব্যবসায়িক যুক্তি"। এবং এই জাতীয় প্রক্রিয়াটি গণিত ছাড়া অন্য কিছু নয়, যদিও এটি সাধারণত যারা কাজটি সম্পাদন করেন তাদের দ্বারা প্রতিবিম্বিত হয় না।
বরিস স্ট্যাটনিকি

14

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

এছাড়াও অন্যান্য অনেক প্রোগ্রামিং কাজ রয়েছে যা আপনি দেখতে পাবেন যে খুব বেশি গণিতের প্রয়োজন নেই।


13

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


9

হ্যাঁ, উন্নত গণিতের প্রয়োজন নেই - যদি আপনি বাণিজ্যিক প্রোগ্রামিং করেন - শেল্ফ সফ্টওয়্যারটি বন্ধ।

তবে শক্ত জিনিসগুলির সাথে কাজ করার সময় যেমন:

  • একটি রোবট নিয়ন্ত্রণ করতে ট্রিজেক্টোরিগুলি গণনা করা হচ্ছে
  • অনিশ্চয়তা এবং স্বয়ংক্রিয় যুক্তি সমর্থন করতে এআই-এর মতো অ্যাপ্লিকেশন তৈরি করা
  • 3-ডি মোশন এবং গ্রাফিক্সের সাথে খেলছে

কিছু উন্নত গণিত জ্ঞান কাজে আসতে পারে। এবং এটি "বিশ্বের বাইরে" সমস্যাগুলির মতো নয়।

অফিসের জন্য প্রয়োজনীয় পরিমাণ কাগজ "ভবিষ্যদ্বাণী" করার চেষ্টা করার জন্য আমাকে একটি সফ্টওয়্যার তৈরি করতে হয়েছিল (এবং এটি আনুমানিক মানগুলির সর্বোত্তম উপায় সন্ধান করার জন্য জাহান্নাম ছিল)।

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


আপনি ফাইলগুলি সংকুচিত করা বা এমপি 3 ফাইলগুলি সম্পাদনা বা এমন কিছু যুক্ত করতে পারেন যা কেবল কম্পিউটারকে একসাথে ছড়িয়ে দেওয়ার পরিবর্তে কম্পিউটার কী করছে তা বোঝার প্রয়োজন।
13

4
এই কাজটি করার জন্য তিনি কীভাবে টুরিং ব্যবহার করেছিলেন? কোন ওউইজা বোর্ড নাকি সেন্সেন্স?
জারেড আপডেটিকে

8

কি ধরণের প্রোগ্রামিং?

আমার বাণিজ্যিক অভিজ্ঞতায়, আমার কোনও উন্নত গণিতের প্রয়োজন নেই, তবে এটি আপনি যে ক্ষেত্রে রয়েছেন তার উপর নির্ভর করে dependent

কম্পিউটার গ্রাফিক্সের জন্য প্রচুর পরিমাণে উন্নত গণিত প্রয়োজন। প্রচুর একাডেমিক কম্পিউটার প্রোগ্রামিংয়ের জন্য উন্নত গণিতের প্রয়োজন।

সুতরাং বলার সাথে গণিতের ক্ষেত্রে ভাল এবং প্রোগ্রামিংয়ের ক্ষেত্রে দক্ষ ব্যক্তিদের মধ্যে পারস্পরিক সম্পর্ক রয়েছে।

আমি আশা করি এই ইচ্ছামত জবাব উত্তর সাহায্য করবে।


6

কিছু ক্ষেত্রে বিকাশকারীদের জন্য গণিতের প্রয়োজন তবে অন্যগুলিতে এটি প্রায় অকেজো।

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

অন্যদিকে গত 5 বছরে আমার কাছে কেবল 2 বা 3 টি প্রকল্প ছিল যেখানে কোনও পরিমাণ গণিতের প্রয়োজন ছিল না। এর মধ্যে কেবলমাত্র 1 টি ঘটনা ঘটেছে যখন কোনও গুগল অনুসন্ধান সাহায্য না করে।

দিনের শেষে এমনকি আর্থিক গণনাগুলি প্রায়শই এমন কিছু হয় যা আপনার ক্লায়েন্টরা আপনার জন্য করে এবং আপনাকে প্রয়োগের সূত্র দেয়।

সুতরাং আপনি যদি 'প্রয়োগিত সফ্টওয়্যার' ব্যবসায় থাকেন তবে আপনি কখনই নিজের গণিতের ডিগ্রি ব্যবহার করবেন না। আপনি যদি একাডেমিক সফ্টওয়্যার থাকেন তবে গণিতগুলি অত্যন্ত গুরুত্বপূর্ণ।


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

6

আমি ক্রিসের সাথে একমত আমি "হ্যাঁ" বলব। তবে এটি উপরে বর্ণিত হিসাবে আপনার বাজারের উপর নির্ভর করে। আপনি যদি প্রতিদিনের কাজটি সহায়তা করার জন্য কিছু প্রাথমিক "অফ-দ্য শেল্ফ" অ্যাপ্লিকেশন বা লেখার সরঞ্জামগুলি তৈরি করে থাকেন ... তবে গণিত প্রায় ততটা গুরুত্বপূর্ণ নয়।

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

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


6

আমার অভিজ্ঞতায় গণিতে প্রোগ্রামিংয়ের প্রয়োজনীয়তা রয়েছে, আপনি এ থেকে দূরে সরে যেতে পারবেন না। পুরো প্রোগ্রামিং গণিত উপর ভিত্তি করে।

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

উদাহরণস্বরূপ, আপনি যদি কেবলমাত্র সংযোজন এবং বিয়োগফল জানেন তবে আপনি প্রোগ্রাম করতে পারেন। যখন গুণনের প্রয়োজন হয়, আপনাকে প্রচুর সংযোজন করতে হবে। গুণগুলি পুনরাবৃত্তিমূলক সংযোজনকে সহজ করে। বীজগণিত প্রোগ্রামগুলিতে প্রয়োগের আগে গণিতকে সহজ করার অনুমতি দেয়। লিনিয়ার বীজগণিত চিত্রগুলি রূপান্তর করার জন্য সরঞ্জাম সরবরাহ করে। বুলিয়ান বীজগণিত সমস্ত হ্রাস করার জন্য মেকানিক্স সরবরাহ করেif বিবৃতি ।

এবং গণিত, যুক্তি এবং দর্শনশাস্ত্র সহোদরকে ভুলে যাবেন না। যুক্তি আপনাকে caseবা এর দক্ষ ব্যবহার করতে সহায়তা করবেswitch বিবৃতি । দর্শন আপনাকে সেই লোকটির চিন্তাভাবনা বুঝতে সহায়তা করবে যে সেই কোডটি আপনি সংশোধন করছেন wrote

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


6

আমি পেশাগতভাবে 8 বছর ধরে প্রোগ্রামিং করছি, এবং শখের হিসাবে আমার বয়স 12 বছর ছিল।

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

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

আপনাকে অ্যালগরিদমিক চিন্তাধারা বুঝতে হবে। প্রথমে এটি, তারপরে এটি উত্পাদন করে যা এই গণনায় ব্যবহৃত হয়। সম্ভাবনাগুলি কি আপনি এটি বুঝতে পারছেন বা আপনি তা বুঝতে পারছেন না, এবং যদি আপনি এটি না বুঝতে পারেন তবে লাফিয়ে ফেলা মোটামুটি একটি প্রতিবন্ধকতা; আমি খুঁজে পেয়েছি যে এটি এমন একটি যা আপনি 'পেয়েছেন' এবং এটি আপনি শিখতে পারেন এমন কিছু নয়। বিপরীতে, কিছু লোক শিল্প 'পায় না'। তাদের চিত্রশিল্পী হওয়া উচিত নয়। এছাড়াও, সিএস পাঠ্যক্রমগুলিতে এমন শিক্ষার্থী রয়েছে যারা এটি কেন কাজ করে না তা বুঝতে পারে না: x = z + w; z = 3; y = 5; এগুলি যে তারা সংযোজন বুঝতে পারে না তা নয়, তারা স্পষ্টতই এক্সপ্রেসের প্রয়োজনীয়তা উপলব্ধি করে না। যদি তারা এটি বুঝতে পারে, কম্পিউটারেরও ঠিক উচিত? আপনি যদি উপরের তিনটি লাইনের মধ্যে কী ভুল দেখতে না পান তবে প্রোগ্রামার হয়ে উঠবেন না।

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

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

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

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

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

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


5

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


5

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

সুতরাং আপনার প্রশ্নের উত্তর হ'ল - এটি আপনি কী করার চেষ্টা করছেন তার উপর নির্ভর করে।


5

আপনি যদি কোনও নতুন প্রোগ্রামিং ভাষা লিখতে চলেছেন তবে উন্নত গণিতের জ্ঞান জরুরী। অথবা আপনার নিজের অ্যালগোরিদম লিখতে হবে।

তবে, বেশিরভাগ দিনের প্রোগ্রামিংয়ের জন্য - ওয়েবসাইট থেকে বীমা প্রসেসিং অ্যাপ্লিকেশন - কেবলমাত্র প্রাথমিক গণিতের প্রয়োজন


5

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

  • সবাই ইউআই ডিজাইন করতে পারে না।
  • সবাই দক্ষ কোড তৈরি করতে পারে না।
  • প্রত্যেকেই মন্তব্য ও ডকুমেন্ট পরিষ্কারভাবে দিতে পারে না।
  • প্রত্যেকেই একটি ভাল অ্যালগরিদম করতে পারে না

গণিত আপনাকে একটি বিন্দুতে সহায়তা করবে তবে কেবল একটি বিন্দুতে।


5

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


5

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

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


5

ম্যাথ প্রোগ্রাম তৈরির জন্য একটি টুলবক্স। আমি কর্পোরের অ্যালগরিদমগুলির পরিচিতির প্রস্তাব দিই। এটি আরও "ম্যাথিক" স্টাফগুলিতে স্পর্শ করে।

- Greatest lowest limit (managing resources) 
- Random variables (game programming)
- Topological sort (adjusting spreadsheets)
- Matrix operations (3d graphics)
- Number theory (encryption)
- Fast fourier transforms (networks)

4

আমি মনে করি না যে উচ্চতর গণিত একটি ভাল প্রোগ্রামার হওয়ার জন্য প্রয়োজনীয়তা - সর্বদা এটি আপনার কোডিংয়ের উপর নির্ভর করে।

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

তবে প্রায় 10 বছর ধরে পেশাদার প্রোগ্রামার হওয়া (এবং আরও 10 বছর অপেশাদার) "উচ্চতর গণিত" এমন কিছু নয় যা আমার নিয়মিত প্রয়োজন। প্রায় সব ক্ষেত্রে 99.8% ক্ষেত্রে এটি কিছু বুদ্ধিমান সংমিশ্রণে কেবল যোগ, বিয়োগ, বিভাগ এবং গুণন - বেশিরভাগ ক্ষেত্রে এটি গণিত নয়, অ্যালগরিদম সম্পর্কে।


4

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

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


4

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

তবে আমি এমন একজন প্রোগ্রামার সম্পর্কে সতর্ক থাকব যিনি ম্যাথ করতে পারেননি। আঁকতে পারেনি এমন একজনের চেয়ে বেশি।


4

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

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

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


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

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

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

4

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

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

এছাড়াও, নিশ্চিত করুন যে কোনও বেসে, বিশেষত বেস 2, 8 এবং 16 এর মধ্যে যে কোনও কিছু গণনা করতে হয় তা আপনি জানেন।

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

(x|y) & (x|z) & (x|foo)

সরলীকরণ করা যেতে পারে

x | (y & z & foo)

যা আমি আগেও খুব একটা বুঝতে পারি নি।


4

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

কোনওভাবেই কোনও আকার বা ফর্মের জন্য আপনাকে এর কোনওটির জন্য গণিতের ক্লাস নেওয়া বা পাস করতে হবে না।

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

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

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


এই শিখা টোপ, কিন্তু বাস্তবতা না। প্রোগ্রামিং দৃষ্টিকোণ থেকে আপনার ডিজিটাল ইলেকট্রনিক্স এবং সফ্টওয়্যার ইঞ্জিনিয়ারিং সম্পর্কে যা কিছু জানতে হবে তার সংক্ষিপ্তসার দেওয়া যেতে পারে। 0, 1, এবং, বা না। এই পাঁচটি জিনিস ডিজিটাল ইলেকট্রনিক্স এবং সমস্ত প্রোগ্রাম পরিচালনা করে on আপনি দ্রুত নান্দ গেটগুলির একটি বড় বাক্স দিয়ে যে কোনও কিছু তৈরি করতে পারেন।
old_timer

4

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


3

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

তবে সাধারণভাবে, আমি মনে করতে পারি না শেষবারের মতো আমি প্রতিদিনের প্রোগ্রামিংয়ে কোনও ধরণের উন্নত গণিত ব্যবহার করেছি, তাই না।

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