Würde gerne meine hilfe anbieten
-
Ja, ok ... ich werde wohl entweder was zu C (Netzwerkprogrammierung, Datenbank, CGI) oder Java (Datenbank, GUI) machen. Heute gebe ich bescheid was ich jetzt machen werde.
Hier ist nochmal ein Stück von dem C-Tutorial, damit ihr wisst wie es ausgesehen hätte:Allgemeines
C wurde 1971 als Gundlage für das Betriebssystem UNIX in den USA entwickelt (UNIX ist zu über 90% in C geschrieben). 1978 wurde von Brian Kernighan und Dennis Ritchie eine eindeutige Sprachedefinition entwickelt. C ist mittlerweile von ANSI und ISO standardisiert. Heutzutage ist C (und ihr Nachfolger C++) die dominierende Programmiersprache. Sehr viele Anwendungen sind in C geschrieben. Leider ist C jedoch nicht einfach zu lernen, daher eignet es sich nur bedingt für Anfänger. Mit etwas Übung kann man damit jedoch sehr effiziente Programme schreiben.
C ist sehr eng an Assembler angelehnt, aber trotzdem Hardware-unabhängig. Das bedeutet, Sie können maschinennahe Programme sehr leicht (aber nicht ganz ohne Aufwand) auf ein anderes System portieren. Sie benötigen dazu lediglich einen anderen Compiler, und Inline-Assembler Anweisungen (Assembleranweisungen innerhalb eines C-Programmes) müssen der neuen Hardware (Prozessor) angepasst werden.
Geschichte
1971 C wird entwickelt
1978 Kernighan und Ritchie definieren die Sprache.
1983 ANSI und ISO standardisieren C.
1992 Bjarne Stroustrup enwickelt die Nachfolgesprache C++.Aufbau eines C-Programmes
C-Programme haben keinen fixen Aufbau wie z.B. Pascal. Es gibt zwar gewisse Regeln, aber sonst sind dem Programmierer alle Freiheiten überlassen. Der folgende "Beispiel-Aufbau" ist daher nicht zwingend und kann durchaus verändert werden.
#include <stdio.h> // int main(void) { //Anweisungen return 0; }
Die Beschreibung:
- Die beiden #include <...> Anweisungen sagen dem Compiler, welche Header-Dateien er einbinden soll. In den
Header-Dateien und den dazugehörigen Bibliotheken stehen Anweisungen und Datentypen, die nicht im Compiler
implementiert sind. Dazu ein Beispiel: Mathematische Anweisungen wie +,-,*, etc. sind, weil oft benötigt, im
Compiler "eingebaut". Ein- und Ausgabefunktionen jedoch, die verhältnismäßig selten benötigt werden, stehen in
der Datei "stdio.h".
- "void main(void)" definiert ein Unterprogramm mit dem Namen main, das keine Parameter hat (void) und eine ganze
Zahl (int) zurückliefert. "main" ist aber nicht irgendein Unterprogramm, sondern es wird beim Programmstart
aufgerüfen. Es entspricht daher dem "Hauptprogramm" von Pascal.
- Die geschwungenen Klammern beginnen bzw. beenden einen Block, in diesem Fall den von "main".
-
gehts schon los: "//" kommentare sind in c nicht definiert, nur "/**/", und normalerweise nimmt man nicht die int main(void) sondern int main(int argc, char **argv). "C ist sehr eng an Assembler angelehnt, aber trotzdem Hardware-unabhängig." beisst sich in sich: erstens ist c eine ganze abstraktionsschicht höher und wie ich finde eigentlich garnicht so nah an asm dran, allein wenn ich an funktionsaufrufe oder strukturen denke
aber ich denke java gui/datenbanken kommt wirklich gut an
-
Korbinian schrieb:
gehts schon los: "//" kommentare sind in c nicht definiert,
Muss dich korrigieren, // ist in C99 definiert (http://www.pronix.de/pronix-654.html).
aber ich denke java gui/datenbanken kommt wirklich gut an
Denke ich auch, java/db wäre nett.
EDIT:
oder c mit dbMfG
GPC
-
Nur wenn ich einmal einen kleinen Einwandt bringen darf: Hieß es nicht C++-Magazin? War nicht auch mal die Rede, dass vielleicht irgendwann mal als gedruckte Form vorzulegen?
Bei manchen Dingen, wie z.B. C# oder den theoretischen Sachen, die mann ja mehr oder weniger direkt in C++ anwenden kann, finde ich dass ok (wobei ich mich auch beim C#-Artikel schon etwas gewundert habe). Wenn jetzt aber alle Leute anfangen, über 1000 verschiedene Sprachen zu schreiben, dann ist es schon wieder nicht, was es afair ursprünglich sein sollte: Ein C++-Magazin, weil es kein solches bereits gab! Soll man sich dann irgendwann durch X-tausend Seiten voller Java/C/C#/VB/Pascal/PHP/PERL/Python/LISP/TCL/LATEX wühlen, um als C++-Programmierer überhaupt mal die Artikel herauszufiltern, mit denen man überhaupt wirklich etwas anfangen kann?
Irgendwie sehe ich da dann den Sinn den Magazins verfälscht, aber vielleicht irre ich mich da ja
-
Reyx schrieb:
Hieß es nicht C++-Magazin?
Es heißt sogar noch immer so
War nicht auch mal die Rede, dass vielleicht irgendwann mal als gedruckte Form vorzulegen?
Ja und?
Bei manchen Dingen, wie z.B. C# oder den theoretischen Sachen, die mann ja mehr oder weniger direkt durchaus in C++ benutzen kann, finde ich dass ok (wobei ich mich auch beim C#-Artikel schon etwas gewundert habe).
Weil?
Wenn jetzt aber alle Leute anfangen, über 1000 verschiedene Sprachen zu schreiben,
C,C++,C# und Java sind bisher vertreten (Java nur indirekt durch Sides Ant-Artikel). Ich weiß, du hast bewusst übertrieben, aber so schlimm ist es nicht, finde ich.
Ein C++-Magazin, weil es kein solches bereits gab!
Was soll's?! Mein Horizont geht über C++ hinaus. Dieses Projekt, das gerade läuft, gab's auch in der von dir bemängelten Form noch nicht.
Soll man sich dann irgendwann durch X-tausend Seiten voller Java/C/C#/VB/Pascal/PHP/PERL/Python/LISP/TCL/LATEX wühlen, um als C++-Programmierer überhaupt mal die Artikel herauszufiltern, mit denen man überhaupt wirklich etwas anfangen kann?
<sarkasmus>Jester fixt ja grad die suche, dann geht das schon</sarkasmus>
Im Ernst: Was spricht gegen Java und/oder C#??? Außerdem haben wir jetzt gerade 4 Artikel, die sich nicht mit C++ beschäftigen und 17 die das sehr wohl tun.
MfG
GPC
-
Ja, ich gebe Reyx da recht, das man solch ein Projekt nicht zu sehr ausufern lassen darf, sondern das man schon in etwa bei dem Konzept bleiben sollte, das man sich anfangs ausgesucht hat. Den C# Artikel finde ich hierbei noch nicht so wirklich verwerflich, da C# ja als "Nachfolger" von C++ gelten soll und da auch mal ein kleiner Blick nach links und rechts nicht schadet, aber das sollte eben nicht überhand nehmen.
MfG
-
Korbinian schrieb:
normalerweise nimmt man nicht die int main(void) sondern int main(int argc, char **argv).
Schwachsinn
-
Also als erstes zu den Komentaren über mein "C-tutorial". ->
Habe ich gesagt, dass es ANSI C ist? Ausserdem wäre das meiste sogar für das richtigWas soll ich den jetzt machen? Der eine sagt ja, der andere nein ... Datenbank mit C ?
-
zafiro schrieb:
Was soll ich den jetzt machen? Der eine sagt ja, der andere nein ... Datenbank mit C ?
Was würde dir eher liegen? Java und DB oder C und DB?
-
das ist mir eigentlich egal ... auch habe ich mir vorgenommen mindestens 6 Artikel zu schreiben (:D). Meinetwegen kann ich auch Java UND C machen.
-
zafiro schrieb:
das ist mir eigentlich egal ... [...] Meinetwegen kann ich auch Java UND C machen.
Also gut, dann entscheide selbst.
-
C -> Datenbank
Java -> GUINur womit ich anfangen soll weiß ich nicht ... das ist so schwer
-
zafiro schrieb:
C -> Datenbank
Mit dem da.
-
Vertexwahn schrieb:
Korbinian schrieb:
normalerweise nimmt man nicht die int main(void) sondern int main(int argc, char **argv).
Schwachsinn
danke für den überaus qualifizierten kommentar. wie wärs wenn du mal eine statistik aufstellst, wieviele c/c++ programme kommandozeilenparameter entgegen nehmen können, wenn nicht sogar essentiell drauf aufbauen?
also erstmal hirn einschalten, und dann posten...@reyx: dieses forum heisst auch c/c++ forum, aber java hat durchaus ein festes standbein hier. ich denke dass jede aktuelle sprache (c, c++, java, mc++, c#) gleichberechtigt ist. im gegenteil: ich finds eher interessant wenn artikel sich mit verschiedenen sprachen befassen, weil das meist einen grund hat. so lernt man doppelt: welche sprachen haben welchen vorteil, welche probleme löse ich wie.
-
Ach ja, fast hätte ich es vergessen: Über welche Datenbank soll ich den was schreiben?
-
@Korbinian
Bei C#/C/C++/Java ist dass eine Sache, aber mit z.B. Smalltalk sehe ich dass schon wieder etwas anders ... Aber gut, jedem seine MeinungDu hast insofern recht, als dass die Nutzung von Kommandozeilenparameter die entsprechenden Parameter in der main() voraussetzen. Da in seinem Beispiel jedoch keine Kommandozeilenparameter genutzt werden, währen diese überflüssig, würden den Programmstart (minimal) verlangsamen und Speicherplatz unnötig belegen. Und eine Aussage wie "normalerweise nimmt man ..." ist einfach falsch! Statistik hin oder her, hierbei kommt es auf den Anwendungszweck an.
@zafiro
Irgendwie habe ich das Gefühl, du willst einfach nur auf Teufel komm raus etwas schreiben. Sei doch selbst kreativ! Hier kann keiner wissen, wie es um deine persönlichen Vorlieben und/oder dein Können aussieht!Ich würde mich z.B. für eine C++-MySQL-Symbiose interessieren, aber letztendlich schreibst du den Artikel, also bestimmst du auch, wie der aussieht!
-
Also ich könnte was über PostgreSQL oder MySQL schreiben. Da ich mir aber nicht sicher war was ich nehmen soll (es muss ja auch euren wünschen entsprechen) habe ich lieber noch einmal nachgefragt ....
Du hast insofern recht, als dass die Nutzung von Kommandozeilenparameter die entsprechenden Parameter in der main() voraussetzen. Da in seinem Beispiel jedoch keine Kommandozeilenparameter genutzt werden, währen diese überflüssig, würden den Programmstart (minimal) verlangsamen und Speicherplatz unnötig belegen. Und eine Aussage wie "normalerweise nimmt man ..." ist einfach falsch! Statistik hin oder her, hierbei kommt es auf den Anwendungszweck an.
Das meine ich auch
-
zafiro schrieb:
Also ich könnte was über PostgreSQL oder MySQL schreiben. Da ich mir aber nicht sicher war was ich nehmen soll (es muss ja auch euren wünschen entsprechen) habe ich lieber noch einmal nachgefragt ....
Ich würde mich auch eher für C und MySQL aussprechen.
-
Reyx schrieb:
...Da in seinem Beispiel jedoch keine Kommandozeilenparameter genutzt werden, währen diese überflüssig...
Sicherlich. Ich hab auch nicht von dem Beispiel gesprochen, sondern von normalerweise was sich dann auf sagen wir mal 95% der Programme beziehen würde, womit ich mit meiner Statistik wieder dabei wäre. Aber man kann ka mal aneinander vorbei reden.
@zafiro: es gibt von mysql die mysql++, eine c++ wrapper klasse für mysql zugriffe, ein artikel dazu wäre sicher sehr interessant! (wollte das mal nehmen, bin dann aber irgendwie bei java gelandet, weils da leichter ging
-
oh leute .... ihr macht es mir so schwer. Aber widerrum ist es mir wichtig ein Artikel zu schreiben, womit die meisten wir auch was anfangen können.
Anfangen werde ich erst am Montag. Bis da hin kann hier jeder reinschreiben in welcher Sprache (C,C++,Java) er ein Artikel über Datenbank haben möchte.
Zwar meine ich auch, dass es mit Java leichter wird, aber darum geht es garnicht (hier gibt es ja wohl mehr leute die C/C++ können als Java !!??), aber wie gesagt warte ich bis montag.