Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.iso-c++ > #2034 > unrolled thread

C++, eine moderne Programmiersprache!

Started byManuel Rodriguez <aa5@gmx.net>
First post2017-02-27 13:05 -0800
Last post2017-03-08 17:55 +0100
Articles 5 — 4 participants

Back to article view | Back to de.comp.lang.iso-c++


Contents

  C++, eine moderne Programmiersprache! Manuel Rodriguez <aa5@gmx.net> - 2017-02-27 13:05 -0800
    Re: C++, eine moderne Programmiersprache! ram@zedat.fu-berlin.de (Stefan Ram) - 2017-02-27 23:51 +0000
    Re: C++, eine moderne Programmiersprache! Jörg "Yadgar" Bleimann <yazdegird@gmx.de> - 2017-03-07 02:00 +0100
      Re: C++, eine moderne Programmiersprache! Stefan Reuther <stefan.news@arcor.de> - 2017-03-07 18:47 +0100
        Re: C++, eine moderne Programmiersprache! Jörg "Yadgar" Bleimann <yazdegird@gmx.de> - 2017-03-08 17:55 +0100

#2034 — C++, eine moderne Programmiersprache!

FromManuel Rodriguez <aa5@gmx.net>
Date2017-02-27 13:05 -0800
SubjectC++, eine moderne Programmiersprache!
Message-ID<94bdefd2-8e97-45b5-9f45-8716e159c71b@googlegroups.com>
Fragt man bei Stackoverflow oder anderen Foren so hört man oft sehr abfällige Bemerkungen über C++. Angeblich ist jede andere Sprache besser und einige würden sogar Forth nutzen bevor sie sich mit C++ anfreunden. Angeblich ist C++ schwer zu lernen und ist auch nicht viel schneller als Java. Warum also noch mit C++ herumprobieren wenn es doch viel bessere Sprachen wie z.B. Go oder Python gibt?

Das Problem mit echten oder vermeintlichen Alternativen zu C++ ist, dass sie im Einzelfall wertvolle Dienste leisten, aber sich nicht als General Purpose Language eignen. Mal ein Beispiel: Python ist die mit Abstand beste Scriptsprache, man kann wunderbar kurze Programme schreiben, die objektorientiert sind und sogar über eine 3D Grafik verfügen. Aber, wenn man nicht nur Prototypen benötigt, sondern ein richtiges Programm was stabil läuft und täglich benutzt wird, ist Python komplett nutzlos. Es startet nur langsam, es ist nicht kompatibel mit Windows und Linux und die Thread Unterstützung ist mäßig.

Ähnlich ist auch Java eine wunderbare Sprache. Man kann damit super-business Anwendungen bauen die überall laufen und anders als bei C++ muss man sich auch nicht mit Zeigern herumärger. Aber wehe man will mit Java ein Spiel basteln. Dort rächt sich der Verzicht auf Pointer bitterlich, das Spiel wird bei 30 fps immernoch ruckeln wie der Teufel.

Letztlich wird man egal mit welcher Programmiersprache man startet am Ende wieder bei C++ landen. Nur C++ erzeugt saubere EXE oder ELF Dateien, nur C++ bringt eine Unterstützung für gängige Game-Engines mit und nur C++ hat echtes Multithreading. Zugegeben, das Programmieren damit geht sehr langsam vonstatten. Man erhält permanent compiler-Meldungen die keinen Sinn ergeben und beim Umgang mit Pointer ist ein sogeannter "Core dump" nicht die Ausnahme sondern die Regel. Auch gibt es immer mehrere Wege ans Ziel und die Dokumentation ist in sich widersprüchlich. Nur, von der Performance her und von den Sprachfeatures ist C++ unübertroffen. Es gibt keine Sprache die derart mächtig ist.

Und ich spreche da aus Erfahrung. Angefangen habe ich mit Python und konnte dort in kurzer Zeit einen kompletten Roboter-Simulator hochziehen, inkl. Gameengine und BehaviorTree. Aber, leider merkt man relativ schnell dass die Performance doch zu niedrig ist, dass die Anwendung nicht so sauber läuft wie sie könnte und dass Python eine Sackgasse darstellt. Wenn man hingegen auf C++ wechselt fühlt sich alles viel mächtiger an. Zwar macht die Software nicht mehr als die Python Version, es ist aber eben doch ein kleiner Unterschied in welcher Sprache man das System erstellt hat. Bei der C++ Version hat man eine ausführbare Binärdatei, die man dem Betriebssystem übergibt und die wird dann ausgeführt. Da gibt es keine Rückfragen ob der Python Interpreter läuft oder ob die Java Runtime Edition die neueste ist. Da gibt es nur die Applikation und die CPU.

Warum schreibe ich das alles? Nun, ganz einfach um ein wenig Werbung zu machen für C++. Der Einstieg ist komplex aber es lohnt sich.

[toc] | [next] | [standalone]


#2035

Fromram@zedat.fu-berlin.de (Stefan Ram)
Date2017-02-27 23:51 +0000
Message-ID<C++-20170228003846@ram.dialup.fu-berlin.de>
In reply to#2034
Manuel Rodriguez <aa5@gmx.net> writes:
>Angeblich ist jede andere Sprache besser und einige würden
>sogar Forth nutzen bevor sie sich mit C++ anfreunden.

  In manchen Fällen ist C++ besser geeignet, in anderen
  weniger gut. Man kann wohl kaum pauschal sagen,
  daß C++ immer die beste oder schlechteste Wahl ist.

>Angeblich ist C++ schwer zu lernen

      "Wenn man es mit anderen Sprachen vergleicht,
      ist C++ tatsächlich schwer gut zu erlernen."

    Bjarne Stroustrup

www.heise.de/developer/artikel/Interview-mit-C-Schoepfer-Bjarne-Stroustrup-2300861.html?artikelseite=2

>und ist auch nicht viel schneller als Java.

  C++ ist nicht schneller als Java, sondern C++ gibt dem
  Programmierer die Mittel an die Hand, ein C++-Programm
  schreiben zu können, das schneller als ein entsprechendes
  Java-Programm ist.

>Warum also noch mit C++ herumprobieren wenn es doch viel
>bessere Sprachen wie z.B. Go oder Python gibt?

  Und in welchen Sprachen sind die implementiert?

  Das Oracle JDK ist wohl in C++ implementiert.

[Python]
>startet nur langsam, es ist nicht kompatibel mit Windows und
>Linux und die Thread Unterstützung ist mäßig.

  Ich verwende hier unter Windows ein Programm, das man am
  ehesten als eine Art von Systemprogramm bezeichnen könnte,
  und es ist in Python geschrieben (nicht von mir). Ich kenne
  kein anderes Programm, welches das von mir Benötigte tut
  außer diesem Python-Programm. Und es arbeitet einwandfrei.
  Und ich konnte - obwohl ich zu diesem Zeitpunkt kein Python 
  gelernt hatte - schon einige Änderungen am Programm vornehmen.

>Java eine wunderbare Sprache. Man kann damit super-business
>Anwendungen bauen die überall laufen und anders als bei C++
>muss man sich auch nicht mit Zeigern herumärger.

  Laut Java Language Specification gibt es in Java "pointers".

>Aber wehe man will mit Java ein Spiel basteln. Dort rächt
>sich der Verzicht auf Pointer bitterlich, das Spiel wird bei
>30 fps immernoch ruckeln wie der Teufel.

  Minecraft wurde ja ursprünglich in Java programmiert.
  Aber für (professionelle) Computerspiele (in dem typischen
  Stil) ist C++ tatsächlich die beliebteste Sprache.

>Letztlich wird man egal mit welcher Programmiersprache man
>startet am Ende wieder bei C++ landen. Nur C++ erzeugt
>saubere EXE oder ELF Dateien,

  Bei TIOBE und anderen Stastiken liegt C immer noch 
  deutlich vor C++.

  Python ist wohl beispielsweise in C implementiert.

>Bei der C++ Version hat man eine ausführbare Binärdatei, die
>man dem Betriebssystem übergibt und die wird dann ausgeführt.
>Da gibt es keine Rückfragen ob der Python Interpreter läuft
>oder ob die Java Runtime Edition die neueste ist. Da gibt es
>nur die Applikation und die CPU.

  Manchmal wird dem Endanwender gesagt: "Bitte prüfen Sie, ob
  'Microsoft Visual C++ 2013 Redistributable Package'
  installiert ist und installieren Sie es gegebenenfalls,
  bevor Sie unser Programm starten!".

  Wahrscheinlich kann man Bibliotheken auch /statisch/ mit
  einem C++-Programm verbinden, aber dann wird dieses
  C++-Programm vergrößert und profitiert nicht von den
  Vorteilen von Laufzeitbibliotheken. Beispielsweise 
  wirkt sich eine Sicherheitsaktualisierung in einer
  Laufzeitbibliothek nur auf binäre Programm aus, welche
  sich dynamisch mit dieser verbinden.

[toc] | [prev] | [next] | [standalone]


#2036

FromJörg "Yadgar" Bleimann <yazdegird@gmx.de>
Date2017-03-07 02:00 +0100
Message-ID<o9l0n7$q15$1@news.albasani.net>
In reply to#2034
Hi(gh)... oder doch lieber "Salâm 'aleikum"?

On 27.02.2017 22:05, Manuel Rodriguez wrote:
> [ einen cpluspluslimischen Nashid ]

If programming languages were religions... 
(http://blog.aegisub.org/2008/12/if-programming-languages-were-religions.html):

"C++ would be Islam - It takes C and not only keeps all its laws, but 
adds a very complex new set of laws on top of it. It's so versatile that 
it can be used to be the foundation of anything, from great atrocities 
to beautiful works of art. Its followers are convinced that it is the 
ultimate universal language, and may be angered by those who disagree. 
Also, if you insult it or its founder, you'll probably be threatened 
with death by more radical followers."

Volltreffer! Genau so oder ähnlich (mich erinnert C++ irgendwie an 
klassisches Arabisch, jedenfalls nach allem, was ich durch meinen 
langjährigen Freund http://www.ismailmohr.de über die Sprache 
mitbekommen habe) empfinde ich es schon seit langem - und würde mir 
daher am liebsten die Shahada (das Glaubensbekenntnis) der 
Cepluspluslime in klassischer arabischer Kalligrafie auf die Stirn 
tätowieren lassen:

ES GIBT KEINE WAHRE PROGRAMMIERSPRACHE AUSSER C++
UND BJARNE STROUSTRUP IST IHR SCHÖPFER!

Wo finde ich eine Rekrutierungsstelle für den C++-Dschihad?
Am liebsten gegen Visual Basic, C# und sonstige 
Möchtegern-Programmiersprachen...

Bis bald im Khyberspace!

Yadgar

[toc] | [prev] | [next] | [standalone]


#2037

FromStefan Reuther <stefan.news@arcor.de>
Date2017-03-07 18:47 +0100
Message-ID<o9mv7s.528.1@stefan.msgid.phost.de>
In reply to#2036
Am 07.03.2017 um 02:00 schrieb Jörg "Yadgar" Bleimann:
> ES GIBT KEINE WAHRE PROGRAMMIERSPRACHE AUSSER C++
> UND BJARNE STROUSTRUP IST IHR SCHÖPFER!
> 
> Wo finde ich eine Rekrutierungsstelle für den C++-Dschihad?
> Am liebsten gegen Visual Basic, C# und sonstige
> Möchtegern-Programmiersprachen...

Ich hab ja doch ein Momentchen überlegt, ob das noch on-topic ist, aber
plattformabhängig war's halt nicht.

          Diese Gruppe beschäftigt sich mit ISO-14882-konformem C++.
          Themen sind z.B. die Umsetzung von Algorithmen, Verwendung von
          C++-Features und Umsetzung objektorientierter Methodik in
          diese Sprache.

Folglich ist der Schöpfer nach der Lehre dieser Newsgroup die WG21, die
den ISO 14882 verfasst hat, und Missionierungshilfen^WArgumente für die
Verwendung von C++ sind gern gesehen.

Allerdings würde ich betonen, dass auch und gerade C++ nicht unbedingt
eine monotheistische Lehre sein muss. Denn als Mitglied der C-Familie
erlaubt C++ das Einbetten anderer Sprachen wie Lua, Python, Perl
(versuch das mal in Visual Basic!), und wird auch so nicht böse, wenn
man mal abtrünnig wird.

Konfuzius sagt: in jeder Pipe ist noch Platz für ein Perlscript.


  Stefan

[toc] | [prev] | [next] | [standalone]


#2038

FromJörg "Yadgar" Bleimann <yazdegird@gmx.de>
Date2017-03-08 17:55 +0100
Message-ID<o9pd36$e5g$1@news.albasani.net>
In reply to#2037
Hi(gh)!

On 07.03.2017 18:47, Stefan Reuther wrote:
> Am 07.03.2017 um 02:00 schrieb Jörg "Yadgar" Bleimann:
>> ES GIBT KEINE WAHRE PROGRAMMIERSPRACHE AUSSER C++
>> UND BJARNE STROUSTRUP IST IHR SCHÖPFER!
>>
>> Wo finde ich eine Rekrutierungsstelle für den C++-Dschihad?
>> Am liebsten gegen Visual Basic, C# und sonstige
>> Möchtegern-Programmiersprachen...
>
> Ich hab ja doch ein Momentchen überlegt, ob das noch on-topic ist, aber
> plattformabhängig war's halt nicht.

Ich war mir auch nicht ganz sicher, ob das Posting nicht womöglich zu 
"heiß" sein könnte, angesichts des Themas "Islam"... aber natürlich will 
ich C++-Programmierer nicht in die ideologische Nähe von Islamisten rücken!

> Allerdings würde ich betonen, dass auch und gerade C++ nicht unbedingt
> eine monotheistische Lehre sein muss. Denn als Mitglied der C-Familie
> erlaubt C++ das Einbetten anderer Sprachen wie Lua, Python, Perl
> (versuch das mal in Visual Basic!), und wird auch so nicht böse, wenn
> man mal abtrünnig wird.

Ja, das wäre dann wohl ein langhaarig-lässiger heterodoxer Sufi-Orden 
mit indisch-pantheistischem Einschlag... doch, nicht unsympathisch! 
Solange die Bärte stimmen...

Und Visual Basic, das ist wirklich Murks, den ich als Programmiersprache 
nicht ernstnehman kann - ich musste das mal im Rahmen einer Umschulung 
lernen, nie wieder!!!

Bis bald im Khyberspace!

Yadgar

[toc] | [prev] | [standalone]


Back to top | Article view | de.comp.lang.iso-c++


csiph-web