tło
W zeszłym roku odbyłem staż w grupie fizyki na uniwersytecie. W tej grupie najczęściej używaliśmy LabVIEW do pisania programów do kontrolowania naszych ustawień, zbierania danych i analizowania naszych danych. Z dwóch pierwszych powodów działa to całkiem nieźle, ale w przypadku analizy danych to prawdziwy ból. Poza tym wszyscy byli w większości samoukami, więc napisany kod był generalnie niezłym bałaganem (nic dziwnego, że każdy doktorat szybko decydował się przepisać wszystko od nowa). Kontrola wersji była nieznana i niemożliwa do skonfigurowania z powodu surowych przepisów dotyczących oprogramowania i sieci z działu IT.
Teraz wszystko ułożyło się zaskakująco dobrze, ale w jaki sposób ludzie z nauk przyrodniczych rozwijają swoje oprogramowanie?
pytania
Kilka konkretnych pytań:
- Jakich języków / środowisk używałeś do tworzenia oprogramowania naukowego, zwłaszcza do analizy danych? Jakie biblioteki? (na przykład, czego używasz do kreślenia?)
- Czy były jakieś szkolenia dla osób bez większego doświadczenia w programowaniu?
- Czy masz coś takiego jak kontrola wersji i śledzenie błędów?
- Jak byś spróbował stworzyć przyzwoite środowisko do programowania, nie wchodząc zbytnio na drogę poszczególnym naukowcom (zwłaszcza fizycy są upartymi ludźmi!)
Podsumowanie dotychczasowych odpowiedzi
Odpowiedzi (lub moja ich interpretacja) do tej pory: (2008-10-11)
- Języki / pakiety, które wydają się być najczęściej używane:
- Prawie wszyscy respondenci używają kontroli wersji; Śledzenie błędów i inne procesy są znacznie mniej powszechne.
- Kurs Software Carpentry to dobry sposób na nauczenie naukowców technik programowania i programowania.
- Jak coś ulepszyć?
- Nie zmuszaj ludzi do przestrzegania ścisłych protokołów.
- Skonfiguruj środowisko samodzielnie i pokaż innym korzyści. Pomóż im samodzielnie rozpocząć pracę z kontrolą wersji, śledzeniem błędów itp.
- Przeglądanie kodu innych osób może pomóc, ale pamiętaj, że nie każdy może to docenić.