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