Jestem programistą hobbystycznym i jestem „przeciętna” w obu językach. Łatwiej jest mi napisać szybki kod Fortran niż kod C (lub C ++). Zarówno Fortran, jak i C są językami „historycznymi” (jak na dzisiejszy standard), są intensywnie używane i mają dobrze obsługiwany darmowy i komercyjny kompilator.
Nie wiem, czy to fakt historyczny, ale Fortran ma wrażenie, że jest zbudowany tak, aby był równoległy / dystrybuowany / wektoryzowany / cokolwiek-wiele rdzeni. A dzisiaj jest to właściwie „standardowa metryka”, kiedy mówimy o prędkości: „czy to skaluje się?”
Dla czystego chrupania procesora uwielbiam Fortran. W przypadku wszystkiego, co dotyczy IO, łatwiej mi pracować z C. (w każdym razie jest to trudne).
Teraz, oczywiście, w przypadku kodu równoległego intensywnie wykorzystującego matematykę prawdopodobnie będziesz chciał użyć swojego GPU. Zarówno C, jak i Fortran mają dużo mniej lub bardziej dobrze zintegrowany interfejs CUDA / OpenCL (a teraz OpenACC).
Moja umiarkowanie obiektywna odpowiedź brzmi: jeśli znasz oba języki równie dobrze / słabo, to myślę, że Fortran jest szybszy, ponieważ łatwiej jest mi pisać równoległy / rozproszony kod w Fortranie niż C. (gdy zrozumiesz, że możesz pisać „dowolny formularz” fortran i nie tylko ścisły kod F77)
Oto druga odpowiedź dla tych, którzy chcą głosować za mną, ponieważ nie lubią pierwszej odpowiedzi: Oba języki mają funkcje wymagane do pisania kodu o wysokiej wydajności. Zależy to więc od algorytmu, który implementujesz (procesor intensywny? Io intensywność? Intensywnie pamięci?), Sprzętu (pojedynczy procesor? Wielordzeniowy? Dystrybuuj superkomputer? GPGPU? FPGA?), Twoich umiejętności, a ostatecznie samego kompilatora. Zarówno C, jak i Fortran mają niesamowity kompilator. (Jestem bardzo zaskoczony zaawansowanymi kompilatorami Fortran, ale kompilatory C również).
PS: Cieszę się, że specjalnie wykluczyłeś biblioteki lib, ponieważ mam wiele złych rzeczy do powiedzenia na temat bibliotek GUI w Fortran. :)