• Herzlich Willkommen!

    Nach der Schließung von inDiablo.de wurden die Inhalte und eure Accounts in dieses Forum konvertiert. Ihr könnt euch hier mit eurem alten Account weiterhin einloggen, müsst euch dafür allerdings über die "Passwort vergessen" Funktion ein neues Passwort setzen lassen.

    Solltet ihr keinen Zugriff mehr auf die mit eurem Account verknüpfte Emailadresse haben, so könnt ihr euch unter Angabe eures Accountnamens, eurer alten Emailadresse sowie eurer gewünschten neuen Emailadresse an einen Administrator wenden.

Ist Programmieren eigentlich schwer?

darkmatch

Member
Registriert
26 Juli 2009
Beiträge
472
Punkte Reaktionen
0
hi,

ich selber kann nicht programmieren, aber möchte es mal können. Ich will wissen ist es schwer?, also ob ein guter Programmierer, auch noch Probleme hat oder gar keine. Ist es schwer wenn mans kann?. Danke im voraus

mfg darkmatch
 
Eigentlich ist es, mit genügend Faszination recht einfach zu lernen.
Du kannst es nur nicht lernen, in dem du sachen aus Büchern liest, sondern in dem du es tust ;)

Klar man fängt mit einem Buch an, aber ich denke richtig lernen tut man es erst, wenn man versucht ein eigenes Problem/Projekt mit dem Wissen zu basteln.

Und ob etwas "schwer" ist, ist eh subjektiv^^
 
hi,
[...] also ob ein guter Programmierer, auch noch Probleme hat oder gar keine.
Jo, sonst würde es nur noch bugfreie Software geben ^_^.

Ist es schwer wenn mans kann?.
Einfacher als am Anfang sicherlich. Vor allem bekommt man mit der Zeit Routineaufgaben ohne wesentliches Nachdenken über die Bühne.

Falls es dich interessiert, versuch es einfach mal. Nun fragt man sich natürlich, mit welcher Sprache man anfängt. Dort gibt es etwa eine Millionen +- 50% Diskussionen dazu.

Am häufigsten wird genannt:
C/C++ Begründung: "Damit kann man dann richtige Software schreiben!!" Nachteil: C ist noch relativ einfach, C++ hingegen ein Monster.

Basic Begründung: "Weil ich damit auch 1970 angefangen habe." Nachteil: Nicht mehr zeitgemäß.

Java Begründung: "In der Uni lernst das auch, dann kannst das schon!" Nachteil: Anfangs evtl. bisschen umständlich.

PHP Begründung: "Damit kannst das dynamische Websites programmieren!" Nachteil: Die Sprache ist recht vermurkst. Da lernt man schnell Dinge, die nicht ganz ok sind.

Python/Ruby Begründung: "Das ist hip und total einfach!" Nachteil: Man wird nicht als richtiger Programmierer von den Alteingessessenen angesehen.


Meine Meinung: Es ist ziemlich egal, womit du anfängst. Alles hat seine Vor- und Nachteile. Bei C wirst du sehr maschinennah anfangen, d.h. du wirst sehen wie und warum das Ganze funktioniert. Dafür ist es sehr mühselig am Anfang einfachste Sachen zu machen. Bei Python bzw. Ruby geht alles sehr einfach und schnell mit vielen Bibliotheken (CGI, GUIs etc). Nachteil davon ist, dass du nicht mitbekommst, wie der Arbeitsspeicher funktioniert.

Gesagt sei dir folgendes: Nur die wenigsten Leuten können eine Sprache. Fang mit einer Sprache an, die dir gefällt. Und wenn du langsam die algorithmische Denkweise beherrscht, dann kannst du auch ohne Probleme in andere Sprachen reinschnuppern und dann eventuell wechseln.
 
Programmieren - im Sinne von coden - ist ein Handwerk. Jeder, absolut jeder (und da stell ich mich auch keiner Diskussion) kann Lernen wie eine Programmiersprache funktioniert, wie die zugrundeliegenden Konzepte funktionieren und natürlich auch wie man in einer oder mehreren Sprachen tatsächlich programmiert.*

Mit etwas Motivation (am besten wär's wenn du ein kleines Projekt - jetzt nicht "ich programmier WoW neu" - hast, an dem du arbeiten kannst. Die Beispiele in den einschlägigen Büchern sind recht dröge und ich konnte mich eigentlich nie durchringen die abzutippen) ist das überhaupt kein Problem. Setz dich die nächsten Sommerferien auf den Arsch und du kannst danach mehr als 99% in deinem Alter.


Wozu man Talent braucht (und das ist auch noch schwer wenn mans kann) ist das kreative Problemlösen, die Konzeptionsphase beim Programmieren. Wenn man die Möglichkeiten, die man hat, kennt und weiß wie man die implementiert, dann muss man sich überlegen, wie man sein tatsächliches Problem im Rahmen dieser Möglichkeiten umsetzt.

Nicht alle Dinge die man machen möchte sind gleich einfach zu Programmieren. Nicht nur braucht man zum Teil gute Mathematikkenntnisse (und ich mein jetzt nicht Schule), zum Teil ist auch eine Menge Kreativität (und Zeit...) erforderlich um einen guten Weg zu finden. Manchmal sogar um einen schlechten Weg zu finden. Da spielt imho vor allem Erfahrung eine Rolle.


C/++ halte ich eher für ungeeignet für den Einstieg (das sehen einige Leute anders, das sind die selben, die Gentoo für den Linux-Einstieg empfehlen). Man muss sich mit enorm vielen theoretischen und z.T. wirklich abstrakten Konzepten vertraut machen, bevor man auch kleinste Aufgaben lösen kann. Danach versteht man besser wie ein Computer funktioniert, aber mit der Motivation wirds doch schwer, insb. auch mangels Erfolgserlebnissen in der langen Anfangsphase. Und es ist schon ein bisschen viel für den Anfang, was man auf einmal Lernen muss, bevor überhaupt was passiert.

Java ebenso ... es erzwingt Objektorientierung, imho sollte man erstmal mit imperativer Programmierung über prozedurale Programmierung da rangeführt werden. Objektorientierung "trocken" zu lernen wär mir persönlich zu hart. Am Anfang verstehst du nichmal wie "Hello World" in Java funktioniert.

PHP ist Murks :D

Python ist an sich prima, man darf sich nur nicht vom großen Featureumfang einschüchtern lassen, sondern sollte erstmal klein und imperativ anfangen.
Darkster hat aber schon recht, C/++ Programmierer nehmen dich dann nicht ernst, weil du nur ne Scriptsprache benutzt und nicht jedes Bit im RAM persönlich hin- und herschiebst.

Als Lernsprache designt war natürlich Pascal, die modernste Ausprägung ist Delphi. Damit hab ich angefangen, aber in der Schule. War ganz gut (für die reale Welt leider völlig unbrauchbar). Ohne weiteres kommt man leider auch nicht an die Entwicklungsumgebung ran. Obwohl's auch freie ObjectPascal Compiler gibt. Vielleicht gibts in deiner örtlichen Bibliothek auch ein Lehrbuch mit Software o.Ä.


Fazit: Wenn du wissen willst wie ein Computer intern funktioniert (bis zu nem gewissen Level), dann lern C. Aber es wird schwer. Wenn du das raus hast, dann kannst du zu C++ greifen.
Ne angenehmere Lernkurve bietet dir Python, aber mit deutlich weniger Einblicken in die Technik drunter. Dafür bekommst du die Möglichkeit herauszufinden, was du dem Computer alles sagen kannst (und was er dann auch macht) ohne dich groß drum kümmern zu müssen, was in der Welt der 0en und 1en passiert. Wenn du das dann mal hast und du willst es wissen, dann kannst du C lernen (hab ich selbst so gemacht). Dann wirst du die dir schon bekannten Kontrollstrukturen kennenlernen, aber wirst verstehen wie die genau auf ner niedrigeren Ebene funktionieren (bzw. wie scheißviel Arbeit der Python-Interpreter dir abnimmt). Dabei lernst du dann rückwirkend auch noch was über Python.
Ich muss aber auch der Fairness halber dazu sagen, dass ich eine ähnlich hohe Meinung von Python habe wie der Papst von Jesus.

Prinzipiell sind das die zwei Wege schwimmen zu lernen. Entweder springst du ins tiefe, stürmische Wasser und entweder lernst dus oder du gehst unter. Wenn du das schaffst, dann kannst dus aber schon ziemlich gut und im flachen Wasser findest du dich relativ mühelos zurecht. Oder du fängst erstmal im flachen Wasser an zu paddeln, was schon schnell ganz gut klappt und was du später zur Perfektion treiben kannst. Dann kannst du auch ins tiefe, und kommst da auch recht schnell gut zurecht. Beide Wege führen zum Ziel.
Und auf die Metapher bin ich gerade echt stolz.

Java ist nett, aber ich würd's als Zweitsprache lernen nachdem du Objektorientierung (das ist das was die Informatiker für den Heiligen Gral der Softwareentwicklung halten...) anhand C++, Python oder Delphi/ObjectPascal gelernt hast.


Was sich nicht mehr lohnt zu lernen ist Assembler - bzw. höchstens zu wissenschaftlichen Zwecken. Optimierte C-Compiler liefern schnelleren/besseren (und unlesbareren) Asm-Code als jeder Mensch :D

*/edit: Disclaimer: Funktionale Programmierung oder ähnliche akademische Konzepte sind ausgenommen :D
 
Zuletzt bearbeitet:
Ob ein Mensch zum Programmierer taugt , hängt mMn vor allem davon ab, ob er die Funktion, die sein Programm bereitstellen soll, abstrahieren kann... soll heißen: es wird vor allem Kreativität und logisches Denken gefordert.

Eine Programmiersprache zu lernen erfordert eigentlich nur Interesse und Fleiß... das 'Schwierige' ist, später das Gelernte (also die Werkzeuge der Programmiersprache) so einzusetzen, dass das gewünschte Resultat entsteht.

Ich würde dir empfehlen dich einfach mal mit z.B. Java-Script auseinander zu setzen... ist kostenlos und auf jedem Windows-Rechner problemlos einsetzbar.

So erkennst du recht schnell, ob das Programmieren dich faszinieren kann oder nicht.


@ Crescent: Ist Python eigentlich kostenlos?
 
also zu dem thema oo anfangen oder nicht bin ich zwiegespalten - imho gibt es da 3 arten von leuten: leute mit hohem abstraktionsvermögen, leute mit wenig davon und leute, die drauf scheissen.
bei ersteren ist es so, das sie ruhig mit oo-sprachen direkt einsteigen können - die sind eh so fit, das es egal ist. bei zweiterem ist das lernen einer prozuderalen sprache vor einer oo-sprache zwar deutlich einfacher, dafür fällt der umstieg später deutlich schwerer (und nö, oo endet nicht bei "alles ist ein objekt"). bei der dritten klasse - drauf geschissen, die lernen einfach weil sie bock drauf haben - die hält eh nichts auf. ein array of array of pointer? gimme more! wie, mehrfach vererbte gehidete und zigmal überschriebene klassen? is doch n klacks! da kann man bestimmt noch n interface drüberschrauben!!!!1111elf
ich persönlich gehöre zur zweiten kategorie, anchdem ich n bisserl php, oberon, pascal und c konnte, war der weg zu java dann doch eher steinig. später im beruf stellt man dann doch recht schnell fest, das das eigentliche programmieren fast zur nebensache wird. es brauch zwar die meiste zeit, geht aber doch eher locker von der hand. die minuten/stunden, in denen du auf deinen code starrst weil du dich verrant ahst oder vor nem weissen blatt papier sitzt um bei ner komplexen sache weiterzukommen, die sinds für das du dann später so unverschämt gutes geld kriegst, wenn du gut bist. die tun dafür auch richtig weh^^

p.s.: sind lesben eigentlich gute coder? o, hai c!
 
Google ist dein freund

C++ tutorial eingeben und suchen lassen
 
Bücher, Kurse, Internet, nette Freunde, dies können und dabei immer fleißig üben, üben, üben. Immer wieder Aufgaben besorgen und diese selbständig umsetzten.

Aber C/C++ ist, wie gesagt, nicht allzu einstiegsfreundlich.
Wenn man wirklich absolut keine Ahnung hat, wären Basic oder Pascal vielleicht gar nicht schlecht, um zumindest solche einfachen Sachen wie Schleifen etc. zu lernen. Aber damit kommt man dann nicht weit. Aber das geht natürlich auch in C. Da find ich es allerdings etwas komplizierter, wenn man keine menschliche Hilfe zur Verfügung hat und vorher noch nicht programmiert hat.

Zumindest sollte man erstmal nur mit C anfangen, C++ kann man dann immer noch lernen.
 
HTML ist nochn einfacherer Einstieg, aber naja, nicht wirklich fettes programmieren...aber da lernt man schonmal was "Syntax" und "ein Zeichen vergessen" heisst :hammer:
 
Würde für den Anfang auch Python empfehlen. Ist zwar langsamer als C, aber einfacher zu lernen / benützen.
 
HTML ist aber keine Programmiersprache...

Zum leichten Einstieg würde ich auch eine Scriptsprache empfehlen, da sieht man am ehesten Erfolge und bleibt motiviert.

Von der Syntax her ists eh egal, die sieht eigentlich immer ähnlich aus, zumindest bei den Standardkonstrukten (Schleifen, Verzweigungen, etc.)

Was aber bei C ein Vorteil ist, man lernt sauber zu arbeiten.

Gruß
 
Wenn ich mal einen etwas exotischen Tipp als Einsteigersprache geben darf: Eiffel. Ich habe damit an meiner Uni programmieren gelernt. Die IDE dazu ist zwar ein ziemlicher Murks, aber die Sprache ist Einsteigerfreundlich und mit Abstand die "schönste" die ich bisher gesehen habe (habe Erfahrung mit C/C++,Java,Haskell,PHP/SQL,Matlab Skript,R uvm.). Auch scheint es mir dass man mit Eiffel eher einen guten Programmirstil von der ersten Stunde an nahegelegt bekommt, wärend man in C als Anfänger doch recht schnell dazu verleitet wird ein goto oder ähnliche hässliche Konstrukte zu benutzen. Dieses Buch von meinem Professor halte ich bzgl. Eiffel für sehr empfehlenswert.
 
Eine gute Alternative zu Java ist Smalltalk. Zu der Einsteigerfreundlichkeit kann ich jedoch nicht unbedingt was sagen... (Hab nur mehrmals versucht, mit Programmieren anzufangen und bin immer wieder an den Selbstmotivationshürden gescheitert: Wie schon oben jemand erwähnte, sind die Bücher recht trocken und die eigenen Möglichkeiten zum rumexperimentieren anfänglich recht beschränkt...)

Im Endeffekt ist Programmieren lernen so schwierig wie das Lernen einer Fremdsprache. Also fang bloß nie mit Assembler an: Das ist vergleichbar mit dem Lernen von Japanisch (oder Chinesisch... Aussprache eingeschlossen ;))

K!A.o.S.
 
[x] C
Wie schon beschrieben ist C noch relativ einfach, aber nicht so einfach, daß man einfach irgendwas schreiben kann und das dann auch noch funktioniert.
Man lernt damit quasi nebenbei eine ganze Menge über Arithmetik, Logik, Abstraktion und allgemeine Funktionsweisen der elektronischen Datenverarbeitung. Außerdem erfordert sie, gerade anfangs, auch Disziplin: C ist sehr beharrlich und verzeiht keine Fehler. Man merkt schnell, ob programmieren wirklich das Richtige für einen ist.

Trotzdem muß man zu einem guten Programmierer "geboren" sein. Ist ähnlich wie im richtigen Leben: Steine kaputtkloppen kann jeder, der Abbruchspezialist, der Fliesenleger und auch der Bildhauer ;)

PS: Batch. Bei mir warens damals .bat-Dateien. Hat 'nen Heidenspaß gemacht mit quasi nicht vorhandenen Mitteln durch Einsatz div. Kniffe doch etwas zustande zu bringen. Danach COBOL, CL, C, C++, SQL ... heute ABAP/R3 und etwas von Jedem :clown:
 
Ich frag mich immer noch woher das Gerücht her kommt, dass C einem nichts verzeiht o_O. Wenn man sich den ioccc anschaut, dann sieht man, dass man mit C ganz schön viel anstellen kann und sehr viele Freiheiten hat.
Angefangen von dem Präprozessor bis hin zur tollen Pointerarithmetik. Oder auch so Dinge, wie Zuweisungen in Abfrageköpfen, das geht ohne Probleme in C \o/. C bietet einem extrem viele Freiheiten, selten gibt es so viele.

Für Anfänger bin ich immer noch fest überzeugt, dass Python eine sehr gute Sprache ist. Jede/r sagte mir bis jetzt, der damit programmiert hat, dass es verständlich ist, einfach und vor allem, sieht der Code schön aus, weil Einrücken Pflicht ist.
Zu dem hat man in Python auch die Möglichkeit funktionale Elemente zu verwenden, was den Code sehr einfach und sauber macht.
Im direkten Vergleich von Python vs. C kann man nur sagen. Beides lernen, C aber nur nutzen, wenn man auch wirklich die Performance davon braucht. Ansonsten Python nehmen, damit kommt man super überall durch.

Und noch ein kleines Beispiel bzgl. Codekompaktheit:
Das Programm holt aus einem Array alle Werte und addiert sie. Danach werden sie ausgegeben.

C:
Code:
#define MAX_VAL 100
int values[MAX_VAL] = {1, 9, 2, ...};
int i;
int sum = 0;
for(i = 0; i < MAX_VAL; i++)
    sum += values[i];
printf("Sum is %i\n", sum);

Python:
Code:
values = [1, 9, 2, ...]
print "Sum is", sum(values)

Und immer wieder schön zu lesen für Programmierer, die es auch wirklich werden wollen: How to Become A Hacker von esr.
 
Zurück
Oben