• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Programmieren lernen

commander

Baldwins roter Pepping
Unvergessen
Registriert
25.02.04
Beiträge
3.206
Klassen sind nicht notwendig und dienen nur zur Programmiererleichterung. Wie gesagt: Man kann ohne Not auf Klassen verzichten.

Das halte ich mit Verlaub für eine sehr sehr gewagte Aussage. Packages, Klassen und Interfaces bieten ein sehr gute Möglichkeit der Abstraktion und Kapselung, ohne die jedes größere Projekt innerhalb kürzester Zeit nur noch ein unüberschaubarer Wust an Code wäre.

Für kleine und kleinste Programme (die man innerhalb einer Klasse abhandeln könnte) mag es zwar stimmen, aber ab einer gewissen Größe ist die Strukturierung in Klassen die Vorraussetzung für wartbaren Code. Und das wiederum ist Vorraussetzung für den Erfolg eines Programmes.

Gruß,

.commander
 

commander

Baldwins roter Pepping
Unvergessen
Registriert
25.02.04
Beiträge
3.206
OOP und Threads sind orhtogonal zueinander. Aber natürlich kennt Cocoa Klassen zur Verwaltung und Steuerung von Threads. Etwa NSThread, NSLock, NSOperation und auch Objective-C das Shclüsselwort @synchhronize.

Aber das dürfte in Java nicht viel anders sein.

Runnable, Thread, Monitor-Objekte, Schlüsselwort "synchronized" :-D
 

below

Purpurroter Cousinot
Registriert
08.10.06
Beiträge
2.858
Das halte ich mit Verlaub für eine sehr sehr gewagte Aussage. Packages, Klassen und Interfaces bieten ein sehr gute Möglichkeit der Abstraktion und Kapselung, ohne die jedes größere Projekt innerhalb kürzester Zeit nur noch ein unüberschaubarer Wust an Code wäre.

Genau, aber das ist doch nichts anderes als eine Erleichterung.

Jedes C++ Programm lässt sich auch prozedural Schreiben. Das sieht dann vielleicht nicht mehr so schön aus, keine Frage, aber es geht.

Ich denke, das wollte Amin damit sagen.

Alex
 

commander

Baldwins roter Pepping
Unvergessen
Registriert
25.02.04
Beiträge
3.206
Genau, aber das ist doch nichts anderes als eine Erleichterung.

Jedes C++ Programm lässt sich auch prozedural Schreiben. Das sieht dann vielleicht nicht mehr so schön aus, keine Frage, aber es geht.

Ich denke, das wollte Amin damit sagen.

Alex

Ja, im Prinzip stimmt das. Aber es ist nicht wirklich praktikabel. Das geht in meinen Augen weit über 'Erleichterung' hinaus. (Ausserdem sollte man das niemals einem Anfänger verraten ;))

Gruß,

.commander
 

commander

Baldwins roter Pepping
Unvergessen
Registriert
25.02.04
Beiträge
3.206
Dass man jedes Programm in jeder Sprache schreiben kann haben wir im ersten Semester gelernt ;)

Auch das halt ich für eine fahrlässige Aussage :-D Nach dem Motto: Du kannst ein Haus auch mit Pappmasche bauen.

Wahr ist aber, dass man mit _jeder_ Sprache ein schlechtes Programm schreiben kann ;)
 

tjp

Altgelds Küchenapfel
Registriert
07.07.04
Beiträge
4.059
Ja, im Prinzip stimmt das. Aber es ist nicht wirklich praktikabel.
Die ältesten Programmpakete, die immer noch gewartet werden, sind in Cobol, RPG, C und Fortran geschrieben. Nach Deiner Aussage müßte das unmöglich sein.
 

commander

Baldwins roter Pepping
Unvergessen
Registriert
25.02.04
Beiträge
3.206
Die ältesten Programmpakete, die immer noch gewartet werden, sind in Cobol, RPG, C und Fortran geschrieben. Nach Deiner Aussage müßte das unmöglich sein.

lol, die Frage ist, was machen diese Programmpakete.... sind das Applicationserver oder andere (nach heutiger Sicht) komplexe Programme? Oder eher Netzwerkschnittstellen, Listenverwaltungen oder andere z.B. hardwarenahe Pakete, meist ohne Oberfläche?.... gegen einfachere, auf Performance gearbeitete C-Module ist sicher nichts einzuwenden. Schön und gut wartbar sind sie deswegen noch lange nicht.
 

Amin Negm-Awad

Süsser Pfaffenapfel
Registriert
01.03.07
Beiträge
665
Dass man jedes Programm in jeder Sprache schreiben kann haben wir im ersten Semester gelernt ;)
Klugscheißer! ;)

Da setze ich aber einen oben drauf:
Man kann in gar keiner Programmiersprache jedes Programm schreiben. :) Schreib mir doch einmal ein Programm, welches feststellt, ob ein beliebiges Stück Code terminiert.

Geint hat dein Prof wohl, dass ein in einer Turing-vollständigen Sprache formuiertes Programm in jeder anderen turing-vollständigen Sprache formuliert werden könnte. Und da wohl alle modernen (für modern als Element von {in den letzten 50 Jahren praktisch im Betrieb}) Programmiersprachen turing-vollständig sind, stimmt ja auch seine Aussage so, wie er sie gemeint hatte.

Dennoch würde ich ungerne eine Textverarbeitung in Brainfuck formulieren wollen.

http://de.wikipedia.org/wiki/Brainfuck#Turing-Vollst.C3.A4ndigkeit
 

commander

Baldwins roter Pepping
Unvergessen
Registriert
25.02.04
Beiträge
3.206
Ja klar, wenn es um eine (wie wir Programmierer das ja lieben) abstrakte Möglichkeit geht, stimmt das schon.

Aber, um wieder auf den Boden der Realitäteretätä zu kommen, die Wahl der Sprache / Technik sollte doch so ausfallen, dass der Aufwand in einem angemessenen Rahmen bleibt.

Das Brainfuck-Beispiel von Amin trifft das vorzüglich. Ich würde nichtmal eine Taschenrechnerlogik mit Brainfuck realisieren wollen ;)