BlitzBasic - die richtige Programmiersprache?
Übersicht

Gehe zu Seite Zurück 1, 2, 3, 4, 5, 6, 7 Weiter
![]() |
Casiopaya |
![]() Antworten mit Zitat ![]() |
---|---|---|
Silver_Knee hat Folgendes geschrieben: und zum 10.000 mal ob ich schreibe $row["file"] oder $row->file ist doch mal vollends egal oder?
Wenn du wirklich der Meinung bist, dass solche Dinge die einzigen Unterschiede zwischen OO und imperativer Programmierung sind, dann kannst du schlicht keine Ahnung davon haben, was Objektorientierte Programmierung ist. Sorry für die harten Worte, aber das ist eindeutig. Das wäre aber ja auch gar nichts schlimmes, ob jemand sich mit einer Technik befasst oder nicht ist seine Sache. Es sprießen jährlich mindestens 20-30 neue "Super-Technologien" auf den MArkt, die umfassend sicher keiner mehr kann (und das ist auch gut so). Ich rate dir persönlich entweder keine Aussagen mehr über OO zu machen, oder (besser) dir mal ein gutes Buch zu OO durchzulesen und dann 1-2 große Projekte in OO durchziehen. Ich wäre wirklich gespannt (meine ich ernst ![]() |
||
![]() |
Willi die Rübe |
![]() Antworten mit Zitat ![]() |
---|---|---|
Leute, jetzt macht mal kein Zickenkrieg hier ![]() Zitat: Ich sträube mich nicht gegen OOP, sondern gegen ein "Alle finden das toll, weil's so cool und neu ist und wenn man das kann/ist, ist man der Held des Tages."
Ich denke Silver_Knee wollte damit einfach nur satirisch ausdrücken, dass viele OOP-Proklamierer (gerade im Zusammenhang mit BM) eigentlich keinen Schimmer von dessen Vorteile haben. Wenn hier Neulinge fragen, für was sie sich entscheiden sollen, B3D oder BM, argumentieren einfach viele BM User mit dem Motto OOP sei zukunftssicherer oder was weiß ich nicht alles ![]() Und wenn man sich mal das "Projekteniveau"(soll jetzt nicht negativ klingen) hier anschaut, scheint hier noch niemand soetwas wie OOP vermisst zu haben. Auch nicht in den seltenen potentiellen größeren Projekten ![]() Zitat: Und du hast recht, es ist verdammt plausibel, dass Softwareentwicklungs-Firmen sich schon längst in fast allen BEreichen rein auf die OO konzentrieren um "cool zu sein".
![]() ![]() Fazit: Wer meint er braucht OOP, egal ob wirklich oder nur "um cool zu sein", soll es auch nutzten, letztendlich bringt ja OOP auch keine Nachteile. |
||
Ich habe keine Lösung, aber ich bewundere das Problem.
Tehadon Q6600, MSI Neo2-FR, 4GB Ram, nVidia 7800 GTX At the Farewell Party visit: MySpace | Homepage |
BIG BUG |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
OOP hin oder her, letztendlich ist BlitzBasic/BlitzMax für 98% der Leute die mal ein bisschen Spiele entwickeln wollen genau richtig.
Das Problem ist mehr, dass der größte Teil dieses Personenkreises(speziell Anfänger) das leider einfach nicht glauben wollen. Wie kein OOP und keine Shader? Ok, man kann damit kein GTA4 oder World-of-Warcraft oder Crysis entwickeln, NUR genau die Leute die danach fragen, werden ein solches Spiel trotzem niemals entwickeln können, EGAL welche Sprache benutzt wird. Viel zu groß die Organisation, der Aufwand, das Budget, etc... und das hat alles rein GARNICHTS mit der benutzen Sprache zu tun. Und letzendlich wird man mit BlitzBasis seinem Ziel meistens noch am nächsten kommen. |
||
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final) |
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
Willi die Rübe hat Folgendes geschrieben: Ich denke Silver_Knee wollte damit einfach nur satirisch ausdrücken, dass viele OOP-Proklamierer (gerade im Zusammenhang mit BM) eigentlich keinen Schimmer von dessen Vorteile haben. Wenn hier Neulinge fragen, für was sie sich entscheiden sollen, B3D oder BM, argumentieren einfach viele BM User mit dem Motto OOP sei zukunftssicherer oder was weiß ich nicht alles
![]() Vielen Dank ![]() Und natürlich ist mir bewusst dass "$row["file"] oder $row->file" nicht der einzige unterschied ist, allerdings ist mir schon oft genug aufgefallen, dass es für viele wirklich der einzige unterschied ist, also da sie nicht mehr "Features" einer Objekt orientierten Programmierung nutzen. Was neu und alt ist... das Zeitgefühl hab ich noch nicht so... bin ja erst 2 jahre im Netz... und dennoch.... Am Anfang war GOTO. ob ich jetzt ne Prozedur schreibe... oder eine Methode eines Objekts.... es bleibt im großen und ganzen GOTO. und man kann mir erzählen was man will aber das goto was aus der Methode kommt ist nicht "besser" als das goto, was aus der Prozedur oder direkt vom assambler kommt (ist mir wurscht ob das da JUMP / JMP heißt). Leute die Das Behaupten davor sträubt es mich. Die Argumente die ihr bringt sind völlig korrekt. OOP erleichtert vieles, aber es ist nicht das Tor zum Himmel und es kann nichts, was nicht auch ein sauberer Prozedural-Programmierer könnte. |
||
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
Zitat: Am Anfang war GOTO. ob ich jetzt ne Prozedur schreibe... oder eine Methode eines Objekts.... es bleibt im großen und ganzen GOTO...
Natürlich ist es am Ende mehr oder weniger das gleiche. Aber sonst könnten wir ja alle direkt in Assembler programmieren ![]() Wann immer ich aber die Wahl habe, werde ich mich für OOP entscheiden. Nicht weil ich damit angeben möchte, sondern weil es einfach nur praktisch ist, und einem viel Arbeit abnimmt. Ausserdem verhindert OOP keineswegs die Nutzung von Arrays. Man sollte immer die Mittel verwenden die sich für das zu lösende Problem auch besser eignen. Man kann ja auch als Eigenschaft eines Objekts ein Array verwenden, und dort kannst du dann wie gewohnt folgendes schreiben: Code: [AUSKLAPPEN] $objekt->array["test".$nr]
Oder du machst ne Methode die intern ein Array durchgeht und dann nur noch das Ergebnis zurück gibt etc... In der OOP geht es nicht darum einfach alle Variablen in Objekte zu verwandeln. Objekte bzw. Klassen sollen Eigenschaften und Funktionalität die zum selben "Objekt" gehören kapseln. Richtig angewendet und im Zusammenhang mit Vererbung, Polymorphismus usw. entfaltet die OOP erst so richtig ihre Vorteile. Man kann alles ohne Probleme auch Prozedural oder in Assembler machen das stimmt, aber wer nimmt denn schon gerne mehr Arbeit in Kauf wenn es auch einfacher geht. Vielleicht in speziellen Fällen, wo es sehr auf die Geschwindigkeit ankommt, aber ansonsten werde ich mich immer für OOP entscheiden. PS: Dass viele Firmen OOP nur verwenden weil es cool klingt etc. halte ich persönlich für Schwachsinn. Gerade da kommt es doch drauf an, möglichst effizient und kostengünstig zu Arbeiten. Und genau diese Vorteile bietet OOP den Firmen. Edit: Um noch was zum eigentlichen Thema zu schreiben: Der Text oben ist nicht auf BB bezogen, sondern einfach allgemein zu OOP, ich wollte BB also nicht schlecht reden. Man kann damit sehr viel erreichen, auch bei grösseren Projekten. Hier finde ich die fehlende OOP auch gar nicht so schlimm. BB erfüllt seinen Zweck und ist sowohl für Anfänger, wie auch für alle anderen geeignet, die möglichst einfach zu guten Ergebnissen kommen möchten ![]() |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: Am Anfang war GOTO. ob ich jetzt ne Prozedur schreibe... oder eine Methode eines Objekts.... es bleibt im großen und ganzen GOTO.
Code: [AUSKLAPPEN] a9008d20d0 Das ist korrekter Machinencode für den 6502 von Commodore. Gab es sehr lange vor
Code: [AUSKLAPPEN] setclscolor 0,0,0
und funktioniert genauso gut. Dennoch werde ich immer die zweite Variante bevorzugen weil sie für mich als Mensch einfach besser nachzuvollziehen ist. Ähnlich verhält es sich mit OOP - OOP wurde mit prozeduralen Mitteln erschaffen, und alles geht auf Maschinencode zurück. Dennoch ist die Objektorientierung mit ihrer Datenkapselung das was dem Menschen von seinem Weltverständnis näher kommt als ein prozedurales Vorgehen. Wir neigen dazu unsere Umwelt unbewusst in Objekte zu zerlegen, zu abstrahieren und diesen abstrahierten Objekten ihre eigenen Methoden auf den Weg zu geben. Du würdest nie auf die Idee kommen auf einen Ofen 'bremse()' anwenden zu wollen, weil dass eine Methode der Klasse Auto, welche von 'Fahrzeug' abgeleitet wird, ist. Nichts anderes macht OOP, es fügt Objekte (also Sammlungen von Daten, teils für den Anwender bekannt, teils unsichtbar) und die Methoden zum Manipulieren derselben zusammen, und passt sich somit unserem Verständnis an. Mir ist von daher ein Auto.bremse() auch alle mal lieber als ein irgendwas = auto: bremse(irgendwas). Ich habe selbst sehr lange gebraucht bis ich mit der OOP öffnen konnte, grade weil ich jahrzehntelang prozedural programmiert habe, aber wenn man erstmal die Vorteile dieses Systems erkannt hat will man sie einfach nicht mehr missen. Nochmal: Mit prozeduralem Vorgehen ist alles möglich. Das bestreitet niemand. Nur ist es mit OOP etwas bequemer (und sicherer, da übersichtlicher), und weil ich ein bequemer Mensch bin und gern Übersicht habe werde ich bei OOP bleiben. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
BlitzcoderNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
OOP hilft auch, den Code gut strukturiert und übersichtlich zu halten, wobei BMax gut daran täte mal public und private ordentlich zu implementieren. Ich vertrete eine ähnliche Meinung wie Blade und habe recht lange nur prozedural programmiert. Aber wenn man OOP erst einmal verstanden hat und den Sinn darin sieht, will man es nicht mehr missen. | ||
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________ |°°°°°°°°°°°°°°||'""|""\__,_ |______________ ||__ |__|__ |) |(@) |(@)"""**|(@)(@)****|(@) |
0penguin0 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
BladeRunner hat Folgendes geschrieben: Mit prozeduralem Vorgehen ist alles möglich. Das bestreitet niemand.
möglich... theoretisch zumindest^^ ich glaube nicht, dass es jemand schafft, zb. ein observer-pattern zu programmieren, das es so gut läuft wie mit oop. |
||
i never finish anyth |
![]() |
tft |
![]() Antworten mit Zitat ![]() |
---|---|---|
hi ....
dazu müste man mal wissen was das ist? Eine erleutrung wäre hilfreich. Gruss TFT |
||
TFT
https://www.sourcemagic.ch Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!! |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
tft http://de.wikipedia.org/wiki/B...smuster%29
--- Mit anderen Worten: Observer ist eine spezielle verdeutlichung von unter anderem OO. Man könnte nun ''genau so'' behaupten: Prozedualles programmieren ist kein OOP, weil prozedualles programmieren kein OOP ist. --- 0penguin0 hat Folgendes geschrieben: BladeRunner hat Folgendes geschrieben:
Mit prozeduralem Vorgehen ist alles möglich. Das bestreitet niemand.
möglich... theoretisch zumindest^^ ich glaube nicht, dass es jemand schafft, zb. ein observer-pattern zu programmieren, das es so gut läuft wie mit oop. Doch! Denn dein OOP ist auch irgendwie programmiert worden, und als letzte Instanz eben Assember. Assembler ist kein OOP und kann denoch alles. Ist so, als würde man den Amiga auf heutigem PC emulieren und behaupten, sowas ist mit den heutigen PC garnicht mehr möglich. ![]() --- Ich zu meinem Teil - wie auch vieler anderer hier - sage mal; jeder kann damit arbeiten: - womit er am besten klar kommt, - er seine größten Ergüsse ausleben kann, - am schnellsten ans Ziel kommt. Eine Disskusion ist absolut schwachsinnig und ich bereue bereits jetzt, warum ich mich hier habe wieder mitreissen lassen. Für mich gilt, schnelles vorankommen, stabile und qualitative Umgebung beim programmieren. Wer meint mit C++ besser aufgehoben zu sein, kann sich ja an ein C++ -Forum anmelden und da weiter machen. Noch ein Nachtrag: BlitzBasic, Blitz3D und BlitzMax sind vorzugsweise für Spiele angedacht, die von einer Person programmiert werden. Erzähle mir jetzt bitte, wie man ein observer-pattern für ein Spiel benötigt. Und bitte klare Argumente und bitte auch nur solche, wo du dir selbst bei einem Projekt die Mühe machen würdest. Am besten noch ein Link zu deinen bisherigen Großprojekten (Spiele) in denen du mitgewirkt hast bzw. dich mit den ganzen Zeugs beschäftigt hast. Denn Spieleentwiklung ist was anderes als eine Handels, (Lager)Verwaltungs oder Logistik -Software. Wenn das nicht geht, dann gilt für dich sicherlich auch: - Ein Porsche ist grundsätzlich besser als ein VW-Lupo - Männer sind grundsätzlich stärker als Frauen - Nokia ist grundsätzlich besser als Sony Ericsson - ... Vergleich 1) Eine Aussage darüber, dass ein Porsche besser sei ist quatsch, wenn man vorher nicht die Bedingungen gestellt hat. Setzt man auf Geschwindigkeit, Leistung ist der Porsche tatsächlich besser. Setzt man allerdings auf Umweltschutz, Preis pro km, Wendigkeit im Stadtverkehr, Kofferraumerreichbarkeit ist ein Lupo die bessere Wahl. Also bitte, bereitet euch nicht selbst Kopfschmerzen mit so einem Quatsch hier. |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
Artemis |
![]() Antworten mit Zitat ![]() |
---|---|---|
http://de.wikipedia.org/wiki/B...rfsmuster) | ||
![]() |
tft |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi ...
sonnenkrar. Observer sind eine Abstrackte Struckturierung die alles widermal komplizierter macht als nötig. Ich denke in verbindung mit OOP kann es recht nützlich sein. Aber ich als Hobby Coder kann nichts damit anfangen. Für mich ist es in etwa so. Deutsch in Englisch übersetzen. Das Englisch in Chinesisch. Und dann wider nach Deutsch. Wobei das Übersetzen in Chinesisch eigentlich mer als Überflüssig ist. Wer sich mit dieser Abstraktion auseinandersetzen kann. Der ist bestimmt auch in der Lage sehr Komplizierte Struckturen miteinander zu Verbinden. Ohne den Überblick zu verlieren. Das ist aber hir ..... in der BB Comunity doch eher fehl am platze. Oder liege ich da föllig falsch? Gruss TFT |
||
TFT
https://www.sourcemagic.ch Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!! |
0penguin0 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
war ja auch nicht auf BB oder so bezogen... (is der thread ja auch schon lange nicht mehr^^)
@hectic: hectic hat Folgendes geschrieben: Doch! Denn dein OOP ist auch irgendwie programmiert worden, und als letzte Instanz eben Assember. dann mach mal! ich hab ja geschrieben "theoretisch zumindest". weil wenn das richtig funktionieren soll, dann sind interfaces und polymorphie esentiell. und, wie TFT ja auch schon schrieb, sind ja hier eher hobby-programmieren unterwegs und das thema lautet "BlitzBasic - die richtige Programmiersprache?" und darauf muss man halt antworten, dass es SEHR GUT für hobby-projekte (is ja völlig egal wie gross das spiel sein soll... wie definierst du überhaupt ein "grosses" spiel/projekt), aber wenn man zb (<- ZUM BEISPIEL ![]() also ich rede jetzt natürlich über das ursprüngliche thema bzw. die vorangegangene diskussion und lasse die community hier mal ein bisschen ausser acht (also die hobby-progger). |
||
i never finish anyth |
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich wiederhole mich... OOP kann nichts, was nicht auch ein sauberer Prozedural-Programmierer könnte. Aber ich denke für sowas ist es sicherlich bequemer.
EDIT: Ich überlege grade ob ich einen OOP-BB Pre-compiler auf Type-Basis schreiben soll.... hmm ich komme deiner Signatur ziemlich nahe Zitat: i never finish anyth
|
||
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
Da wurde dir ja auch mehrfach zugestimmt. Aber es bedeutet halt mehr Aufwand so etwas prozedural zu schreiben:
Code: [AUSKLAPPEN] Type Control Abstract
Field X:Int, Y:Int, Width:Int, Height:Int Field Text:String Field SubControls:TList = New TList Method Update() For Local c:Control = EachIn SubControls c.Update() Next End Method Method Draw() For Local c:Control = EachIn SubControls c.Draw() Next End Method End Type Type Button Extends Control Field Win:Window Field Pushed:Int Method Draw() SetColor(255,255,255) DrawRect Win.X + X, Win.Y + Y, Width, Height Super.Draw() End Method Function Create:Button(X:Int, Y:Int, Width:Int, Height:Int, Win:Window) Local b:Button = New Button b.X = X b.Y = Y b.Width = Width b.Height = Height b.Win = Win b.Win.SubControls.AddLast(b) Return b End Function End Type Type Window Extends Control Method Draw() SetColor(255, 0, 0) DrawRect X, Y, Width, Height Super.Draw() End Method Function Create:Window(X:Int, Y:Int, Width:Int, Height:Int) Local w:Window = New Window w.X = X w.Y = Y w.Width = Width w.Height = Height Return w End Function End Type Graphics 800, 600, 0 Local w:Window = Window.Create(50, 50, 200, 100) Local b:Button = Button.Create(10, 10, 50, 15, w) Cls w.Update() w.Draw() Flip WaitKey EndGraphics End Ich vermute mal das würde dann irgendwo im prozeduralen Code so, oder so ähnlich aussehen: Code: [AUSKLAPPEN] ...
If o\typ = "Button" Then UpdateButton(o) Else if o\typ = "Window" Then UpdateWindow(o) End If ... Bei OOP fällt dieser ganze Verwaltungskram mit den Ifs halt weg, und der Code wird übersichtlicher. Man kann einfach o.Update() schreiben, egal ob das nun ein Button, ein Window oder sonst was ist. Ausserdem lässt sich viel schneller jederzeit ein neues Control hinzufügen. |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Man nehme ein OO-Kontrukt und versucht nun zwanghaft dieses auf prozedual zu zwingen, dann kommt so ein Mist wie der eben geposteter zustande. Bei prozedualem programmieren geht man also gleich vom Anfang an ganz anders ran, um genau so etwas zu verhinden.
Im grunde wollte ich aber auf 0penguin0 eingehen. Gerade mit Assembler könnte man OO ganz leicht mit kaum Mehraufwand nachahmen. Mit anderen Worten: Ob ich nun mit Assember das verhalten eines Arrays programmiere, kann ich auf die selbe Technik setzen um Banks aufzubauen. Ähnlich verhält es sich, wenn ich ein Type (verkettete Liste) erstelle, kann ich mit Assembler auch mit kaum Mehraufwand gleich OO integrieren. Gebe mir 3 Monate (habe schon lange nicht mehr mit Assembler gearbeitet) und bezahle mich die Zeit lang, dann gebe ich dir OO-Verhalten mit Assembler programmiert. |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
Stimmt schon, aber selbst ohne OOP-Kenntnisse würde ich für ne GUI im Fall von BB wahrscheinlich Types (Linked Lists) verwenden, da die einfacher zum Verwalten von einer dynamischen Anzahl von Controls sind.
Angenommen ich mach dann für jedes Control einen eigenen Type, dann werd ich wahrscheinlich für jedes Control die Grundfunktionalität immer wieder neu schreiben müssen, denn ohne OOP gibts ja keine Generalisierung, also kann man nicht einfach eine Funktion schreiben die für jeden Type verwendet werden kann. Ausserdem muss man auch die X, Y, Width und Height-Felder immer wieder neu schreiben. Wenn was an der Grundfunktionalität geändert werden soll, muss ich den redundanten Code an mehreren stellen anpassen. Dann überlegt man sich, wie man das besser lösen könnte. Z.B. indem man einen Type schreibt mit den Grund-Eigenschaften X, Y, Width und Height und diesen bei den anderen Controls als Field einfügt. Oder man verwendet für alle Controls den gleichen Type. Damit die Controls aber unterschieden werden können, baut man ein Feld Namens typ ein. Und dann sind wir schon wieder bei dem Code von oben... Genau das wollte ich mit dem Beispiel zeigen. Edit: Man könnte die Controls natürlich auch in Form von Arrays oder Banks speichern usw.. aber genau darauf habe ich keine Lust mehr... ist doch viel praktischer in Objekten zu denken und zu programmieren ![]() |
||
![]() |
tft |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi ....
praktischer ----- das liegt wohl im Auge des Betrachters. Für den einen ist es Pracktisch. Und für den anderen Umständlich. Und einer der keine Ahnung hat ..... für den ist es unmöglich auch nur die Grundidee dahinter zu verstehen. Kommen wir doch mal wider auf das Thema zurück. BlitzBasic - die richtige Programmiersprache? Würde sagen .... je nach veranlagung.... wissen und Zeit. Ja !!!!!!! Um zu lernen wie Programieren überhaupt geht. Ja !!!!!! Weil schnelle erfolge garantiert sind und die Comunity einfach sackstark ist ![]() Und überhaubt .... Ja !!!!!!! Gruss TFT |
||
TFT
https://www.sourcemagic.ch Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!! |
MasterK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Casiopaya hat Folgendes geschrieben: Ein 8-Mann-Projekt mit 10 Monaten und 450 Mann-Stunden sollten reichen oder?
Nur 450 Mann-Stunden bei 8 Leuten und 10 Monaten? Die 450 bekomm ich ja alleine schon in 3 Monaten zusammen ![]() Casiopaya hat Folgendes geschrieben: Ganz ehrlich, bei uns hat jeder im Team nach ner Weile nur noch abgemotzt über c++
![]() Ich empfehle dir einen Blick auf boost zu werfen oder auf Qt. Casiopaya hat Folgendes geschrieben: Ich kann mich noch an einen Satz erinnern, der mich heute noch wundert: Nach der ersten Entwurfsphase (Grob + Feinentwurf) sagten sie: "Verwendet keine virtuellen Methoden, die sind zu langsam." Ähhh... ja.
![]() Ja, auf der uni springen leider auch viele fachidioten rum. Und etliche davon leider auch als übungsleiter. Mir kommts vor, als wenn hier manche meinen, OOP wäre nur das verpacken der funktionen in klassen. Das ist NICHT oop. OOP ist deutlich mehr. Funktionen in einzelne Module auslagern (ohne dass sie ohne weiteres global sichtbar sind) kann ich auch in C. Deswegen hat C noch lange keine OOP-merkmale. tft hat Folgendes geschrieben: Observer sind eine Abstrackte Struckturierung die alles widermal komplizierter macht als nötig. Ich denke in verbindung mit OOP kann es recht nützlich sein. Aber ich als Hobby Coder kann nichts damit anfangen.
Unnötig komplizierter? Im gegenteil, ein sauberes OOP-design macht einen code deutlich besser wartbar. Und wer mit java arbeitet (was ja auch als hobby erlaubt sein sollte) trifft da ganz automatisch auf diverse entwurfsmuster. tft hat Folgendes geschrieben: Oder liege ich da föllig falsch?
Ja. tft hat Folgendes geschrieben: praktischer ----- das liegt wohl im Auge des Betrachters. Für den einen ist es Pracktisch. Und für den anderen Umständlich. Und einer der keine Ahnung hat ..... für den ist es unmöglich auch nur die Grundidee dahinter zu verstehen.
Dann ist es trotzdem nicht "umständlich". Wenn einer keine ahnung hat, dann hat er keine ahnung. Ändert aber an der sache an sich nix. |
||
+++ www.masterk.de.vu +++
Lila FTW! |
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: ein sauberes OOP-design
Da liegt bei den meisten Anfängern das Problem. wenn ich als Anfänger: Code: [AUSKLAPPEN] o:Object=GetObject(of,any,reason)
o\TControl\TButton\Move(2,3) o\TControl\Show() o\tag="shown" lese oder sowas schreiben soll, da drehts einem doch gleich den Magen um. Code: [AUSKLAPPEN] button=GetButton(of,any,reason)
MoveButton(button,2,3) ShowControl(button) SetObjectTag(button,"shown") sieht finde ich, allein weil es weniger zeichen sind, freundlicher aus. Außerdem kann ich mit dem Ersten code viel mehr scheiße bauen als mit dem 2. zb: Code: [AUSKLAPPEN] o\TControl\Move(2,3)
|
||
Gehe zu Seite Zurück 1, 2, 3, 4, 5, 6, 7 Weiter
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group