C oder C++?
-
Was du nicht sagst.
-
Bist du im echten Leben eigentlich auch so unsympathisch Pi?
-
Hängt von der Person ab, die mir gegenübersteht.
Generell: Ja. :p
-
Für OOP erstmal Java schrieb:
Es geht darum erstmal ordentliches OOP Design zu lernen und das geht eben mit Java am Besten
nö. Am besten geht das mit einer lupenreinen objektorientierten Sprache (smalltalk)
Für OOP erstmal Java schrieb:
, weil Java nicht mehr bietet als OOP.
java ist ein Kompromiß aus C-ähnlicher Syntax, statischer Typisierung (die eigentlich dem Grundgedanken der OOP zuwiderläuft) und OOP.
-
volkard schrieb:
Und am Wichtigsten: Nicht so auf die C++-Basher hören.
Es gibt hier ein paar (oder einen mit mehreren Namen), die wollen damit nur provozieren. Im Zweifelsfall bei kontroversen Themen nicht auf Unregistrierte hören.Oder man kann es so sehen: volkard hat sich einfach zu sehr auf C++ verkrampft.
-
!rr!rr_. schrieb:
[...] statischer Typisierung (die eigentlich dem Grundgedanken der OOP zuwiderläuft) [...]
Oho, wie das denn?
-
weil statische Typisierung die "späte Bindung" erschwert bis verunmöglicht. C++ wird formal seit STL unter anderem deshalb immer komplexer, weil man in C++ die ganz offenbar gewünschte Flexibilität der dynamischen Typisierung mit den Mitteln statischer Typisierung simulieren muß.
Eine Figur aus Metall so zu bauen, daß sie hinterher die Flexibilität einer Figur aus Knetmasse hat, ist eben komplizierter als die Figur gleich aus Knetmasse zu bauen.
-
!rr!rr_. schrieb:
weil statische Typisierung die "späte Bindung" erschwert bis verunmöglicht. C++ wird formal seit STL unter anderem deshalb immer komplexer, weil man in C++ die ganz offenbar gewünschte Flexibilität der dynamischen Typisierung mit den Mitteln statischer Typisierung simulieren muß.
Eine Figur aus Metall so zu bauen, daß sie hinterher die Flexibilität einer Figur aus Knetmasse hat, ist eben komplizierter als die Figur gleich aus Knetmasse zu bauen.
Metall? Knete? Was hat das mit Late-Binding zu tun? Fragen über Fragen...
Aber lass dir gesagt sein, das Late-Binding in C++ mit dem virtual Keyword erreicht wird. Und wenn das nicht für OO ausreicht, solltest du nochmal die Schulbank drücken.
Übrigens benutzt Smalltalk doch gar keine Member-Function-Aufrufe, sondern Nachrichten. Aber was haben Nachrichten mit OO zu tun? Dann hat das ja das Win32-Nachrichten-System schon lange perfekt OO-artig gemacht?
NAchrichten sind also nicht das Maß der Dinge, um OO zu erfüllen. Es ist allein entscheidend, zur Laufzeit zu entscheiden, welches Verhalten (sprich Code) aufgerufen wird. Und das erfüllt C++ mit virtual vollständig.
-
!rr!rr_. schrieb:
weil statische Typisierung die "späte Bindung" erschwert bis verunmöglicht. C++ wird formal seit STL unter anderem deshalb immer komplexer, weil man in C++ die ganz offenbar gewünschte Flexibilität der dynamischen Typisierung mit den Mitteln statischer Typisierung simulieren muß.
Und was hat das jetzt mit OOP zu tun?
-
wie "was hat das jetzt mit OOP zu tun" ?
-
Artchi schrieb:
Aber lass dir gesagt sein, das Late-Binding in C++ mit dem virtual Keyword erreicht wird. Und wenn das nicht für OO ausreicht, solltest du nochmal die Schulbank drücken.
soso, sollte ich. Du verwechselst scheinbar dynamic dispatch mit late-binding. Daß C++ mit "virtual" eine Art von dynamic dispatching unterstützt, bezweifelt niemand. Das ist eben die angesprochene "Simulation" von Flexibilität zur Compilezeit.
-
wollt ihr euch noch weiter austoben oder closen? meine fragen wurden zur genuege beantwortet
-
compul schrieb:
wollt ihr euch noch weiter austoben oder closen? meine fragen wurden zur genuege beantwortet
Das ist hier immer so, wunder dich also nicht wenn der Thread wegdriftet.
Falls du den Thread abonniert haben solltest und du nun somit ständig neue Nerv-E-Mails bekommst, würde ich das Abonnement einfach abstellen.
-
schon getan....
nochmal die frage..: warum schreiben fast alle als unregistriert?
-
314159265358979 schrieb:
Java ist krampfhaftes OOP, da kann ich kruemelkacker nur zustimmen.
Dann hast du das Prinzip der OOP nie verstanden.
Du kannst also ruhig zugeben, daß du C++ bevorzugst weil es für dich da sehr bequem ist, nicht OO zu programmieren.
-
314159265358979 schrieb:
Das mag schon sein. Was aber dann trotzdem gegen Java spricht.
Nö, das ist genau der Sinn der Sache, wenn du sauberes OOP lernen willst, dann ist eine Sprache wie Java, die dich in OO Denken zwingt, genau richtig.
Desewegen sagt ich ja, daß es mit C++ wie mit Kraut und Rüben ist, am Ende kommt da vieles raus, nur ist das dann kein OO Design mehr.
-
!rr!rr_. schrieb:
Für OOP erstmal Java schrieb:
Es geht darum erstmal ordentliches OOP Design zu lernen und das geht eben mit Java am Besten
nö. Am besten geht das mit einer lupenreinen objektorientierten Sprache (smalltalk)
Meinetwegen, aber smalltalk ist so out, daß Java allein schon deswegen besser ist, weil man damit auch noch Geld verdienen kann.
Für die OOP ist Java gut genug.Für OOP erstmal Java schrieb:
, weil Java nicht mehr bietet als OOP.
java ist ein Kompromiß aus C-ähnlicher Syntax, statischer Typisierung (die eigentlich dem Grundgedanken der OOP zuwiderläuft) und OOP.
[/QUOTE]
Was soll die C Syntax am OOP Ändern? IMO nix.Inwiefern soll statische Typisierung dem Grundgedanken der OOP zuwiederlaufen?
Ich finde statische Typisierung gut, da lernt der Programmierer auch was und performanter ist es am Ende AFAIK auch.
-
compul schrieb:
schon getan....
nochmal die frage..: warum schreiben fast alle als unregistriert?
1. Weil es geht und Programmierer von Prinzip her faul* sind.
2. Weil manche noch auf der Arbeit sitzen und daher anonym gepostet werden will.
3. Weil man damit doofe Fragen stellen kann, ohne sich gleich als Newbie zu outen.
* Deswegen schreiben Programmierer Programme, die stupide Arbeiten vereinfacht.
-
!rr!rr_. schrieb:
wie "was hat das jetzt mit OOP zu tun" ?
Na du behauptest ja dass ein statisches Typsystem OOP erschwert, jetzt frag ich mich eben was die Art des Typsystems deiner Meinung nach mit OOP zu tun hat, denn ich seh da nicht ganz den Zusammenhang und verwend OOP eigentlich meistens in statisch typisierten Sprachen...
-
Für OOP erstmal Java schrieb:
Dann hast du das Prinzip der OOP nie verstanden.
Du kannst also ruhig zugeben, daß du C++ bevorzugst weil es für dich da sehr bequem ist, nicht OO zu programmieren.Ich programmiere OO, wo es Sinn ergibt.
Für OOP erstmal Java schrieb:
Nö, das ist genau der Sinn der Sache, wenn du sauberes OOP lernen willst, dann ist eine Sprache wie Java, die dich in OO Denken zwingt, genau richtig.
OOP ist nur sauber, wenn es richtig verwendet wird. Alles OO zu machen, ist nicht sauber.
Für OOP erstmal Java schrieb:
Desewegen sagt ich ja, daß es mit C++ wie mit Kraut und Rüben ist, am Ende kommt da vieles raus, nur ist das dann kein OO Design mehr.
Hängt von den Fähigkeiten des Programmierers ab.
Es gibt nicht "DAS Programmierparadigma". OOP hat seinen Platz, aber in anderen Fällen sind nunmal andere Paradigmen besser geeignet.