Seite 1 von 2

Wahl der Programmiersprache

Verfasst: So Aug 10, 2008 2:05 pm
von Xin
Moin,

ich habe mal wieder eine neue Seite gebacken:
http://tutorial.proggen.org/doku.php?id ... er_sprache

und bitte um Kritik, Anregungen, Rechtschreibfehler ;-)

Re: Wahl der Programmiersprache

Verfasst: So Aug 10, 2008 5:02 pm
von fat-lobyte
Also ich hab 2 kleine Fehler ausgebessert.

Außerdem: Vielleicht sollte man bei der Lesbarkeit von C++ doch noch nen Punkt abziehen. "Fortgeschrittene Techniken", wie Templates, Namespaces, Verschachtelte Klassen, Operatorenüberladung lassen dinge zu, die für den Experten völlig klar sind - aber für einen Leien völlig unlesbar. Kleines Beispiel:

Code: Alles auswählen

  template<class A>
  typename sig<tuple<const non_lambda_functor, A&> >::type
  operator()(A& a) const {
    return lf.template call<typename sig<tuple<const non_lambda_functor, A&> >::type >(a, cnull_type(), cnull_type(), cnull_type());
  }
Ich weiß ja nicht wie ihr das seht aber wenn ich kein C++ könnte, würde da nur mehr "WTF???" kommen.

Weiter im Text:
Xin hat geschrieben:C/C++ Compiler gibt es reichlich, auch für Nicht-(Mehr)-Mainstream-Plattformen, wie Amiga, Atari, Sun. Man kann davon ausgehen, dass es für jedes Betriebsystem und jeden Prozessor entsprechende C++-Compiler gibt. Am Bekanntesten ist der GNU C/C++ Compiler, auch Microsoft bietet mit Visual C++ einen Compiler an, der mitsamt des Visual Studio als Express-Version kostenlos verfügbar ist, für komerzielle Produkte jedoch pro Entwickler lizenziert werden muss. Auch Intel bietet einen effizienten C/C++-Compiler an.
Ändern in
fat-lobyte hat geschrieben:C/C++ Compiler gibt es reichlich, auch für Nicht-(Mehr)-Mainstream-Plattformen, wie Amiga, Atari, Sun. Man kann davon ausgehen, dass es für jedes Betriebsystem und jeden Prozessor entsprechende C-Compiler gibt. C++ ist theoretisch standardisiert, praktisch weisen aber vor allem ältere Compiler noch ziemlich große Unterschiede zueinander auf. Code zu schreiben, den wirklich alle Compiler schlucken und der auch richtig funktioniert ist in der Praxis allerdings nicht so einfach (ganz im gegensatz zu Java). Am Bekanntesten ist der GNU C/C++ Compiler, auch Microsoft bietet mit Visual C++ einen Compiler an, der mitsamt des Visual Studio als Express-Version kostenlos verfügbar ist, für komerzielle Produkte jedoch pro Entwickler lizenziert werden muss. Auch Intel bietet einen effizienten C/C++-Compiler an.
Xin hat geschrieben:Die schnellsten Programme liefert C++. Dennoch können Java und C# Progamme durch eine (geschwindigkeits-)optimierte Speicherverwaltung schneller ablaufen, wenn das Programm sehr häufig Speicher anfordert und freigibt. C++ ist aber so flexibel, dass die Speicherverwaltung von Hand nachoptimiert werden kann, so dass auch hier C++ Java wieder überholen kann. Ebenfalls ganz vorne dabei sind nativ kompilierte Sprachen, wie Pascal, Delphi, aber auch PureBasic. Hier wäre Purebasic nochmals hervorzuheben, da es den GNU-Codegenerator nutzt, der ebenfalls C++-Programme schreibt. Die höchste Geschwindigkeit ist vermutlich mit C++ und dem Intelcompiler zu erreichen.
Ich hab mal gehört dass man Java Programme auch kompilieren kann, vielleicht sollte man das einbauen. Außerdem sollte explizit erwähnt werden, dass C++ nicht langsamer als C ist, was ein weit verbreitetes Ammenmärchen ist.
Xin hat geschrieben:(Fortran (FORmel TRANslator) ist eine Sprache aus den 1950er Jahren, die früher für viele mathematische Berechnungen verwendet wurde, aber selbst in ihrer letzten Version aus den 90er Jahren weit entfernt von moderner Programmierung zurückbleibt).
Kleine anmerkung/schreckensmeldung: Die Physikstudenten an unserer Uni verwenden das immer noch :(
Xin hat geschrieben:Kriterium XI: Weitergabe
Java und C# wurden etwas ungerecht behandelt. Während man in C/C++ Für Jedes Betriebssystem und in der Praxis auch für jede Linux- Distribution neu kompilieren muss, kann man (zumindest in Java, von C# weiß ich nichts) (vor-) kompilierte Java programme auf jedem System gleich weitergeben.

So, das waren alle Punkte. Ansonsten echt guter Artikel! Hoffentlich liest den auch noch wer :-)

ps.: Ich hoffe es ist kein Problem, dass ich den Thread verschoben habe, denn eigentlich sollte er ja hier rein oder sehe ich das falsch?

Re: Wahl der Programmiersprache

Verfasst: So Aug 10, 2008 7:17 pm
von Xin
fat-lobyte hat geschrieben:Also ich hab 2 kleine Fehler ausgebessert.
Sehr gut, danke :-)

Außerdem: Vielleicht sollte man bei der Lesbarkeit von C++ doch noch nen Punkt abziehen. "Fortgeschrittene Techniken", wie Templates, Namespaces, Verschachtelte Klassen, Operatorenüberladung lassen dinge zu, die für den Experten völlig klar sind - aber für einen Leien völlig unlesbar. Kleines Beispiel:

Ich weiß ja nicht wie ihr das seht aber wenn ich kein C++ könnte, würde da nur mehr "WTF???" kommen.[/quote]
Das denke ich auch ;-)
Das return wirkt was merkwürdig.

Aber Du hast schon recht... C++ und C++ sind zwei unterschiedliche Dinge...
fat-lobyte hat geschrieben:Weiter im Text:
Xin hat geschrieben:C/C++ Compiler gibt es reichlich, auch für Nicht-(Mehr)-Mainstream-Plattformen, wie Amiga, Atari, Sun. Man kann davon ausgehen, dass es für jedes Betriebsystem und jeden Prozessor entsprechende C++-Compiler gibt. Am Bekanntesten ist der GNU C/C++ Compiler, auch Microsoft bietet mit Visual C++ einen Compiler an, der mitsamt des Visual Studio als Express-Version kostenlos verfügbar ist, für komerzielle Produkte jedoch pro Entwickler lizenziert werden muss. Auch Intel bietet einen effizienten C/C++-Compiler an.
Ändern in
fat-lobyte hat geschrieben:C/C++ Compiler gibt es reichlich, auch für Nicht-(Mehr)-Mainstream-Plattformen, wie Amiga, Atari, Sun. Man kann davon ausgehen, dass es für jedes Betriebsystem und jeden Prozessor entsprechende C-Compiler gibt. C++ ist theoretisch standardisiert, praktisch weisen aber vor allem ältere Compiler noch ziemlich große Unterschiede zueinander auf. Code zu schreiben, den wirklich alle Compiler schlucken und der auch richtig funktioniert ist in der Praxis allerdings nicht so einfach (ganz im gegensatz zu Java). Am Bekanntesten ist der GNU C/C++ Compiler, auch Microsoft bietet mit Visual C++ einen Compiler an, der mitsamt des Visual Studio als Express-Version kostenlos verfügbar ist, für komerzielle Produkte jedoch pro Entwickler lizenziert werden muss. Auch Intel bietet einen effizienten C/C++-Compiler an.
Die Kritik ist gut, aber an der falschen Stelle. Compiler sind gut verfügbar. Punkt.

Das gehört mehr in die Ecke Portablität und da werde ich Deine Kritik einpflegen. Den 'im Gegensatz zu Java' empfinde ich als unpassend, denn wenn Du versuchst Eclipse mit der GNU VM ans Laufen zu bekommen, dann scheitert das auch, weil Java nicht gleich Java ist. Kompiliert man auf allen Plattformen mit dem GCC gibt es genausowenig Probleme als würde man alles mit der Sun Java machen.
fat-lobyte hat geschrieben:Ich hab mal gehört dass man Java Programme auch kompilieren kann, vielleicht sollte man das einbauen. Außerdem sollte explizit erwähnt werden, dass C++ nicht langsamer als C ist, was ein weit verbreitetes Ammenmärchen ist.
Das Kompilieren dürfte interessante Effekte bei Reflection aufwerfen ;-)
Zweiteres werde ich einpflegen.
fat-lobyte hat geschrieben:
Xin hat geschrieben:(Fortran (FORmel TRANslator) ist eine Sprache aus den 1950er Jahren, die früher für viele mathematische Berechnungen verwendet wurde, aber selbst in ihrer letzten Version aus den 90er Jahren weit entfernt von moderner Programmierung zurückbleibt).
Kleine anmerkung/schreckensmeldung: Die Physikstudenten an unserer Uni verwenden das immer noch :(
Das Hauptprodukt der Firma, für die ich zur Zeit arbeite, ist im Kern ebenfalls in Fortran geschrieben. Mal eben Neuschreiben ist zu teuer und bringt auch nicht viel. Das Produkt gibt's seit 20 Jahren, mal eben die Codebasis austauschen ist da nicht.
fat-lobyte hat geschrieben:
Xin hat geschrieben:Kriterium XI: Weitergabe
Java und C# wurden etwas ungerecht behandelt. Während man in C/C++ Für Jedes Betriebssystem und in der Praxis auch für jede Linux- Distribution neu kompilieren muss, kann man (zumindest in Java, von C# weiß ich nichts) (vor-) kompilierte Java programme auf jedem System gleich weitergeben.
Guter Punkt, wird eingebaut.
fat-lobyte hat geschrieben:So, das waren alle Punkte. Ansonsten echt guter Artikel! Hoffentlich liest den auch noch wer :-)
Danke :-)
fat-lobyte hat geschrieben:ps.: Ich hoffe es ist kein Problem, dass ich den Thread verschoben habe, denn eigentlich sollte er ja hier rein oder sehe ich das falsch?
Hmm... er ist, wo er hingehört... wo war er? ^^

Re: Wahl der Programmiersprache

Verfasst: So Aug 10, 2008 8:52 pm
von fat-lobyte
Xin hat geschrieben:
fat-lobyte hat geschrieben:ps.: Ich hoffe es ist kein Problem, dass ich den Thread verschoben habe, denn eigentlich sollte er ja hier rein oder sehe ich das falsch?
Hmm... er ist, wo er hingehört... wo war er? ^^
Im "Forum"- Forum.

Re: Wahl der Programmiersprache

Verfasst: So Aug 10, 2008 9:14 pm
von Xin
fat-lobyte hat geschrieben:
Xin hat geschrieben:
fat-lobyte hat geschrieben:ps.: Ich hoffe es ist kein Problem, dass ich den Thread verschoben habe, denn eigentlich sollte er ja hier rein oder sehe ich das falsch?
Hmm... er ist, wo er hingehört... wo war er? ^^
Im "Forum"- Forum.
"Schade"-Schade.

Hat's sonst noch jemand geschafft, den Artikel durchzulesen und eine Meinung dazu? ;-)

Re: Wahl der Programmiersprache

Verfasst: Mo Jan 05, 2009 1:12 am
von Kerli
Xin hat geschrieben:Hat's sonst noch jemand geschafft, den Artikel durchzulesen und eine Meinung dazu? ;-)
Heute bin ich wieder auf den Artikel gestoßen und ich muss sagen, dass er sehr gut gelungen ist und einem die Wahl der Programmiersprache sehr erleichtern kann. Ich hoffe nur die Einsteiger nehmen sich auch die Zeit dafür den Artikel zu lesen...

Nur der Link am Ende (Aufwand: Lerne irgendwas in 21 Tagen) funktioniert nicht so ganz, da der Zugriff auf das Ziel anscheinend eingeschränkt ist (403 Access Denied).

Re: Wahl der Programmiersprache

Verfasst: Mo Jan 05, 2009 1:20 am
von nufan
Kerli hat geschrieben:
Xin hat geschrieben:Hat's sonst noch jemand geschafft, den Artikel durchzulesen und eine Meinung dazu? ;-)
Nur der Link am Ende (Aufwand: Lerne irgendwas in 21 Tagen) funktioniert nicht so ganz, da der Zugriff auf das Ziel anscheinend eingeschränkt ist (403 Access Denied).
Komisch... der Link vom Tutorial geht nicht, wenn man aber bei Google sucht (und die gleiche Adresse findet) funktionierts ;)

Re: Wahl der Programmiersprache

Verfasst: Mo Jan 05, 2009 2:00 am
von Kerli
dani93 hat geschrieben:Komisch... der Link vom Tutorial geht nicht, wenn man aber bei Google sucht (und die gleiche Adresse findet) funktionierts ;)
Ich habs jetzt noch einmal getestet und wenn die POST-Variable 'referer' auf irgendeinen Wert gesetzt ist funktioniert es. Dann müssten wir den Link eigentlich nur in ein Formular einbauen :)

Re: Wahl der Programmiersprache

Verfasst: Mo Jan 05, 2009 3:55 am
von Xin
Kerli hat geschrieben:Ich habs jetzt noch einmal getestet und wenn die POST-Variable 'referer' auf irgendeinen Wert gesetzt ist funktioniert es. Dann müssten wir den Link eigentlich nur in ein Formular einbauen :)
Wie in aller Welt hast Du das denn herausgefunden?

Und wieso hat das Wiki keinen Referer? Sofern man die URL nicht von Hand eingibt hat man die doch immer?!?

Re: Wahl der Programmiersprache

Verfasst: Mo Jan 05, 2009 1:10 pm
von Kerli
Xin hat geschrieben:
Kerli hat geschrieben:Ich habs jetzt noch einmal getestet und wenn die POST-Variable 'referer' auf irgendeinen Wert gesetzt ist funktioniert es. Dann müssten wir den Link eigentlich nur in ein Formular einbauen :)
Wie in aller Welt hast Du das denn herausgefunden?
Ich hab ein bisschen mit Tamper Data herumgespielt, weil ich hab mir gedacht, dass wenn es vom Verlinker abhängt ob man die Seite aufrufen darf oder nicht, das auch die Referervariable irgendwie damit zu tun hat.
Xin hat geschrieben:Und wieso hat das Wiki keinen Referer? Sofern man die URL nicht von Hand eingibt hat man die doch immer?!?
Ich hab es mir jetzt noch einmal genauer angeschaut und bin draufgekommen, dass das Wiki eh einen Referer hat. Das Problem ist nur, dass die Seite keinen Referer zulässt der ein '.php' in der Url hat. Also wenn der Referer zb. http://tutorial.proggen.org/doku?id=wahl_der_sprache ist funktioniert es und mit http://tutorial.proggen.org/doku.php?id ... er_sprache funktioniert es nicht. Frag mich nicht warum das so ist :)