একটি বড় কোডবেস এবং ইঞ্জিনিয়ারিং দলে F # প্রবর্তনের আসল বিশ্বের সমস্যাগুলি [বন্ধ]


37

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

1) প্রত্যেককে F # শিখতে হবে, এবং এটি জাভা থেকে সি # তে পরিবর্তনের মতো তুচ্ছ নয়। টিম সদস্য যারা এফ # শিখেনি তারা কোডবেসের F # অংশে কাজ করতে অক্ষম হবে।

2) ভাড়া নেওয়া এফ # প্রোগ্রামারগুলির পুল, এখন (ডিসেম্বর ২০১০) হিসাবে বিদ্যমান নেই। "এফ #" এর জন্য বিভিন্ন সফটওয়্যার ইঞ্জিনিয়ার পুনঃসূচনা ডাটাবেসগুলি অনুসন্ধান করুন, যেহেতু 1% এরও কম রেজিউমে কীওয়ার্ড রয়েছে।

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

আমি বুঝতে পেরেছি যে এটি কিছুটা ক্যাচ -২২, যেমন আমার মতো লোকেরা যদি এফ # ব্যবহার না করে তবে সম্প্রদায় এবং সরঞ্জামগুলি কখনই বাস্তবায়িত হবে না ইত্যাদি I've তবে, আমার চালানোর জন্য একটি সংস্থা পেয়েছে, এবং আমি প্রান্তটি কাটতে পারি তবে প্রবাহ রক্তপাত না।

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


7
"ভাড়া নেওয়া F # প্রোগ্রামারদের পুল [...] অস্তিত্বহীন" - প্রায় অস্তিত্বহীন। তবে, যদি আপনি এমন কোনও প্রোগ্রামার খুঁজে পান যার সাথে F # তে বিশেষীকরণ করতে বা ইচ্ছা আছে তবে তারা সম্ভবত বিশেষ বিশেষ হতে পারে।
টিম রবিনসন

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

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

উত্তর:


28

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


13

অন্য কোন ক্ষতি আমি বিবেচনা করছি না?

অনুশীলনে, আমি যে প্রধান ভুলটিকে দেখি তারা সমস্যার জন্য F # এর ব্যবহারকে জোর করার চেষ্টা করছে যেখানে এটি কাজের জন্য ভুল সরঞ্জাম।

বা কেউ যে সমস্যার কথা আমি উল্লেখ করেছি তা প্রত্যাখ্যান করতে আগ্রহী?

এগুলি কিছুটা ডিগ্রির কাছে স্পষ্টতই বৈধ উদ্বেগ তবে আমি কোন ডিগ্রীতে প্রশ্ন করব।

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

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

আপনার তৃতীয় এবং চূড়ান্ত উদ্বেগ কম সম্প্রদায়ের সমর্থনকে, C # সমাধান বনাম F # এবং তৃতীয় পক্ষের সরঞ্জাম সমর্থনকে জন্য গুগলিংয়ের বিষয়ে। আবার, আমি বাস্তবে এগুলি সমস্যাযুক্ত বলে মনে করি না। আমি এফ # তে পরিমাপের ইউনিট সম্পর্কে একটি মন্তব্য দিয়ে fsbugs কে ই-মেইল করেছি এবং গবেষক যিনি আমার ব্যাখ্যাটি ভুল এবং এটি কেন এটি কার্যকরভাবে কাজ করে তার বিশদ ব্যাখ্যা দিয়ে এটি আবিষ্কার করেছেন এমন 24 ঘন্টাের মধ্যে একটি প্রতিক্রিয়া পেয়েছি। এন্ডার্স হেজলসবার্গের কাছ থেকে আমি কখনই পাইনি ;-)। আমি গুগল সর্বদা সমাধানের জন্য এবং সেগুলিতে সি #, ভিবি বা এমনকি আয়রন পাইথনে লিখিত দেখতে পাই তবে, F # শিল্প ব্যবহারের 3 বছরের মধ্যে, কেবলমাত্র একটি উদাহরণ মনে করতে পারে যেখানে সমাধানটি এফ # তে অনুবাদ করা তুচ্ছ নয়। প্রকৃতপক্ষে, আমি সম্প্রতি ডেটা সিরিয়ালাইজার সি # নমুনাকে এমএসডিএন থেকে এফ # তে রূপান্তর করেছি এবং এটি 5 × কম ছিল। অবশেষে, আপনি যখন নুনিটের মতো সরঞ্জামগুলিতে F # সমর্থন উল্লেখ করেছিলেন তখন আমরা ' কিছু সময়ের জন্য ইস্যু করা ছাড়াই এফ # থেকে নুনিট ব্যবহার করা হয়েছে। এগুলি। নেট সরঞ্জাম, সি # সরঞ্জাম নয়।

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

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

আছে HTH!


3
ফ্ল্যাট আউট দৃ as়তা: একটি ভাষা যা আপনি শিখতে পারেন যে কোনও ব্যবসায়ের বিকাশের মিশ্রণে যোগ করার উপযুক্ত নয়। এফ # এর পয়েন্টটি হ'ল ফাংশনাল কোড লিখুন এবং বেশিরভাগ লোকেরা দ্রুত কার্যকরী প্রোগ্রামিং শিখছেন না।
ডেভিড থর্নলি 19

8
ফ্ল্যাট আউট কাউন্টার উদাহরণ: লিনকুই। "ক্রিয়ামূলক" সংজ্ঞা দ্বারা কার্যকরী কোড রচনা F # এর বিন্দু নয়। বিদ্যমান সি # ডেভসের প্রসঙ্গে, তাদের ইতিমধ্যে সেখানে অর্ধেক পথ হওয়া উচিত System.Func
জন হ্যারোপ

1
যদি F # প্রাথমিকভাবে ফাংশনাল প্রোগ্রামিং সম্পর্কে না হয় তবে এটি আসলে কী? এফ # যখন সি # এর চেয়ে আরও ভাল ফিট হয় তখন আপনি কীভাবে জানবেন?
রবার্ট হার্ভে

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

8

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

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


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

7

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

আমি ব্যক্তিগতভাবে কেবলমাত্র বিপদগুলিই অনুভব করেছি:

  1. ডিবাগ করার সময় অসুবিধা। বিবৃতি-ভিত্তিক ভাষার জন্য নকশাকৃত ডিবাগারে একটি এক্সপ্রেশন-ভিত্তিক প্রোগ্রাম কার্যকর করার প্রবাহ অনুসরণ করা জটিল হতে পারে।

  2. হতাশ ইন্টেলিজেন্স। আপনার প্রয়োজন হলে অটো-সমাপ্তি ঠিক কাজ করা বন্ধ করে দেয়। মাইক্রোসফ্টকে অবশ্যই পটভূমি পার্সারটিকে আরও ত্রুটি-সহনীয় করে তোলার জন্য কাজ করা উচিত।

  3. ইন্ডেন্টেশন-সংবেদনশীল বাক্য গঠনটি কপিরাইট-পেস্ট বা কোড পুনরায় ফর্ম্যাট করা শক্ত করে তোলে।

  4. রিফ্যাক্টরিংয়ের অভাব।

  5. এফ # (কোড ফোল্ডিং, গভীরতা রঙকরণ) এর জন্য বিদ্যমান কিছু সুবিধাজনক ভিএস এক্সটেনশন কিছুটা ধীরে ধীরে ধীরে ধীরে টাইপিং অভিজ্ঞতাটি হতাশ করে তোলে।

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

আপনার আশঙ্কা যে এফ # তে লেখার জন্য সক্ষম নতুন প্রোগ্রামারদের নিয়োগ করা বেশ সাধারণ হবে তবে আমার মতে এটি বিচার্য নয়। আপনি যদি কোডিং গাইডলাইন লিখতে চান, আপনি কি সি # yield return:, লিনকিউ অবজেক্টস, ল্যাম্বডাস, আসন্নগুলিতে নিম্নলিখিত বৈশিষ্ট্যগুলির বিরুদ্ধে বা নিষিদ্ধ করবেন async?

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

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


5

আমি এই সঠিক পরিস্থিতি বিবেচনা করেছি।

আমি আমার দলের জন্য এটি পরিকল্পনা করি:

  • সি # এফ # এর সাথে মিক্স করুন, কোড-বেসের সিংহভাগের জন্য সি # ব্যবহার করে এটি করা যেতে পারে। ভারী ডেটা প্রসেসিংয়ের প্রয়োজন হলে এফ # তে যুক্ত ফাংশন লিখুন এবং এটি একটি ডিএল এর ভিতরে রাখুন, বা এটি উল্লেখ করুন। উদাহরণ এখানে

  • উপরের ফ্যাশনে আপনার বিদ্যমান কোড-বেসটি ধীরে ধীরে পুনরায় ফ্যাক্টর করুন।

  • সমস্ত কোড ফাংশনীয় হতে হবে না।

  • শিখতে আপনার দলের পান মূলসূত্র পাতার মর্মর ধরে Haskell, এর ছুটির

  • এলার প্রজেক্টের ধাঁধা সমাধান করার চেষ্টা করে তাদের এফ # শিখুন (যখন আমি এফ # শিখছিলাম তখন এটি আমাকে অনেক সাহায্য করেছিল)। আবার এটি সপ্তাহের শেষের দিকে কিছু বলতে হবে, বা কাজের সময় আপনি যদি "প্রশিক্ষণ" দেওয়ার জন্য কোনও দিন নির্ধারণ করতে চান তবে তা করা উচিত।


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

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

4

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

2) আমি এই নিয়ে তর্ক করতে পারি না। আপনাকে নতুন কোনও ভাষা 6 মাসের শিখার জন্য মূল্য দিতে হবে তবে ইতিমধ্যে জেনে। নেট লাইব্রেরিগুলি নতুন লাইব্রেরিগুলি শিখতে প্রয়োজনীয় অতিরিক্ত বছরগুলি সরিয়ে দেয়।

3) সম্প্রদায়ের সমর্থন সি # এর চেয়ে কম থাকাতে ওয়েবে বেশ কয়েকটি অতি দক্ষ সক্রিয় এফ # বিকাশকারী রয়েছে। ভুলে যাবেন না যে বেশিরভাগ ভাষা সমর্থন লাইব্রেরি সমর্থন এবং। নেট জন্য দুর্দান্ত সমর্থন রয়েছে।

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


যদি কেউ ইতিমধ্যে সি # এবং। নেট প্ল্যাটফর্ম জানেন তবে F # শেখার জন্য সাধারণত এক মাসেরও কম খরচ হয়। (আমার দুই সহকর্মীর অভিজ্ঞতার ভিত্তিতে))

4

ব্যবহারিক বিষয় হিসাবে, ইন্টেলিসেন্স সমর্থনটির যথেষ্ট অভাব রয়েছে - যেখানে সি # তে উপলব্ধ স্বল্প পরিশ্রমী স্ব-পরিসীমা দ্বারা প্রকারের উত্পাদনশীলতা লাভের প্রকারভেদ লাভের চেয়ে বেশি হয়ে যায়।

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

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

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

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


1
যদি বিকাশকারীকে প্রশিক্ষণের জন্য যদি 39 ডলার হয় "বিপুল অর্থ", তবে F # শেখা আপনার চিন্তার মধ্যে সবচেয়ে কম, আইএমএইচও।
জন হ্যারোপ

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

2
সমস্ত খুব প্রাসঙ্গিক তথ্য, আমি নিশ্চিত না কেন লোকেরা আপনার পোস্টকে কম ভোট দিচ্ছে। আমি যতটা এফ # পছন্দ করি, প্রশ্নটি এর নেতিবাচক দিকগুলির সাথে সম্পর্কিত, এবং এগুলি দেখানো পোস্টগুলি এফ # -লওভারগুলির দ্বারা নিচে ভোট দেওয়া উচিত নয়।
জো

1

মূল সমস্যাটি সর্বদা রক্ষণাবেক্ষণের ability

আমি স্কিমে কোড করতে পছন্দ করব তবে পরবর্তী রক্ষণাবেক্ষণকারী সম্ভবত আমাকে শিকার করতে এবং আমাকে নির্যাতন করতে চাইবেন।


যদি পরবর্তী রক্ষণাবেক্ষণকারীও স্কিম জানেন? আমি কম্প.লাং.লিস্পে পড়েছি যে প্রয়োজনে যদি তাদের নিয়োগকর্তাদের প্রতিস্থাপন সরবরাহ করতে সক্ষম হয় সেই উদ্দেশ্যে লিস্প প্রোগ্রামার্স নেটওয়ার্ক।
ল্যারি কোলেম্যান

0

আমি বলব আপনাকে প্রথমে যা করতে হবে তা হ'ল আপনার দলের সদস্যদের তারা জিজ্ঞাসা করুন যে তারা F # প্রবর্তন সম্পর্কে কেমন অনুভূত হয়। তাদের যদি ধারণাটি পছন্দ হয় তবে সবকিছু যদি খুব মসৃণ হয় তবে তা না হলে।

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