Archiv verlassen und diese Seite im Standarddesign anzeigen : Berufschancen ohne OOP zu können?
mapel110
2009-02-07, 14:43:47
Passt denke ich am besten in dieses Forum.
Ich befinde mich derzeit in folgender Situation. Ich habe eine abgeschlossene Ausbildung zum Fachinformatiker Fachrichtung Anwendungsentwicklung. Tja, und was soll ich noch groß drumherum reden, man bekommt den Wisch auch ohne Objektorientieres Programmieren zu beherrschen. Unser Ausbilder, der dafür zuständig war, meinte immer nur "es kommt doch auf Logiken an" und "OOP ist doch letztenendes auch nichts anderes als Prozedural".
Jedenfalls komme ich mir nun vor wie Stevie Wonder mit Autoführerschein. Ich soll nun Anwendungen schreiben, kanns aber nicht. Oder soll ich mir berechtigte Hoffnungen machen, dass mich ein Arbeitgeber einstellt, mir dann noch OOP erst beibringt und ich erst nach XY Wochen produktiv tätig werde, nachdem der Arbeitgeber mir tausende Euro ausgezahlt hat?! Ich hab da meine Zweifel.
Unfug
2009-02-07, 14:50:40
Ich dachte Anwendungsentwickler lernen nur Programmiersprachen während ihrer Ausbildung. Was hast Du denn sonst gelernt?
Habe einen Kollegen, der auch Anwendungsentwickler ist. Der hat ausschließlich PHP, JAVA, SQL und so Zeugs gelernt. Ein bisschen Theorie wie Binärzahlen, aber das wars auch schon.
mapel110
2009-02-07, 14:58:40
An Programmiersprachen habe ich Javascript, PHP4, HTML, CSS (die ganze Webshice halt) und Cobol gelernt.
In Javascript kommt ja auch ein wenig "Objektorientierung" zum tragen, aber die Sprache haben wir quasi nur für kleine Sachen, wie MouseOver-Effekte benutzt. In PHP4 hab ich mich auch rein auf prozedurale Dinge beschränkt (in der Version geht in der Richtung glaube eh kaum etwas. Kam ja erst alles mit PHP5).
Was ich sonst noch gelernt habe?! Tja, die ganze BWL-Shice, WISO, Rechnungswesen, Bewerbungstraining, bissl Fachenglisch ...
Alles, was man halt für die IHK-Prüfung braucht (die meiner Meinung nach ziemlich an der beruflichen Realität vorbei geht).
Tiamat
2009-02-07, 15:04:28
Hi, also zur Vorbereitung auf die Klausur OOT hatte ich mal ein Buch ausgeliehen : UML 2 Zertifizierung. Dieses Buch war zur Vorbereitung auf die Fundamental Prüfung bei der OMG Group.
Ich weiß, dir geht es hier um die Programmierung, auf jeden Fall stand in dem Buch, dass sich jeder bei dieser Prüfung anmelden kann, kostet glaub ich 180€ oder so. Ich denke solche Sachen werden die Einstellungschance schon erhöhen. Also ich wär auf jeden Fall bereit , solange es bezahlbar ist, mich nebenbei noch n bisl fortzubilden und n paar Scheine zu machen.
Auf die Programmierung bezogen :
Buch besorgen, Defizite auslgleichen, lernen, üben.
Arbeitest du noch in der Firma, in der du Ausbildung gemacht hast?
Frag doch mal, ob du ne Fortbildung wahrnehmen kannst, sowas wie n Seminar Objektorrientierung.
Des ist auf jeden Fall n Umstand, den du schnellstens beheben solltest, weil es ja um deine berufliche Zukunft geht.
Gruß
Tiamat
Watson007
2009-02-07, 15:12:56
ohne OOP bin ich einmal abgelehnt worden früher bei einem Bewerbungsgespräch.
darph
2009-02-07, 15:14:32
Was hindert dich denn daran, dir objektorientierte Programmierung anzueignen?
An Programmiersprachen habe ich Javascript, PHP4, HTML, CSS (die ganze Webshice halt) und Cobol gelernt.
Äh, sorry, aber: Was kümmert dich OOP? Du willst irgendwo hingehen, wo du deine COBOL-Kenntnisse einbringen kannst; die Sprache ist ja heutzutage dermaßen unattraktiv (und das zurecht!), daß es wohl nicht so einfach ist, Leute zu kriegen, die noch den alten COBOL-Code warten können.
-huha
Monger
2009-02-07, 15:22:18
Unser Ausbilder, der dafür zuständig war, meinte immer nur "es kommt doch auf Logiken an" und "OOP ist doch letztenendes auch nichts anderes als Prozedural".
Für den Satz gehört er geohrfeigt! :ugly:
Wenn's dich tröstet: Objektorientierung ist ja ein Konzept, nicht so sehr ein Werkzeug. Ich hab genügend Kollegen die Anwendungsentwicklung betreiben ohne eine echte Ahnung von objektorientiertem Ansatz zu haben. Das Ergebnis ist halt Spaghetti Code.
An Programmiersprachen habe ich Javascript, PHP4, HTML, CSS (die ganze Webshice halt) und Cobol gelernt.
Über was für eine Form von Anwendungsentwicklung sprechen wir hier denn? Das sind ja jetzt alles "nur" webbasierte Sprachen (wo OOP eine eher geringe Rolle spielt). COBOL wird ja in erster Linie für Anwendungen in der Business Welt verwendet, um fix mal ein paar Berechnungen zusammenzuschmeißen etc.
Wenn ich an "Anwendungsentwicklung" denke, denke ich an Windows Applikationen à la Office. Damit scheinst du mir jetzt aber überhaupt nichts zu schaffen zu haben.
Deshalb muss ich jetzt nochmal fragen: was genau wäre denn dein Abschluss? Für nen Allgemein-Informatiker fände ich das schon arg speziell.
mapel110
2009-02-07, 15:23:01
Was hindert dich denn daran, dir objektorientierte Programmierung anzueignen?
Das Hauptproblem ist wohl, dass ich nicht den Zwang dazu verspüre. Ich war ja schon vor der Ausbildung fast 3 Jahre arbeitslos und ich habs in der Zeit auch nicht hinbekommen, mir das selbst beizubringen. Ich bin eher jemand, der das vorgekaut bekommen muss.
@huha
Eben, Cobol ist so unattraktiv, dass man damit heute kein Geld mehr verdienen kann. Hab mich auch geärgert, dass wir so eine alte Sprache lernen mussten. Deswegen brauch ich andere, gebräuchlichere Kenntnisse, womit ich mich auf mehr Stellen bewerben kann.
Über was für eine Form von Anwendungsentwicklung sprechen wir hier denn? Das sind ja jetzt alles "nur" webbasierte Sprachen (wo OOP eine eher geringe Rolle spielt). COBOL wird ja in erster Linie für Anwendungen in der Business Welt verwendet, um fix mal ein paar Berechnungen zusammenzuschmeißen etc.
Wenn ich an "Anwendungsentwicklung" denke, denke ich an Windows Applikationen à la Office. Damit scheinst du mir jetzt aber überhaupt nichts zu schaffen zu haben.
Deshalb muss ich jetzt nochmal fragen: was genau wäre denn dein Abschluss? Für nen Allgemein-Informatiker fände ich das schon arg speziell.
Webprogrammierung hab ich in meinem 3monatigen Praktikum gehabt. Ich hab in der Zeit ein PHP-SCript geschrieben, dass Daten eines SQL-Servers ausgewertet hat.
Cobol haben wir in einer Dos-Box eingesetzt, um unsere kleinen Übungen durchzuführen. Bubble Sort war da noch mit das komplexeste.
Mein Abschluss heißt "Fachinformatiker Fachrichtung Anwendungsentwicklung" und den hab ich nun seit Januar in der Tasche.
@huha
Eben, Cobol ist so unattraktiv, dass man damit heute kein Geld mehr verdienen kann. Hab mich auch geärgert, dass wir so eine alte Sprache lernen mussten. Deswegen brauch ich andere, gebräuchlichere Kenntnisse, womit ich mich auf mehr Stellen bewerben kann.
Je nachdem, wie gut du COBOL beherrscht, gibt's durchaus die Chancen, in der Richtung eine Arbeit zu kriegen. Der Code ist ja da und muß eben ab und an gewartet werden und wenn du es schaffst, in diesem Bereich was zu finden, dann dürfte es sicher keine schlechte Arbeit sein. Wie gesagt: COBOL können nicht mehr viele, die entsprechenden Programme existieren aber noch.
-huha
Fragt sich nur ob man darauf Bock hat. COBOL hat man sich wahrscheinlich echt schnell angeeignet wenn's sein muss (ich tippe auf ne Woche wenn man bereits ein Reportoir aus anderen Sprachen kann).
patermatrix
2009-02-07, 15:50:51
(ich tippe auf ne Woche wenn man bereits ein Reportoir aus anderen Sprachen kann).
Ebenso sehe ich das eigentlich mit den Grundkonzepten von OOP.
Monger
2009-02-07, 15:52:49
Irgendwie steh ich grad aufm Schlauch. Offenbar habe ich eine völlig falsche Vorstellung von einem Anwendungsentwickler. Anders kann ich mir grad nicht erklären, dass du offenbar keine der verbreiteten Hochsprachen (C/C++, Java, .NET) je angefasst hast.
Ich kann ja verstehen wenn man je nach Themenschwerpunkt sich halt auch exotischere Sprachen anschaut, aber die genannten Sprachen VÖLLIG auszulassen... das ist für mich grad schwer vorstellbar.
Ebenso sehe ich das eigentlich mit den Grundkonzepten von OOP.
Wie gesagt: OOP ist mehr ein Konzept als ein konkretes Feature. Sich das bißchen Syntax anzueignen die die jeweiligen Sprachen dafür bieten, ist natürlich überhaupt kein Problem - was man damit konkret tun soll, ist was völlig anderes. Mir ist auf jeden Fall noch niemand begegnet dem das ganz locker, flockig von der Hand geht. Mich selbst eingeschlossen.
Ebenso sehe ich das eigentlich mit den Grundkonzepten von OOP.
Die Grundkonzepte der Mathematik kann man in wenigen Minuten erklären, trotzdem kann man damit auch nach einem Monat keine Differentialgleichung lösen ;)
Konzepte lernen ist immer schwieriger als neue Grammatik, Vokabeln und Syntax für bekannte Konzepte zu lernen.
Ganon
2009-02-07, 16:17:08
Ich bin eher jemand, der das vorgekaut bekommen muss.
Äh... sry... nimm's mir nicht übel... aber... du hast den falschen Beruf mit der Einstellung gewählt...
Zum Thema:
Also ohne OOP Erfahrungen und Kenntnissen wirst du wohl die Probezeit nicht überstehen.
Ich hab mir meine darüber auch komplett eigenständig erarbeitet. Dabei geholfen haben Bücher ^^
Ganon
2009-02-07, 16:29:30
Deshalb muss ich jetzt nochmal fragen: was genau wäre denn dein Abschluss? Für nen Allgemein-Informatiker fände ich das schon arg speziell.
"Fachinformatiker für Anwendungsentwicklung" schafft man auch mit sehr guten Noten bei keinerlei Programmierkenntnis.
In der Schule lernt man so gut wie gar keine Programmierung. Man kriegt zwar hier und da was gezeigt, aber wenn man da nicht hinhört, braucht man nur auswendig lernen, was man aufgeschrieben hat.
Die Antworten der Prüfungsfragen kann man zu 60% aus dem IT-Handbuch abschreiben, wenn man sich nicht die Mühe macht die Prüfung die Nacht vor der Prüfung im Netz zu suchen. ;)
"Fachinformatiker für Anwendungsentwicklung" heißt heutzutage gar nichts mehr. Nicht umsonst machen die meisten Firmen (wir auch) erst mal ein einwöchiges Praktikum bei Bewerbern um überhaupt zu testen was an Fähigkeiten da ist. Bei den meisten fehlt es an allem (was wir dann auch den Bewerbern dann sagen). Einige haben nicht mal Englisch-Kenntnisse.
Aber es gibt auch Gute, keine Frage. ;)
Marscel
2009-02-07, 17:25:10
OOP muss man begreifen, am besten darin denken können (so wie Pointer xD )
Die syntaktische Umsetzung in die Sprache sollte eigentlich das geringste Problem sein für jemanden der Erfahrung im Umgang mit Sprachen hat. Aber ich weiß aus eigener Erfahrung, dass man - wenn man noch klein und unerfahren ist - schnell denkt, "Ach wie toll, jetzt machen wir mal was in OOP-Style". Ja, was kommt raus, wenn mans nicht begriffen hat? Wirres Gefrickel aus Dingen, die aussehen wie Namespaces, Module, Strukturen, Interfaces und was weiß ich, aber mit Sicherheit nicht sauber und vor allem im Sinne der (Nicht-)OOP durchdacht sind. ;)
Abgesehen davon, ich finde gerade bei Javascript kann man recht flott und eindrucksvoll Sachen mit OOP anstellen, die einem die Bedeutung veranschaulichen.
Senior Sanchez
2009-02-07, 17:28:04
Für den TS wäre es doch am Besten sich die OOP-Paradigmen in den Sprachen anzueignen, die er kann. PHP kann das ja und Javascript wohl auch ein wenig.
Somit sieht er vielleicht auch die Vorzüge und begreift es leichter.
Ebenso sehe ich das eigentlich mit den Grundkonzepten von OOP.
Eine Woche um ein Gefühl für OOP zu bekommen? Ich denke nicht.
The_Invisible
2009-02-07, 19:40:16
Äh... sry... nimm's mir nicht übel... aber... du hast den falschen Beruf mit der Einstellung gewählt...
das gilt wohl für die gesamten IT berufe.
wennst dich da nicht selber dahinterklemmst und nur alles vorgekaut haben willst bist du sowieso nur 2te wahl. was da meistens in den seminaren gelehrt wird ist meistens schon schnee von gestern. ich bin zb ein sehr "versionsgeiler" mensch, teste zb schon lange mit qt4.5 durch damit ich bei release ja fit bin.
ich habe meine ersten oop kenntnisse eigentlich mit php4 mitbekommen (ja, ich weiß, bot nicht viel aber vielleicht war es gerade deswgen ein guter einstieg), dann habe ich mir schön brav weitere sprachen beigebracht die das vertieften.
also hol dir gefälligst ein buch / tutorials im internet und fang damit an, die jungen wilden machen dir sonst das (berufs) leben zur hölle.
mfg
Darkstar
2009-02-07, 20:09:43
[…] COBOL wird ja in erster Linie für Anwendungen in der Business Welt verwendet, um fix mal ein paar Berechnungen zusammenzuschmeißen etc.
Wenn ich an "Anwendungsentwicklung" denke, denke ich an Windows Applikationen à la Office. […]Es gibt durchaus auch COBOL-Anwendungen für den Desktop, ich habe selber mal an einer mitentwickelt.
@mapel110: Wie schon huha hier mehrfach geschrieben hat, kann es sich für Dich auszahlen, wenn Du Dich weiter auf COBOL spezialisierst. Der Bedarf an COBOL-Entwicklern ist zwar klein, aber er ist definitiv vorhanden.
[…] COBOL hat man sich wahrscheinlich echt schnell angeeignet wenn's sein muss (ich tippe auf ne Woche wenn man bereits ein Reportoir aus anderen Sprachen kann).Mir wurde damals ein Zeitraum von einem Tag zugestanden. :D
@mapel110: Jetzt keine Angst bekommen; das geht nur so schnell, wenn man sich bereits mit anderen (prozeduralen) Programmiersprachen auskennt.
Was hindert dich denn daran, dir objektorientierte Programmierung anzueignen?Das Hauptproblem ist wohl, dass ich nicht den Zwang dazu verspüre. Ich war ja schon vor der Ausbildung fast 3 Jahre arbeitslos und ich habs in der Zeit auch nicht hinbekommen, mir das selbst beizubringen.Wenn Du diesen Zustand nicht ändern kannst, wirst Du es schwer haben – egal in welchem Job!Ich bin eher jemand, der das vorgekaut bekommen muss.So sah es auch bei mir aus, allerdings habe ich eines Tages meinen inneren Schweinehund besiegen können (nur eine Schlacht, leider nicht den Krieg) und damit begonnen, mich selber in andere Programmiersprachen einzuarbeiten und neue Techniken zu erlernen. Es war bisher nicht zu meinem Nachteil.
Nahaz
2009-02-07, 20:21:56
@mapel110:
Ich befinde mich in einer ähnlichen Situation wie du, bin halt nur FISI und kein FIAE.
Letztlich ist es völlig egal ob du was kannst oder nicht, keine Firma wird dich einstellen wenn du keine Berufserfahrung vorweisen kannst. Mit viel Glück bekommst du noch eine Stelle im First Level Support und kannst den Blitzableiter für die Kunden spielen.
Edit: Komm mal bitte im ICQ on.
Chancen ohne OOP? In der "Anwendungsentwicklung" so wie ich das verstehe (und die meisten hier) wahrscheinlich nicht ;) Das Defizit kann man nicht so einfach verbergen. Aber das ist ja nichts was man nicht ausbügeln kann :) Das Grundkonzept hat man schnell erlernt und mit ein bisschen Übung geht das auf jeden Fall.
An Programmiersprachen habe ich Javascript, PHP4, HTML, CSS (die ganze Webshice halt) und Cobol gelernt.
Naja, das sind eher Scriptsprachen ;)
Ich würde dir raten, zunächst mal einige objektorientierte Webanwendungen mit PHP zu schreiben, immerhin kennst du dich dort ja schon aus. Und dann später würd ich dir auch mal zu einer richtigen Programmiersprache raten, da es sonst in dem Fachgebiet recht eng wird. Auch im Webbereich kommt man an Java nicht mehr vorbei.
Coder der Unfehlbarkeit
2009-02-07, 20:37:44
An Programmiersprachen habe ich Javascript, PHP4, HTML, CSS (die ganze Webshice halt) und Cobol gelernt.
.
Ach du scheiße.
Keine einzige brauchbare Programmiersprache. :(
Nichtmal C und das wäre ja noch prozedural.
Von C++, Java und C# ganz zu schweigen.
Du solltest dir dringend ein Java Buch besorgen und im Do It Yourself Verfahren dir den Stoff aneignen.
Wie man OOP lernt, kann man ganz gut durch dieses Buch verstehen:
UML 2.0 von Galileo Computing Autor Kecher
Da geht es zwar hauptsächlich um UML, aber es vermittelt die OOP sehr gut Anhand von Java und C# Beispielen.
Kinman
2009-02-07, 21:06:12
Aus Deiner Sicht würde ich mir zuerst die Grundkonzepte und Begriffe von OOP erlernen (sollte doch in wenigen Tagen machbar sein). Anschließend diese Sachen in PHP5 (da Du PHP schon kennst) umsetzten und anschließend das ganze vertiefen. Das allerdings mit einer anderen Sprache, da PHP nicht vollständig mithalten kann - z.B. mit Java.
mfg Kinman
The_Invisible
2009-02-07, 21:21:11
Ach du scheiße.
Keine einzige brauchbare Programmiersprache. :(
Nichtmal C und das wäre ja noch prozedural.
Von C++, Java und C# ganz zu schweigen.
Du solltest dir dringend ein Java Buch besorgen und im Do It Yourself Verfahren dir den Stoff aneignen.
Wie man OOP lernt, kann man ganz gut durch dieses Buch verstehen:
UML 2.0 von Galileo Computing Autor Kecher
Da geht es zwar hauptsächlich um UML, aber es vermittelt die OOP sehr gut Anhand von Java und C# Beispielen.
naja, als webentwickler sicher brauchbar, trotzdem fehlt hier auch php5 da gerade diese neue version viele neue oop ansätze bietet und neue projekte eigentlich nicht mehr anders erstellt werden sollen.
java ist aber eine gute wahl, wenn mans nicht hier lernt dann nirgends.
mfg
Tiamat
2009-02-07, 22:07:09
Das ist ja auch so, dass wenn man sich die Konzepte mal verinnerlicht
hat, gar net mehr ohne programmieren möchte.
Das sind schon geniale Ideen, die auch einen echten Nutzwert bringen und
mit denen man viel besser strukturieren kann.
Natürlich beeinhalten die Konzepte ne gewisse Komplexität, die aber meines
Erachtens nicht schwieriger sind als Konzepte aus anderen Paradigmen.
Ich weiß noch wie ich das erste mal mit applikativen Algorithmen beim Studium konfrontiert wurde. Keine Variablen, nur rekursiver Umgang mit Parametern. Sobald da mehr als ein Parameter in einer Zeile rekursiv aufgerufen wurde, z.b return f(n+2) -f(n-1) +f(n*n), hab ich mir zu Beginn einen abgebrochen, zu verstehen, wie wohl der Verlauf der Funktion ist.
Je mehr if-else Bedingungen in der Funktion deklariert sind, umso mehr muss man dabei dann durchdenken.
Wenn man sich Rekursion mal verinnerlicht hat, hat man später nicht die geringsten Probleme munter und lustig selbst rekursive Methoden zu schreiben. Aber manche Dinge dauern etwas, bis es klick macht :D
Also ich würde auch Java empfehlen, damit haste auch zu 85% C# abgedeckt ( die Klassenbibliothek unterscheidet sich halt schon ) und die dadurch gewonnen Objektorientieren Kenntnisse lassen sich auf jede
x-beliebige OO Sprache anwenden.
Gruß
Tiamat
instinct
2009-02-07, 22:16:59
Das Hauptproblem ist wohl, dass ich nicht den Zwang dazu verspüre. Ich war ja schon vor der Ausbildung fast 3 Jahre arbeitslos und ich habs in der Zeit auch nicht hinbekommen, mir das selbst beizubringen. Ich bin eher jemand, der das vorgekaut bekommen muss.
Bei der Aussage würde ich mal behaupten, dass du dir den falschen Beruf ausgesucht hast. Das Leben eines Informatikers ist ein einziger Lernprozess und wenn du nicht so wie dein Ausbilder enden willst, solltest du was an deiner Einstellung ändern oder an eine Umschulung denken.
ist mir auch etwas schleierhaft, wie man als webentwickler nie mit oop in berührung kommen kann. lernen kann man das mit deinen kenntnissen sicher gleich, wenn man die zeit dafür aufwendet. ein paar kollegen von mir die auch fiae sind, können überhaupt nicht wirklich gut programmieren. darum gehts auch nicht unbedingt immer, oder?
an deiner stelle würde ich sowieso im webbereich bleiben. versuchs mal mit sowas wie jsp/tomcat oder asp(.net), das bringt viel.
Der_Donnervogel
2009-02-07, 23:39:29
Das ist ja auch so, dass wenn man sich die Konzepte mal verinnerlicht
hat, gar net mehr ohne programmieren möchte.Wie mans nimmt. Im allgemeinen ist OOP schon angenehmer zu programmieren, es gibt aber schon auch Fälle wo ein prozeduraler Ansatz angenehmer ist.
an deiner stelle würde ich sowieso im webbereich bleiben. versuchs mal mit sowas wie jsp/tomcat oder asp(.net), das bringt viel.Wenn der Threadstarter keine Erfahrung mit einer OOP Sprache hat würde ich nicht grad umbedingt gleich mit Sachen wie JSP anfangen, selbst wenn er schon Weberfahrung hat. Da würde ich doch zuerst mit "normalem" Java oder C# anfangen.
The_Invisible
2009-02-08, 09:49:15
Wie mans nimmt. Im allgemeinen ist OOP schon angenehmer zu programmieren, es gibt aber schon auch Fälle wo ein prozeduraler Ansatz angenehmer ist.
klar, je nach einsatzgebiet halt.
wenn ich nur ein kleines programm für einen automatisierungsprozess schreibe "ärgere" ich micht sicher nicht mit oop sondern machs manchmal sogar in purem C.
mfg
Wie mans nimmt. Im allgemeinen ist OOP schon angenehmer zu programmieren, es gibt aber schon auch Fälle wo ein prozeduraler Ansatz angenehmer ist.
Würde mich mal interessieren, welcher Fall das wäre.
Das Hantieren mit C-Strings ( Char[].. ) und Pointern kann´s auf jeden Fall nicht sein *g*
Also ich denke, das hat viel damit zu tun, welche Programmiersprache die erste war, mit der man sich richtig beschäftigt hat.
Es ist zum Beispiel weitläufig bekannt, dass sich Programmierer, die zuerst imperativ programmiert haben, mit der Objektorientierung mitunter sehr schwer tun. Dabei ist die Art zu Denken, viel menschlicher.
Ein weiterer Vorteil ist, dass es für jemand außenstehendes viel schneller möglich ist, sich zurechtzufinden.
Ich klick eine unbekannte Klasse an, erkenne sofort folgende Struktur :
Instanzvariablen, Konstruktoren, Getter-Setter, von einer anderen Klasse abgeleitet oder nicht, Schnittstelle implementiert oder nicht, verwaltet Objekte anderer Klassen oder nicht.
Dann kann ich mir ein Bild über die Methoden der Klasse machen, mach mir n paar Notizen dazu, welche Beziehungen es unter den Klassen gibt und schon hab ich mir n Bild gemacht.
Hab ich stattdessen prozedualen Code, in dem es nur lose Prozeduren und Funktionen gibt, hab ich zunächst mal keine Ahnung , in welcher Art und Weise die womöglich eingesetzt werden, da es keine Bindung an eine Klasse gibt. Sie können beliebig eingesetzt werden.
Genau das erkenne ich bei Objektorientierten Sprachen auch sofort. Modiziert die Methode eine Variable der Klasse oder stellt sie für sich und andere Klasse nützliche Methoden bereit ( static z.b )
Da in den Konstruktoren meistens auch schon Zuweisungen und Berechnungen geschehen, kann ich mich später in der Main Methode auf das wesentlichste beschränken ( Objekterzeugung, Methodenaufrufe, .. ) und das führt zu einer viel besseren Übersicht.
@mapel110
Ich halte es auch für eine gute Idee - Deine PHP4 Kenntnisse auf PHP5 upzugraden. Du baust Dein vorhandenes Wissen auf - und kommst so leichter an den OO Ansatz. :smile:
Die hier gemachte Aussage, man könnte OOP in einer Woche lernen halte ich für untertrieben - vor allem, wenn man dann - wie Du - noch eine neue Sprache dazu lernen müßte.
Expandable
2009-02-08, 11:23:56
Zumal Objektorientierung ja prinzipiell gar nichts mit irgendwelchen Sprachen zu tun hat. Am besten ein UML-Tool nehmen und ein kleines System objektorientiert konzipieren. So lernt man das. Dann kann man das Projekt in einer beliebigen Sprache (vorzugsweise C#/Java) umsetzen.
OOP kann man sich auch sehr gut selber beibringen. Am besten eignen sich dazu spannende Projekte, die einen selber weiterbringen - finanziell, persönlich und fachlich.
Wir in Deutschland haben das große Glück, dass wir ein soziales Fangnetz besitzen - Hartz4 (NICHT RUMHEULEN, FROH SEIEN, DASS ES SOWAS GIBT UND EINFACH MACHEN!)! Wir in Deutschland können uns 100% auf uns selber konzentrieren, müssen uns EIGENTLICH um nichts sorgen machen, wenn wir ehrlich sind.
Beste Vorraussetzungen seine ENERGIE in andere Dinge zu stecken. Schließ dich einen Projekt im Internet an (es gibts unzählige, besonders im US-Raum), lerne, habe Spaß und (wenn du es geschickt anstellst - brauchste auch keine "normgerechte"-Arbeit mehr erbringen). Es kommt nicht darauf an, was man kann oder was man gelernt hat - es kommt darauf an, wie schnell man sich neue Dinge aneignen kann. Das Wichtigste ist - es muss dir Spaß machen, dann kommt ALLES von ganz alleine, glaube mir ;-)
Open you mind! Das ist das Wichtigste! Denke nicht in Schubladen, nicht wie ALLE - dann hast du wirkliche Vorteile - ob man da nun OOP kann oder nicht - IT doesn't matters!
Also - los los, wenn man sich schon mit dem ganzen neuen Scheiß, wie Internet, Technologien auskennt, warum dann nicht für sich nutzen?
JUST DO IT!
Wenn du Bock hast, melde dich ma bei mir, ich hab hier hunderte Java OOP basierte Aufgabenstellungen inkl. Lösungen. Von "Hello World" bis zum einfachen Game - SELBER MACHEN, NICHT VORGESETZT BEKOMMEN, das haben wir verlernt, wir verlassen und ja lieber darauf, dass uns ein Lehrer etwas beibringt....ARGH!
BAGZZlash
2009-02-08, 12:44:47
Was für ein Statement, orda! Super! (y):smile:
Deswegen find' ich Dich so klasse! :)
][immy
2009-02-08, 15:09:15
An Programmiersprachen habe ich Javascript, PHP4, HTML, CSS (die ganze Webshice halt) und Cobol gelernt.
kein C(++/#), Java oder ähnliches?
was habt ihr denn an der schule gemacht?
was hast du an deinem ausbildungsplatz gemacht?
wenn du als softwareentwickler arbeiten willst, wirst du dich wohl oder übel mit der OOP in deiner freizeit rumschlagen müssen. schon das basiswissen wird an sich in einstellungstests abgefragt.
ahnung von OOP wurde auch schon vor meiner ausbildung gefordert.
würde an deiner stelle auf jeden fall mal im internet nach lektüren suchen und diese dann durcharbeiten. zudem würde ich eine sprache wählen, die man recht gut lesen kann (z.B. C# oder Java), so bleiben dir Pointer auch erstmal mehr oder minder erspart.
The_Invisible
2009-02-08, 17:00:49
c++ würde ich sowieso nicht nehmen um oop zu lernen, schon alleine weil es 2 arten gibt objekte zu instantiieren.
macht das ganze nur unnötig kompliziert was an sich gar nix mit oop zu tun hat.
mfg
Ich möchte mal eine andere Frage in den Raum stellen:
Wie kann es sein, dass man als Fachinformatiker "Anwendungsentwicklung" OOP nicht "gelernt" bekommt oder es sich selbst nicht beibringt? Da ich diesen Abschluss nicht kenne (gibts in Ö nicht) würd es mich interessieren.
ein paar kollegen von mir die auch fiae sind, können überhaupt nicht wirklich gut programmieren. darum gehts auch nicht unbedingt immer, oder?
Hm, ist mir schleierhaft. Was mache ich denn den ganzen Tag wenn ich "Anwendungsentwickler" mit diesem Abschluss bin? Mit was entwickle ich da welche Anwendung wofür? Ist das was anderes als ein "Softwareentwickler" ?
Senior Sanchez
2009-02-08, 17:31:06
Ich möchte mal eine andere Frage in den Raum stellen:
Wie kann es sein, dass man als Fachinformatiker "Anwendungsentwicklung" OOP nicht "gelernt" bekommt oder es sich selbst nicht beibringt? Da ich diesen Abschluss nicht kenne (gibts in Ö nicht) würd es mich interessieren.
Hm, ist mir schleierhaft. Was mache ich denn den ganzen Tag wenn ich "Anwendungsentwickler" mit diesem Abschluss bin? Mit was entwickle ich da welche Anwendung wofür? Ist das was anderes als ein "Softwareentwickler" ?
FULL ACK.
Irgendwie hat man den Eindruck, manche wissen überhaupt nicht um welchen Beruf also um welche Tätigkeiten es sich handelt, was man da macht usw.
Fachinformatiker auch im Bereich Anwendungswentwicklung sind nicht zwingend im Bereich Softwareentwicklung tätig. Viele meiner Kollegen sind z.B. auf Datenbanken spezialisiert, manche arbeiten als Systemadmin oder als Vertriebsmensch. Manche arbeiten im Krankenhaus, in einem Sportgeschäft, einer Spedition, ... wo man halt Leute braucht die was können. Wobei hier oft eine sehr starke fachliche Spezialisierung im Tätigkeitsbereich vorherrscht. Viele arbeiten im Bereich Programmierung pur wobei man auch das in Unterbereiche einteilen könnte.
Ganon
2009-02-08, 21:08:11
Irgendwie hat man den Eindruck, manche wissen überhaupt nicht um welchen Beruf also um welche Tätigkeiten es sich handelt, was man da macht usw.
Du anscheinend auch nicht ;)
Viele meiner Kollegen sind z.B. auf Datenbanken spezialisiert,
Das kann ein Anwendungsentwickler, aber auch ein Systemintegrator machen.
manche arbeiten als Systemadmin
Dafür gibt es Fachinformatiker für Systemintegration.
oder als Vertriebsmensch
Dafür gibt es eine weitere Richtung Fachinformatiker im Kaufmännischen Bereich. ;)
Das sind die 3 Teilbereiche, die man in der Berufsschule belegen kann ;)
Und Fachinformatiker Anwendungsentwicklung ist "schlicht" Anwendungsentwicklung. Wer danach Systemintegrator-Arbeiten macht, macht schlicht einen Quereinstieg, sonst nix.
Und Quereinstiege kannst du auf jeden Beruf beziehen. Ein Bekannter von mir hat Metzger gelernt und arbeitet jetzt in der Computer-Abteilung vom Mediamarkt ;) Trotzdem kann man jetzt nicht behaupten, dass alle Metzger auch Computer verkaufen können ;)
BAGZZlash
2009-02-08, 21:42:39
Irgendwie hat man den Eindruck, manche wissen überhaupt nicht um welchen Beruf also um welche Tätigkeiten es sich handelt, was man da macht usw.
Ja, ist ja Wahnsinn. Das schreiben ja auch alle. Ich schließe mich an: "Ich habe keine genaue Vorstellung, was ein Anwendungsentwickler macht!" So, jetzt hast Du noch stärker den Eindruck, dass manche überhaupt nicht wissen, "was man da macht"... :rolleyes:
Trotzdem kann man jetzt nicht behaupten, dass alle Metzger auch Computer verkaufen können ;)
Manche machen auf Fernsehshows... :smile:
Und Fachinformatiker Anwendungsentwicklung ist "schlicht" Anwendungsentwicklung. Wer danach Systemintegrator-Arbeiten macht, macht schlicht einen Quereinstieg, sonst nix.
das entspricht aber nicht meinen erfahrungen. ich kenne über sehr viele leute die genau das (fiae) gelernt haben und davon haben nicht wenige nach ihrer ausbildung etwas anderes als "reine softwareentwicklung" gemacht. zu behaupten, ein ausgebildeter anwendungsentwickler kann/wird nur programmieren... softwareentwicklung entspricht nur schätz ich mal fachanteilsmässig zu einem fünftel den gesamtinhalten die lt. einer berufsschule vermittelt werden sollen (und so war es auch).
aber ich kann mir vorstellen, wie du darauf kommst. habe meine ausbildung nicht im dualen system gemacht. jemand der im dualen system etwas bestimmtes lernt, wird wahrscheinlich schwierigkeiten haben, später woanders rein zu kommen.
Ganon
2009-02-08, 22:24:03
das entspricht aber nicht meinen erfahrungen. ich kenne über sehr viele leute die genau das (fiae) gelernt haben und davon haben nicht wenige nach ihrer ausbildung etwas anderes als "reine softwareentwicklung" gemacht. zu behaupten, ein ausgebildeter anwendungsentwickler kann/wird nur programmieren... softwareentwicklung entspricht nur schätz ich mal fachanteilsmässig zu einem fünftel den gesamtinhalten die lt. einer berufsschule vermittelt werden sollen (und so war es auch).
aber ich kann mir vorstellen, wie du darauf kommst. habe meine ausbildung nicht im dualen system gemacht. jemand der im dualen system etwas bestimmtes lernt, wird wahrscheinlich schwierigkeiten haben, später woanders rein zu kommen.
Äh, Leute die reine IHK-Ausbildungen gemacht haben, ohne beruflichen Hintergrund haben es allgemein schwer überhaupt in ihrer Fachrichtung zu bleiben, da es schlicht an allen Ecken und Enden an Erfahrung fehlt. Und ich habe mehrere "reine Schüler" zur Probe in der Firma gehabt.
Gerade der FIAE-Bereich benötigt praktische Erfahrung, den man in der Schule nicht bekommt. Klar, das dann aus der schulischen Richtung viele in den Systemintegratorbereich abdriften, da er von den allgemeinen Anforderungen auch niedriger ist.
In der Berufsschule kriegt man allgemein ein flächendeckenden Bereich vermittelt. Egal wo. Da kriegt man auch Buchhaltung vermittelt, trotzdem wird man danach kein Buchhalter. ;) Und allgemein haben teilweise die Schüler in den Berufsschulen (zumindest in den dualen Klassen) schon mehr Erfahrung als die Lehrer.
Und es ist auch kein Vorteil wenn man nach der Ausbildung in einem fachrichtungsfremden Bereich einsteigt. Das "Problem" ist schlicht das viele FIAEs kein Problem haben den Systemintegrationsbereich ebenfalls zu machen. FISI haben aber ein ziemliches Problem damit Softwareentwicklung zu machen. ;)
Aber wie schon gesagt. Reine schulische Ausbildung ist insgesamt nicht vom Vorteil. Hier wird viel zu viel Theorie vermittelt, Praxis bleibt auf der Strecke. Klar das dann viele FIAEs in andere Berufe wechseln.
Das hat aber insgesamt nix damit zu tun, wie es im "normalen" Fall ist. Also kannst du das hier nicht als "Regelfall" ansehen, das FIAE danach selten wirklich als Anwendungsentwickler arbeiten. Zumal man nach einer schulischen Ausbildung auf der Straße steht, während man im Betrieb zumindest noch die Möglichkeit hat übernommen zu werden. Somit ist auch klar, dass viele "reine Schüler" zwangsweise wechseln müssen.
Und um zum Thema Bezug zu nehmen:
Der TS will ja anscheinend in seinem Bereich bleiben. Da kannst du ihm schlecht empfehlen doch Systemintegrator oder Verkäufer in einem Computerladen zu werden ;)
sehe ich genau andersrum. jemand der als fachinformatiker eine duale ausbildung hat, ist meiner ansicht nach nicht im vorteil. dass die schulen keinen praxisbezug haben kommt darauf an, bei vielen trifft das denke ich aber weniger zu. eigentlich ist es doch so, dass das duale system hier berufliche probleme erzeugt die der ts schildert. aber ok..
Ganon
2009-02-09, 08:58:01
sehe ich genau andersrum. jemand der als fachinformatiker eine duale ausbildung hat, ist meiner ansicht nach nicht im vorteil.
Du hast doch selbst gesagt, dass eine Mitschüler fast alle in ausbildungsfremde Bereiche abgewandert sind.
dass die schulen keinen praxisbezug haben kommt darauf an, bei vielen trifft das denke ich aber weniger zu.
Praxis == Kundenbezug. Den hast du in der Schule nicht. Das Stück Software was man entworfen hat, muss erst mal ein richtiger DAU bedienen, bevor man weiß was man alles falsch gemacht hat. Ich hab z.B. in der Schule viele "theoretische Datenbankmodelle" für viele verschiedene Anwendungen gesehen. Die sind gut, wenn man unflexible Anwendungen schreiben will, ansonsten klemmt es an allen Ecken und Enden. Klar, alle bis auf's letzte normalisiert, aber das war's auch schon ;)
eigentlich ist es doch so, dass das duale system hier berufliche probleme erzeugt die der ts schildert.
Reine Problemverschiebung und stark von der Firma abhängig. Der schulische Fachinformatiker hat zwar vllt. mehr Theoriewissen, aber wie schon gesagt, Praxis fehlt einfach.
The7thGuest
2009-02-10, 13:58:10
Naja, OOP selber bei bringen, ich weiß nicht.
Man muss dafür doch schon eine bestimmte Art zu denken haben. Ich habe selber eine Umschulung zum Informatikkaufmann hinter mir. Dort war auch programmieren ein Thema. Aber beim Thema OOP hat es einfach nicht klick gemacht. Keine Chance in die Denkstrukturen rein zu kommen. Vllt liegt es daran, das ich mal vor ewig langer Zeit auf meinem Schneider CPC in Basic (mit Zeilennummern!!!) kleinere Erfahrungen gemacht habe.
Und ohne einen Schein mit Stempel zu haben, aus dem hervorgeht das du OOP kannst, fliegst du meistens schon in der ersten Runden aus dem Bewerberpool raus. Gerade in der momentanen Wirtschaftssituation.
Monger
2009-02-10, 14:52:22
Naja, OOP selber bei bringen, ich weiß nicht.
Man muss dafür doch schon eine bestimmte Art zu denken haben. Ich habe selber eine Umschulung zum Informatikkaufmann hinter mir. Dort war auch programmieren ein Thema. Aber beim Thema OOP hat es einfach nicht klick gemacht. Keine Chance in die Denkstrukturen rein zu kommen.
Ging mir ähnlich. Hab jahrelang völlig vergeblich versucht das Konzept zu fassen, bis ich mal einen Dozenten hatte der sich die Zeit genommen hat, darüber wirklich mal zu diskutieren und den Fragen der Studenten nachzugehen.
Bücher haben mir in dem Zusammenhang leider gar nicht geholfen.
The_Invisible
2009-02-10, 16:14:10
ich lerne eigentlich alles autodidaktisch aus büchern bzw onlinetutorials und habe keine probleme damit.
kenne aber auch ein paar die mit einem buch nix anfangen können und so ne schulung 1000x besser greift. hoffentlich ist damit aber nicht gemeint "ich lese ein buch von vorn bis hinten ohne eigene gedankengänge und beispiele in der praxis und verstehe nix".
mfg
ich lerne eigentlich alles autodidaktisch aus büchern bzw onlinetutorials und habe keine probleme damit.
Mag sein, aber ein Verfechter bin ich davon nicht. Das ist ungefähr so als würdest du dir selbst ein Instrument beibringen nur mit Büchern. Das Ergebnis gefällt dir allein gut, aber jedem Kenner stellen sich bei diversen Techniken dann die Haare auf ;) Dazu ist die Gefahr groß, dass man sich grobe Fehler oder eine unsaubere Technik aneignet, die man nur mehr schwer los wird.
Senior Sanchez
2009-02-11, 17:29:54
Mag sein, aber ein Verfechter bin ich davon nicht. Das ist ungefähr so als würdest du dir selbst ein Instrument beibringen nur mit Büchern. Das Ergebnis gefällt dir allein gut, aber jedem Kenner stellen sich bei diversen Techniken dann die Haare auf ;) Dazu ist die Gefahr groß, dass man sich grobe Fehler oder eine unsaubere Technik aneignet, die man nur mehr schwer los wird.
Na ich denke aber, dass das auch von der Literatur abhängt. Es gibt durchaus gute Literatur, die einem auch versucht, Stil beizubringen.
Zum anderen, irgendwann geht man ja in die Praxis und da bekommt man ja dann schon noch den Feinschliff, also wie man etwas am Besten macht und was man eher bleiben lässt.
Monger
2009-02-11, 17:36:11
Na ich denke aber, dass das auch von der Literatur abhängt. Es gibt durchaus gute Literatur, die einem auch versucht, Stil beizubringen.
Ja, aber ein Buch verpasst einem keine Watschen wenn man Mist schreibt. Und das ist schon notwendig.
Senior Sanchez
2009-02-11, 18:09:02
Ja, aber ein Buch verpasst einem keine Watschen wenn man Mist schreibt. Und das ist schon notwendig.
Also ein Dozent hat mich auch noch nie geschlagen. :D
Nee, weiß was du meinst, aber an so einer Stelle vertraue ich auf die "Selbstheilungskräfte" und die "Faulheit" des Lesers. Meistens gestalten sich die Aufgaben zwar einfach, aber sobald diese im Verlaufe des Buches etwas verändert werden müssen, zeigt sich die Stärke guten Designs. Ein Buch was nun konsequenterweise ein Beispiel ständig abändert und erweitert, watscht somit den Leser indirekt ab, der jedes Mal gezwungen ist, Großteile seines Codes zu ändern, weil er scheiße programmiert hat. Das nervt einfach und so gewöhnt man sich mit der Zeit dann schon entsprechend vorausschauendes Entwickeln an.
Simon
2009-02-12, 12:00:29
Na ich denke aber, dass das auch von der Literatur abhängt. Es gibt durchaus gute Literatur, die einem auch versucht, Stil beizubringen.
Dann empfehlt doch hier mal was ;)
ich höre immer viel positives über "Head First Java", habs zwar selber nie in der hand gehabt, aber soll einem recht idiotensicher das oop konzept beibringen.
Ganon
2009-02-12, 16:56:59
Ja, diese Bücher ("Von Kopf bis Fuß") gehen zwar nicht allzu tief in die Materie, aber dafür immer schön mit praktischen Beispielen und Aufgaben zum "selbst überlegen". Es ist ein guter Einstieg :) Natürlich muss man die Aufgaben usw. auch machen ;)
aufgaben sind selbstverständlich.
"programmieren lernt man nur, wenn man eigene programme schreibt"
hat mein prof immer gesagt :)
The_Invisible
2009-02-12, 17:02:22
Mag sein, aber ein Verfechter bin ich davon nicht. Das ist ungefähr so als würdest du dir selbst ein Instrument beibringen nur mit Büchern. Das Ergebnis gefällt dir allein gut, aber jedem Kenner stellen sich bei diversen Techniken dann die Haare auf ;) Dazu ist die Gefahr groß, dass man sich grobe Fehler oder eine unsaubere Technik aneignet, die man nur mehr schwer los wird.
darum ja auch beispiele in der praxis (dazu zähe ich auch durchforsten fremden codes). wirklich rein mit büchern kann natürlich nix gscheites rauskommen.
mfg
Ectoplasma
2009-02-12, 17:27:36
Wenn man keine Praixerfahrung mit OO gesammelt hat, dann kann man es auch nicht wirklich. So ist es nunmal. Am besten lernt man im Team mit Leuten die Anspruch haben und auch lernwillig sind. Zudem gehört es dazu, dass der Code gerade im OO Bereich von anderen gereviewed wird. Sonst lernt man nur wenig, bzw. sehr viel langsamer. Ich selbst hatte einen Prof. der total geil auf das Thema war und mit Smalltalk gearbeitet hat. Das war der Schub schlechthin.
Wenn man versucht echte Problemstellungen mit OO zu lösen, dann gibt es zwei Aspekte. Da ist zum einen der technische Hintergrund und zum anderen das Verstehen der Aufgabe und eine Lösung dazu zu finden, die jeder versteht. Was dazu gehört ist logisches, klares und strukturiertes Denken. Man muss Ordnung im Kopf halten. Daran scheitern erstaunlicherweise viele und es hat nichts mit OO zu tun. Das ist auch der Grund, warum viele nicht verstehen, dass ein Objekt-Design sein höchst eigener geistiger Erguss ist. Und es gibt kein Werkzeug der Welt, welches für einen semantische Probleme löst.
Aber mal ein Beispiel, warum die OO u.a. so brauchbar ist. Früher hat man oft so programmiert, dass der Zustand eines Systems, global gespeichert wird. Wenn ein anderer dieses System gleichzeitig nutzen möchte, kann er es nicht. Er würde den aktuellen Zustand überschreiben (So habe ich es selbst bei einer billigen Datenbank erlebt). Um das Problem zu lösen, kann man den Zustand für einen Nutzer neu erzeugen und diesen verwalten. Mit der strukturierten Programmierung ist das immer ein Krampf. Mit OO ist es sehr viel einfacher, da Zustände und deren Funktionen, immer an ein Objekt gebunden sind. Von so einem Objekt kann ich beliebig viele Exemplare erzeugen. Aber das war jetzt nur sehr einfach erklärt. Man kann auch objektorientiert mit der strukturierten Sprachen entwickeln. Es ist aber wie gesagt ein unendlicher Krampf.
The_Invisible
2009-02-12, 17:52:36
ja, wie gtk zum beispiel. aber ist trotzdem grausam, die andauernde casterei geht einem mit der zeit auf den nerv, da lob ich mir qt.
mfg
Wenn man keine Praixerfahrung mit OO gesammelt hat, dann kann man es auch nicht wirklich. So ist es nunmal. Am besten lernt man im Team mit Leuten die Anspruch haben und auch lernwillig sind. Zudem gehört es dazu, dass der Code gerade im OO Bereich von anderen gereviewed wird. Sonst lernt man nur wenig, bzw. sehr viel langsamer. Ich selbst hatte einen Prof. der total geil auf das Thema war und mit Smalltalk gearbeitet hat. Das war der Schub schlechthin.
Wenn man versucht echte Problemstellungen mit OO zu lösen, dann gibt es zwei Aspekte. Da ist zum einen der technische Hintergrund und zum anderen das Verstehen der Aufgabe und eine Lösung dazu zu finden, die jeder versteht. Was dazu gehört ist logisches, klares und strukturiertes Denken. Man muss Ordnung im Kopf halten. Daran scheitern erstaunlicherweise viele und es hat nichts mit OO zu tun. Das ist auch der Grund, warum viele nicht verstehen, dass ein Objekt-Design sein höchst eigener geistiger Erguss ist. Und es gibt kein Werkzeug der Welt, welches für einen semantische Probleme löst.
Aber mal ein Beispiel, warum die OO u.a. so brauchbar ist. Früher hat man oft so programmiert, dass der Zustand eines Systems, global gespeichert wird. Wenn ein anderer dieses System gleichzeitig nutzen möchte, kann er es nicht. Er würde den aktuellen Zustand überschreiben (So habe ich es selbst bei einer billigen Datenbank erlebt). Um das Problem zu lösen, kann man den Zustand für einen Nutzer neu erzeugen und diesen verwalten. Mit der strukturierten Programmierung ist das immer ein Krampf. Mit OO ist es sehr viel einfacher, da Zustände und deren Funktionen, immer an ein Objekt gebunden sind. Von so einem Objekt kann ich beliebig viele Exemplare erzeugen. Aber das war jetzt nur sehr einfach erklärt. Man kann auch objektorientiert mit der strukturierten Sprachen entwickeln. Es ist aber wie gesagt ein unendlicher Krampf.
was sind denn das fuer falsche behauptungen?!
was du da anfuehrst hat nichts mit oo zu tun. oo bietet den vorteil der wiederverwendbarkeit sowie der kapselung von daten.
die von dir (in falschem deutsch) beschriebenen probleme haben ueberhaupt nichts mit dem der verwendeten sprache zugrunde liegenden praradigma zu tun!
mit anderen worten, alles was du in deinem letzten abschnitt beschrieben hast ist einfach falsch.
Ectoplasma
2009-02-12, 18:05:53
was du da anfuehrst hat nichts mit oo zu tun. oo bietet den vorteil der wiederverwendbarkeit sowie der kapselung von daten.
die von dir (in falschem deutsch) beschriebenen probleme haben ueberhaupt nichts mit dem der verwendeten sprache zugrunde liegenden praradigma zu tun!
Erstens frage ich mich woraus du ließt, dass ich bezüglich der Wiederwendbarkeit etwas gegenteiliges geschrieben habe. Das Beispiel bezog sich auf globale Zustände. Und zweitens gibt es das OO Paradigma und es hat nichts mit der verwendeten Sprache zu tun. Es gibt nur Sprachen, die es unterstüzen. Du solltest mal genauer lesen. Falls ich mich aber unklar ausgedrückt habe, dann makiere doch bitte die Stelle.
BAGZZlash
2009-02-12, 20:16:06
[...](in falschem deutsch)[...]
Auch wenn's total offtopic ist, lieber Gast: In Ectoplasmas Post sind elf Fehler zu finden, wenn man sehr streng ist und sowohl Kommafehler, als auch offensichtliche Vertipper mitzählt.
In Deinem - wesentlich kürzeren - Post finde ich 22 Fehler, wobei noch nicht mitgezählt ist, dass kein einziger Umlaut vernünftig geschrieben wurde.
.... was einen zu der frage führt ob korrektes deutsch nicht wichtiger ist als oop ;)
nun, dass in einen texten fehler enthalten sein koennen - keine frage. ich wollte mit meinem einwand die strukturelle klarheit des verfasser aufzeigen. das lass ich jetzt mal so stehen.
damit dieser auch versteht, was ich hier schreibe, werde ich konkreter.
oo hat nichts mit threads, ipc, shared memory, parellelitaet, pipes und all den dingen zu tun. diese dinge werden meist von dem betriebssystem der wahl zur verfuegung gestellt und stehen somit dem geschulten programmierer zur anwendung bereit.
ich bin gespannt, auf den argumentativen beweis, dass oo paralleles arbeiten besser unterstuetzt als andere ansaetze...
Monger
2009-02-12, 22:09:39
.... was einen zu der frage führt ob korrektes deutsch nicht wichtiger ist als oop ;)
Nachdem ich gestern auf einer Sitzung darüber streiten musste ob man Aktionen wirklich mit Verben beschreiben sollte, hab ich für mich selbst die Erkenntnis gewonnen:
Ein guter Germanist wäre als Programmierer vermutlich besser geeignet als die meisten Informatiker! ;)
Tiamat
2009-02-12, 23:32:12
Ne also dagegen muss ich mich deutlich aussprechen.
Das ist das so genannte heuristische Verfahren, bei dem man Textstellen nach Substantiven, Verben und Adjektiven untersucht und diesen dann Klassen, Methoden und Attributen zuweist.
Doch schon bei halbwegs kniffligen Aufgabenstellungen hilft das einfach herzlich wenig.
Hier muss man die ganze Bandbreite analysieren ( Makroprozesse, dynamisches Verhalten, statisches Verhalten ) um daraus ein gutes Klassen -Design hinzubekommen.
Wenn man von einer konkreten Aufgabenstellung ein super Design entwickelt hat, reduziert sich die Programmierung auf ein Mindestmaß und zahlt sich wirklich aus.
Und sowas zu können, ist meiner Meinung nach genau so ne Kunst wie gut C programmieren zu können. Jeder bekommt irgendwie n Design hin, aber da gibt es durchaus haushohe Unterschiede.
Das schafft man nur durch Lesen auf keinen Fall.
Sowas muss man selbst gemacht haben und man wird umso besser, je öfter man es ernsthaft und bewusst gemacht hat.
Gute OOP kommt ohne OOA und OOD gar net zustande.
Eine objektorientierte Programmiersprache ist für den Mensch einfach nur ein Hilfsmittel, um Quellcode menschlicher und strukturierter gestalten zu können. Vererbung, Interfaces, abstrakte Klassen und was es alles gibt, in Wahrheit nur Hilfsmittel für den Menschen, für die CPU völlig irrelevant.
Ectoplasma
2009-02-13, 08:54:09
nun, dass in einen texten fehler enthalten sein koennen - keine frage. ich wollte mit meinem einwand die strukturelle klarheit des verfasser aufzeigen. das lass ich jetzt mal so stehen.
damit dieser auch versteht, was ich hier schreibe, werde ich konkreter.
oo hat nichts mit threads, ipc, shared memory, parellelitaet, pipes und all den dingen zu tun. diese dinge werden meist von dem betriebssystem der wahl zur verfuegung gestellt und stehen somit dem geschulten programmierer zur anwendung bereit.
ich bin gespannt, auf den argumentativen beweis, dass oo paralleles arbeiten besser unterstuetzt als andere ansaetze...
Welcher Gast bist du? Wenn du derjenige bist, der meine Aussage mal einfach komplett negiert hat, dann bist du eindeutig im falschen Thread. Falls du aber ein anderer Gast bist, dann ignoriere, was ich eben geschrieben habe.
Mein Post stand losgelöst von irgendeinem vorherigen Post. Aber er stand in Bezug zum Thread-Thema. Und was meine strukturelle Klarheit/Unklarheit anbelangt, so bitte ich diese zu entschuldigen.
The_Invisible
2009-02-13, 10:17:06
wie kann man bitte "gut" C programmieren, habe ich noch nie gesehen. aber alles andere kann man damit machen :D
mfg
An Programmiersprachen habe ich Javascript, PHP4, HTML, CSS (die ganze Webshice halt) und Cobol gelernt.
HTML und CSS sind keine Programmiersprachen!
Simon
2009-02-13, 10:52:51
wie kann man bitte "gut" C programmieren, habe ich noch nie gesehen. aber alles andere kann man damit machen :D
Blablabla, wiederhol das ruhig, davon wirds auch nicht besser. Mit was willst du sonst Treiber für Hardware schreiben? Der (japanishe) C-Code, den wir hier haben ist wunderschön im Vergleich zu dem Uno-Komponenten und Java-Zeug (meine Meinung ;) ). Klar strukturiert, kaum dokumentiert und einfach zu warten :P
The_Invisible
2009-02-13, 11:12:15
in diesem forum muss man wohl wirklich ironie tags einfügen. :D
naja, trotzdem passt C mit wörtern wie "gut", "schön" oder "sauber" nicht so richtig zusammen.
mfg
Ectoplasma
2009-02-13, 11:48:23
Mit was willst du sonst Treiber für Hardware schreiben?
Also mit C++ geht das auch und das sogar mit echten Objekten ;)
Simon
2009-02-13, 11:54:44
Also mit C++ geht das auch und das sogar mit echten Objekten ;)
Das bringt mir welche Vorteile (vorzugsweise bei der Linux-Treiberentwicklung)?
Ganon
2009-02-13, 12:15:46
Zumindest in OS X (da schreibt man Treiber in C++) erbt man so einfach z.B. vom generellen USB-Treiber die Funktionen und überschreibt/implementiert die nötigen und schon ist der Treiber für dein USB-Gerät fertig. Die Grundfunktionalität wird geerbt.
>> Vorteil: Es macht die Sache leichter und noch die Vorteile die OOP halt so bietet.
Simon
2009-02-13, 13:14:00
Zumindest in OS X (da schreibt man Treiber in OS X) erbt man so einfach z.B. vom generellen USB-Treiber die Funktionen und überschreibt/implementiert die nötigen und schon ist der Treiber für dein USB-Gerät fertig. Die Grundfunktionalität wird geerbt.
>> Vorteil: Es macht die Sache leichter und noch die Vorteile die OOP halt so bietet.
Das klingt gut :)
Allerdings ist unsere Hardware so speziell, dass sich gerade so die Hardware von Generation A ähnlich wie die von Generation A+1 ansprechen lässt. Unterschiedliche Hardware muss dann auch unterschiedlich angesprochen werden und spätestens da ist dann nix mehr mit Ableiten und Grundfunktionalität ;)
Zumindest in OS X (da schreibt man Treiber in OS X) erbt man so einfach z.B. vom generellen USB-Treiber die Funktionen und überschreibt/implementiert die nötigen und schon ist der Treiber für dein USB-Gerät fertig. Die Grundfunktionalität wird geerbt.
>> Vorteil: Es macht die Sache leichter und noch die Vorteile die OOP halt so bietet.
das gleiche kann man mit modularem design auch bewerkstelligen!
Monger
2009-02-13, 15:49:58
Unterschiedliche Hardware muss dann auch unterschiedlich angesprochen werden und spätestens da ist dann nix mehr mit Ableiten und Grundfunktionalität ;)
GERADE OOP zielt nunmal darauf ab, leichte Variationen der selben Sache mit möglichst wenig Redundanz umsetzen zu können.
Ähnliche Hardware hat garantiert irgendwelche Gemeinsamkeiten - und sei es nur, dass es Hardware ist! ;)
das gleiche kann man mit modularem design auch bewerkstelligen!
Können geht viel.
Das bringt mir welche Vorteile (vorzugsweise bei der Linux-Treiberentwicklung)?
Linux verwendet kein C++. Nirgends.
Mac OS X verwendet in der Tat C++-Treiber. Das bietet einem die gleichen Vorteile wie sonst auch in der Softwareentwicklung. Treiber sind genauso modular wie sonstige Programme.
das gleiche kann man mit modularem design auch bewerkstelligen!
Ja, man kann. Es muss sich aber jeder daran halten und es gibt keine Sprachmittel dafür.
unter os x ist eigentlich objective c und nicht c++
Ganon
2009-02-13, 18:23:57
unter os x ist eigentlich objective c und nicht c++
Aber nicht bei Treibern. Die entwickelt man in C++
vBulletin®, Copyright ©2000-2025, Jelsoft Enterprises Ltd.