<?xml version="1.0" encoding="iso-8859-1" standalone="no"?> <!-- The FreeBSD Documentation Project The FreeBSD German Documentation Project $FreeBSD$ $FreeBSDde: de-docproj/books/developers-handbook/introduction/chapter.sgml,v 1.12 2012/04/22 20:07:16 bcr Exp $ basiert auf: 1.21 --> <chapter id="introduction"> <chapterinfo> <authorgroup> <author> <firstname>Murray</firstname> <surname>Stokely</surname> <contrib>Beigetragen von </contrib> </author> <author> <firstname>Jeroen</firstname> <surname>Ruigrok van der Werven</surname> </author> </authorgroup> <authorgroup> <author> <firstname>Fabian</firstname> <surname>Borschel</surname> <contrib>Übersetzt von </contrib> </author> </authorgroup> </chapterinfo> <title>Einführung</title> <sect1 id="introduction-devel"> <title>Unter FreeBSD entwickeln</title> <para>Hier sind wir also. Ihr System ist vollständig installiert und Sie wollen mit dem Programmieren beginnen. Aber womit sollen Sie anfangen? Was bietet Ihnen FreeBSD? Was kann es für einen Programmierer tun?</para> <para>Dies sind einige der Fragen, welche dieses Handbuch zu beantworten versucht. Natürlich gibt es, analog zu anderen Berufen, auch bei Programmierern unterschiedliche Leistungsniveaus. Für die einen ist es ein Hobby, für die anderen ist es der Beruf. Die Informationen in diesem Kapitel dürften eher für den Programmieranfänger geeignet sein; allerdings könnte es auch für Programmierer, die bisher nichts mit der &os;-Plattform zu tun hatten, interessante Informationen enthalten.</para> </sect1> <sect1 id="introduction-bsdvision"> <title>Die Vision von BSD</title> <para>Ziel ist es, das bestmögliche &unix;-artige Betriebssystempaket zu erstellen, mit dem gebührenden Respekt gegenüber der Ideologie der ursprünglichen Software, sowie der Bedienbarkeit, Leistungsfähigkeit und Stabilität.</para> </sect1> <sect1 id="introduction-archguide"> <title>Grundlegende Richtlinien</title> <para>Unsere Ideologie kann durch die folgenden Leitfäden beschrieben werden.</para> <itemizedlist> <listitem> <para>Füge keine neue Funktionalität hinzu, solange ein Programmierer diese nicht zur Fertigstellung einer realen Anwendung benötigt.</para> </listitem> <listitem> <para>Zu entscheiden, was ein System ist, ist genauso wichtig wie zu entscheiden, was ein System nicht ist. Versuchen Sie nicht, alle möglichen Wünsche zu erfüllen; machen Sie lieber das System erweiterbar, so dass zusätzliche Bedürfnisse in einer aufwärtskompatiblen Weise bedient werden können.</para> </listitem> <listitem> <para>Das Einzige, das schlimmer ist, als von einem Beispiel auf die Allgemeinheit zu schließen, ist, von überhaupt keinem Beispiel auf die Allgemeinheit zu schließen.</para> </listitem> <listitem> <para>Solange ein Problem nicht vollständig verstanden wurde, ist es besser, keine Lösung bereitzustellen.</para> </listitem> <listitem> <para>Wenn Sie 90% des gewünschten Effektes bei nur 10% des Aufwands erreichen können, sollten Sie besser die einfachere Lösung verwenden.</para> </listitem> <listitem> <para>Grenzen Sie Komplexität so gut wie möglich ein.</para> </listitem> <listitem> <para>Stellen Sie Mechanismen anstelle von Strategien bereit. Überlassen Sie insbesondere Strategien für die Benutzerschnittstelle dem Benutzerprogramm.</para> </listitem> </itemizedlist> <para>Aus Scheifler & Gettys: "X Window System"</para> </sect1> <sect1 id="introduction-layout"> <title>Der Aufbau von <filename class="directory">/usr/src</filename></title> <para>Der vollständige Quelltext von FreeBSD ist über unser öffentliches Repository verfügbar. Der Quelltext wird normalerweise in <filename class="directory">/usr/src</filename> abgelegt und enthält die folgenden Unterverzeichnisse:</para> <para> <informaltable frame="none" pgwide="1"> <tgroup cols="2"> <thead> <row> <entry>Verzeichnis</entry> <entry>Beschreibung</entry> </row> </thead> <tbody> <row> <entry><filename class="directory">bin/</filename></entry> <entry>Quelldateien für Dateien in <filename>/bin</filename></entry> </row> <row> <entry><filename class="directory">cddl/</filename></entry> <entry>Quelldateien für Programme, die unter der Common Development and Distribution License stehen</entry> </row> <row> <entry><filename class="directory">contrib/</filename></entry> <entry>Quelldateien für Dateien von beigesteuerter Software</entry> </row> <row> <entry><filename class="directory">crypto/</filename></entry> <entry>Quelldateien für die Kryptographie</entry> </row> <row> <entry><filename class="directory">etc/</filename></entry> <entry>Quelldateien für Dateien in <filename class="directory">/etc</filename></entry> </row> <row> <entry><filename class="directory">games/</filename></entry> <entry>Quelldateien für Dateien in <filename class="directory">/usr/games</filename></entry> </row> <row> <entry><filename class="directory">gnu/</filename></entry> <entry>Programme, die unter der GNU Public License stehen</entry> </row> <row> <entry><filename class="directory">include/</filename></entry> <entry>Quelldateien für Dateien in <filename class="directory">/usr/include</filename></entry> </row> <row> <entry><filename class="directory">kerberos5/</filename></entry> <entry>Quelldateien für Kerberos Version 5</entry> </row> <row> <entry><filename class="directory">lib/</filename></entry> <entry>Quelldateien für Dateien in <filename class="directory">/usr/lib</filename></entry> </row> <row> <entry><filename class="directory">libexec/</filename></entry> <entry>Quelldateien für Dateien in <filename class="directory">/usr/libexec</filename></entry> </row> <row> <entry><filename class="directory">release/</filename></entry> <entry>Dateien, die für die Erstellung eines FreeBSD-Releases nötig sind</entry> </row> <row> <entry><filename class="directory">rescue/</filename></entry> <entry>Bausystem für die <filename class="directory">/rescue</filename>-Programme</entry> </row> <row> <entry><filename class="directory">sbin/</filename></entry> <entry>Quelldateien für Dateien in <filename class="directory">/sbin</filename></entry> </row> <row> <entry><filename class="directory">secure/</filename></entry> <entry>Quelldateien für FreeSec</entry> </row> <row> <entry><filename class="directory">share/</filename></entry> <entry>Quelldateien für Dateien in <filename class="directory">/usr/share</filename></entry> </row> <row> <entry><filename class="directory">sys/</filename></entry> <entry>Kernel-Quelldateien</entry> </row> <row> <entry><filename class="directory">tools/</filename></entry> <entry>Programme zum Verwalten und Testen von FreeBSD</entry> </row> <row> <entry><filename class="directory">usr.bin/</filename></entry> <entry>Quelldateien für Dateien in <filename class="directory">/usr/bin</filename></entry> </row> <row> <entry><filename class="directory">usr.sbin/</filename></entry> <entry>Quelldateien für Dateien in <filename class="directory">/usr/sbin</filename></entry> </row> </tbody> </tgroup> </informaltable> </para> </sect1> </chapter>