![]() |
Was muss man zum Programmieren können? Hi- kann mir einer sagen was man können muss (Mathe, logisches Denken z.B.) um mal gut Programmieren zu können.........oder kann man das so pauschal nicht sagen? Wie läuft das mit dem Programmieren eigentlich ab (so allgemein) ich hatte das nie in der Schule und somit 0 (0 im Sinne von GAR nix) Ahnung |
deine frage sprengt glaub ich so ziemlich jeden rahmen, aber ich versuch mich mal: die programmiersprache spricht gewisse register an. durch eine abfolge von progammierbefehlen (zeilen) wird ein mehr oder weniger komplexer ablauf in gang gesetzt. und du kannst schon programmieren: mit den befehlen im pphpbb, das z.b. [size=6][url=www.tweakpc.de][b][color=green]www.tweakpc.de[/url][/b][/color][/size] entsteht. das ist eigendlich nix anderes, die befehle (programmiersprache) kennst und plattform ist das phpbb-forum! :wink: dein rechner (oder ist es doch nur die cpu?) setzt in verbindung mit der phpbb sw das angezeigte um! [quote=zyrano]...was man können muss (Mathe, logisches Denken z.B.) um mal gut Programmieren zu können.........[/quote] das ist meistens "vorteilhaft", aber ich meine nicht zwingend notwendig. :P |
Das Beispiel mit den Foreninternen 'Befehlen' finde ich eher schlecht, der BBCode ist ja nur eine Beschreibungssprache (markup language, wie html) und keine Programmiersprache an sich. Beim programmieren musst Du einfach versuchen, so zu denken, wie der Computer, also einen Befehl nach dem anderen, also sequentiell, abarbeiten. Wie man jetzt ein gegebenes Problem in einen sequentiellen Code umsetzt, ist einfach Uebungssache. Prgrammieren ist ein wenig wie Kochrezepte schreiben. Also z.B. erst ein wenig Oel in die Pfanne, den Herd anschalten, dann zwei Eier aufschlagen, in die Pfanne tun, solange braten bis sie braun sind, Herd ausmachen, essen. Das ist eigentlich nix anderes, als ein sequentielles Programm, und der Koch entspricht dem Prozessor, die Taetigkeiten den einzelnen Befehlen. Bei objektorientierter Programmierung sieht das ganze ein wenig anders aus. Da bin ich aber auch noch nicht so richtig dahintergestiegen :lol: Mathe ist eigenltich nicht soooo wichtig (es sei den, Du willst Mathematische Programme schreiben), man muss zum programieren genaugenommen nur zaehlen koennen ;) Gruesse, kerri |
wichtig ist es auch abstrakt denken zu können. zu erkennen was ein problem tatsächlich ausmacht. wenn du das problem nicht begreifst, dann kannst du es auch nicht mit einem programm lösen. und zeit brauchst du ;) also solltest du geduld mitbringen. ich bin auch NOCH kein wirklich guter programmierer. mit der zeit ändert sich das hoffendlich. man braucht im allgemeinen viel erfahrung um gut programmieren zu klernen. im studium oder der ausbildung lernst du nur die grundlagen. und richtlinien für die herangehensweise an probleme. btw. ich hab endlich nen job!!! (wollt ich nur mal loswerden ;) ) |
ich finde das wichtigste ist einfach sich hinsetzen zu können und solange nciht merh auszustehen bis das geweollte erreicht ist |
Was meint ihr....bringen solche VHS Kurse was...so um sich das mal anzugucken. 2 Bomber Was für einen? |
kommt auf die sprache drauf an, bei prozeduralen sprachen lohnt es sich imho net, aber um z.b. die grundlagen von OOAD richtig begreifen zu können ist geführte hilfe wesentlich sinnvoller |
Was willst du denn programieren? Programme? Websites? Raytracing? |
Bei Proceduralen SPrachen kann man ganz gutsich einfach hin Setzen und loshacken, da macht man sich vorher einen kleinen Plan, was das programm wie machen soll und wie es auf eingaben reagiert und los gehts, bei Objekt Orientierung ists was komplizierter, denn da gibt es dann keine FUnktionen die irgendwas machen, sonern nur Objekte, wenn man das aber verstanden hat ist es echt super anzuwenden, denn dann kann man reale Probleme sehr gut im Rechner abbilden, mit einem UML Modell kann man dann die Objekte in verbindung setzen und dann mussm man "nur noch" Implementieren.... |
@ Pirke Ich glaube jetzt ist Zyrano nur noch verwirrter ;) |
hallo. du kannst pauschal nicht sagen, was du können musst um ein guter coder zu sein. jedenfalls solltest du dich auf das thema fixieren, dass dir spass macht. also in welcher branche du coden willst. such dir was aus, wo du vom thema her aufblühst. dann wirste automatisch ein "guter" coder, wenn du nicht unbedingt "ein an der waffel" hast ;) ich für meinen teil würde z.b. nie wieder in die versicherungs-sw gehen - sowas von trocken 8O nutz den vorteil und such dir die branche aus, in der du dein leben lang tippen willst ;) cu |
Ich würd sagen, einfach mal nen VHS-Kurs (möglichst eine der gängigen Standardsprachen wie Basic, Java oder C++) machen oder n "für Dummies"-Buch kaufen, dann kriegste schon nen guten Eindruck, ob das was für dich ist! |
Japp, die "für Dummies" Bücher sind wirklich gut. |
Re: Was muss man zum Programmieren können? [quote=Zyrano] Wie läuft das mit dem Programmieren eigentlich ab (so allgemein) ich hatte das nie in der Schule und somit 0 (0 im Sinne von GAR nix) Ahnung[/quote] hallo ich denke das kann ich mal in einem kleinen beispiel erklären. ich nehme dazu ein kleines java-programm aus meinem studium. das programmbeispiel ist für die die programmieren können wirklich simpelst, aber es zeigt schon wie im allgemeinen befehle interpretiert werden. also hier ist erstmal die main class, sowas wie eine hauptdatei oder startdatei. [code]public class TestBruch1 { public static void main(String[] args) { Bruch1 t = new Bruch1(-1,6); Bruch1 u = new Bruch1(4,5); Bruch1 temp = new Bruch1(); System.out.print("Die Brüche\n"); t.print(); u.print(); System.out.print("Addition\n"); temp = t.add(u); temp.print(); System.out.print("Multiplikation\n"); temp = t.mult(u); temp.print(); } }[/code] dies hier ist eine objektklasse. eine klasse definiert objekte und beinhaltet die memberfunktionen. das sind funktionen, die das objekt beeinflussen können. [code]public class Bruch1 { public int zähl, nenn ; public int bruchAnzahl = 0 ; public Bruch1() // Bruch-Konstruktor mit 0 Argumenten { this.zähl = 0 ; this.nenn = 1 ; ++bruchAnzahl ; } public Bruch1(int zähl) // Bruch-Konstruktor mit 1 Argument { this.zähl = zähl ; this.nenn = 1 ; ++bruchAnzahl ; } public Bruch1(int zähl, int nenn) // mit 2 Argumenten { this.zähl = zähl ; this.nenn = nenn ; ++bruchAnzahl ; } public Bruch1 add(Bruch1 a) // Arithmetische Operationen + { Bruch1 temp = new Bruch1 (); temp.zähl = zähl + a.zähl; temp.nenn = nenn + a.nenn; return (temp); } public Bruch1 mult(Bruch1 a) // Arithmetische Operationen * { Bruch1 temp = new Bruch1 (); temp.zähl = zähl * a.zähl; temp.nenn = nenn * a.nenn; return (temp); } public void print() // Ausgabe des Bruches { System.out.print(this.zähl + "/" + this.nenn +"\n") ; } }[/code] ich gehe jetzt das programm durch. wobei ich nicht auf jeden befehl eingehe, sondern einfach mal den ablauf schildere. das programm fängt an, wo public static void main... usw steht. das hier Bruch1 t = new Bruch1(-1,6); Bruch1 u = new Bruch1(4,5); Bruch1 temp = new Bruch1(); legtim prinzip variablen an. diese variablen kann man mit allen daten füllen die man will. zb 1 oder 2 oder 'hallo' da diese variablen aber vom typ bruch sind kann man nur brüche reinschreiben. wie zb 1/2 oder 2/3. diese variable ist eine instanz des objektes bruch1. eine instanz ist quasi eine version des objekts. stell dir ein auto vor. es hat 4 räder ein lenkrad, motor und sitze. das objekt ist nun ein auto. du erstellst eine instanz des objektes bruch und nennst sie audi. nun sagst du die räder sollen breit und das lenkrad klein, der motor stark und die sitze aus leder sein. du macht eine 2. instanz und nennst sie vwkäfer. nun sagst du das lenkrad ist riesig, der motor lächerlich, die räder klein und die sitze aus stoff. beide instanzen sind autos und definieren sich durch die räder , motor usw, enthalten aber andere informationen, bzw sind anders ausgestattet. der computer weiss was brüche sind, weil es hier: public Bruch1(int zähl, int nenn) // mit 2 Argumenten { this.zähl = zähl ; this.nenn = nenn ; ++bruchAnzahl ; } so festgelegt wurde. es ist die definition eines bruches mit nenner und zähler. was da jetzt im einzelnen steht ist erstmal unwichtig und ist recht einfach zu erlernen wenn man es nachliesst, aber das würde jetzt hier zu lange dauern. die nächste zeile heisst System.out.print("Die Brüche\n"); das ist ganz simpel die ausgabe des textes : "die brüche" auf dem bildschirm. jetzt kommt t.print(); wir haben ja oben eine variable t angelegt und mit dem wert -1 und 6 initialisiert, also angelegt. der bruch ist hier quasi -1/6. t ist quasi der bruch -1/6. so da die variable vom typ bruch1 ist weiss der computer, daß die funktionen public Bruch1 add(Bruch1 a) public Bruch1 mult(Bruch1 a) und public void print() , die in der klasse dieses objekts drinstehen mit dem t benutzt werden können. t.print(); heisst hier einfach drucke die variable t aus. also mach sie auf dem bildschirm sichtbar. denn in der funktion public void print() steht eine System.out.print anweisung drin. mit diesen funktionen der klasse kann man also instanzen beeinflussen und bearbeiten. das gleiche passiert nun mit der instanz u. danach kommt wieder eine ausgabe des textes "addition" bei temp = t.add(u); wird nun der bruch t und u addiert, mit hilfe der funktion public bruch1 add(bruch1 a) in der klasse bruch1 und das ergebnis wird in die instanz / variable temp geschrieben. temp wird ausgegeben. das gleiche passiert jetzt auch mit der multiplikation. die brüche werden multipliziert mit hilfer der mult-funktion der klasse bruch1 und das ergebnis ausgegben. mehr macht das programm nicht. ich hoffe wirklich, es hat dir etwas gezeigt wie programme arbeiten. wenn nicht..... schade. aber ich denke in büchern wird das alles sehr ausführlich erklärt und man führt dich langsam an die sache heran und erschlägt dich nicht mit befehlen. vieleicht kaufts du dir einfach mal ein buch zu einer programmiersprache. wenn du nochwas spezifisches wissen willst, frag. |
anderes beispiel: (maaan smash musst du gleich mit OO anfangen?) [code] void main() { printf("Hello World"); } [/code] c code der lediglich hello world auf der konsole ausgibt |
naja das hello world ist halt dann doch etwas zu lasch.... vor allem zeigt das kaum das prinzip des programmierens. |
[quote=telepornos]c code der lediglich hello world auf der konsole ausgibt[/quote] Oder auf BASIC: [code]PRINT "Hello World"[/code] :wink: @Smash: Ich hab Grundkenntnisse in einigen Sprachen, u.a. auch JavaScript und C++, aber das Beispiel von dir halte ich trotzdem für ziemlich schlecht versteh- und lesbar! Für einen Einsteiger also sicher nicht gerade geeignet... :roll: |
*hmmist* naja nen versuch wars wert |
ne uml vorher hätte mehr gebracht :lol: |
haaaaaalllloooooooooooooo ich habs wenigstens vesucht..... :lol: und ne uml würde ich nicht nehmen um einen das programmieren zu zeigen. ist einfach zu weit entfernt. |
@Smash: [klug****** Mode] Die "Memberfunktionen" heißen METHODEN und die Attribute sollte man mal grundsätzlich private machen, das ist doch sonst total unsauber, tssss.....[/klug****** Mode] :-) |
du kannst die memberfunktionen/ methoden auch klassenmethoden oder manipulatoren oder sonst wie nennen. bei 5 büchern stehen dann 6 bezeichnungen drin. genau wie manche die instanzen instanzen nennen und andere objekt statt instanz sagen und zu den objekten dann definitionsklassen oder sonstwas sagen... und die atribute: wieso sollte ich das in so einem kleinen proggie nicht machen? schränkt sonst nur beim fummeln ein. |
immernoch besser als wenn dozenten statt annäherung optimierung sagen, statt varaiblen parameter, etc. aja wie du das machen sollst? hm als benutzer der tastatur solltest du schon wissen wie man p r i v a t e tippt :lol: |
Smash, Klassenmethoden sind wieder was ganz anderes, das sind dan Statics, die sind gar nicht über objekte abrufbar, sondern nur direkt über die Klasse.... |
@ tele: habs berichtigt. aber parameter war bei uns die variablen, die an funktionen übergeben wurden. also hatten wir den ausdruck auch. @pirke: das meinst du... andere nicht nur um das klar zu stellen: ich seh das wie du, ich sag das auch nicht dazu, aber manche tun das eben... ist eben alles sehr neblig gefasst. |
| Alle Zeitangaben in WEZ +1. Es ist jetzt 17:01 Uhr. |
Powered by vBulletin® Version 3.8.10 (Deutsch)
Copyright ©2000 - 2026, vBulletin Solutions, Inc.
SEO by vBSEO 3.5.2 ©2010, Crawlability, Inc.