আপনার বিকাশের পরিবেশে ফাংশনাল প্রোগ্রামিং পরিচয় করিয়ে দেওয়া [বন্ধ]


15

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

এখন আমরা একটি নতুন রাজ্যে প্রবেশ করছি: ডেরিভেটিভস এবং পরিমাণগত বিশ্লেষণমূলক ধরণের কাজ, যা খুব উত্তেজনাপূর্ণ বলে মনে হচ্ছে। এটি এমন কিছু যা আগামী ৮-১২ মাসের মধ্যে আমাকে বলা হয়েছিল down

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

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

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


প্রস্তাবিত পাঠ: কোথায় শুরু করবেন
26:38

উত্তর:


14

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


ভাল পরামর্শ এবং আমি এটি মনোযোগ দেব, আসলে আমি এখনই এটিরং ইনস্টলটি করছি it
নোডি দি নোড গাই

10

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

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


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

2
আপনার যদি প্রমাণ প্রয়োজন হয়, খাঁটি কার্যকরী প্রোগ্রামিং সেরা। এখানে কিছু পরামর্শ হ'ল আবশ্যকীয় ভাষাগুলিতে ক্রিয়ামূলক অ্যাড-অনগুলির জন্য - সেগুলি আরও পরিচিত হতে পারে তবে আপনাকে সম্ভবত সঠিক কোড দেবে না। পার্শ্ব প্রতিক্রিয়াগুলির উপস্থিতিতে, আপনি x = x ('রেফারেনশিয়াল স্বচ্ছতা') সত্যটি ব্যবহার করতে পারবেন না এবং আপনাকে প্রমাণ করতে হবে যে কোডটির পরেও x এর আগেও একই মান রাখে। কিছু ভাষায় উদাহরণস্বরূপ, এটি ঘটতে পারে যা x:=3; y:=10; x:=add(x,x);ফলাফল x6 যা একটি নয় এবং yযা 10 নয় in এই প্রসঙ্গে আপনার ক্রিয়াকলাপগুলি সঠিক প্রমাণ করা অবৈজ্ঞানিক।
অ্যান্ড্রুসি

9

আমি বিদ্যমান। নেট কোডবাসের সাথে একটি শপের জন্য দৃ #়ভাবে একমত হতে চাই, বিদ্যমান জাভা কোডবেসযুক্ত কোনও দোকানের জন্য আমি স্কালার সাথে দৃ strongly়ভাবে সম্মত হব।

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


7

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

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

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


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

1

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

পাইথনের কার্যকরী পদ্ধতির কীভাবে জটিল জিনিসগুলি সহজতর করা যায় তার উদাহরণের জন্য জেনারেটর সম্পর্কে ডাবিজের উপস্থাপনাগুলি দেখুন: http://www.dabeaz.com/generators/

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


+1: স্কালার উল্লেখ এবং বিভিন্ন প্ল্যাটফর্মে এর উপলব্ধতার জন্য প্রশ্ন: আকলা কী স্কালায় বর্তমান অভিনেতার বাস্তবায়ন প্রতিস্থাপন করবে? নাকি পাশাপাশি দু'জনের অস্তিত্ব থাকবে?
জর্জিও

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

তথ্যের জন্য অসংখ্য ধন্যবাদ! আমি স্কালায় অভিনেতাদের এক নজর দেখেছি তবে এখন পর্যন্ত কেবলমাত্র একটি অতিপরিচয়।
জর্জিও

-1

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

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

নিজেকে টাস্কে রাখার চেষ্টা করার জন্য এখানে ওপি-তে জিজ্ঞাসা করা জোর প্রশ্নগুলির আমার বোঝা; আমি ব্যাখ্যা করার জন্য প্রয়োজনীয় হিসাবে ন্যূনতম দিকে সাইডলাইন রাখব ....

প্রথমে দ্রুত উত্তর:

আমি কি একই পরিস্থিতিতে ছিলাম? এটি অন্তত অনুরূপ ছিল; আমি লিড পজিশনে ছিল বিভিন্ন বিবিধ প্রকল্প যা তবুও সম্পর্কিত ছিল ... (সিআরএম / ওয়েব / ডিবি / ডেটা ইন্টিগ্রেশন / ইত্যাদি)

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

চার চিন্তা ... ভুল, কোনটি ঠিক নয় ... ভবিষ্যদ্বাণী

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

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

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

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

হঠাৎ আপনি নিজেকে খুঁজে ...

একটি "খুব দীর্ঘ" পোস্টে

আপনি টুইস্টি গোলকধাঁধায় রয়েছেন, "পড়েন নি", সব মিলিয়ে।

আপনি অদূর ভবিষ্যতে একটি টেলিকনফারেন্স দেখতে পাচ্ছেন, দ্রুত এগিয়ে আসছে।
> বাহুল্যবর্জিত
আহ হাহ. অবশ্যই। ঠিক আছে, আমরা বলব "টর্স" মোডটি "চালু" আছে।

আপনি অদূর ভবিষ্যতে একটি টেলিকনফারেন্স দেখতে পাচ্ছেন, দ্রুত এগিয়ে আসছে।
> এর মানে কী?
শুধু Sayin'. আজ সকালে কিছু করতে হবে না?

আপনি অদূর ভবিষ্যতে একটি টেলিকনফারেন্স দেখতে পাচ্ছেন, দ্রুত এগিয়ে আসছে। 
> আরে, এটা কি তোমার পিছনে পিছনে?
কি!? কোথায়?! [চিৎকার করে পালায়]

> দুঃখিত, আমি কোনটি বুঝতে পারি না, পুনরায় সংশোধন করব?
[অব্যাহতভাবে চালানো এবং চিৎকার করা, কৌতুক নজর কাড়েনি]

তো ... প্রিয় পিএসই, প্রিয় পিএসই আমার কী শিখতে হবে?

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

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

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

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

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

এবং ... প্রিয় পিএসই, প্রিয় পিএসই, কী দিয়ে আমি এটি শিখব?

এর জন্য, আমি বিভিন্ন অ্যালগরিদম ব্যবহার করেছি যেহেতু আমি যেভাবেই হোক আগ্রহী হয়ে উঠলাম, সাথে সাথে বিভিন্ন বিষয় নিয়েও ভাবছিলাম যে আপনি এফ # তে করতে পারতেন কিনা, এবং আমি যখন ধারণা থেকে সরে যাব তখন আমি 99 বোতল বিয়ার এবং প্রকল্পের ইউলারের মতো জিনিসগুলি সামাল দেব সমস্যা ...

আমি নিশ্চিত যে আপনি প্রচুর পরিমাণে এমন জিনিস খুঁজে পেতে পারেন যা আপনাকে আগ্রহী যে এফপি প্রাসঙ্গিক; এটি ওওপি-তে উন্নতকরণ থেকে এমন সমস্ত কিছু সরবরাহ করে যা আপনাকে জিনিসকে কিছুটা বেশি সংজ্ঞায়িতভাবে বলতে আপনাকে যে আকারে চিনতে পারত না এমন আকারের মোড় ঘুরিয়ে দিতে সহায়তা করে এবং সম্ভবত এমন মানসিক মডেলও প্রকাশ করতে পারে নি আগে.

তবে ... আমার মডেলটিতে একটি ছিদ্র আছে, প্রিয় পিএসইতে একটি গর্ত আছে ...

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

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

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

সর্বশেষ ভাবনা...

আমার, আমার, মনে হচ্ছে আপনি নিজের স্বাক্ষর চালাকের কথা চিন্তা করার ক্ষমতা হারাচ্ছেন
বিভাগ শিরোনাম। কি লজ্জা.

টেলিকনফারেন্স এখনও দ্রুত এগিয়ে আসছে। এটি এখন অনেক বড় প্রদর্শিত হয়।
> হ্যাঁ, হ্যাঁ, ভাল .. অল্প এবং সমস্ত। আমি দেখতে পাচ্ছি যে আপনি সেই ক্ষয়টি হারাতে সক্ষম হয়েছেন।
 কাছাকাছি কল, যে ... ভাল, হ্যাঁ, আমি দেরি করছি ... ওহ, এটি পিছনে নেই!
AAAAAAAHHHHHH !! [আর একবার চিৎকার করে পালিয়ে]

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

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

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

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


"প্রিয় এসও" কী?
gnat

প্রিয় স্ট্যাক ওভারফ্লো ছিল; 'বালিতে ইন হোল'-এর গানের ক্যাডেন্সটি মিলবে বলে মনে হচ্ছে এক্সডি
শেললিবাটারফ্লাই

এসও এর বাইরে পোস্ট করা হলে, আপনার পয়েন্টগুলি বোঝা আরও শক্ত হয়ে যায় - এই অ্যাকাউন্টে অ্যাকাউন্টে সম্পাদনা বিবেচনা করুন
gnat

derp! হ্যাঁ, সত্যিই হয়েছে। tyvm। :)
শেলিবিটারফ্লাই

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