programmierBar

Ihr seit widerlich! Köllsch ist kein Bier und ital. Rotwein kein Rotwein (sagt der Preuß) :hehehe: :wech:
 
Also, ich möchte demnächst mal das Programmieren lernen. Mich würde mal interessieren was als Einstiegsprojekt gut geeignet wäre.

Sollte für den Anfang nicht zu anspruchsvoll sein, aber auch nicht zwingend Hallo Welt ;)

Langfristig habe ich ein Projekt geplant, aber erstmal würde ich klein anfangen.
 
Also, ich möchte demnächst mal das Programmieren lernen. Mich würde mal interessieren was als Einstiegsprojekt gut geeignet wäre.

Sollte für den Anfang nicht zu anspruchsvoll sein, aber auch nicht zwingend Hallo Welt ;)

Langfristig habe ich ein Projekt geplant, aber erstmal würde ich klein anfangen.

Also ich würde mit einem Hallo Welt anfangen und dann frei nach Schnauze ausbauen...

Wie funktioniert die Tastatureingabe, welche Datentypen gibt es, wie bekomm ich die Eingabe angezeigt, wie funktionieren Kontrollstrukturen(schleifen).

Was ich damit sagen will, programmieren lernen bedeutet das Handwerkszeug und die Logik die dahinter steht zu verstehen. Sicherlich macht es schon einen gewissen Unterscheid welche Sprache ich wähle aber eher im Bezug auf erweiterte eigenschaften wie GUI Erstellung usw.

Aber trotzdem, in und mit jeder Sprache musst und kannst du die Basics lernen, tust du das nicht, wirst du über ein par Versuche nicht wirklich hinaus kommen.

Über eine hohe frustrationsgrenze solltest du eh verfügen :-D

Tu dir auch noch einen Gefallen und schlage dich nicht monatelang damit rum was für eine Sprache du denn nun lernst, fang einfach an.... sobald du über die von mir genannten Basics verfügst kannst du weitere Gedanken fassen und besser selber entscheiden, was für eine Sprache für dich interessant ist, das zählt ebenso zum Lernprozess dazu.

Viel Spass und Erfolg

wünscht timmy :)
 
Zuletzt bearbeitet:
Hi, danke für die Infos.

Was die Frustgrenze angeht, die ist sehr hoch. Hab früher schon mal ein Hallo Welt mit Visual Basic erstellt. Das es nicht leicht ist/wird weiß ich, aber wenn man einmal drin ist gehts sicherlich. Ich wills ja nicht von heute auf morgen alles lernen. Ich hab Zeit und genug ruhe für sowas.

Für die Sprache habe ich mich schon entschieden, Object-C bietet sich als Mac User förmlich an ;-)

Danke schonmal.
 
Für die Sprache habe ich mich schon entschieden, Object-C bietet sich als Mac User förmlich an ;-)

Danke schonmal.


Auch wenn es meiner vorigen Ansage widerspricht, fang dann am besten mit C an, ich hatte vergessen bzw. nicht daran gedacht , das du ja Pointer lernen solltest, sehe es als gut gemeinten Rat von mir, aber es ist keine Pflicht :)

Viel Erfolg
 
Also, ich möchte demnächst mal das Programmieren lernen. Mich würde mal interessieren was als Einstiegsprojekt gut geeignet wäre.

Sollte für den Anfang nicht zu anspruchsvoll sein, aber auch nicht zwingend Hallo Welt ;)

Langfristig habe ich ein Projekt geplant, aber erstmal würde ich klein anfangen.

Hier im Entwickler-Unterforum findest du ein paar oben angepinnte Threads, die dir auf die Sprünge helfen können.

Als Einstiegsprojekt bieten sich kleine Hallo Welt-Apps an, oder Umrechner.. ;
 
Ich bin jetzt schon/erst 1 Jahr dabei, Objective-C und Cocoa zu lernen und bei kleineren Projekten aktiv zu benutzen und muss sagen, dass ich auch ohne Vorkenntnisse in C gut vorankam.

@ anegmawagd: Wann kommt eigentlich Band 2?? ;)
 
Ich muss jetzt auch mal ganz doof fragen: Ich habe bereits "Programmierkenntnisse", d.h. Grundlagen wie Variabeln, Funktionen, IF-Abfragen, Schleifen u.ä. sind selbstverständlich, aber auch Objektorientierte Programmierung mit Klassen, Vererbung und Pipapo verstehe ich grundsätzlich und wende es mit Php bereits an - zur Zeit arbeite ich z.B. An einem einfachen, modularen CMS, es läuft sogar evtl. auf eine eigene, kleine Scriptsprache hinaus mit Parser und Interpreter.
Meine eigentliche Frage ist nun folgende: Ich interessiere mich auch für Programmierung auf Mac OSX und dem iPhone, auch wenn ich es mir noch schwer mache, mir interessante und durchführbare Projekte dafür auszudenken. Da sich meine Praxis wie gesagt auf PHP beschränkt (habe ObjC,C++ und Java nur angekratzt und Python mal angeschaut. AppleScript Wende ich auch ab und zu an, aber das ist ja wie nix), habe ich keine Ahnung von Speicherverwaltung und ähnlichen Dingen. Setter und Accessors habe ich aus ObjC übernommen, weil ich ObjC mag und verwende sie in PHP.
Lange Rede, kurzer Sinn: Ich stehe vor der Frage, ob sich das Geld für Bücher wie "Objective-C und Cocoa -Programmieren unter Apple Mac OS X" oder "Learning C on a Mac" bzw. "Learning Objective-C on an Mac" lohnt, denn ich nehme mal an, dass dort viele Grundlagen (von Variabeln über if und while bis zu Grundlagen von OOP,also "Was ist Vererbung?") drinstehen. Da ich kurz vorm Studium stehe, habe ich nicht Geld wie Heu, deshalb wollt ich mal von euch ne Empfehlung, ob sich das lohnt, was denkt ihr?

Das Problem daran ist auch, dass ich sehr zwischen ObjC/Cocoa und Python schwanke: Beide Sprachen sind interessant: Objective C hätte den Vorteil, dass ich auch an Quartz, CoreAnimation &Co drankomme, außerdem lassen sich damit irgendwann mal iPhone Apps erstellen und es ist schneller und man hat ein "richtiges Programm", außerdem lassen sich evtl. Plugins für iLife und andere Apple Programme schreiben - Python hat den Vorteil, dass es potentiell schneller erlernbar ist, dass sich damit Plugins für 3D Programme (Maya) schreiben lassen und es plattformunabhängig ist - ich könnte damit auch unter Linux arbeiten.
Ich kann mich nicht so richtig entscheiden :(
Habt ihr da Tipps?
(Und nein: Java und C++ will ich nicht. Sollte ich mich für Objective C entscheiden, würde ich höchstens ein bisschen C lernen weil OpenGL&Co in C sind)
 
Zuletzt bearbeitet:
Lange Rede, kurzer Sinn: Ich stehe vor der Frage, ob sich das Geld für Bücher wie "Objective-C und Cocoa -Programmieren unter Apple Mac OS X" oder "Learning C on a Mac" bzw. "Learning Objective-C on an Mac" lohnt....


PHP ist ja grundsätzlich erstmal eine Skriptsprache.

Das Geld für Bücher lohnt sich eigentlich nur wenn du essentielles übers Programmieren lernen willst oder lieber mit Büchern lernst.
Ein Manko an Büchern ist (meiner Ansicht nach) das man immer irgend einen Scheiss von Kapitel zu Kapitel programmiert und dabei schnell die Lust verliert...

Um Cocoa zu lernen finde ich, sind die PDF'S von Apple ausreichend...

Ansonsten, wenn du gerne eine Empfehlung von mir hören willst, ist das Cocoa Buch von Aron Hillegas ganz gut
 
Dem kann ich absolut nicht zustimmen. Gerade die Apple-doku ist eher was für fertige Programmierer. Bücher haben den Vorteil, dass sie didaktisch besser aufbereitet für Anfänger. Das Buch von negm-awad ist sehr gut (3.Auflage kaufen)&fängt nicht bei adam&eva an sondern führt in Cocoa ein. Lies es doch in ner Buchhandlung an. Es gibt auch ne website, bitte sufu hier im Forum nutzen.

Gruß, SMJ
 
Objektorientierte Programmierung mit C doch möglich?

Hallo,

im Rahmen eines FH Projekts entwerfe ich gerade erste Konzepte für ein kleines Spiel. Das Projekt muss in C programmiert werden.

Dabei bin ich gerade über eine mMn interessante Sache gestolpert: Zwei riesige Vorteile von objektorientierten Programmiersprachen - dachte ich zumindest bisher - sind die Eigenschaften, dass man ein Objekt erstellen kann, von dem man dann mehrere Instanzen macht (speichersparend!); außerdem können Objekte voneinander erben. Bisher hab ich mir das ein bisschen mit Grafikprogrammen klargemacht: Man hat z.B. ein 3D-Männchen als Objekt und kann nun millionen Instanzen davon erzeugen, die dann z.B. alle eine eigene Position bekommen, aber keine Instanz kann ein eigenes Gesicht haben...

Soweit, so gut. Aber kann ich dieses Verhalten nicht mit Strukturen und Zeigern darstellen? Ich erstelle in C eine Struktur "Männchen" mit Eigenschaften (Kopf, Beine, Arme...). Dann kann ich nun eine neue Struktur "MännchenInstanz" erstellen, die einen Zeiger auf Männchen macht und zusätzlich eine Position speichert. Quasi so etwas wie folgendes:

Code:
typedef struct Männchen {
      Arm linkerArm;
      Arm rechterArm;
      Bein linkesBein;
      Bein rechtesBein;
};

typedef struct MännchenInstanz {
      Männchen* männchen;
      Punkt position;
};

Klar, verglichen mit C++ ist das wahrscheinlich lächerlich und primitiv (kein private, public usw.), aber wenn ich das nun richtig verstehe, müsste MännchenInstanz die Eigenschaften von Männchen "erben". Demnach sind 1000 MännchenInstanz und 1 Männchen speicherschonender als 1000 Männchen, weil ja Männchen nur einmal im Speicher existiert und alle MännchenInstanzen auf Männchen zugreifen!?

Also ist Veerbung und (vereinfachte) "Objekt"-Instanzen nicht zwingend etwas, was nur objektorientierte Sprachen können? Stimmt das so?
 
Klar kann man Objektorientierung auch mit C darstellen! GTK macht das und der erste C++-Compiler hat C++-Quellcode in C-Quellcode übersetzt. Das Eine ist eine Sprache, das andere ein Konzept. Eine Objektorientierte Sprache erleichtert den Umgang mit dem Konzept.

public/protected/private sind Parser-Befehle. Zur Laufzeit gibt es die nicht mehr. Was du aber übersiehst ist, der this-Zeiger. Du musst jeder Funktion den aktuellen Zustand mitgeben. Hinzu kommen virtuelle Methodentabellen usw... All das geht mit C, ist aber nicht gerade simpel.
 
dass man ein Objekt erstellen kann, von dem man dann mehrere Instanzen macht (speichersparend!);

Nein! Und nein!

Du kannst von "einem Objekt" nicht "mehrere Instanzen" erzeugen.

Ein Objekt ist eine Instanz, und zwar die Instanz einer Klasse.

Speichersparend ist das auch nicht, denn jede Instanz (also jedes Objekt) braucht eigenen Speicherplatz.

Welche FH ist das ;) ?

Alex
 
Nein! Und nein!

Du kannst von "einem Objekt" nicht "mehrere Instanzen" erzeugen.

Ein Objekt ist eine Instanz, und zwar die Instanz einer Klasse.

Speichersparend ist das auch nicht, denn jede Instanz (also jedes Objekt) braucht eigenen Speicherplatz.

Welche FH ist das ;) ?

Alex

Ja und nein. Ich glaub, da streiten sich die Gelehrten eh schon immer über den Unterschied zwischen Klasse, Objekt und Instanz. Die Klasse ist die Vorschrift, das Objekt das Compilat - beide ohne Zustand! - und die Instanz ist eine Kopie des Objektes im Speicher mit Zustand!

Ich glaub, das klang auch schon bei meiner Anmerkung zum this-Zeiger durch. Jede Instanz hat einen Zustand, nimmt also Speicher ein. Jedes Objekt hat eine liste von Methoden in der Methodentabelle, nehmen also auch speicher ein. Dann kommt noch Verwaltungslogik hinzu. Man spart, und da hast du recht, mit Sicherheit keinen Speicher. Schlimmstenfalls wirds eher mehr, weil die Compiler inzwischen viel besser optimieren als man das per Hand macht.

Gruß Carsten
 
Zurück
Oben Unten