Anfängersprache (objektorientiert) Programmieren

Hallo zusammen,

mal angenommen jemand sei ein Super-DAU und wöllte nichtsdestotrotzdem gerne programmieren lernen, welche Sprache würdet Ihr denn vorschlagen zum lernen. Die bisherige Programmierkarriere sah so aus:

  • Schulzeit: Basic mit Zeilennummern und hauptsächlich Abtippen von Listings
  • Studium: Turbo Pascal mit Funktionen als höchstem der Gefühle
  • Beruf: Der klägliche Versuch in C++ reinzukommen, Buch „C++ in 21 Tagen“ am Tag 6 abgebrochen. Denkweise nicht nachvollziehen können.
  • Beruf Teil 2: Excel-Makro geht aufzuzeichnen und einzelne Details ändern Beispiele dafür sind Sachen wie: zwei Makros zusammenkopieren, den markierten Zellenbereich ändern.
  • Sonstnoch: html ganz grundlegend, reicht zum Tabellen basteln, Links einfügen und mehr dann auch nicht

Ihr seht also, das ist wirklich sehr grundlegend, insbesondere hatte ich echt schlimme Probleme mit der Denkweise beim Umstieg ins Objektorientierte.

Nun möchte ich aber gerne programmieren können und da wüsste ich gerne, mit welcher Sprache man da am besten anfängt? Ziel sollte sein, dass man sich das im Selbststudium (hilfreiche und wissende Softies für Fragen sind im Bekanntenkreis ausreichend vorhanden) aneignen kann. Generell ist’s mir gar nicht soo wichtig, welche Sprache das dann sein wird, wichtiger wäre mir ein logisch nachvollziehbarer Aufbau (C mit und ohne ++ war mir zu „vereinfachbar“) und ein passendes Lehrwerk für wirklich absolute Anfänger.

Natürlich darf die Software was kosten, sollte aber nicht viele Tausende von Euros sein. Achja, und wie man durch meine Schilderung sicherlich schon vermutet, bin ich Windows-Nutzer und das sollte derweil auch mal so bleiben :wink:

Zunächst hatte ich an Excel-VBA gedacht, aber ich bin nicht sicher, ob das ne schlaue Idee ist. Was würdet Ihr mir denn raten? (Achja, Zitate aus Beatles-Songs* werden nicht gerne gelesen *fg*)

*wink*

Petzi

*Let it be

Hallo,

mal angenommen jemand sei ein Super-DAU und wöllte
nichtsdestotrotzdem gerne programmieren lernen, welche Sprache
würdet Ihr denn vorschlagen zum lernen. Die bisherige
Programmierkarriere sah so aus:

  • Schulzeit: Basic mit Zeilennummern und hauptsächlich
    Abtippen von Listings
  • Studium: Turbo Pascal mit Funktionen als höchstem der
    Gefühle
  • Beruf: Der klägliche Versuch in C++ reinzukommen, Buch „C++
    in 21 Tagen“ am Tag 6 abgebrochen. Denkweise nicht
    nachvollziehen können.

Zwei Wochen ruhen lassen, dann nochmal probieren. Hartnäckig bleiben. Und vor allem die Beispiele nicht nur lesen, sondern ausführen, ein wenig ändern, noch mal ausführen etc.

Nun möchte ich aber gerne programmieren können und da wüsste
ich gerne, mit welcher Sprache man da am besten anfängt? Ziel
sollte sein, dass man sich das im Selbststudium (hilfreiche
und wissende Softies für Fragen sind im Bekanntenkreis
ausreichend vorhanden) aneignen kann.

Jede Programmiersprache hat ihre Schwerpunkte, und je nachdem, was dich interessiert, solltest du auch die Programmiersprache wählen.

Wenn dich Textprocessing interessiert, würde ich Perl empfehlen. Wenn du viel mit Office machst, wäre VBA besser.
Gute Objektorientierung und angeblich leicht zu lernen soll Python sein, wobei ich jetzt nicht weiss, was genau Pythons Stärken sind.

Grüße,
Moritz

Hallo,

Ihr seht also, das ist wirklich sehr grundlegend, insbesondere hatte :ich echt schlimme Probleme mit der Denkweise beim Umstieg ins :open_mouth:bjektorientierte.

Das bringt das Problem auf den Punkt. Du xollest dir vieleicht zuerst Literatur ueber die grundlegenden abstrakten Strukturen zum OOP antun. Denn wenn man die Denkstukturen halbwegs verinnnerlicht hat, ist die ausfuehrende Sprache Nebensache.

VBA ist hierzu nicht wirklich geeignet, da es ein Mischmasch von procedural und objektorientiert darstellt, da grundlegende Elemente der OOP-Sprache nicht vorhanden sind. VB.Net kommt dem ganzen schon viel naeher.

Du darfst programmieren mit einer OOP-faehigen Programmiersprache und OOP-Programmierung nicht in den gleichen Topf werfen. Ich habe in meiner Laufbahn bisher endlos viel Code von Leuten gesehenen die „C mit C++ Features“ programmieren, also eigentlich prozedural mit hier und da mal einem Objekt und dann behaupten das ist objektorientiert.

Mein Tipp: Zuerst mal logisches Grundlagenverstaendnis aufbauen, und dann in der Praxis anwenden (ewt. mit einer der .NET Sprachen)

Tschau
Peter

Hallo Petzi

mal angenommen jemand sei ein Super-DAU

Das bist Du nicht.

[… Gute Vorkenntnisse …]

Nun möchte ich aber gerne programmieren können und da wüsste
ich gerne, mit welcher Sprache man da am besten anfängt? Ziel
sollte sein, dass man sich das im Selbststudium (hilfreiche
und wissende Softies für Fragen sind im Bekanntenkreis
ausreichend vorhanden) aneignen kann. Generell ist’s mir gar
nicht soo wichtig, welche Sprache das dann sein wird,
wichtiger wäre mir ein logisch nachvollziehbarer Aufbau (C mit
und ohne ++ war mir zu „vereinfachbar“)

Was bedeutet „vereinfachbar“?

und ein passendes Lehrwerk für wirklich absolute Anfänger.
Natürlich darf die Software was kosten, sollte aber nicht
viele Tausende von Euros sein. Achja, und wie man durch meine
Schilderung sicherlich schon vermutet, bin ich Windows-Nutzer
und das sollte derweil auch mal so bleiben :wink:

C++ ist schon eine wunderbare Sache, aber (imho) sehr sehr
schwierig zu erlernen, besonders im Selbststudium. Ich kann
das deshalb so sagen, weil eine meiner Aufgaben darin besteht,
Studenten hin und wieder C+±Kenntnisse beizubringen.

Das (C++) wäre (imho) auf jeden Fall ein Wissen, was man
oft verwenden kann.

Zunächst hatte ich an Excel-VBA gedacht, aber ich bin nicht
sicher, ob das ne schlaue Idee ist. Was würdet Ihr mir denn
raten? (Achja, Zitate aus Beatles-Songs* werden nicht gerne
gelesen *fg*)

neben C++, dessen Objektorientierung ich für pragmatisch,
brauchbar und effizient halte, würde ich grundsätzlich
Javascript empfehlen. Die Objektorientierung ist simpel
zu verstehen und sehr mächtig. Vor allem kann man sofort
etwas Praktisches damit anfangen und es faktisch an
jedem Ort verwenden (wo es einen Brauser gibt) ohne
irgendwas installieren oder gar kaufen zu müssen.

Es gibt auch eine Reihe von unterstützenden Editoren,
welche die syntaktischen Elemente kennen und einem
viel Arbeit abnehmen.

http://www.indeed.com/jobtrends?q=sql%2Cc%2Cjava%2C+…

Grüße

CMБ

noch was…
Es gibt noch eine sehr schöne Programmiersprache namens „Eiffel“, die alle wichtigen Konzepte der Objektorientierung hat, und eine sehr viel freundlichere Syntax als C++.

Grüße,
Moritz

Ich sehe im Rahmend er Standardsprachen drei Möglichkeiten. Allen ist gemeinsam, dass es für sie eine sehr gute Gratis-Entwicklungsumgebung bestehend aus einem brauchbaren Editor und einem Debugger zum Download und eine sehr aktive Community zur Unterstützung gibt.

  • Visual Basic Express Edition (für den Basic Fan)
  • Visual C# Express Edition (für den C Fan, oder sagen wir, fast -:smile:
  • Borland Delphi Personal (für den Pascal Fan)

Die Unterschiede zwischen den Sprachen sind nur gering, und die Denkweise, wie man programmiert, entspricht weitgehend dem, was wir gewohnt sind. Man hat Objekte einfach als zusätzliche Möglichkeit, Probleme zu lösen - wenn man will. Man kann sie aber auch ganz konventionell verwenden.

Da man heutzutage, im Unterschied zu vor 15 jahren, jede Menge Möglichkeiten hat, über Internet auf fix fertig entwicklete Komponenten zurückzugreifen, die modernen Umgebungen wie auch das Betriebssystem darüber hinaus gewaltige Objektbibliotheken mitbringen und außedem gegenüber 640k DOS Zeiten Speicher und Prozessorpower im Überfluss vorhanden ist (außer man will das Weltklima 2030 vorhersagen) sind die Fähigkeiten der Programmiersprachen, durch allerlei sprachspezifischen Voodo möglichst kleinen und effizienten Code zu erzeugen, nicht mehr so wichtig. Die meisten Gelegenheitstäter verwenden die Sprache ihrer Wahl um eigenen Code von geringer Komplexität mit vorgerfertigten Black-Box Bausteinen aus dem Internet zusammenzubinden. mit ein wenig sorgfalt und Disziplin kommend dabei sehr brauchbare Programme zustande, die einem Effizienzfan der alten Schule allerdings die haare zu berge stehen lassen :smile: Dafür eignen sich alle drei oben erwähnten Sprachen gleich gut.

Ich für meinen Teil bevorzuge Visual Basic oder C# wenn ich ein „sauber“ aussehndes Programm machen will, und außerdem ohne Umsetzung von Datentypen mit API- und Objektdokus aus der MSDN arbeiten will. Dafür muss ich in den sauren Apfel beißen, dass meine Programme DotNet Frauework benötigen. 250MB Download um 50k Code auszuführen … igitt.

Wenns unabhängige Programme sein sollen, nehme ich Borland Delphi. Man merkt der Sprache allerdings stark seine Wurzeln im uralten Turbo Pascal an, auf das dann immer mal wieder draufgesattelt wurde, die Sprache wirkt inzwischen für mich etwas zusammengestiefelt.

Nach der reinen Lehre ist keine dieser Sprachen „richtig“ objektorientert, ich finde, das ist eher ein Vorteil.

AL.

Das beantwortet zwar ganz bestimmt nicht deine Frage, aber ich möchte hier mal meinen Senf dazugeben weil ich der Meinung bin, das die beste/einfachste/anfängerfreundlichste Programmiersprache programmieren nicht einfacherer machen als dieses Grundprinzip:

Programmieren lernt man nicht aus dem Lehrbuch!

Diese Erfahrung habe ich selbst vor gerade einmal 7 Jahren gemacht und sie am Beispiel Zahlreicher Freunde, die ich zum Programmieren Angeleitet habe jedes mal bestätigt gesehen.

Am besten lernt man Programmieren mit der Anleitung eines Freundes, der es selbst verstanden hat.

Denn: Jeder hat andere Vorstellungen von Logik und Computerlogik. Ein Lehrbuch kann nie genau auf Fragen eingehen. Jemand, der selbst Programmieren kann und einen vom „Hello, World!“ bis zum grafisch aufwendigen animierten „foobar!“ begleitet (was übrigens auch in 21 Tagen zu machen ist), bringt einem Programmieren viel näher und kann alles viel anschaulicher machen.
Ein Lehrbuch geht immer von einem bestimmte Vorwissen und einer bestimmten Denkweise aus. Ein Mensch kann daher viel besser Programmieren lehren.

Daher mein Tipp: Die Programmiersprache ist recht egal, Hauptsache sie ist einigermaßen aktuell, frei verfügbar, plattformunabhängig (letzeres beides bei microsoft-derivaten meist nicht gegeben), für alle prozessorarchitektueren verfügbar (sonst kommt am ende die große überraschung „es geht nicht!“) und am besten kostenlos und von vielen verwendet (wegen hilfe in foren etc brauchbar).
Was viel mehr als die Programmiersprache bringt, ist jemand, der wirklich als Mensch das ist und es dir breibringt.

Also: Selbststudium ist nur was für echte zuhausehockerkellerkinderprogrammierenistmeineeinzigebeschäftigungichverstehedasauchsodeshalbkannichauchdiesentextlesen

Gruß Lomex

btw: python RULEZ! aber die meisten verstehen ja noch nicht mal das Blockmodell und können daher python nicht ab das sich dies zur besseren strukturierung zunutze macht. also nix für leute, die vorher andere programmiersprachen programmiert hatten.

Ich möchte mich hier auch auf die Python-Seite schlagen. Eine wesentliche Entscheidung bleibt allerdings noch offen und kann das in Frage stellen: Soll das Programm eine grafische Oberfläche haben? ich persönlich würde fürs erste davon abraten, weil man dann plötzlich mit sehr umfangreichen APIs in Berührung kommt, die durchdrungen sein wollen, ohne dass die eigenen Programmierkenntnisse steigen. Die Bibliotheken für grafische Oberflächen gibt es zwar auch für Python unter Windows, aber auch wieder mehrere und die Entscheidung für eine ist nicht einfach. Dann würde Javascript wieder attraktiver, wo der Browser sich um vieles kümmert.