myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

Was ist beim "Programmieren lernen" so schwer?

Willkommen

myGully

Links

Forum

 
Antwort
 
Themen-Optionen Ansicht
Ungelesen 02.01.11, 12:58   #1
m3zz0w1x
Banned
 
Registriert seit: Dec 2010
Beiträge: 85
Bedankt: 91
m3zz0w1x ist noch neu hier! | 0 Respekt Punkte
Standard

1. Natürlich ist Java eine imperative Programmiersprache. Was soll es denn bitte sonst sein?

2. Den Gegensatz zu imperativen Programmiersprachen stellen DEKLARATIVE Programmiersprachen dar!
> Imperativ bedeutet, dass man den Ablauf der Anweisungen selbst bestimmt!
> Deklarativ bedeutet, dass man das Problem vorgibt und logisch erläutert. Die deklarative Programmiersprache benutzt dann Methoden, um eine Lösung ohne Vorgabe des Ablaufes (Algorithmus) zu finden! Solche Sprachen haben keinen einzigen echten Befehl!

3. In Java werden ALLE Anweisungen (Befehle) von Objekten zur Verfügung gestellt werden, die man endlos erweitern und neu erstellen kann. Der "Befehlssatz" ist damit unendlich. (Syntaktische "Befehle", wie z.B. for-Schleifen, Operator-Anweisungen etc. mal ausgenommen).


@TE:
Um vieles Programmieren zu können, muss man nur die Syntax beherrschen, das Programmierkonzept verstehen und ansonsten wissen, wo man nachlesen kann.
Ich bin im IT-Consulting-Bereich tätig und helfe bei der Entwicklung von Software in verschiedenen Unternehmen in vielen Ländern Europas. Während meiner beruflichen Laufzeit musste ich mich auch mit neue Programmiersprachen auseinandersetzen. Ein Syntax-Crash-Kurs und die jeweiligen besonderen Eigenschaften einer Programmiersprachen kann man in wenigen Stunden/Tagen erlernen. Das reicht schon, um sich in großen Softwareprojekten gut zurecht zu finden und in diesen mit zu wirken. Jedes weitere oder komplexere Problem kann man in Büchern oder im Internet nachschlagen.
m3zz0w1x ist offline   Mit Zitat antworten
Folgendes Mitglied bedankte sich bei m3zz0w1x:
zirona (29.02.24)
Ungelesen 02.01.11, 15:09   #2
harbok
Erfahrener Newbie
 
Registriert seit: May 2009
Beiträge: 108
Bedankt: 94
harbok ist noch neu hier! | 0 Respekt Punkte
Standard

Zitat:
Zitat von m3zz0w1x Beitrag anzeigen
Um vieles Programmieren zu können, muss man nur die Syntax beherrschen, das Programmierkonzept verstehen und ansonsten wissen, wo man nachlesen kann.
Ich bin im IT-Consulting-Bereich tätig und helfe bei der Entwicklung von Software in verschiedenen Unternehmen in vielen Ländern Europas. Während meiner beruflichen Laufzeit musste ich mich auch mit neue Programmiersprachen auseinandersetzen. Ein Syntax-Crash-Kurs und die jeweiligen besonderen Eigenschaften einer Programmiersprachen kann man in wenigen Stunden/Tagen erlernen. Das reicht schon, um sich in großen Softwareprojekten gut zurecht zu finden und in diesen mit zu wirken. Jedes weitere oder komplexere Problem kann man in Büchern oder im Internet nachschlagen.
Das kann ich nur untermauern. Die Sprache wechselt man später sehr schnell, da man seine Erfahrung und das Fachwissen direkt übernehmen kann. Man muss nur die Syntax, die IDE und die Eigenarten der jeweiligen Sprachen nachlernen. Über die Details stolpert man dann in der Entwicklung noch genug.
Hauptentwicklungstool ist ohnehin google


@TE:

Vieles wirkt anfangs recht leicht zu verstehen, ist dann aber in der Anwendung sehr komplex und wird schnell schwer - gerade für Anfänger.
Ein klassisches Beispiel wäre das OOP Konzept: Die Definition von Klasse und Objekt zu lernen ist völlig trivial. Ein Klasse zu beerben oder zu instanzieren ist auch simpel. Wenn man dann aber in medias res geht und die Sachen hinsichtlich ihrer Flexibilität und Macht ein wenig mehr ausschöpft, dann klappen viele, die vorher meinten, OOP verstanden zu haben, ganz schnell zusammen.
harbok ist offline   Mit Zitat antworten
Ungelesen 02.01.11, 19:22   #3
Banghard
Newbie
 
Registriert seit: Jun 2009
Beiträge: 70
Bedankt: 26
Banghard ist noch neu hier! | 0 Respekt Punkte
Standard

Zitat:
Zitat von m3zz0w1x Beitrag anzeigen
1. Natürlich ist Java eine imperative Programmiersprache. Was soll es denn bitte sonst sein?
Du hattest gesagt: "OOP-Sprachen wie Java haben so etwas wie "Befehle" nicht". Und das stimmt nicht. Wie oft schon hatte ich so Situationen wie jetzt, wo jemand etwas schreibt, dann korrigiert man die Aussage und dann heißt es "Was soll es denn bitte sonst sein?". Ja, das widerlegt einfach deine Aussage, die du vorher gemacht hast. Sonst soll das gar nix sein. Wenn eine Sprache imperativ ist, dann baut sie auf "Befehle", besser gesagt Anweisungen. Von daher ist ""OOP-Sprachen wie Java haben so etwas wie "Befehle" nicht" falsch, sorry.

Zitat:
Zitat von m3zz0w1x Beitrag anzeigen
2. Den Gegensatz zu imperativen Programmiersprachen stellen DEKLARATIVE Programmiersprachen dar!
> Imperativ bedeutet, dass man den Ablauf der Anweisungen selbst bestimmt!
> Deklarativ bedeutet, dass man das Problem vorgibt und logisch erläutert. Die deklarative Programmiersprache benutzt dann Methoden, um eine Lösung ohne Vorgabe des Ablaufes (Algorithmus) zu finden! Solche Sprachen haben keinen einzigen echten Befehl!
Das musst du mir nicht erklären. Aber nicht nur deklarative Programmierung ist ein Gegensatz zur imperativen Programmierung. Wie ich schon gesagt habe, sind auch viele funktionale Programmiersprachen nicht imperativ. Ich sage extra nicht "alle", da viele Sprachen einfach Multiparadigmensprachen sind. Imperative Programmiersprachen sind "verwandt" mit Turing-Maschinen, rein funktionale Programmiersprachen hängen dagegen mit dem Lamda-Kalkül zusammen. Das heißt dort besteht ein Programm nur aus Funktionsdefinition, Funktionsanwendung und Funktionskomposition. Nicht aus Anweisungen/Befehlen.

Zitat:
Zitat von m3zz0w1x Beitrag anzeigen
3. In Java werden ALLE Anweisungen (Befehle) von Objekten zur Verfügung gestellt werden, die man endlos erweitern und neu erstellen kann. Der "Befehlssatz" ist damit unendlich. (Syntaktische "Befehle", wie z.B. for-Schleifen, Operator-Anweisungen etc. mal ausgenommen).
Ich kann mich nicht so ganz mit deinem Vokabular anfreunden. Unter Befehlssatz versteht man allgemein eine Menge von Maschinenbefehlen für Prozessoren. Natürlich weiß ich was du damit aussagen willst. Wenn ich die genannten syntaktischen Anweisungen aneinander hänge, beispielsweise in Java in einer Methode eines Objektes oder in C in einer Prozedur, habe ich dadurch aber nicht meinen "Anweisungssatz" in der Sprache erweitert, sondern diese "nur" strukturell zusammengefasst.

Ich kann dann diese "Struktur" dann wie einen einzelnen Befehl aufrufen, aber es sollte klar sein, dass das intern nur ein wie auch immer gearteter Sprungbefehl ist, die eigentlichen Sprachanweisungen ausgeführt werden und dann ein Rücksprung stattfindet. Nur weil mir eine Sprache die strukturelle Zusammenfassung von Anweisungen erlaubt, habe ich dadurch nicht einen unendlichen "Befehlssatz". Hau so Dinger bloß nicht bei deinem Consulting raus.

Ich zähle auch die umfangreiche Klassenbibliothek bzw. API von Java oder beispielsweise C# nicht zur SPRACHE Java bzw. C#.
Banghard ist offline   Mit Zitat antworten
Ungelesen 02.01.11, 21:16   #4
harbok
Erfahrener Newbie
 
Registriert seit: May 2009
Beiträge: 108
Bedankt: 94
harbok ist noch neu hier! | 0 Respekt Punkte
Standard

Diskutieren wir jetzt formale Sprachen und Definitionen (selbiger)? Das war an der Uni schon langweilig, führte zu endlosen Wortklaubereien und ist sehr weit offtopic

Eine Sprache erweitert man m.M.n. nicht um "Befehle" indem man Methoden oder Prozeduren definiert. Die Befehle entstammen dem Alphabet der Sprache während eine Methode einen Teil eines Wortes der Sprache ausmacht. Das Alphabet der Sprache ist endlich und klar definiert während Worte (Programme) eine syntaktisch korrekte, nicht zwingend endliche, deterministische und bestenfalls semantisch sinnvolle Komposition aus Teilen der Menge des Alphabets der Sprache sind.

Ob der Terminus "Befehl" nun nur Teilmenge/n des Alphabets der Sprache sein darf oder nicht, müsste man wohl schon beinahe etymologisch betrachten. Gehe ich im herkömmlichen Sinne an das Wort Befehl heran, dann geht es dabei nur um die reine Intention, einen Dritten zu einer Handlung aufzufordern. Im hardwarenahen Bereich geht es, wie banghard schon sagte, eher nur um den "Befehlssatz" der Hardware und wenn ich einen Standardanwender frage, dann ist alles, was er irgendwo eintippt ein Befehl für den Computer. Nicht umsonst erklären Fachbücher eingangs ihre Terminologie ... und das hier wird immer weiter offtopic
harbok ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:33 Uhr.


Sitemap

().