พื้นหลัง
เมื่อปีที่แล้วฉันได้ฝึกงานในกลุ่มวิจัยฟิสิกส์ที่มหาวิทยาลัยแห่งหนึ่ง ในกลุ่มนี้เราใช้LabVIEWเป็นส่วนใหญ่ในการเขียนโปรแกรมสำหรับควบคุมการตั้งค่าดำเนินการรับข้อมูลและวิเคราะห์ข้อมูลของเรา สำหรับสองจุดประสงค์แรกมันใช้ได้ดีทีเดียว แต่สำหรับการวิเคราะห์ข้อมูลมันเป็นความเจ็บปวดอย่างแท้จริง ยิ่งไปกว่านั้นทุกคนส่วนใหญ่เรียนรู้ด้วยตนเองดังนั้นโค้ดที่เขียนโดยทั่วไปจึงค่อนข้างยุ่งเหยิง (ไม่น่าแปลกใจที่ปริญญาเอกทุกคนตัดสินใจเขียนทุกอย่างใหม่อย่างรวดเร็วตั้งแต่เริ่มต้น) การควบคุมเวอร์ชันไม่เป็นที่รู้จักและไม่สามารถตั้งค่าได้เนื่องจากซอฟต์แวร์และกฎระเบียบเครือข่ายที่เข้มงวดจากแผนกไอที
ตอนนี้สิ่งต่าง ๆ ทำได้ดีอย่างน่าประหลาดใจ แต่ผู้คนในวิทยาศาสตร์ธรรมชาติทำการพัฒนาซอฟต์แวร์ของพวกเขาได้อย่างไร?
คำถาม
คำถามที่เป็นรูปธรรม:
- คุณใช้ภาษา / สภาพแวดล้อมใดในการพัฒนาซอฟต์แวร์ทางวิทยาศาสตร์โดยเฉพาะการวิเคราะห์ข้อมูล ห้องสมุดอะไร (ตัวอย่างเช่นคุณใช้อะไรในการวางแผน?)
- มีการฝึกอบรมสำหรับผู้ที่ไม่มีพื้นฐานด้านการเขียนโปรแกรมหรือไม่?
- คุณมีอะไรเช่นการควบคุมเวอร์ชันและการติดตามข้อบกพร่องหรือไม่?
- คุณจะพยายามสร้างสภาพแวดล้อมที่เหมาะสมสำหรับการเขียนโปรแกรมอย่างไรโดยไม่ให้นักวิทยาศาสตร์แต่ละคนเข้ามามากเกินไป (โดยเฉพาะนักฟิสิกส์เป็นคนดื้อรั้น!)
สรุปคำตอบป่านนี้
คำตอบ (หรือการตีความของฉัน) จนถึงตอนนี้: (2008-10-11)
- ภาษา / แพ็คเกจที่ดูเหมือนจะใช้กันอย่างแพร่หลาย:
- ผู้ตอบแบบสอบถามเกือบทั้งหมดใช้การควบคุมเวอร์ชัน การติดตามข้อผิดพลาดและกระบวนการอื่น ๆ พบได้น้อยกว่ามาก
- หลักสูตร Software Carpentry เป็นวิธีที่ดีในการสอนการเขียนโปรแกรมและเทคนิคการพัฒนาให้กับนักวิทยาศาสตร์
- จะปรับปรุงสิ่งต่างๆอย่างไร?
- อย่าบังคับให้ผู้คนปฏิบัติตามระเบียบการที่เข้มงวด
- จัดสภาพแวดล้อมด้วยตัวคุณเองและแสดงประโยชน์ต่อผู้อื่น ช่วยให้พวกเขาเริ่มทำงานกับการควบคุมเวอร์ชันการติดตามข้อบกพร่อง ฯลฯ ด้วยตนเอง
- การตรวจสอบโค้ดของคนอื่นสามารถช่วยได้ แต่อย่าลืมว่าไม่ใช่ทุกคนที่จะชื่นชมสิ่งนั้น