020
02.04.2004, 08:57 Uhr
RHBaum
|
Zur Ausbildung:
Meine Erfahrung ist ... man braeucht mehrere um perfekt zu sein ! Aber niemand wuerde jemand perfekten bezahlen wollen, und auch ned einstellen. Viel mehr zaehlt meistens, ob die Leute Ahnung von dem Umfeld haben, in dem sie programmieren sollen. Also in Firmen Abteilungen deren Aufgabe nicht vorrangig die erstellung von Software ist, schaut man eher nicht so auf den Informatik Hintergrund, die nehmen lieber Quereinsteiger aus der Fachrichtung, in der sie taetig sind :p
Und als solcher hat man dann auch viel mit Gleichgesinnten zu tun :p Ist manchmal auch zum Haareausraufen. Man hat echt super Ideen, alle wissen um was es geht, aber die SW technische Umsetzung ist .... aehm, naja, sagen wir mal "nicht so den Standards entsprechend". Frueher oder Spaeter stoesst man damit auch auf Probleme. Aber man hat wesentlich weniger Probleme das die Software am Ziel vorbeigeht ... was an und ab der Fall ist, wenn man SW bei professionellen Firmen in Auftrag gibt, aber beim erstellen von lastenheften ned so den durchblick hat. Vieles wird auch viel unkomplizierter gehandhabt !
Und Matrizenrechnung, perfekte Speicherverwaltung, PointerArithmetik, Software Designs etc ... .kann man lernen wenn man Intresse dran hat. Und frueher oder spaeter bekommt man das, weil man sich selbst immer zu den punkt bringt, wo man fragt wie mans besser machen kann :-) Also gilt wie ueberall : Erfahrung > Studium !!!
@Rip Du orientierst dich noch sehr viel an C. (Procedual, nicht objektorientiert) Zeiger werden in C viel extensiver genutzt als in C++. C++ definiere ich so als Mahraufwand fuer den Rechner, weniger aufwand fuer den programmierer. Benutzen sollte man beides. Fuer Sachen die schnell gehen muessen -> C-Like code Fuer Sachen die funktionieren sollen, erweiterbar sein muessen, und es in erster linie nicht auf performance ankommt -> C++ ; Das heisst auch, mal lieber eine Kopie von nem Speicherbereich mehr machen, und dafuer besser lesbaren und sichereren code bekommen .... Ist zum beispiel ein wesentliches Merkmal der stl stringklassen, so schoen sie auch sein moegen, sie machen immmer kopien ! du kannst nicht wirklich mit referenzen arbeiten (oder nur mit tricksen). Aber sie funktionieren intuitiv, sind exceptionneutral, und halt nen standard .... C++ ist meisst so, das man ne collection aus Klassen hat, die ganz unten in der hirarchie sind, und fast nur c-code kapseln (der stl string z.b) Diese stellen dir grundlegende Funktionen zur verfuegung. Die Aufsetzende Applikationsschicht sollte dann nur noch die Basisklassen "C++ like" verbinden ... Arrays sind C-Konstrukte. Braucht man in C++ eigentlich nur noch, um C-Api's zu befeuern, oder um im Mix mit C Performance zu erzielen. (werden stl-container richtig angewand, sinds meisten nicht so viel langsamer) Guter Stil ist natuerlich vorhandene Klassen zu nutzen (STL, MFC, QT .... etc) und nicht jedesmal das Rad neu erfinden. Auch sollten klassen schlank bleiben. Klassen mit 100+ Methoden sind ned wirklich c++. Viele Programmierer Abstrahieren viel zu wenig. Ne klasse die sich mit Logic und Stringverwaltung auseinandersetzen muss, ist meist schon nen kleiner Schwenk in die Falsche Richtung.
Wenn du erst mal die Basics lernen willst ... dann ists so ok. !!!
Ciao ... |