Мовні дизайнери стикаються з багатьма варіантами. Кен Кеннеді наголосив на двох: (1) кращих абстракціях та (2) вищому чи нижчому рівні (менш чи більше машиноподібних) кодів. Хоча функціональні мови, такі як Haskell і Scheme, зосереджуються на першій, традиційні науково-обчислювальні мови, такі як Fortran і C / C ++, зосереджуються на останніх. Сказати, що одна мова швидша за іншу, зазвичай є досить оманливою: у кожної мови є проблемний домен, для якого вона переважає. Fortran краще в області чисельних кодів на основі масиву, ніж інші мови, з двох основних причин: його моделі масиву та чіткості.
Модель масиву
Програмісти Fortran значною мірою проводять маніпуляції з масивом. Для цього Fortran полегшує кілька оптимізацій компілятора, які недоступні іншими мовами. Найкращий приклад - векторизація: знання компонування даних дає змогу компілятору викликати властивості рівня складання через масив.
Мовна експліцитність
Хоча здається, що більш проста мова повинна компілювати "краще", ніж більш складна, це насправді не так. Коли ви пишете мовою складання , компілятор може зробити не так багато: все, що вона бачить, - це дуже дрібні вказівки. Фортран вимагає чіткості (таким чином, більше роботи програміста) лише у випадках, які приносять реальні винагороди за обчислення на основі масиву. Fortran використовує прості типи даних, основний потік управління та обмежені простори імен; навпаки, це НЕ сказати комп'ютера , як завантажити регістри (які можуть бути необхідні для реального часу ). Там, де Fortran є явним, він дає змогу робити такі речі, як повний висновок типу, який допомагає новачкам розпочати роботу. Це також уникає однієї речі, яка часто робить C повільним:непрозорі покажчики .
Фортран може бути повільним
Фортран не є швидким для кожного завдання: саме тому не багато людей використовують його для створення графічних інтерфейсів або навіть для дуже неструктурованих наукових обчислень. Після того, як ви покинете світ масивів для графіків, дерев рішень та інших областей, ця перевага швидкості швидко втрачається. Дивіться комп'ютер мовних тестів для деяких прикладів і цифр.