C++ Wofür



  • siehe Blitz++



  • Original erstellt von Gregor:
    Weiß jemand, warum Fortran immernoch so oft eingesetzt wird?

    Die meisten Programmiersprachen werden IMHO nicht wegen besonderen technischen Möglichkeiten, sondern aus Marketinggründen eingesetzt. C++ und Java eingeschlossen.



  • siehe Blitz++

    ...oder POOMA



  • Also ich verwende C++, weil die Sprache unglaublich vielseitig ist, man viel damit machen kann und sie einfach viel benutzt wird. Wenn man ein Problem hat, gibt es genug Foren (naja, eigentlich nur ein richtig gutes :D), in denen man Antworten bekommt.

    cya



  • FORTRAN wird noch so oft eingesetzt, weil FORTRAN angeblich besser mit Zahlen umgehen kann als C++. Ich finde C++ aber besser als FORTRAN, trotzdem lerne ich ein wenig FORTRAN 77 zZ. 🙂

    3.1.1) "Why do people use FORTRAN?, C is so much better"

    One should avoid such pointless arguments .... if you feel
    this way, don't subscribe to comp.lang.fortran.

    This sort of question always triggers off a protracted
    discussion, the highlights of which are typically:

    a) FORTRAN and C have different semantics. A FORTRAN optimizer
    knows more about aliasing, function interactions, and I/O.
    A C optimizer has to infer or compute such information.
    C bigots typically have neither written such optimizers nor
    worked with folks who do it for a living, and are prone to
    dismiss such arguments as being petty and neolithic.

    FORTRAN programmers are often a bit more in touch with high
    performance computing, and are unwilling to bet that heavily
    on compiler wizardry.

    <enter Peter van der Linden author of "Expert C Programming" >

    In addition, ANSI C section 2.1.2.3 on Program Execution
    makes it clear that associative and commutative regrouping
    of operands is only allowed if it produces the same result
    as it would if the regrouping had not been done.
    Where it makes a difference is on hardware that produces
    an exception on arithmetic overflow, and the regrouping
    either causes or avoids an exception,
    that otherwise would not/would take place. In ANSI C

    a = a + 32760 + b

    MUST be evaluated as (a + 32760) + b NOT as a +(32760 + b)
    UNLESS the overflow exception will be the same in either case.

    Fortran is somewhat less tightly-buttoned about this, and
    allows the compiler-writer to regroup the expression and
    evaluate it in either order. Thus, in Fortran, whether you
    get an exception or not depends on the compiler, the level
    of optimization, and the hardware. In ANSI C, it only depends
    on the hardware.

    Of course, compiler options, vendor extensions and the like
    sometimes narrow the difference. Also, some Fortran compilers
    do not take advantage of all of these features of the language,
    thus narrowing the gap in the other direction.

    On any given code, on any given system, all bets are off.

    b) There is a vast body of existing FORTRAN code (much of which
    is publically available and of high quality). Numerical codes
    are particularly difficult to "vet", scientific establishments
    usually do not have large otherwise idle programming staffs, etc.
    so massive recoding into any new language is typically resisted
    quite strongly.

    c) Fortran tends to meet some of the needs of scientists better.
    Most notably, it has built in support for: - variable dimension
    array arguments in subroutines - a compiler-supported infix
    exponentiation operator which is generic with respect to both
    precision and type, *and* which is generally handled very
    efficiently or the commonly occuring special case
    floating-point**small-integer - complex arithmetic -
    generic-precision intrinsic functions

    d) Retraining staff is quite expensive.

    e) It is sometimes argued that: - Jonathan Thornburg <also
    responsible for misc. other fixups>

    Fortran tends to be easier for non-experts to learn than C,
    because its "mental model of the computer" is much simpler.
    For example, in Fortran the programmer can generally avoid
    learning about pointers and memory addresses, while these
    are essential in C.

    More generally, in Fortran the difference between (C notation)
    x, &x, and often even *x is basically hidden, while in C
    it's exposed. For non-experts this makes Fortran
    a considerably simpler language.

    Because of this relative simplicity, for simple programming
    tasks which fall within its domain, (say writing a simple
    least-squares fitting routine), Fortran generally requires
    much less computer science knowledge of the programmer than
    C does, and is thus much easier to use.

    An interesting (pro-Fortran 90) viewpoint on this subject from
    a practical point of view can be found at:

    http://www.faqs.org/faqs/fortran-faq/



  • bitte nicht fortran mit c vergleichen und dann auf c++ schließen!

    daß altes fortran schneller als c ist, ist klar.



  • hast natürlich recht, in der FAQ stand aber nur was zum Thema C.

    A Comparison of C++, FORTRAN 90 and Oberon-2 for Scientific Programming



  • daß altes fortran schneller als c ist, ist klar.

    Erzähl doch nicht so'n SCHEISS!!!!



  • Welche Vorteile hat LISP gegenüber C++?



  • Zum Thema Lisp und C++ kann dir Bashar ne Menge erzählen 🙂

    Ich hab vor Common Lisp zu lernen, kann aber nur ein paar simple Dinge. Aber ich bin immer mehr begeistert von dem was Common Lisp zu bieten hat, wenn man allein an Reader-Macros denkt und dass mit dem ärmlichen Precompiler in C++ vergleicht 😉


Anmelden zum Antworten