WinFuture-Forum.de: Hintergründe der Programmierung - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
  • 2 Seiten +
  • 1
  • 2

Hintergründe der Programmierung


#1 Mitglied ist offline   Pitanium 

  • Gruppe: Mitglieder
  • Beiträge: 9
  • Beigetreten: 07. Dezember 12
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Dresden
  • Interessen:Programmierung

  geschrieben 07. Dezember 2012 - 02:59

Guten Morgen, Abend, Mittag oder was auch immer man zu der Uhrzeit sagt ;)

Ich befinde mich derzeit in der Ausbildung zum Technischen Assistenten für Informatik in der Fachrichtung Anwendungsentwicklung. Ich habe bis jetzt hier hin und wieder mal mitgelesen (Unangemeldet).Jedoch nicht wirklich das gefunden, was ich suche.
(Leider) hat sich die Ausbildung zu Ausbildungsbeginn (letztes Jahr im August) in der Programmierung auf den Schwerpunkt PHP gerichtet. Jedoch wollte ich bei der Sprache C++ ansässig werden. Unser Dozent ist zwar ein alter C/C++ Hase, jedoch findet er nicht die nötige Zeit einen (anständigen und regelmäßigen) C++ Kurs mit in den Stundenplan einzubinden. Deswegen bin ich auch dran C++ eigenständig als Zweitsprache neben PHP zu lernen. Ich kann meinen Dozent zwar alles fragen, jedoch gibt es auch umfangreichere Themen über die man sicherlich auch Stunden reden kann.

Ich weiß natürlich, dass man als Entwickler sich nicht nur mit Code schreiben beschäftigt bzw. dass es nur ein kleiner Teil ist und die Planung der Software den wesentlich größeren Teil einnimmt. Allerdings finde ich die Programmierung im Gesamten interessant, wie kaum ein anderes Thema was mir gerade einfällt :D

Einige Grundlagen der Programmierung werden für mich jetzt langsam klar. Allerdings gibt es auch noch viele fragen die mich beschäftigen. Vielleicht findet sich ja jemand, der die Zeit findet die ein oder andere frage (im Moment nur die eine große Frage) zu beantworten.

Die erste Frage wäre: wie funktioniert ein Programm eigentlich? Ich meine damit die Prozesse, die ablaufen müssen, um ein Programm aus dem vom Menschen geschriebenen Code in eine vom PC verständliche Sprache zu übersetzen. Wie funktioniert der Kompiliervorgang? Wird der Code direkt in 0 und 1 (Nullen und Einsen) übersetzt oder in eine Zwischensprache (Assembler, etwas ähnliches wie Assembler oder Befehlssätze der Prozessoren)?
Das finde ich Schade, dass wir das nie wirklich behandelt haben. Vielleicht kann man das ganze auch nicht "schnell mal eben" erklären. Vielleicht ist das aber auch so umständlich, dass man damit ganze Bücherbände füllen könnte. Das ist eben so ein Knackpunkt, da ich immer wieder fasziniert bin, was man mit nullen und Einsen alles machen kann wenn man sich PC-Spiele von heute anschaut.

Das war es erstmal von mir. Ich wäre wirklich dankbar, wenn mir das jemand erklären könnte. Wahrscheinlich kommen später auch noch weiter fragen hinzu. Jetzt will ich es erstmal bei dieser einen belassen.

Einen schönen Tagesanfang und zugleich auch eine Gute Nacht an diejenigen, die zu dieser Zeit noch hier herum geistern ;)

Grüße Pitanium
Computer helfen uns Probleme zu lösen, die wir ohne ihnen gar nicht hätten.

Eingefügtes Bild
0

Anzeige



#2 _nobido_

  • Gruppe: Gäste

geschrieben 07. Dezember 2012 - 11:48

http://de.wikipedia.org/wiki/Compiler

http://de.wikipedia.org/wiki/Linker

Ansonsten hilft evtl. auch die Seite hier weiter: guckst du :)


greetz

Dieser Beitrag wurde von nobido bearbeitet: 07. Dezember 2012 - 11:49

1

#3 Mitglied ist offline   Ludacris 

  • Gruppe: Moderation
  • Beiträge: 4.689
  • Beigetreten: 28. Mai 06
  • Reputation: 218
  • Geschlecht:Männlich

geschrieben 07. Dezember 2012 - 12:39

Wow, ihr lernt PHP in der Fachrichtung Anwendungsentwicklung?

Ich kann dir gerne die Unterlagen vom Grundlagen der Programmierung Kurs von meiner FH hochladen, da lernst du die Grundlagen in C & C++ sowohl auf Windows als auch auf Linux (von simpler I/O bis hin zu Multithreaded Applications und Server / Client Kommunikation)
1

#4 Mitglied ist offline   Pitanium 

  • Gruppe: Mitglieder
  • Beiträge: 9
  • Beigetreten: 07. Dezember 12
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Dresden
  • Interessen:Programmierung

geschrieben 07. Dezember 2012 - 14:00

@nobido Das mit dem Compiler hatte ich schonmal gelesen. Aber wahrscheinlich nur überflogen und das wichtigste übersehen :D Jetzt ist da schon mehr Verständnis vorhanden.

@Ludacris Das PHP haben wir einer in Leipzig ansässigen Firma zu verdanken ;) Die meinten doch, dass der TÜV Rheinland perfekt dafür geeignet ist die theoretische Ausbildung zu übernehmen. Deshalb wurde die komplette Programmierung in den Sommerferien (2011) von C++ auf PHP umgestellt was wir auch erst zu Ausbildungsbeginn erfahren haben.
Das mit den Unterlagen wäre schon eine tolle Sache, wenn du das machen würdest. Da wäre ich dir auf jedenfall sehr Dankbar :)
Computer helfen uns Probleme zu lösen, die wir ohne ihnen gar nicht hätten.

Eingefügtes Bild
0

#5 Mitglied ist offline   XDestroy 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.911
  • Beigetreten: 08. August 02
  • Reputation: 0

geschrieben 17. Februar 2013 - 16:08

Naja PHP ist auch nicht schlecht. Kann man immer gebrauchen. Aber ansonsten weißt du ja jetzt wie es läuft auf dem Markt. Da interessiert es keinen was du lernen willst, sondern womit du produktiv Kohle schaffen kannst. :)

Ansonsten kommst du um ein gutes Buch zu deinem Thema nicht herum. Kommt jetzt drauf an was du genau wissen willst. Theoretische Grundlagen wie ein Programm funktioniert an sich (das kann sehr viel sein!) oder einfach nur wie man in C/C++ programmiert?
0

#6 Mitglied ist offline   Pitanium 

  • Gruppe: Mitglieder
  • Beiträge: 9
  • Beigetreten: 07. Dezember 12
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Dresden
  • Interessen:Programmierung

geschrieben 18. Februar 2013 - 00:08

@XDestroy Zufällig bin ich wieder über dieses Thema gestolpert :D Wie man C bzw. C++ Programmiert wird viel und auch gut erklärt. Zu den theoretischen Grundlagen habe ich aber wenig gefunden. Wahrscheinlich würde ich wesentlich mehr finden, wenn ich englische Suchergebnisse mit einbeziehe. Aber ich habe ehrlich gesagt keine Lust Seitenlange Artikel bzw. Bücher auf Englisch zu lesen. Ich behaupte von mir, dass ich der Englischen Sprache mächtig bin aber längere Texte zu lesen macht mir einfach keinen "Spaß" den ich sonst beim lesen von Büchern aufbringen kann (schreibt man das so? Bin die letzten Tage bisschen durcheinander :blush: )
Computer helfen uns Probleme zu lösen, die wir ohne ihnen gar nicht hätten.

Eingefügtes Bild
0

#7 Mitglied ist offline   RalphS 

  • Gruppe: VIP Mitglieder
  • Beiträge: 8.902
  • Beigetreten: 20. Juli 07
  • Reputation: 1.126
  • Geschlecht:Männlich
  • Wohnort:Zuhause
  • Interessen:Ja

geschrieben 18. Februar 2013 - 00:38

- Kompilieren ist nichts weiter als ein Übersetzen, völlig analog zu Stuhl => chair oder Stuhl = 1010110.

Steig einfach mal hier ein:

- Portable Executable Format (PE) (Windows)
- Executable and Linking Format (ELF) (UNIX und verwandte Systeme)


Mit Programmieren und Theorie hat das aber eher weniger zu tun. Eher mit Compilerbau.

Grundlagen der Programmierung gehen dann eher in Richtung Standardkonstrukt - Bedingungen, Schleifen --; Konzepte - also die Entwicklung von optimalen und effizienten Algorithmen -- und so weiter. Das hat dann allerdings nichts mit Programmiersprachen zu tun, sowas läßt sich in allen realisieren, nur halt jeweils etwas anders formuliert.

Würd Dir dringend empfehlen, Dich nicht auf Deutsches zu beschränken.

Standardlektüre ist hier "Introduction to Algorithms" von Cormen, Leiserson, Rivest, & Stein.

Dieser Beitrag wurde von RalphS bearbeitet: 18. Februar 2013 - 00:39

"If you give a man a fish he is hungry again in an hour. If you teach him to catch a fish you do him a good turn."-- Anne Isabella Thackeray Ritchie

Eingefügtes Bild
Eingefügtes Bild
0

#8 Mitglied ist offline   XDestroy 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.911
  • Beigetreten: 08. August 02
  • Reputation: 0

geschrieben 18. Februar 2013 - 01:29

Ja ich glaub ja auch, dass es hier weniger ums Programmieren geht, sondern um Rechnerarchitekturen bis hin zu Compilerbau. Das ist ein anderes Thema und ist theoretisch und hat nix mehr mit reinem Programmieren zu tun. Wobei ich persönlich empfehlen kann erstmal ein bisschen Programmieren zu lernen. Irgendwie hab ich dadurch die Bücher zu anderen Themen leichter verstanden. Die gehen alle ein bisschen davon aus, dass man weiß wie die Sprache C so ist.
0

#9 Mitglied ist offline   Kirill 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.590
  • Beigetreten: 04. Dezember 06
  • Reputation: 121
  • Geschlecht:Männlich
  • Wohnort:BT

geschrieben 28. Februar 2013 - 15:19

Wenn man wissen will, was im Hintergrund so alles passiert, wenn man irgendwo auf einen Button klickt, kommt man kaum um Assembler herum. Wobei das Thema arg einstiegsunfreundlich ist.
Most rethrashing{
DiskCache=AllocateMemory(GetTotalAmountOfAvailableMemory);}
0

#10 Mitglied ist offline   Holger_N 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.170
  • Beigetreten: 11. September 10
  • Reputation: 458
  • Geschlecht:Männlich

geschrieben 28. Februar 2013 - 22:41

Also ich verstehe das genau andersrum, also nicht dass es um technisch, praktische Details geht und bei den Hintergründen nicht um Hintergrundprozesse des Rechners, sondern doch schon um theoretisceh Details und bei den Hintergründen eher um die Philosphie, die hinter der Programmierung steht. Er möchte nicht in die praktische Programmierung einsteigen, ohne die Theorie im Grundsatz zu verstehen.
Bauernregel: Regnets mächtig im April, passiert irgendwas, was sich auf April reimt.
0

#11 Mitglied ist offline   Kirill 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.590
  • Beigetreten: 04. Dezember 06
  • Reputation: 121
  • Geschlecht:Männlich
  • Wohnort:BT

geschrieben 01. März 2013 - 08:08

Meiner Meinung nach kann man die Theorie deutlich besser verstehen, wenn man weiß, was da denn genau verläuft.
Most rethrashing{
DiskCache=AllocateMemory(GetTotalAmountOfAvailableMemory);}
0

#12 Mitglied ist offline   XDestroy 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.911
  • Beigetreten: 08. August 02
  • Reputation: 0

geschrieben 01. März 2013 - 11:05

Erst Programmieren lernen. Dann vertiefen. Klingt zwar komisch, ist aber einfacher. Schlichtweg auch deshalb, weil die meiste Literatur so aufgebaut ist. Lern C oder C++ bevor du tiefer gehst.
0

#13 Mitglied ist offline   Holger_N 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.170
  • Beigetreten: 11. September 10
  • Reputation: 458
  • Geschlecht:Männlich

geschrieben 01. März 2013 - 11:22

Ja aber das läuft am Ende auf so eine Hühne-Ei-Frage hinaus.

Man kennt ja die Ausgangssituation nicht immer. Wenn einer nur ein Programm sieht und denkt "Sowas will ich auch entwickeln können." Dann kann der ja auch eine völlig falsche Vorstellung davon haben, wie Programmieren geht und will gar nicht mehr Programmieren lernen, wenn er es weiß. Und für dieses erste Verstehen gibts sicherlich kein Patentrezept. Der Eine murkelt intuitiv praktisch rum, es macht klick und er ist begeistert und der Andere verheddert sich, kommt gar nicht klar und verzweifelt. Die Nächsten versuchen es theoretisch und lassen sich das erklären. Und dabei wird Einer neugierig und ist total begeistert und der Andere sagt Hilfe, das ist nichts für mich.
Bauernregel: Regnets mächtig im April, passiert irgendwas, was sich auf April reimt.
0

#14 Mitglied ist offline   RalphS 

  • Gruppe: VIP Mitglieder
  • Beiträge: 8.902
  • Beigetreten: 20. Juli 07
  • Reputation: 1.126
  • Geschlecht:Männlich
  • Wohnort:Zuhause
  • Interessen:Ja

geschrieben 02. März 2013 - 21:16

"Erst Programmieren lernen"? Was soll das denn sein? :)

Es gibt einen Unterschied zwischen Scripten und Codieren und Programmieren. Der ist G-E-W-altig.


Programmieren ist letztlich nichts als die Übersetzung einer Problemlösung - die, und das ist GANZ wichtig, auf den (jeweiligen) Rechner optimiert ist. Dabei stehen Resourcenverbrauch und Geschwindigkeit an allererster Stelle. Das lernt man nicht mit Programmiersprachen; das lernt man über Algorithmen; erstere dienen dann lediglich dazu, dem Rechner letztere begreiflich zu machen.

Klar schadet es nicht, vorher ein paar Grundzüge kapiert zu haben - allerdings sind diese, *meines Erachtens*, trivial:

- Wenn A, tu B; sonst C ist eine ganz stinknormale if/then/else-Bedingung. Nur auf Deutsch formuliert. Ob ich da jetzt
if(a); then b; else c; fi;


oder
if(a)
{
 b
}
else
{
 c
}


oder aber
If a Then
 B
 Else C
EndIf


daraus mache ist *absolut völlig und total UNinteressant*.

Ganz und gar nicht uninteressant ist aber die Tatsache, daß -Bsp Gauß'sche Summenformel-:
r=0;
for(i=1;i<=n;i++)
{
 r++;
}
return r;


und
return n(n+1)/2; 


identisch sind, nur daß die zweite Version signifikant schneller das Ergebnis liefert.

Für sowas hilft einem keine der Programmiersprachen, genausowenig wie beim Lösungsansatz selber (den kann man nämlich in *allen* Sprachen umsetzen).

Dieser Beitrag wurde von RalphS bearbeitet: 02. März 2013 - 21:18

"If you give a man a fish he is hungry again in an hour. If you teach him to catch a fish you do him a good turn."-- Anne Isabella Thackeray Ritchie

Eingefügtes Bild
Eingefügtes Bild
0

#15 Mitglied ist offline   XDestroy 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.911
  • Beigetreten: 08. August 02
  • Reputation: 0

geschrieben 02. März 2013 - 23:14

Ich meinte nicht nur Psudocode-Mäßiges Algorithmen Coding, sondern schlichtweg die Sprache C bzw. C++. Zur Sprache gehört nicht nur die Syntax um das gleich klarzustellen. Einfach mal ein bisschen damit Arbeiten. Dann verstehen sich Compilerbau & Co. Bücher wesentlich leichter.

Gruß
XD
0

Thema verteilen:


  • 2 Seiten +
  • 1
  • 2

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0