PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ANSI C: ja oder nein



mike
22-09-2003, 21:05
Hi!
Ich weiß, dass solche Fragen sehr beliebt sind, aber ich muss sie einfach mal los werden :p
Und zwar: Bringt es sich noch ANSI C zu lernen? Wenn würde es mich für FreeBSD eventl. auch Linux interessieren. Auf diese Farge lautet natürlich die Antwort ja, da für diese OSes ja C++ eigentlich ein "Fremdwort" ist :)
Aber ist die Interesse in der Industrie noch da?

Danke euch!!!
mfg

Lin728
22-09-2003, 21:27
Nein, C++ ist überhaupt kein Fremdwort mehr. Es gibt für fast alles C++-Wrapper libs und eine menge frameworks, die nur mehr in C++ geschrieben sind.

Dennoch denke ich, dass C++ keine gute Einsteigersprache ist. Um ObjectOrientierte Programmierung im C++-Stil zu Lernen empfehle ich Java, um zu Lernen wie die Maschiene "denkt", ist C optimal.

Man kann danach noch in jedem Fall nach C++ "upgraden".

lg

anda_skoa
22-09-2003, 21:42
Original geschrieben von mike
Aber ist die Interesse in der Industrie noch da?


Durchaus. Welche Sprachen eingesetzt werden hängt stark vom Einsatzebiet ab.
Im Bereich DSPs wird praktisch ausschliesslicht C+Assembler benutzt.

Bei Mircokontrollern meistens auch.

Application Level macht man dann in einer Hochsprache, obwohl da auch manchmal C eingesetzt wird (siehe Software von Sun, GNOME, usw.)
Da ist dann aber echte Disziplin gefragt.

Solltest du dir überlegen C++ und C zu lernen, mach zuerst C++.
Eventuell vorher sogar Java, wie ceisserer schon gesagt hat.

Ciao,
_

mike
22-09-2003, 22:04
Hi!
Danke für eure Antwort!!
Also ich komme aus der Windows Programmierung (MFC, Win32 API, bisserl STL). Da ich jetzt bei einem Project statt Access PostgreSQL verwenden musste, bin ich von FreeBSD ganz fasziniert. Darum wollte ich nebenbei a bisserl drauf proggen ;) Aber ich hab immer verschiedene Meinungen gehört: UNIX und C++ erfordern eigentlich wieder ne Umwandlung oder so ähnlich (kann mich an den genauen Wortlaut nicht mehr erinnern - soweit ich weiß sprachen wir über "Daemons").
Meine Interesse wäre für den Anfang die Konsole - hab leider bei mir keinen Window Manager installiert ;)
Stimmt das mit der "Konvertierung" unter UNIX?

Danke euch!!!
mfg

Berufspenner
22-09-2003, 22:21
Stimmt das mit der "Konvertierung" unter UNIX? Was denn fpr eine Konvertierung?

Cu
André

mike
22-09-2003, 22:39
Klingt zwar blöde, aber ich weiß es aber nicht mehr. Ich hatte damals mit ihm eben über diese Daemons geredet (er war ein System Programmierer für HP UNIX oder so) und er hat gemeint, dass die alle in ANSI C geproggt wreden.

Aber im Großen und Ganzen ist mir jetzt schon einiges klarer geworden ;)
Ich werde mal versuchen, mir die ganzen UNIX/Linux Grundlagen anzueignen :)

Danke nochmals
cya&mfg

Lin728
23-09-2003, 07:33
Was du meinst, sind wahrscheinlich Wrapper-Bibliotheken.
Das sind im Grunde Bibliotheken, die z.B. einer C-Programmierbibliothek ein C++ Interface verschaffen, und es so dem C++-Programmierer ersparen, mit nicht OOP-basierenden C-Intrerfaces hantieren zu müssen.
Die ist z.B. bei GTK-- (C++-Wraper für GTK+) oder Threads-- der Fall.

Im Grunde ist jeden Bibliothek unter Linux mehr oder weniger eine Wrapper-Lib, da der Kernel ausschließlich auf C basiert, so gesehen sogar QT, da ja die X-Lib auf C basiert :-)

Dies ist aber auch unter Windows nicht anders, da ja auch die Win32-Library nur auf C basiert, und so gesehen auch jast alle Aufgaben über diese Bibliothek gelöst werden.
Die MFC ist ein sehgr gutes Beispiell dafür.

Dein Code ist und bleibt aber trotzdem C++, er greift höchstens auf C-Bibliotheken zu, das ist aber meistens so.
Das hat nix mit Unix zu tun, ist bei vielen anderen Sprachen auch so.

lg

anda_skoa
23-09-2003, 10:58
Original geschrieben von mike
Aber ich hab immer verschiedene Meinungen gehört: UNIX und C++ erfordern eigentlich wieder ne Umwandlung oder so ähnlich (kann mich an den genauen Wortlaut nicht mehr erinnern - soweit ich weiß sprachen wir über "Daemons").


C++ Quellcode muss man immer umwandeln, man nennt das Kompilieren.
Ist auch unter Windows nicht anders.
Daemons heißen unter Windows Systemdienste, sind aber in beiden Fällen mehr oder weniger normale Programme, die halt nur nicht von einem Benutzer gestartet werden, sondern meistens beim Systemstart.
D.h. das sie nicht mit einem Terminal verbunden sind, also keine Bildschirmausgaben machen können oder Tastatureingaben lesen können.

Ob der Daemon in C, C++, Pascal, oder was auch immer geschrieben ist, spielt keine Rolle.
Wie bei jedem anderen Programm kann jede Sprache verwendet werden, die entweder auf die Plattform kompiliert werden kann, oder mit einem Interpreter interpretiert werden kann (Scriptsprachen).



Meine Interesse wäre für den Anfang die Konsole - hab leider bei mir keinen Window Manager installiert ;)

Da ist nur ein Unterschied in den verwendbaren Bibliotheken, wie unter Windows, wo man bei einer Konsolen Applikation auch keine GUI Sachen benutzen kann und man auch nicht Eventbasiert arbeitet sondern mit einem direkten Kontrollfluss.


Stimmt das mit der "Konvertierung" unter UNIX?


Hängt davon ab, was du damit meinst.
Wenn du ein Windowsprogramm auf ein Unixsystem übertragen willst (portieren), musst du es auf andere APIs konvertieren, da Windows keine POSIX APIs kennt und meist eigene Konstruktionen einsetzt.

Ciao,
_

mike
23-09-2003, 14:24
Hi!
Das mit den Wrapperklassen dürfte es gewesen sein. Mich würde eher die Systemprogrammierung interessieren. Hab mir gestern noch ein Buch gesucht:
http://www.addison-wesley.de/main/main.asp?page=home/bookdetails&ProductID=7107
Kennt das jemand zufällig? Eine kleine Frage noch zu den Daemons: Apache, Postgre, usw. werden ja alle in C geproggt. Ist da der Vorteil, dass man systemnäher proggen kann oder warum verwendet man da wieder C?

mfg

anda_skoa
23-09-2003, 14:45
Original geschrieben von mike
Hi!
Das mit den Wrapperklassen dürfte es gewesen sein.

Ah, ok.
Wie ceisserer schon geschrieben hat unterscheidet sich das nicht von anderen Plattformen, ist also weder UNIX noch Linux spezifisch.



Mich würde eher die Systemprogrammierung interessieren. Hab mir gestern noch ein Buch gesucht:
http://www.addison-wesley.de/main/main.asp?page=home/bookdetails&ProductID=7107
Kennt das jemand zufällig?

Ich glaube das kennt fast jeder hier :)
Wir nennen es den "HH" :D



Eine kleine Frage noch zu den Daemons: Apache, Postgre, usw. werden ja alle in C geproggt. Ist da der Vorteil, dass man systemnäher proggen kann oder warum verwendet man da wieder C?

Ein Entwicklerteam verwendet immer die Sprache, die es am besten kann.
Wenn das C ist, nehmen sie eben C.

apache.org hat auch viele Teilprojekle in Java.

Ciao,
_

mike
23-09-2003, 16:43
Hi!
Na den werd ich mir das Buch besorgen
Danke für eure Antworten. Für mich wären jetzt alle Unklarheiten beseitigt :)

mfg