Brak Royal Road to Software
W czasach starożytnych Euclid zadawał takie same pytania jak jego uczeń, król Ptolemeusz. Jego odpowiedź: „Nie ma królewskiej drogi do geometrii”.
Wspominasz, że twój przełożony śmiałby się, gdyby wiedział, ile czasu spędzasz na pisaniu kodu jak profesjonalny programista. Inni odpowiedzieli na twoje pytania, przedstawiając listę rzeczy do nauczenia, od kontroli źródła po projektowanie i analizę algorytmów.
Nie spełniają twojego celu:
„Muszę spędzać czas na fizyce”
Koncert pianista czy zespół One Man?
Świat porusza się zbyt szybko, aby ludzie mogli się nim bawić. Jeśli chcesz zostać pianistą koncertowym, nie marnuj czasu na naukę instrumentów, aby stać się zespołem jednoosobowym.
Moja koncepcja roli doktora w dziedzinie fizyki w średnich i dużych projektach jest liderem idei w zakresie definicji systemu, ekspertem w teorii, ekspertem w temacie podczas tworzenia przypadków użycia oraz użytkownikiem końcowym / oceniającym wyniki generowane przez artefakty oprogramowania. Współpracuj ściśle z najlepszymi inżynierami oprogramowania, jak możesz.
Jak ocenić, czy moja praca jest dobra z perspektywy programisty?
Jeśli chcesz ustawić poprzeczkę wysoko, zacznij tutaj:
Architektura oprogramowania w praktyce, Len Bass, Paul Clements, Rick Kazman
Poszukaj rozdziału „Zrozumienie atrybutów jakości”. Poza kodem bierze pod uwagę użyteczność, modyfikowalność, wydajność, bezpieczeństwo, dostępność, niezawodność, testowalność, łatwość konserwacji i przenośność (nie możesz go przenieść, ale możesz przenieść projekt z jednej platformy na drugą). Wszyscy potrzebują konkretnych mierzalnych celów. Podobne odniesienia obejmują:
http://msdn.microsoft.com/en-us/library/ee658094.aspx
http://www.sei.cmu.edu/reports/95tr021.pdf
Twoje cele vs. C i C ++
Podobnie jak FORTRAN, są to twarde i stare języki. Pozytywne wskaźniki dla C / C ++ obejmują:
- Aplikacja ze sprzętem, systemami osadzonymi.
- Istniejący projekt, który chcesz jako punkty początkowe.
Wiele osób zajmuje się tworzeniem stron internetowych, wizualizacją danych i big data. Wielu jest zmotywowanych do znalezienia lub stworzenia innych języków. Na przykład fizyk Sir Tim Berners-Lee odniósł sukces w HTML (ale niewiele wiadomo na temat fizyki). Oceń swój cel w stosunku do języka programowania.
Rozważ użycie Matlaba
Matlab ma świetnie zainstalowaną bazę, specjalizuje się w matematyce i naukach ścisłych. Posiada narzędzia do wizualizacji danych. Umożliwia naukowcom i matematykom wyrażanie problemów w dziedzinie problemów, a nie w dziedzinie rozwiązań. Matlab tworzy zestaw narzędzi do przetwarzania równoległego i produkty rozproszonego serwera obliczeniowego.
Oczekuję, że sukces Matlaba wynika z korzystania z multidyscyplinarnych zespołów z ludźmi, którzy są ekspertami w dziedzinie fizyki, matematyki, elektroniki i oprzyrządowania, systemów operacyjnych, języków programowania, rozwoju oprogramowania, testowania oprogramowania, architektury i projektowania oprogramowania. Analogia może być długa, ale dlaczego miałbyś postawić się tam sam, zaczynając od młotka, dłuta i tarnika, aby zrobić coś, gdy masz dostępną drukarkę 3D? Jak mógłby zapytać Newton, dlaczego nie stanąć na czyichś barkach?