Buchtipp für Anfänger

(Übrigens habe ich mir den Hinweis auf Knuth gespart. Bekommt bestimmt auch noch von jemanden.)
ich würde das hier empfehlen :D

Nein, im Ernst: für absolute Einsteiger halte ich persönlich Java für eine gute Sprache, am besten in der Kombination mit diesem Buch. Didaktisch fein aufbereitet und unterhaltsam geschrieben. Im iTunesU-Store gibt es von der Uni Aachen dazu einen Video Podcats "Programmieren für alle". Die halten sich auch an das Buch
 
Meinst du jetzt Fortran?
Tu nicht so, als wäre dir nicht klar, dass ich C++ meinte. So wie du hier rumpolemisierst macht das keinen Spaß. Du tust so als wäre alle Menschen die C++ verwenden völlige Deppen. Hier im Forum wird diese Diskussion zu nichts führen, deswegen beende ich sie von meiner Seite. Ich hab diesen Post mitgezählt sowieso schon zweimal zu viel geantwortet.

Bliebe dies Problem: "um ehrlich zu sein will ich die sprache nicht nur für die facharbeit lernen sondern darüberhinaus "
Die Verwendbarkeit von Objective C ist leider ziemlich beschränkt. Außerhalb von OSX kann man damit recht wenig anfangen. Wenn ich mich da irre wäre das schön, aber ich befürchte das ist nicht der Fall.
 
anegmawad schrieb:
Unter diesen Gesichtspunkten würde ich zu Assembler raten – oder doch nicht.

Angesichts der Leistung heutiger Compiler tendiere ich zu "oder doch nicht" ;)

Was Programmieren lernen angeht sind gute Bücher unersetzlich das ist schon richtig! Grundsätzlich ist es aber eben wie bei anderen Dingen auch, erst die wiederholte Praxis macht den Meister - sprich: üben, üben, üben und das immer mit einem guten Buch an der Seite.

Ich rate durchaus zu einer OO-orientierten Sprache, damit man diesen Ansatz gleich mitlernt. Ob das dann Java,C#,Objective-C oder das inder Umsetzung etwas veraltete C++ ist, ist vom Prinzip her egal. Wenn es sich um rechenintensive Dinge handelt würde ich von Python/Ruby eher doch abraten.

Darii schrieb:
Die Verwendbarkeit von Objective C ist leider ziemlich beschränkt. Außerhalb von OSX kann man damit recht wenig anfangen. Wenn ich mich da irre wäre das schön, aber ich befürchte das ist nicht der Fall.

ich würde es mal so schreiben: Es wäre schön wenn sich dieser OO-Ansatz mal weiter verbreitet, in der Tat befindet man sich mit Objective-C leider immer auf der OS X-Insel. Die ist zwar schön, aber die Welt ist eben größer. Das die Objective-C Anhänger leider manchmal in die Fußballfan-Mentalität abgleiten ist leider auch war; damit schaden sie einer Sache die sie eigentlich fördern wollen!

Ob statische oder dynamische Bindung, das ist so ein hochstilisiertes Dogma. Natürlich hat die Dynamik große Vorteile, noch sind aber die komplexesten Systeme mit statisch gebundenen Sprachen geschrieben. Vergleichbar stabile Projekte mit dynamischer Bindung gibt es eben noch nicht um das zu beweisen was die "Dynamiker" predigen: das sie flexibler, schneller und genauso stabil sind wie statische Bindungen.

ansonsten würde ich mich freuen wenn Ihr Euch wieder entspannt und nicht jeden Satz auf die Goldwaage legt :)
 
Zuletzt bearbeitet:
Eigentlich antworte ich ja gar nicht mehr, wenn mein Beitrag zerfleddert wurde. Aber sei's drum.

Tu nicht so, als wäre dir nicht klar, dass ich C++ meinte.
Ja, tu nicht so, als wäre dir nicht klar, dass das eine rhetorische Frage sei.

So wie du hier rumpolemisierst macht das keinen Spaß.
Ah, verstehe. Dir macht mehr eine solche Diskussion Spaß:
Attribut 1!
Attribut 2!
Attribut 3!
Punkt!

Ich weiß ehrlich gesagt nicht, ob das mehr Spaß bereitet und wem von uns beiden. Ich weiß jedoch sicher, dass das keine Diskussion ist. Was erwartest du auf so etwas als Antwort? "… Punkt Komma Strich"?
Du tust so als wäre alle Menschen die C++ verwenden völlige Deppen.
Nein, ich tue so, als ob sämtliche Menschen, die auf OS X Anwendungen mit C++ schreiben, ofenbar die notwendige Kenntnis zur Beurteilung fehlt. Und ich habe das nun wirklich ausführlich geschrieben. Insofern würde ich davon absehen, mir irgendetwas zu unterstellen.

ier im Forum wird diese Diskussion zu nichts führen,
Eine Punkt_Diskussionsicherlich nicht. Ansonsten verstehe ich nicht, warum das hier zu nichts führen soll? Eine schriftliche Diskussion hat immerhin den Vorteil, dass man nachlesen kann, wer was wann wie gesagt hat.

deswegen beende ich sie von meiner Seite.
Hattest du doch schon. Oder war "Punkt" so etwas wie die Einladung zu einer Diskussion?

Ich hab diesen Post mitgezählt sowieso schon zweimal zu viel geantwortet.
Du hättest noch ein paar Punkte einführen können …

Die Verwendbarkeit von Objective C ist leider ziemlich beschränkt.
Mal insgesamt: Beschränkter ist es, die Beiträge von demjenigen, auf den man antwortet, nur beschränkt zu lesen.
"Wenn du unter OS X etwas Anständiges schreiben willst, geht nur Objective-C."

"In der Tat finde ich deshalb die zentrale Frage, was man machen möchte. Ich nehme mal an, dass der OP normale Anwendungen unter OS X schreiben will. Dafür ist Objective-C die Haus-und-Hof-Sprache. Wenn es ihm wichtig ist, eine breite Basis zu finden und dafür auf native Möglichkeiten verzichten will (was ich persönlich unendlich frustrierende fände), wäre Java das Richtige. Dann sollte man auch die entsprechende Sprache lernen."

Außerhalb von OSX kann man damit recht wenig anfangen.
Siehe oben.

Wenn ich mich da irre wäre das schön, aber ich befürchte das ist nicht der Fall.
Es gibt Leute, die sich darum bemühen, mit wachsende, Erfolg. Für außerhalb OS X hatte ich aber auch gar nicht Objective-C anempfohlen.
 
anegmawad, darii könntet Ihr Eure Streitereien bitte per PN austragen!? Das rumpolemisieeren hier schau ich mir nicht mehr an!
 

Ob statische oder dynamische Bindung, das ist so ein hochstilisiertes Dogma. Natürlich hat die Dynamik große Vorteile, noch sind aber die komplexesten Systeme mit statisch gebundenen Sprachen geschrieben. Vergleichbar stabile Projekte mit dynamischer Bindung gibt es eben noch nicht um das zu beweisen was die "Dynamiker" predigen: das sie flexibler, schneller und genauso stabil sind wie statische Bindungen.…
Ich habe hier einige Software auf dem Rechner, die ich als komplex bezeichnen würde und in einer dynamisch bindenden Sprache formuliert worden sind.

Aber man kann den Unterschied ganz einfach beweisen:
1) Such dir x-beliebige Windows-Anwendung aus und schaue in einen Einstellungsdialog. Da findest du einen Okay-Button.

2) Such dir eine x-beliebige OS-X-Anwendung und schaue in den Inspector. Der funktioniert live.

3) Don't mode me!

4) Möglicherweise hängt das damit zusammen, dass man KVO bei einer statisch bindenden Sprache nur äh unbequem formulieren kann und deshalb "live" möglichst reduziert.

Und ich spreche jetzt nicht von irgendwelchen abgefahrenen Sprachfeatures, sondern von Usability jeden Tag. Ich bin es jedenfalls schon lange leid, bei Excel so lange an irgendwelchen Zellattributen zu fummeln, okay zu klicken, zu fummeln, okay zu klicken, zu fummeln, … langsam wahnsinnig zu werden, zu fummeln, … RICHTIG WAHNSINNIG ZU WERDEN, okay zu klicken, … DEN COMPUTER AUS DEM FENSTER ZU WERFEN, …

Mir ist das wichtig, dass bei Cocoa-Anwendungen alles so schön lebendig erfolgt.
 
Du liegst falsch wenn Du meinst mich überzeugen zu müssen :)
Ich bin längst bekehrt und genau die Beobachtungen die Du so plastisch schilderst kann jeder am verzögerten Response-Verhalten der Win GUI nachvollziehen ja!

Das was ich mit "komplex" meine sind dezent größere Systeme wie es SAP oder andere dieser Kategorie sind. Hier hält sich das bange klammern an statischer Bindung noch in den Köpfen und es wird vermutlich C# sein das dies als erste Sprache dort ändern wird wenn ERP ähnlicher Komplexität mal existieren. Bisher gibt es den Vergleich eben leider nicht und er wird eben auch nicht mit Objective-C stattfinden weil niemand solche Systeme für die OS X Plattform herstellt.

Das das bedauerlich ist und das alle profitieren würden, wenn sie denn bereit wären umzulernen darüber sind wir usn durchaus einig! Nur wird es allein über Fakten zu einem Umdenken kommen und nicht über ambitionierte Emotionalität! Im Gegenteil damit löst man eben nur unnötige Dispute aus!
 
Ich weiß, dass ich dich nicht mehr bekehren muss. (Mit geht es eigentlich nie ums Bekehren. Aber die Vorteile, die ich sehe darf ich doch aufzählen? Ganz unmissionarisch.)Mir ging es einfach darum zu zeigen, dass natürlich Sprachfeatures erst einmal gar nichts sind, was beim Endanwender (also dem Nutzer der Anwendung, nicht dem Programmierer als Anwender der Sprache) ankommt.

Aber aus dem was beim Anwender der Sprache ankommt ergibt sich eben gerne etwas, was dann auch beim Endanwender ankommt. Erstaunlicherweise wird das bei derartigen Diskussionen immer übersehen. Da werden Sprachfeatures theoretisiert und Eigenschaften herausgehauen. Das Beste ist es eigentlich, mal zu schauen, was für Programme mit der Sprache formulier werden. Das ist ja das, was man am Ende wirklich will. (Okay, programmieren macht auch Spaß und ist dann in einem gewissen Maße Selbstzweck.)

Ja, Objective-C ist für Anwendungsprogrammierung. Einen SAPClient kannich mir in Objective-C vorstellen. Ein komplettes System … ich weiß nicht … braucht man vor allem nicht.
 
ich würde es mal so schreiben: Es wäre schön wenn sich dieser OO-Ansatz mal weiter verbreitet, in der Tat befindet man sich mit Objective-C leider immer auf der OS X-Insel.
Recht interessant finde ich das Étoilé-Projekt, wer weiß, vielleicht wird das irgendwann mal was.
 
http://www.python.org/

Schau Dir das mal an. :D
Wenn Du NULL Ahnung hast, nimm die "Schlangensprache" ... das versteh' sogar ich ;)
 
Ein gut gemeinter Tipp karline, aber für

Das Thema " Numerische Integration anhand von polynomen 3. Grades"

ist eben auch Geschwindigeit durchaus ein Thema!


anegmawad schrieb:
Aber aus dem was beim Anwender der Sprache ankommt ergibt sich eben gerne etwas, was dann auch beim Endanwender ankommt

Eine schöne Formulierung!
 
Wenn ich mir die letzten Seiten so ansehe, habe ich erhebliche Zweifel, dass sie für den Themenautor hilfreich sind. Es bestätigt mich außerdem in meiner Ansicht, dass es wenig bringt, erfahrene Programmierer danach zu fragen, welche Sprache am besten oder am einfachsten zu erlernen oder welches Buch für Einsteiger das beste sei.

Mein Tipp an alfrede:
Fang mit etwas an, was Dir interessant erscheint. Beiß Dich durch, auch wenn es schwierig wird. Besorg Dir ein gutes Buch (die sind meist nicht ganz billig — ein gutes Buch erkennt man i.d.R wenn man es sieht ;)) und versuch zusätzlich Informationen und Tutorials im Internet, in Deiner Bücherei oder sonstwo zu finden und parallel zu bearbeiten.
Wenn's die Zeit erlaubt, schau Dir auch immer wieder mal andere Programmiersprachen an und probiere alles mögliche aus.

Meiner Ansicht nach bekommt man nur mit einer breit gefächerten Informationsstrategie die Chance sich im Lauf der Zeit wenigstens einen groben Überblick über die Vielfalt der Welt des Programmierens zu verschaffen. Womit Du am Besten anfängst, kann Dir vermutlich niemand sagen; zumindest ist das für mich das Ergebnis der Diskussion hier.

Der individuelle Weg ergibt sich dann auf der Grundlage der persönlichen Interessen und Talente sowie der verfügbaren Zeit (die immer zu knapp sein wird) wie von selbst.
 
Also erst einmal vielen Dank für eure Antworten

ich denke ich werde mich für C++ entscheiden
nun meine frage ich habe von Galileodesign das Buch Enstieg in C++ im Blich meine Frage nun ist es kann mir jemand sagen ob sich das Buch auf die Umgebung von OS X (xCode) bezieht oder ist es egal weil alle gleich sind???

Ich denke ihr merkt, dass ich wirklich keine Ahnung habe ;( deshalb muss ich so blöd fragen

und eine Frage hätte ich noch wenn ich mein Programm in ferner Zukunft fertiggestellt habe kann ich es dann ohne Probleme auf mein Iphone bringen mittels Developer Tool Kit ?

MfG Alfrede
 
Das Buch bezieht sich sehr wahrscheinlich nicht auf XCode. Das ist aber egal.
Je nachdem, wie das Buch aufgebaut ist, wirst Du die ersten Programme wahrscheinlich ohnehin im Terminal "von Hand" kompilieren. Schadet nicht, das zu lernen und funktioniert am Mac genauso wie unter andern Unix-/Linux Systemen.
Du kannst aber auch XCode nehmen, um C++ Programme zu kompilieren. Bei Bedarf, bekommst Du hier sicher konkrete Hilfestellung zum Einstig.

Ich würde nur davon abraten, mit einem Buch zu arbeiten, dass sich ausdrücklich auf IDEs unter Windows einschießt.

Was die letzte Frage angeht, da kann ich nur auf die Kommentare von anegmawad verweisen.
Wenn Du primär fürs iPhone entwickeln möchtest, ist mE eigentlich Objetive-C (fürs iPhone in Verbindung mit Cocoa-Touch) gegenüber C++ zu bevorzugen.
Wenn Du mit C++ anfängst, wirst Du wahrscheinlich eine ganze zeitlang keine Programme mit grafischer Oberfläche schreiben.


Edit: Ich hab mir das hier mal angesehen:
"Cygwin", "Borland" das riecht nach Windows.
 
Zuletzt bearbeitet:
Ich würde dir auch Python oder Ruby empfehlen.
 
ich denke ich werde mich für C++ entscheiden
nun meine frage ich habe von Galileodesign das Buch Enstieg in C++ im Blich

Ich würde dir eher zu "C++ von A bis Z" raten. Das Buch deckt fast alles ab was du zu C++ wissen musst und geht zum Schluss sogar noch auf die GUI Programmierung unter Windows und Netzwerkprogrammierung (Multiplattform) ein.
Wenn du die Ausdauer hast und dich in C++ weitgehenst eingearbeitet hast ist der Umstieg auf Objective-C, Java oder C# relativ einfach.

Solltest du Ambitionen haben in der Programmierung fuß zu Fassen (Hobby, Ausbildung oder sogar Studium) würde ich dir sogar diesen Weg empfehlen. C++ ist nicht einfach, aber es hat so einige Eigenschaften die, einmal verstanden, später durchaus nützlich werden können. Java und C# sind dann die Folgeschritte, da in Softwareunternehmen häufig mit diesen Sprachen entwickelt wird.

MfG
 
Zurück
Oben Unten