Metamorph

Hier kann jeder sich kurz vorstellen bzw. einen kurzen Steckbrief angeben.
Metamorph
Beiträge: 123
Registriert: Sa Jul 05, 2008 12:27 pm

Metamorph

Beitrag von Metamorph » Mo Jul 07, 2008 10:28 pm

So, dann will ich mich auch mal vorstellen.

Ich bin 20 Jahre alt und mache zur Zeit ein Fachabitur für Informatik.
Die erste Programmiersprache, die ich gelernt habe, war leider Delphi. Davon habe ich auch schon einiges verlernt.
Nun bin ich hauptsächlich an C/C++ und Java dran. Gelegentlich lerne ich auch ein bischen PHP und auch Assembler.^^
Meine Programmierkenntnisse sind noch ziemlich spärlich.
Ich habe aber vor, mich in Zukunft mit Themen wie KI-Programmierung, Compilerbau, Reverse-Engineering und Programmoptimierung, zu befassen.
Das wird noch ein weiter Weg sein. ^^

Neben dem Thema Programmierung befasse ich micht auch mit Computersicherheit.

Als Betriebssystem benutze ich mittlerweile zu 99,9% Linux (Ubuntu). Windows nur in äußersten Notfällen. :D

Benutzeravatar
Kerli
Beiträge: 1456
Registriert: So Jul 06, 2008 10:17 am
Wohnort: Österreich
Kontaktdaten:

Re: Metamorph

Beitrag von Kerli » Mo Jul 07, 2008 10:46 pm

Metamorph hat geschrieben:Ich habe aber vor, mich in Zukunft mit Themen wie KI-Programmierung, Compilerbau, Reverse-Engineering und Programmoptimierung, zu befassen.
Da hast dir viel vorgenommen...
Metamorph hat geschrieben:Als Betriebssystem benutze ich mittlerweile zu 99,9% Linux (Ubuntu). Windows nur in äußersten Notfällen. :D
Noch einer. Bin ich ja gar nicht so allein :D
"Make it idiot-proof and someone will invent an even better idiot." (programmers wisdom)

OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Metamorph

Beitrag von Xin » Mo Jul 07, 2008 11:50 pm

Metamorph hat geschrieben:Ich habe aber vor, mich in Zukunft mit Themen wie KI-Programmierung, Compilerbau, Reverse-Engineering und Programmoptimierung, zu befassen.
In Sachen Compilerbau bist Du bei mir richtig ^^
Damit beschäftige ich mich schon seit 2001 und der Bereich des Compilerbaus ist noch ein Bereich für Abenteurer der Informatik, da gibt es noch viele weiße Flecken auf der Wissenslandkarte. Wohingegen KI natürlich nahezu ein unentdeckter Kontinent ist ;-)
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

aqe89
Beiträge: 70
Registriert: Sa Jul 05, 2008 9:36 am
Wohnort: Schweiz

Re: Metamorph

Beitrag von aqe89 » Di Jul 08, 2008 5:15 pm

Neben dem Thema Programmierung befasse ich micht auch mit Computersicherheit.
Da hin habe ich auch immer wieder abstecher gemacht. Ist ein interessantes Thema. besonders von Linux und BSD.
ja aber es kann doch kein Künstliche Intelligenz geben;)
über leg mal wie du an ein Problem herangest. und ob du einfache ableufe programmieren könntest.

schau mal wie du lernst, du machst etwas und wenn es dir Weh tut wirst du es nicht gleich wieder machen. so könnte man auch ein Programm schreiben.
aber der Speicher würde dafür nach einer weile nicht mehr reichen. man würde ein paar Exabyte oder mehr brauchen.
Aber es wird möglich sein.

Metamorph
Beiträge: 123
Registriert: Sa Jul 05, 2008 12:27 pm

Re: Metamorph

Beitrag von Metamorph » Di Jul 08, 2008 6:11 pm

Kerli hat geschrieben: Da hast dir viel vorgenommen...
Oh ja. ^^
Ich hoffe, dass ich das alles irgendwann auch machen werde. :D
Xin hat geschrieben:n Sachen Compilerbau bist Du bei mir richtig ^^
Das kann ich mir gut vorstellen. :)
Gut zu wissen.
aqe89 hat geschrieben:über leg mal wie du an ein Problem herangest. und ob du einfache ableufe programmieren könntest.

schau mal wie du lernst, du machst etwas und wenn es dir Weh tut wirst du es nicht gleich wieder machen. so könnte man auch ein Programm schreiben.
aber der Speicher würde dafür nach einer weile nicht mehr reichen. man würde ein paar Exabyte oder mehr brauchen.
Aber es wird möglich sein.
Dem stimme ich zu. Mir ist aufgefallen, dass gewisse menschliche Verhaltensweisen im Vergleich zu einem Programm nicht allzu verschieden sind.
Es ist schon möglich, lernfähige KIs zu programmieren. Eine wichtige Vorraussetzung, um diesen Begriff zutreffender zu machen.

Ich bin mir sicher, dass Codeoptimierung in diesem Bereich auch nur nützlich sein kann. Eine KI benötigt mehr Ressourcen als eine normale Anwendung. Deswegen kann ein optimierter Code nicht schaden. (Das gleiche gilt eigentlich auch für normale Anwendungen.)
Obwohl ich mich noch nicht mit diesem Thema auskenne, glaube ich, dass das Thema Vererbung dafür sehr nützlich sein kann. Ist die Ursprüngliche Klasse schlecht programmiert, überträgt sich das auch auf die anderen Klassen.

Benutzeravatar
fat-lobyte
Beiträge: 1398
Registriert: Sa Jul 05, 2008 12:23 pm
Wohnort: ::1
Kontaktdaten:

Re: Metamorph

Beitrag von fat-lobyte » Mi Jul 09, 2008 6:49 am

Metamorph hat geschrieben:Ich bin mir sicher, dass Codeoptimierung in diesem Bereich auch nur nützlich sein kann. Eine KI benötigt mehr Ressourcen als eine normale Anwendung. Deswegen kann ein optimierter Code nicht schaden. (Das gleiche gilt eigentlich auch für normale Anwendungen.)
Obwohl ich mich noch nicht mit diesem Thema auskenne, glaube ich, dass das Thema Vererbung dafür sehr nützlich sein kann. Ist die Ursprüngliche Klasse schlecht programmiert, überträgt sich das auch auf die anderen Klassen.
Wenn du mal die soweit bist, dass du Templates und Concepts kannst, wirst du deine Freude damit haben. Diese liefern nämlich Allgemeinheit für 0 overhead. Falls du dann ganz lustig bist, kannst du dann deine Konstanten anstatt zur laufzeit zur Kompilierzeit mit Constexpressions oder Template Metaprogrammierung berechnen (Paradebeispiel Factorial).
Vielleicht hilft dir dieses Dokument dabei: es ist zwar etwas älter, und manche dinge funktionieren nicht mehr 1:1, aber du bekommst einen guten überblick. Ist nur ziemlich hohe C++ Schule...
Haters gonna hate, potatoes gonna potate.

Metamorph
Beiträge: 123
Registriert: Sa Jul 05, 2008 12:27 pm

Re: Metamorph

Beitrag von Metamorph » Mi Jul 09, 2008 6:08 pm

Danke für den Hinweis. Ich habe mir das Dokument angeschaut. Sehr kompliziert aber interessant. :)

Letztens habe ich im Buchladen ein Buch über die Optimierung von C++ Codes gesehen. Scheint sehr nützlich zu sein. Wenn ich etwas mehr Erfahrung in C++ habe, werde ich mir das Buch besorgen. ^^

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Metamorph

Beitrag von Xin » Mi Jul 09, 2008 7:45 pm

Metamorph hat geschrieben:Danke für den Hinweis. Ich habe mir das Dokument angeschaut. Sehr kompliziert aber interessant. :)

Letztens habe ich im Buchladen ein Buch über die Optimierung von C++ Codes gesehen. Scheint sehr nützlich zu sein. Wenn ich etwas mehr Erfahrung in C++ habe, werde ich mir das Buch besorgen. ^^
Effektive C++-Programmierung? Da gibt's mehrere von ;-)

Ansonsten wären Titel nie verkehrt, weil wenn ich in den Buchladen gehe und sage, dass ich mich für ein Buch interessiere, dann sagt der Verkäufer höchstens, dass der Trend inzwischen zum Zweitbuch geht...
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Metamorph
Beiträge: 123
Registriert: Sa Jul 05, 2008 12:27 pm

Re: Metamorph

Beitrag von Metamorph » Mi Jul 09, 2008 9:08 pm

Ich weiss leider nicht mehr wie das Buch heisst. Es ist auf jeden Fall vom Addison-Wesley-Verlag.

Es ist schade, dass effektive Programmierung in der heutigen Zeit nicht mehr so wichtig ist. Das wäre in jedem Bereich nur sinnvoll. Am schlimmsten ist es bei den Spielen oder bei Vista (Aero). ^^
Damals wurden die Programme mehr oder weniger den Computern angepasst. Mittlerweile ist es umgekehrt.
Und die dritte Welt erstickt an dem Elektroschrott.

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Metamorph

Beitrag von Xin » Mi Jul 09, 2008 10:17 pm

Metamorph hat geschrieben:Ich weiss leider nicht mehr wie das Buch heisst. Es ist auf jeden Fall vom Addison-Wesley-Verlag.
Das Buch heißt vermutlich "Effektive C++ Programmierung", ist von Addison Wesley und enthält 35 Tipps. Alternativ heißt das Buch "Mehr effektive C++ Programmierung", ist auch von Addison Wesley. Es gibt afaik noch einen 3. Teil, der bisher allerdings nicht übersetzt ist.
Metamorph hat geschrieben:Es ist schade, dass effektive Programmierung in der heutigen Zeit nicht mehr so wichtig ist. Das wäre in jedem Bereich nur sinnvoll. Am schlimmsten ist es bei den Spielen oder bei Vista (Aero). ^^
Effektive Programmierung ist durchaus wichtig.

Für die Fibunacci-Reihe gilt: (http://de.wikipedia.org/wiki/Fibonacci-Folge)
fib(0) = 0, fib(1) = 1, fib( i ) = fib( i-1 ) + fib( i-2 )

Oder als korrekte Abbildung in CPP:

Code: Alles auswählen

#include <iostream>

long long int fib( int i )
{
  if( i <= 1 ) return i;

  return fib( i - 1 ) + fib( i - 2 );
}

int main(void)
{
  std::cout << "fib von 60 ist: " << fib( 60 ) << std::endl;

  return 0;
}
Hmm... und nun warte ich darauf, wie lange ein MacBook braucht, um die 60. Fibonacci-Zahl auszurechnen. Das MacBook ist ein gutes Stück schneller als mein Desktop und da ich mir sonst hier die Finger wund schreibe... Es eignet sich hervorragend, um Akkulaufzeit zu vernichten, der Lüfter zeigt jedenfalls an, dass der Rechner gut beschäftigt ist... das Programm ist ein 1A-Pentium Killer, obwohl derzeit killt es einen Kern eines Core2Duo mit 2.2GHz. <däumchendreh>... Vielliecht hätte fib(55) auch gereicht... oder fib(50)... fib(40) ging noch in vertretbarer Zeit.
*gähn*... im Nachbarfenster werde ich schon nicht mehr als aktiver User aufgeführt...

Ich gebe auf, keine Lust mehr...

Code: Alles auswählen

ocalhost:test xin$ g++ fib.cpp 
localhost:test xin$ time ./a.out 
^C

real	19m5.712s
user	18m51.226s
sys	0m2.676s

localhost:test xin$ time ./a.out 
fib von 40 ist: 102334155

real	0m3.408s
user	0m3.345s
sys	0m0.015s

localhost:test xin$ time ./a.out 
fib von 45 ist: 1134903170

real	0m37.579s
user	0m37.022s
sys	0m0.113s
localhost:test xin$ 

Wer will fib von 60 oder 80 ausrechnen? (Prozessoren unter Volllast ziehen viel Strom und Strom ist teuer ;-))
Wenn man effizient programmiert, weiß ich nicht, ob time da überhaupt noch eine Zeit misst...

Wer also glaubt, dass effiziente Programmierung heute nicht mehr wichtig ist, der schreibt vermutlich auch nur Datenbank abfragen.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Antworten