Arka fon
Geçen yıl bir üniversitede bir fizik araştırma grubunda staj yaptım. Bu grupta, kurulumlarımızı kontrol etmek, veri toplamak ve verilerimizi analiz etmek için programlar yazmak için çoğunlukla LabVIEW'i kullandık . İlk iki amaç için bu gayet iyi çalışıyor, ancak veri analizi için gerçek bir acı. Üstelik, herkes çoğunlukla kendi kendini eğitiyordu, bu nedenle yazılan kod genellikle oldukça karışıktı (her doktora derecesinin hızla her şeyi sıfırdan yazmaya karar vermesine şaşmamalı). Sürüm kontrolü bilinmiyordu ve BT departmanının katı yazılım ve ağ düzenlemeleri nedeniyle kurulması imkansızdı.
Şimdi, işler şaşırtıcı bir şekilde yolunda gitti, ancak doğa bilimlerindeki insanlar yazılım geliştirmelerini nasıl yapıyor?
Sorular
Bazı somut sorular:
- Bilimsel yazılım geliştirmek için, özellikle veri analizi için hangi dilleri / ortamları kullandınız? Hangi kütüphaneler? (örneğin, çizim için ne kullanıyorsunuz?)
- Programlamada önemli bir geçmişi olmayan insanlar için herhangi bir eğitim var mıydı?
- Sürüm kontrolü ve hata izleme gibi bir şeyiniz var mıydı?
- Bireysel bilim adamlarının (özellikle fizikçiler inatçı insanlardır) çok fazla şey yapmadan programlama için iyi bir ortam yaratmaya nasıl çalışırsınız?
Şimdiye kadarki cevapların özeti
Şimdiye kadarki cevaplar (veya benim yorumlamam): (2008-10-11)
- En yaygın kullanılan diller / paketler:
- Sürüm kontrolü neredeyse tüm katılımcılar tarafından kullanılıyor; hata izleme ve diğer işlemler çok daha az yaygındır.
- Yazılım Marangozluğu kursu, bilim insanlarına programlama ve geliştirme tekniklerini öğretmenin iyi bir yoludur.
- Bir şeyler nasıl geliştirilir?
- İnsanları katı protokollere uymaya zorlamayın.
- Kendiniz bir ortam oluşturun ve faydalarını başkalarına gösterin. Sürüm kontrolü, hata izleme vb. İle kendilerinin çalışmaya başlamasına yardımcı olun.
- Başkalarının kodunu gözden geçirmek yardımcı olabilir, ancak herkesin bunu takdir edemeyeceğini unutmayın.