Biraz alternatif bir görüş sunmanın ve konuyu açıklığa kavuşturmanın mantıklı olduğunu düşünüyorum.
FORTRAN'a karşı Fortran
Öncelikle, eski FORTRAN'ı yeni Fortran, burada geleneksel olarak eski dilin adı genellikle büyük harflerle yazılır. Eski FORTRAN (FORTRAN 77'ye kadar) gerçekten de tonlarca eski kod nedeniyle hala kullanılıyor, ancak yeni Fortran (Fortran 90'dan başlayarak) esas olarak çok zarif ve basit ama güçlü ve verimli bir şekilde uygulanan bir dil olduğu için kullanılıyor. numara hesaplama için .
DSL ile genel olarak GPL karşılaştırması
Özellikle, bence modern Fortran'ın bile alana özgü bir dil em olduğuna dikkat edin > (DSL) ve burada bahsedilen C ++ gibi bazı genel amaçlı diller (GPL) ile karşılaştırıldığında görece zayıflığı yatmaktadır: Fortran belirli bir görev için (sayı hesaplaması) uzmanlaşmıştır ve bunlar için çok uygun olmayabilir. ilgili bazı görevler (örneğin, nihai sonuçların otomatik analizi, grafiksel gösterimleri vb.)
C ++ gibi genel amaçlı diller size daha fazla esneklik sağlar (dil özelliklerinde, 3. taraf kitaplıklarında, vb.) böylece yalnızca birincil görevi (sayı hesaplama) değil, aynı zamanda aynı dili kullanarak ilgili görevi de çözebilirsiniz. Bununla birlikte, sayı hesaplaması için Fortran'ı seçerseniz, bu ilgili görevler için genellikle bir dil daha (ör. Python) kullanmanız gerekir. Bunu iki farklı DSL kullanıyormuş gibi düşünün: biri birincil görev için, diğeri ilgili görevler için. Tabii ki, Python'u C ++ ile birlikte de kullanabilirsiniz, ancak deneyimli bir C ++ geliştiricisi (içinde bir miktar hesaplama yapmayı seçerseniz olmanız gerekir), C ++ canavarı yerine başka bir dil kullanmaktan yararlanmayacaktır.
Fortran ve C ++ özellikle
Bütün bunlar biraz öznel, ama neyse, işte benim 5 sentim. Genel olarak, Fortran C ++ 'dan daha basittir , ancak (ve çünkü) C ++ daha fazla özellik açısından zengindir . Temel olarak, çünkü Fortran DSL, C ++ ise GPL'dir. Ve dediğim gibi, bu bir dereceye kadar özneldir ve ayrıca karmaşıklık, evrendeki en karmaşık şeylerden biridir, bu yüzden onun hakkında bir tartışma başlatabiliriz, ama hey, sadece bir kelime: şablonlar ve tartışma prensip bitti. Şablonlar C ++ 'yı canavar yapar, ancak her şey bedeli karşılığında gelir.
Bana göre "daha zengin özelliklere sahip" her zaman "anlamına gelmediği için C ++' nın daha güçlü olduğunu söylemedim. daha güçlü". Her şeyden önce, bu ek özelliklere gerçekten ihtiyacınız var mı, yoksa gerekmiyor mu? Cidden, cömertlik düzeyine (ve meta programlamaya) ihtiyacınız var mı C ++ şablonlarının sayıları hesaplamak için sağladığı? Şart değil. Ve eğer öyleyse, C ++ Fortran'dan daha güçlü olmaz, ancak yine de daha zengin özelliklere sahip olacaktır.
Şablonlar, Fortran'ın sahip olmadığı tek C ++ özelliği değildir. İstisnalar ve Standart Kitaplık - Fortran'ın sahip olmadığı diğer iki göze çarpan özelliktir. Yine, sayı hesaplaması için bu özelliklerden büyük ölçüde yararlanmanız pek olası değildir. Ancak diğer bazı görevler çok yardımcı olabilirler, bu nedenle GPL bunları içerdiğinden C ++, sayı hesaplaması için DSL olarak Fortran bunu yapmaz. Fortran'ı sadece numara hesaplaması için bir "çanta dili" ve her şey için bir "gövde dili" olarak C ++ olarak düşünün.
Fortran dilinin C ++ 'nın hala yakalayamadığı harika bir özelliği de var: modüller. Demek istediğim, beni her şeyden daha çok rahatsız eden eski önişlemci makineleri değil, gerçek modüller .