Autor | Beitrag |
---|
000 08.04.2010, 17:03 Smeagol |
Hey! Ich hab auch schon ein Projekt im Auge, hat mit Pokern zu tun. Erst mal grundlegend eine Hand in Textform beschreiben und nem Programm beibringen das zu lesen um dann Zeuchs damit zu machen. Was für ne Sprache wär da geeignet und wo fänd ich Tutorials? [x] in before flames greetz&thx --Dieser Beitrag wurde am 08.04.2010 um 17:04 von Smeagol bearbeitet. |
Profil || Suche |
001 08.04.2010, 17:53 toasty |
Blitzbasic^^ nein scherz... |
Profil || Suche |
002 08.04.2010, 18:00 Smeagol |
kann ich das, was ich bei Lite C lern dann bei C++ weiterbenutzen, oder wär das wie ne zweite Sprache lernen? So klein wird das Projekt insgesamt dann wohl auch nicht, da kommt noch einiges hinzu... auf ne DB zugreifen und reinschreiben, Erwartungswerte ausrechnen, Graphen zeichnen... heiei -- |
Profil || Suche |
003 08.04.2010, 18:09 toasty |
also Lite C ist eben auch eine abwandlung von C... ...aber auf jeden Fall wird der Umstieg von Lite C auf C++ nicht so schwer sein als wenn du direkt mit C++ anfangen würdest... das tolle an Lite C ist eben du kannst ganz einfach z.B. ein bitmap bild einbinden und damit rumprogrammieren. am besten wäre es wenn du dir einfach mal bei einem tutorial ein bisschen quellcode durchschaust und dann entscheidest was dir besser gefällt. c++: highscore.de Bei C++ wirst du eben erstmal lange in Consolenfenstern programmieren... -- |
Profil || Suche |
004 08.04.2010, 18:19 Smeagol |
Lite C sieht für meine Zwecke und nicht-Künste gut aus, vielen Dank für den Tip toasty! -- |
Profil || Suche |
005 08.04.2010, 18:24 toasty |
jep, bitte und viel Spaß beim Coden;) -- |
Profil || Suche |
006 09.04.2010, 03:25 Bluthund |
Dass dort so ein Buch empfohlen wird sagt imho schon viel ueber die Qualitaet des Workshops aus... Zur Referenz: Teach Yourself C++ in 21 Days Was heisst das genau? Konntest du die Beispiele aus dem Skript abtippen, die Beispiele auf andere Aufgaben anpassen oder selbststaendig Aufgaben, die gestellt wurden, in FORTRAN loesen? Wenn du Programmieren lernen willst, ist die Wahl der Sprache eigentlich fast nebensaechlich. Aber ganz ohne Praxis geht es natuerlich auch nicht. Aber Programmieren heisst eben nicht nur die Syntax einer Sprache zu beherrschen. Der Kern besteht darin eine abstrakte Denkweise fuer das Loesen von Problemen zu entwickeln. Dazu kommt noch Handwerkszeug wie z.B. grundlegende Algorithmen und Datenstrukturen, so dass du nicht jedes Mal wenn du ein Problem angehst das quadratische Rad neu erfindest oder deine Arrays mit einem selbst implementierten Bubble-Sort sortierst, oder auch Muster und Programmstrukturen, so dass dein Button in seinem Click-Handler eben nicht Queries an die DB schickt. Leute ohne Grundlagenwissen sind dann naemlich diejenigen, die PHP und MySQL als untrennbare Einheit betrachten und Programme im For-Case-Paradigma schreiben. C oder C++ wuerde ich aber an der Stelle direkt mal hinten anstellen. Allein die Pointer und das manuelle Verwalten von Speicher halte ich fuer jemanden, der erstmal den Fuss in die Tuer bekommen will, fuer absolut unangebracht. Damit schiessen sich selbst noch Leute, die das schon Jahre machen, gern ordentlich in die Fuesse. Leider kann ich dir an dieser Stelle keine 100%ige Antwort auf deine Frage liefern. Aber ich versuche zumindest ein bisschen in Wegweisung (zumal die Frage zu deinem Wissensstand noch steht): TL;DR: The C language combines all the power of assembly language with all the ease-of-use of assembly language. |
Profil || Suche |
007 09.04.2010, 10:24 LeJean |
Also ich seh das anders, Bluthund. Ich hab damals im 1. Semester mit C angefangen, bin inzwischen einige Jahre weiter und an ner anderen Uni und habe mitbekommen, dass die Erstsemester hier mit Scheme einsteigen. Bevor ich in meinem Studium überhaupt zu OOP in den Vorlesungen gekommen bin, sind sicher 3 Semester vergangen - warum also gleich damit anfangen? Für Grundprinzipien halte ich überschaubare Sprachen mit wenig Syntax-Candy für besser. Und Sprachen, die weniger Designmöglichkeiten von Haus aus anbieten. Das bedeutet natürlich nicht, dass nicht zuerstmal Algorithmen & Datenstrukturen nötig sind um überhaupt was damit anfangen zu können, ich beziehe mich gerade allein auf die Wahl der Sprache. Und ich bin auch der Meinung, dass sich ein Einsteiger nicht gleich vor Augen halten lassen muss, was er am Design (!) und nichtmal an der Syntax so falsch machen kann. Zu Designproblemen kommt jeder noch früh genug, da müssen nicht gleich die OOD-Paradigmen ausgepackt werden. Auch wenn es schön zu sehen ist, dass es noch andere Leute gibt, die Wert darauf legen -- die treffe ich nämlich viel zu selten! Um Syntax allgemein gehts natürlich gar nicht, denn egal welche Sprache man lernt: Die Prinzipien sind schlussendlich auf jede Sprache übertragbar (es sei denn, man fängt mit Perl an) -- logische Programmiersprachen mal aussen vor gelassen. Aber da man als (angehender) Programmierer auch genug Ahnung von dem haben sollte, was hinter der Materie steckt, empfehle ich keine interpretierte Sprache zu nehmen und eine solche zu wählen, mit der man Algorithmen und Datenstrukturen zur Übung einfach selber schreiben und managen muss. Python, Ruby usw. ist mMn eine andere Generation von Sprachen, die aber nicht unbedingt dabei hilft, die Materie zu verstehen. Wenngleich sie natürlich für den täglichen Gebrauch deutlich schneller zu deutlich einfacheren und schöneren Lösungen kommen! Da ist dann die Frage, was man will: Das grundsätzliche Verständnis von Anfang an, oder erst die Ergebnisse und dann nach und nach feststellen warum was überhaupt wie funktioniert... --Dieser Beitrag wurde am 09.04.2010 um 10:25 von LeJean bearbeitet. |
Profil || Suche |
008 09.04.2010, 10:38 KhanRKerensky |
Python ist durchaus zu empfehlen. Mit dem interaktiven Modus kann man Python auch sehr einfach ausprobieren und erkunden. Dort brauch man nur seine Befehle eingeben und die werden direkt ausgeführt. Richtig große Sachen sollte/kann man auf diese Weise natürlich nicht programmieren, aber zum testen mehr als praktisch. /edit Sowas macht man einmal in der Uni (wenn überhaupt) und dann nie wieder. Zumal man das auch in einer Sprache wie python machen kann. -- "[...] you're going to burn in a very special level of Hell. A level they reserve for child molesters and people who talk at the theater." - Book Dieser Beitrag wurde am 09.04.2010 um 10:43 von KhanRKerensky bearbeitet. |
Profil || Suche |
009 09.04.2010, 12:12 LeJean |
Ich selbst bin noch nicht dazu gekommen, Python groß auszuprobieren, aber es steht auf meiner Liste.. Was du sagst macht natürlich Sinn -- wohl hängt die Wahl der "richtigen" Sprache (wenn es sowas überhaupt gibt) auch einfach arg davon ab, wohin man mit der Programmiererei will. Letztes Jahr hab ich in der Firma ein Projekt gehabt, bei dem ich ne ganze Ecke selbst managen musste. Es ging um eine P2P-Streaming Library (C++), die über verschiedene Blockgrößen, Queue-Managements und Ausfallsicherheiten mehrere Sachen abdecken musste. Und da kommt man mit solchen Sprachen glaub ich nicht viel weiter. Ich bin weiß Gott kein Verfechter von C++, dafür kann ich's dann doch zu wenig. Eigentlich steh ich auch wohl auf (interpretierte) Sprachen, mit denen man schnell und einfach arbeiten kann. Dieser Beitrag wurde am 09.04.2010 um 12:12 von LeJean bearbeitet. |
Profil || Suche |
010 09.04.2010, 13:55 KhanRKerensky |
Für Sachen wo die Performance wichtig ist, taugt Python meiner Meinung nach weniger, wobei ich da den Interpreter warscheinlich auch etwas unterschätze. Für dürfte Python ideal sein. -- "[...] you're going to burn in a very special level of Hell. A level they reserve for child molesters and people who talk at the theater." - Book |
Profil || Suche |
011 09.04.2010, 14:14 Smeagol |
Erst mal Danke für die vielen Antworten Also was nu laut Gruppen-Konsens? edit: korrigiert mich wenn ich falsch lieg ich bin verwirrt weil ich keine der sprachen kenne und dementsprechend auch keine unterschiede. edit2: witzig dass du den bubble-sort angesprochen hast, sowas hab ich mir nämlich tatsächlich auch selbst programmiert gehabt. allerdings wars bei mir tatsächlich anders, die elemente wurden nicht geswapt sondern das maximum rausgesucht (weil ich mir vorher schon ne funktion gemacht hatte, die das maximum sucht), das mit dem untersten element swapt, und das ganze dann wiederholt, angefangen ein element weiter. --Dieser Beitrag wurde am 09.04.2010 um 14:19 von Smeagol bearbeitet. |
Profil || Suche |
012 09.04.2010, 14:19 Bluthund |
So sehr anders siehst du das garnicht, Jean :) Wir hatten hier an der FH auch C im ersten Semester (neben Bash-Scripting fuer die OS-Vorlesung). Ich halte die Sprache mit ihren Ecken und Kanten (implizite Funktionsdeklaration; ein Typsystem, das arbeitet wie ein Sack Schrauben; Pufferueberlaeufe in libc-Funktionen) aber persoenlich einfach fuer ungeeignet fuer jemanden, der einsteigen moechte. Die Leute, die noch gruen hinter den Ohren waren was Programmierung betraf, hatten mit C ordentlich zu kaempfen. Ich sass bspw. kurz vor Ende des ersten Semesters mit einem Kommilitonen zusammen vor seinem Beleg und haette ihm am liebsten gesagt "Schreib das nochmal neu". Das ist natuerlich nichts, was man jemandem sagt, der noch ein paar Tage bis zur Abgabe und SegFaults am laufenden Band hat. Selbst einige der Funktionen der libc tun Dinge, die man einfach nicht erwartet und wissen muss wenn man sie benutzt (e.g. Zerstoerung des Quellstrings durch strtok). Irgendwann sollte natuerlich jeder Programmierer mal so nah wie moeglich am Silizium gewesen sein. Sonst haben wir irgendwann nur noch Shlemiels. Auch sollte jeder mal rein funktional programmiert haben, da das eine ganz andere Sichtweise auf das eigene Tun vermittelt. Einmal sollte auch reichen, um die Vorzuege/Nachteile kennenzulernen. Wenns darauf ankommt, kann man es immer noch nachschlagen mit dem Wissen, wo man denn ueberhaupt suchen soll. Aber man muss diese Dinge einfach mal gemacht (oder zumindest ausreichend beobachtet) haben, wenn man vorhat nicht nur mit auswendig gelernten Big-O, Omega und Theta um sich zu werfen. ACK -- The C language combines all the power of assembly language with all the ease-of-use of assembly language. |
Profil || Suche |
013 09.04.2010, 14:25 Kriz |
Programmieren lernen und "Programmiersprache lernen" sind zwei paar Schuhe. Programmieren lernen kann man auch gut in Pseudocode abhandeln, hier geht es ja um die Abläufe selbst und nicht das Werkzeug, welches diese Abläufe ermöglicht. Nun gut, es gibt "Lernsprachen" wie einfaches BASIC oder auch Pascal, mit denen man die Strukturen (prozeduraler) Programmierung erlernen kann. Jenseits von GOTO und IF THEN ELSE gibt's zwar auch allerlei andere Ansätze, aber jetzt mal ernsthaft... wer zum Teufel coded Scheme zuhause? Hier sollte man prozedural anfangen und nicht funktional wie Scheme es eben macht. Das kann man sich später dann in Ruhe antun. Nun zum "Lernen von Programmiersprachen". Ich für meinen Teil habe Anfang der 1980er mit BASIC 2.0 auf der Brotkiste angefangen, dann kam 1989 AmigaBASIC auf gleichnamiger Freundin, gefolgt von Pascal auf dem Gumminasium, C und C++ auf der FH und letztendlich Java und PHP im Hometraining. Ruby, Python, C#, Ada und Delphi habe ich mir angeguckt, aber... naja... man muß nicht alles toll finden. Ich bin definitiv bei C++ hängengeblieben, mit allen Vor- und Nachteilen! Heute würde ich sagen: Ich lerne C++ von der Pike auf, um: a) zu verstehen, wie prozedurale, objektorientierte und generische Programmierung ablaufen Wie gesagt, daß ist meine Betrachtungsweise der Dinge. Die meisten hier wissen das. C++ ist nicht perfekt, aber die Basis für ein gesundes Verständnis von dem, was andere Sprachen von einem erwarten. --K:R-I)Z++ |
Profil || Suche |