Ніякої королівської дороги до програмного забезпечення
У стародавні часи Евкліду задавали такі питання, як ваше, його студент король Птолемей. Його відповідь: "Королівської дороги до геометрії немає".
Ви згадуєте, що ваш керівник сміявся б, якби знав, скільки часу ви витрачаєте, намагаючись написати код, як професійний розробник. Інші відповіли на ваші запитання переліком речей, які слід вивчити, починаючи від контролю джерел до проектування та аналізу алгоритмів.
Вони не відповідають вашій меті:
"Мені потрібно витратити час на фактичну фізику"
Концертний піаніст або група одного чоловіка?
Світ рухається занадто швидко, щоб люди заплутувались. Якщо ви хочете бути концертним піаністом, не діліться своїм часом на інструменти для навчання, щоб стати одноосібним гуртом.
Моя концепція ролі доктора філософії з фізики на середніх та великих проектах - як лідер ідеї щодо визначення системи, експерт з теорії, експерт з предметних питань під час створення справ для використання та кінцевий користувач / суддя за результатами, створеними артефактами програмного забезпечення. Тісно співпрацюйте з найкращими програмними інженерами.
Як я оцінюю, чи моя робота також хороша з точки зору програміста?
Якщо ви хочете встановити планку високою, почніть тут:
Архітектура програмного забезпечення на практиці, Лен Басс, Пол Клементс, Рік Казман
Шукайте розділ "Розуміння атрибутів якості". Крім коду, він вважає зручність використання, модифікованість, продуктивність, безпеку, доступність, надійність, тестабельність, ремонтопридатність та портативність (ви не можете їх переносити, але чи можете ви переносити дизайн з однієї платформи на іншу). Усі потребують конкретних вимірюваних цілей. Подібні посилання включають:
http://msdn.microsoft.com/en-us/library/ee658094.aspx
http://www.sei.cmu.edu/reports/95tr021.pdf
Ваші цілі проти C та C ++
Як і FORTRAN, це важкі та старі мови. Позитивні показники для C / C ++ включають:
- Застосування з апаратними, вбудованими системами.
- Існуючий проект, який ви хочете як відправна точка.
Є багато людей, які займаються веб-розробкою, візуалізацією даних та великими даними. Багатьох мотивують шукати або робити інші мови. Наприклад, фізик сер Тім Бернерс-Лі досяг свого успіху в галузі HTML (але про фізику це мало знає). Оцініть свою мету та мову програмування.
Подумайте про використання Matlab
Matlab має чудову встановлену базу, спеціалізується на математиці та науках. Він має інструменти для візуалізації даних. Це дозволяє вченому і математикам висловити проблеми в проблемній області, а не в області рішення. Matlab створює продукти інструментів для паралельних обчислень та розподілених обчислювальних серверів.
Я сподіваюся, що успіх Matlab пов'язаний з використанням мультидисциплінарних команд з людьми, які є фахівцями з фізики, математики, електроніки та приладів, операційних систем, мов програмування, розробки програмного забезпечення, тестування програмного забезпечення, архітектури програмного забезпечення та дизайну. Аналогія може бути розтяжкою, але чому б ти поставив себе там наодинці, починаючи з молотка, зубила і лопати, щоб щось зробити, коли у вас є 3D-принтер? Як може запитати Ньютон, чому б не стати на чиєсь плече?