Po pierwsze, pozwólcie, że przedstawię trochę tła, zanim faktycznie zadam pytanie. Studiuję fizykę i wszystkie moje zajęcia z programowania prowadzone były w łatwych językach programowania, takich jak MATLAB. Przez easy rozumiem, że język w znacznym stopniu myśli o tobie ... Przez następne lata będę uczęszczał na kursy informatyki i zastanawiam się nad kontynuowaniem kariery programistycznej.
Biorąc pod uwagę, że wiele kursów w college'u jest w C ++, czy używanie pakietu algebry liniowej (Armadillo) o składni podobnej do MATLAB będzie uważane za leniwe?
Obecnie koduję algorytm genetyczny i chociaż w MATLAB-ie poszło szybko, zajmuje dużo czasu w C ++ bez pomocy tych pakietów.
Jak to działa w prawdziwym życiu? Z jakich pakietów możesz korzystać?
Na przykład nie chciałbym budować mojej wiedzy o C ++ za pomocą pancernika i nie mam głębokiej wiedzy o innych, bardziej powszechnych pakietach, takich jak „vector.h”, „algorytm”, „lista” itp.
źródło
lazy
nasensible
w tytule, a odpowiedź brzmi „tak” (zakładając, że wykonujesz zadanie wymagające algebry liniowej).Odpowiedzi:
Komentarz Richarda jest już odpowiedzią. Ilekroć programujesz tylko dla ćwiczenia klasowego, będziesz chciał wykorzystać tyle istniejącego kodu, jak to możliwe, z kilkoma innymi względami do zrównoważenia.
Zalety ponownego użycia kodu to:
Jest tylko kilka rzeczy do rozważenia:
Jak to się mówi, u programisty lenistwo jest cnotą.
źródło
Co rozumiesz przez „dozwolone”? Myślę, że mogę tu dodać coś, co może pomóc w wyjaśnieniu nieporozumień niektórych początkujących studentów: jesteś proszony o napisanie własnego kodu i algorytmów itp. Na uniwersytecie, ponieważ uczysz się kursu i chcesz skonsolidować to, co nauczyłeś się na zajęciach, pisząc sam kod. Takie kodowanie pomaga w procesie uczenia się . Na przykład po nauczeniu się określonej struktury danych / algorytmu piszesz własny kod, aby zobaczyć, jak to działa, i pogłębić zrozumienie. To ma sens.
Kiedy realizujesz rzeczywisty projekt programistyczny, nie piszesz kodu jako pomocy w nauce niektórych pojęć / wiedzy; próbujesz wyprodukować produkt inżynierski. Inżynieria nie polega tak naprawdę na wynalazkach, ale na fundamentach już określonych przez innych, aby zaspokoić szczególną potrzebę praktyczną. Jest takie powiedzenie, że programowanie w 80% czyta / wykorzystuje ponownie biblioteki / kody innych, a 20% pisze własne. Może być trochę przesadzone, ale masz ducha.
W twoim przypadku, jeśli robisz projekt programistyczny dla kursu i wyraźnie prosi cię o kodowanie własnego algorytmu, nie chciałbyś używać bibliotek zewnętrznych. Jeśli pracujesz nad własnym projektem inżynieryjnym, użyj jak największej liczby bibliotek, zanim spróbujesz wymyślić własny.
Wyraźnie to rozróżnienie, a zrozumiesz, co robisz.
źródło