PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : C/c++/c#



Newbie2001
29-03-2002, 17:43
Hallo!
Ich möchte in Zukunft etwas tiefer in die Materie Linux einsteigen und dazu eine Programmiersprache erlernen und diese vorallem im bereich Netzwerk/Sicherheit nutzen um einmal die Konzepte und die Sources zu verstehen und villeicht auch selber etwas dazu zu dichten.
Nun stellt sich mir die Frage, welche Programmiersprache sich für diesen Bereich wohl am meisten empfiehlt ? C oder C++ oder für die Zukunft doch C# ?

ponzellus
29-03-2002, 22:36
Hi!

wenn du bei linux richtig in die systemprogrammierung / netzwerkprogrammierung einsteigen willst, wirst du wohl um C nicht herumkommen. die meisten programme fuer linux und auch der kernel sind ebenfalls groesstenteils in C geschrieben, weshalb du erstmal C lernen solltest, um die sourcen zu verstehen, etc ;)

MfG
-ponzellus-

Newbie2001
09-04-2002, 20:44
und wie siehts mit dem rest aus ?
c++ kann man das für linux auch riegdnwie brauchen oder benutzen das mehr die m$ leute ? Oder das neue c# das soll ja auch sehr gut sein weil es schon auf dem system des programmierers kompiliert wird in so ne IL (Intermediate Language) und dann nur noch nen interpreter braucht

ponzellus
09-04-2002, 21:28
C++ kann man natuerlich auch fuer linux benutzen.
blackbox wurde z.b. in c++ geschrieben oder wenn du was mit Qt machen willst, wirst du auch um c++ nicht herum kommen...

kehj
10-04-2002, 15:18
Moin,

prinzipiell gibt es glaube ich so ziemlich alle Programmiersprachen auch f?r Linux. Das hei?t, es gibt Compiler f?r Linux.
C/C++ ist definitiv kein Problem, da gibt es (z.B.) den gcc Compiler.
C# ist schon schwieriger... Das Ding geh?rt glaube ich zum dotNET Framework, oder? Ich bin da nicht so bewandert ;)
Ich meine mal geh?rt zu haben, da? die Firma ximian das Framework portiert...
Wirf dazu mal 'n Blick auf http://www.go-mono.com/

Aber warum eigentlich C# ? F?r plattform-unabh?ngigen Code nimm Java. Ist objektorientiert, verbreitet und programmiert sich gut...

@Newbie2001: Das lese ich jetzt erst: C# wird interpretiert???

Newbie2001
12-04-2002, 20:52
yo, c# wird auf dem rechner des entwikcler kompiliert und zwar nicht in Maschienencode sondern in eine IL (Intermediate language). Die einzelnen Betriebssysteme brauchen dann nur noch einen Interpreter.
Also wenn ich das etz richtig sehe wird der Großteil von Linux noch in C geschrieben und für die GUIs wird meist C++ verwendet. Java will ich nicht unbedingt lernen, da ich der Meinung bin wenn ich mit C anfange ist es einfacher C# als java zu lernen weil die syntax nicht sehr unterschiedlich ist. Und wenn ich mich nicht irre ist C# doch auch eine objektorientierte Sprache, oder ?

kehj
12-04-2002, 21:14
Hm, ich dachte immer, da? C# "Just in time" (JIT) compiliert wird.
Interpreter sind doch langsamer als compilerter Code... Na ja...

Ach, ich wei?, du hast das schon oft geh?rt, aber:
Wenn du programmieren lernen willst, fang' nicht mit C an. Und wenn, dann besorg dir ein Buch, in dem du ANSI-C lernst.
(Mein Dozent meinte mal, wenn das "Hello Word" Programm mit
void main() anf?ngt, sollst du das Buch wegschmei?en ;)
Es m??te int main(void) hei?en...

Zaphod-B
12-04-2002, 21:42
Moin,
Linux und Programmiersprachen.
hm...
da geht so einiges, mal sehen ob ich alles zusammen kriege:

C, C++, C Objektive, Eiffel, Modula1, 2 und 3, Pascal, Fortran und natürlich Java.

Hab so ein Buch auf der Arbeit, wo das alles drin steht. Ich bin hier zu Hause und weiss nicht ob die Liste vollständig ist.


Greetings Zaphod-B

P.S.: Und natürlich Assembler. ;)

anda_skoa
12-04-2002, 23:10
Zwischen C++, Java und C# sind nicht viele Unterschiede, was Syntax anbelangt. Wenn man eine Sprache kann und man sich der wesentlichen Unterschiede bewußt ist, kann man sehr schnell eine der anderen Lernen.

Wenn man mit C++ beginnt, hat man den Vorteil, dass man nicht objektorientiert arbeiten muß und man sehr plattformnah arbeiten kann.
Allerdings wird es dadurch auch schwieriger. Die Standardbibliothek für Klassen (bzw. Templates) ist nicht so gut dokumentiert wie zB die Java Class Library.

Ich finde, Java ist eine sehr gute Sprache für Anfänger. Die Tutorials sind gut, gehen von den Grundlagen weg bis zu speziellen Aufgaben wie Server/Client Programmierung.
An der TU Graz wird in vielen Lehrveranstaltungen Java programmiert und, soweit ich weiß, wird es auch in den Grundveranstatlungen als Einsteigersprache eingesetzt.

Ciao,
_

itsme
12-04-2002, 23:26
Als erste Programmiersprache würde ich Java empfehlen. Da sich C# und Java sowohl von der Syntax als auch in der Funktionsweise (oberflächlich betrachtet!) sehr ähnlich sind sehe ich eigentlich keinen Grund C# zu lernen, ausser du benötigst wirklich bestimmte Komponenten des .NET Frameworks. Der Umstieg von Java zu C# ist dann auch sehr einfach da Microsoft praktisch alles von Java geklaut hat. :) Oh und so nebenbei: Lass dich von der "hohen Kunst der objektorientierten Programmierung" nicht abschrecken -nach kurzer Zeit wirst du die Vorteile zu schätzen wissen.

C# verwendet einen JIT-Compiler der den Code übersetzt wenn er benötigt wird. Das ist aber mehr was für's Marketing da die Geschwindigkeitsgewinne kaum bemerkbar sind.

Newbie2001
13-04-2002, 10:25
also gut, leute ihr verwirrt mich echt immer mehr :confused: und ich hab keine ahnung womit ich jetzt anfangen soll. Jeder sagt was anderes. Ich möchte vorallem einmal den im Bereich Netzwerk, Server, Netzwerksicherheit verwendeden Code verstehen und somit erstmal verstehen wie das dort alles funktioniert. Wird dort auch so viel Java verwendet oder hat Java da eher ein anderes Anwendungsgebiet ?

itsme
13-04-2002, 11:15
Sobald es möglichst "systemnah" sein soll kommst du an C bzw. C++ nicht vorbei. Solltest du aber noch nicht programmieren können, suchst du dir vielleicht etwas einfacher um die "Basics" zu verstehen. Eigentlich ist es nicht sooo wichtig mit was du anfängst -kann man eine Sprache, kann man alle. Das einzige neue ist meist die Syntax.

Newbie2001
13-04-2002, 20:38
ok, hab mir etz von der SuSE Press das Buch C-Programmierungunter Linux gekauft (is ganz neu,v om Januar 2002). danke für eure Beratung !