C = C++ ?

Post Reply
Message
Author
Alex

C = C++ ?

#1 Post by Alex »

Hallöchen

Ist C++ eine Weiterentwicklung von C oder ist es was eigenes?
Bis jetzt habe ich nur ein wenig Shellskripting- und Perl Erfahrung, wobei ich sagen muss das ich auf Perl durch Zufall gestossen bin. Ansonsten beschäftige ich mich nur mit Webprogrammierung wie HTML oder XML und schreibe ab und an kleinere CGI-Skripte mit Perl.

Was lernt man am besten? C oder direkt C++?
Wenn man C++ lernt kann man dann auch C?
Ein Kumpel lernt jetzt C++ auf Windows mit allerdings sehr teurer Software die man wohl dafür braucht.

Meine Hauptfrage ist eigentlich nur ob es sinnvoll ist C zu lernen oder doch besser C++ weil man ja dann C vielleicht schon kann.
Bücher gibt es ja einige (Kehrein), doch als Anfänger darin zu blättern (und dann schief angeschaut zu werden warum man erst das halbe buch liest und es dann doch nicht kauft :) )bringt mich nicht weiter weil ich den Unterschied nicht erkennen kann.

Dank und Gruss

PS:Welche Bücher verwendet Ihr so ......denn ich glaube nicht dass man sowas mit Learning by doing gebacken bekommt.

Wolfgang

Re: C = C++ ?

#2 Post by Wolfgang »

Hi!

Deine Fragen sind nur subjektiv zu beantworten, weshalb ich das auch ganz bewusst tun werde. Und ich muss dazusagen, dass ich von C nicht extrem viel halte, von C++ aber noch weniger. Ich habe mich aber ausnahmsweise mal bemueht, halbwegs fair zu sein.

> Was lernt man am besten? C oder direkt C++?

Wenn man erst C++ lernt, aber dann C-Code anfassen muss, wird man voellig irritiert sein, weil vieles eben nicht so funktioniert wie erwartet. Das ist jetzt keine Vermutung von mir, sondern eigene Erfahrung. Ich wuerde definitiv erst C lernen, und zwar nicht nur oberflaechlich, sondern wirklich intensiv. Erst dann sollte man sich C++ zuwenden, und zwar nicht in der Erwartung, es sei ein "besseres C" oder eine "Erweiterung von C", sondern in der Annahme, hier etwas voellig neues zu lernen.

> Ist C++ eine Weiterentwicklung von C oder ist es was eigenes?

Kurze Antwort: C++ ist ein Tintenfisch, der erstellt wurde, indem man zusaetzliche Beine an einen Hund nagelte. <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">

Lange Antwort: C ist eine maschienennahe (d.h. in der Praxis leider vor allem schwer beherrschbare und fehleranfaellige) Programmiersprache, die dem prozeduralen und dem imperativen Paradigma folgt. Hauptsaechlich um direktere Unterstuetzung fuer Objektorientierung verfuegbar zu haben, wurde C++ entwickelt, indem C um entsprechende Features erweitert wurde; allerdings wurde dabei auch die Semantik von C an diversen Stellen verbessert, in seltenen Faellen auch verschlimmbessert. Ungluecklicherweise bestand die Evolution von C++ ueberwiegend darin, dass Unmengen neuer Features hinzugefuegt wurden. Manche Leute moegen es, so vieles in C++ verfuegbar zu haben, doch aus meiner Erfahrung heraus muss ich K&R (die "Erfinder" von C) zustimmen, wenn sie sagen, dass Sprachen mit weniger Features oft leichter zu beherrschen sind. Die Ursache dafuer liegt vermutlich darin, dass bei einer umfangreichen Sprache niemals alles 100%ig zusammenpassen wird (selbst bei "kleinen" Sprachen ist das praktisch schon unmoeglich), weshalb man immer wieder mit bizarrer Semantik zu kaempfen haben wird beim benutzen einer solchen Sprache.

Nun kann man noch Code schreiben, der sowohl in C als auch in C++ funktioniert und das gleiche tut. Sinnvoll ist das natuerlich meistens nicht, weil man sich doch sehr einschraenkt damit. Aber die beiden sind so weit voneinander entfernt, dass man sie durchaus besser als zwei voellig verschiedene Sprachen betrachtet, aehnlich wie C++ und Java. Bei oberflaechlicher Betrachtung beinhaltet C++ zwar sehr vieles von C, aber die Semantik ist eben in den Details oft anders. Dass jedoch viel C noch drinsteckt, fuehrt auch dazu, dass es keine rein objektorientierte Sprache ist, sondern Objektorientierung nur unter anderem anbietet. Das ist nicht notwenigerweise immer negativ, wird aber doch oft aus guten Gruenden kritisiert.

Und jetzt sollte auch klar sein, wie die "kurze Antwort" oben zu verstehen ist.

Cheers,
GNU/Wolfgang

user1

Re: C = C++ ?

#3 Post by user1 »

Kleine Korrektur:

C == C++ ?

<img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">

Gruss user1

Alex

Re: C = C++ ?

#4 Post by Alex »

Hi..

danke für die Antwort. Darf man mal fragen was Du so programmierst?.
-----------
von C nicht extrem viel halte, von C++ aber noch weniger. Ich habe mich aber ausnahmsweise mal bemueht, halbwegs fair zu sein.
-----------
Ich dachte immer C/C++ wäre eine Sprache die gerade aufgrund ihrer "Vielfältigkeit" so beliebt ist. Das es dann eine höhere Fehleranfälligkeit gibt ist mir schon klar.

Da ich nicht bei der Webprogrammierung hängen bleiben will suche ich mir halt etwas womit man auch "überall" was anfangen kann. Ich warte derzeit auf eine Umschulung zum Fachinformatiker, allerdings weiss ich nicht wirklich was da verlangt wird. Mir wurde mal gesagt ich soll mir mal VB anschauen, aber da habe ich glaub ich keine Ambitionen für. JAVA wüsste ich nicht was für einen Verwendungszweck das genau haben soll, abgesehen von der Plattformunabhängigkeit.

Mich würde mal interessieren was Ihr so für Sprachen sprecht und vor allen Dingen -WARUM-.

Danke und Gruss

Wolfgang

Re: C = C++ ?

#5 Post by Wolfgang »

Hi!

> danke für die Antwort. Darf man mal fragen was Du so programmierst?.

C wenn ich muss, Scheme wenn ich kann.

> Ich dachte immer C/C++ wäre eine Sprache die gerade aufgrund ihrer "Vielfältigkeit" so beliebt ist. Das es dann eine höhere Fehleranfälligkeit gibt ist mir schon klar.

Ich weiss nicht so recht, was du hier mit "Vielfaeltigkeit" meinst. Wenn damit gemeint ist, dass es dafuer viele Bibliotheken gibt, dann ist das richtig. Das ist auch ein Vorteil, der nicht abzustreiten ist, aber sollte lieber nicht zum Mass aller Dinge werden.

> Da ich nicht bei der Webprogrammierung hängen bleiben will suche ich mir halt etwas womit man auch "überall" was anfangen kann. Ich warte derzeit auf eine Umschulung zum Fachinformatiker, allerdings weiss ich nicht wirklich was da verlangt wird. Mir wurde mal gesagt ich soll mir mal VB anschauen, aber da habe ich glaub ich keine Ambitionen für. JAVA wüsste ich nicht was für einen Verwendungszweck das genau haben soll, abgesehen von der Plattformunabhängigkeit.

Ich will dich keinesfalls davon abbringen, C oder C++ zu lernen. Es schadet nicht, auch zumindest eine dieser Sprachen zu beherrschen, weil eine grosse Menge Freier Software darin (insbesondere in C) geschrieben ist.

> Mich würde mal interessieren was Ihr so für Sprachen sprecht und vor allen Dingen -WARUM-.

Es gibt viele verschiedene Programmiersprachen, die fuer unterschiedliche Zwecke unterschiedlich gut geeignet sind. Das liegt daran, dass sie verschiedene Abstraktionen zur Verfuegung stellen. Wenn man aber keine mehr-oder-weniger-trivialen, sondern umfangreiche und anspruchsvolle Aufgaben loesen moechte, wird man aber oft feststellen muessen, dass es keine Sprache gibt, die exakt die benoetigten Abstraktionen bietet. In diesem Fall verwendet man idealerweise einen LISP-Dialekt. LISP war eigentlich das Nebenprodukt des (erfolgreichen) Versuches, die Axiome der Programmierung zu finden. Aufgrund dessen bietet LISP die Moeglichkeit, neben den bereits vorhandenen auch beliebige eigene Abstraktionen zu definieren, und somit der Sprache genau die Features hinzuzufuegen, die man zum Loesen einer beliebigen anspruchsvollen Aufgabe braucht.

Welches LISP man verwendet, ist dabei eigentlich weniger wichtig. gemeinsam ist allen die Eigenschaft, dass Code und Daten auf die gleiche Weise repraesentiert werden. Ich benutze Scheme, wofuer ich unter anderem die folgenden Gruende habe:

1. Scheme ist ein sehr "sauberes" LISP, das klein und konsistent, aber beeindruckend durchdacht und flexibel ist. Scheme verstoesst gegen manche "LISP-Traditionen", wenn dies sinnvoll ist. Es macht einfach Spass, in Scheme zu programmieren und im Scheme-Standard zu lesen (ich bin immer wieder beeindruckt).

2. Scheme bietet zwei besondere Abstraktionen an: Lexical Scoping wurde eigentlich eingefuehrt, weil man Objektorientierung in LISP einfuehren wollte. Allerdings ist Lexical Scoping ein sehr grundlegender Mechanismus, der auch die Implementierung eigener Modulsysteme etc. ermoeglicht. Die andere ungewoehnliche Abstraktion sind Continuations. Diese ermoeglichen dem Programmierer eine direkte Kontrolle ueber den Ablauf-Fluss des Programms. Sie sind geeignet, um eine Unzahl von Mechanismen zu realisieren, darunter Exceptions und Co-Routinen ("kooperatives Multithreading"). Ein solch maechtiges Feature wie Continuations sollte man natuerlich nur vorsichtig einsetzen.

3. Die allgemeine Machtigkeit der Sprache ermoeglicht es einem, kreative und passende Loesungen zu finden und sich nicht in feste Denkmuster pressen zu lassen. So wird man ein guter Programmierer.

4. Scheme bietet "hygienische Makros". Diese sind nicht ganz so maechtig wie die traditionellen LISP-Makros, aber dafuer weit weniger fehleranfaellig. Da man Makros oft sinnvoll einsetzen kann, halte ich dies fuer besser.

5. Da das GNU-Projekt sich entschieden hat, Scheme als seine offizielle Erweiterungssprache zu verwenden, gibt es einen Scheme-Interpreter, der alles bietet was man sich so wuenscht: Guile. Neben den Scheme-Makros bietet er auch zusaetzlich die traditionellen LISP-Makros an, sodass man auch auf deren Maechtigkeit nicht grundsaetzlich verzichten muss. Er bietet eine Schnittstelle zu den ganzen POSIX-Funktionen, eine reichhaltige Bibliothek (die Hash-Tables, ein Objektsystem und vieles mehr beinhaltet) und fuer die Faelle, in denen man Performance braucht (was bekanntermassen nur in wenigen kritischen Teilen eines Programmes der Fall ist), hat er eine gute Schnittstelle zu C, wodurch man einzelne Module auch mal in C schreiben kann.

Ich koennte noch stundenlang weiterschreiben, aber muss jetzt mal was essen gehen. <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">

Cheers,
GNU/Wolfgang

Alex

Re: C = C++ ?

#6 Post by Alex »

Hi...

von Scheme hab ich schon gehört.
"Vielfältigkeit" .... damit meinte ich die Bibliotheken aber auch dass man sehr viele verschiedene Aufgaben damit lösen z.B. Grafische Oberflächen für alles mögliche. Wenn ich an Perl denke dass ich bis jetzt "nur" für CGI eingesetzt habe und zum Skripten für einige kleine Tools zur Administration.

Ich denke mal dass Du vorwiegend Technische Programmierung betreibst, sieht so aus wegen LISP. Ein Freund von mir der Elektrotechnik studiert hat sagte mir das LISP in seiner Branche sehr oft verwendet wird.

Nun habe ich mal eine zu dem Thema gehört :)

Danke Dir für die ausführliche Antwort und wünsche noch viel Spass beom coden :)

Gruss

Alex

Wolfgang

Re: C = C++ ?

#7 Post by Wolfgang »

Hi!

Und weiter geht's. <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">

6. Der Scheme-Standard ist frei. Es gibt eigentlich zwei Standards, einen der IEEE und einen mit praktischer Bedeutung: R5RS. Letzterer ist nicht nur fuer jeden verfuegbar, sondern darf auch als Grundlage fuer eigene Dokumentation verwendet werden. Der Scheme-Standard gehoert also der Scheme-Community.

7. Da Scheme so eine kleine Sprache ist, wurde das Konzept der SRFIs entwickelt (siehe srfi.schemers.org), das in groben Zuegen aehnlich wie RFCs funktioniert. Ein SRFI ist ein Erweiterungsvorschlag fuer Scheme. Jeder kann ein solches SRFI schreiben, es wird oeffentlich diskutiert, geaendert und irgendwann finalisiert (oder zurueckgezogen). Der fertige SRFI-Text ist dabei ebenfalls frei verwendbar. Es gibt unter den SRFIs etwa eine sehr umfangreiche Bibliothek zum Verarbeiten von Listen, eine fuer Strings, eine fuer Zeichenklassen, aber auch Mechanismen zur Internationalisierung und Lokalisierung von Programmen usw. Dieser offene Ansatz ist etwas, was man sonst meist nur bei Programmiersprachen findet, von denen nur eine Implementierung existiert.

8. Emacs bietet wunderbare Unterstuetzung fuer Scheme, d.h. man kann in einem Buffer (den ich in einem kleinen Window am unteren Bildschirmrand positioniere) einen Scheme-Interpreter laufen lassen und dort interaktiv Code eingeben und das Resultat sehen, und man kann von einem Buffer mit Scheme-Code direkt Ausdruecke an den Interpreter senden. So wird das Testen von Software deutlich bequemer.

9. Das Konzept der Rekursion verliert durch Scheme seinen Schrecken. Allgemein ist in LISP Rekursion etwas sehr natuerliches, weil die wichtigste Datenstruktur, die Liste, eine rekursive Datenstruktur ist. Scheme jedoch erfordert von seinen Implementierungen, dass diese Endrekursion korrekt optimieren (also dafuer keinen weiteren Platz auf dem Stack beanspruchen). Da Scheme dann auch noch weitgehend auf iterative Kontrollstrukturen verzichtet, gewoehnt man es sich an, rekursiven Code zu schreiben und zu verstehen. Auch das macht einem zu einem besseren Programmierer, behaupte ich.

Natuerlich bietet Scheme auch noch die typischen Vorteile anderer LISPs. Neben dem, was ich schon genannt habe, waere da z.B. zu erwaehnen, dass man sich nicht mit Syntax herumaergern muss, sondern sich auf die Semantik konzentrieren kann, und dass durch (verschachtelte) Listen viele Datenstrukturen wunderbar dargestellt werden koennen. Das ist dann aehnlich wie XML, nur ohne die haessliche XML-Syntax. Aber selbst regulaere Ausdruecke koennen damit dargestellt werden, und zwar auf eine deutlich lesbarere Art (kein Verlust der Lesbarkeit durch Backslashifizierung von Metazeichen etc.).

Was ich von anderen Sprachen halte? Von Ruby sehr viel, denn es hat wenigstens eine einigermassen simple Syntax, beinhaltet viele Elemente von Scheme (sogar Continuations!), hat die meisten praktischen Vorteile von Perl und folgt so konsequent dem Paradigma der Objektorientierung wie Smalltalk und hat auch noch eine wundervolle Schnittstelle zu C. Manche werden mich zwar gleich steinigen wollen, aber von Python halte ich nicht sonderlich viel, es ist fuer mich eher eine Art "schlechteres Ruby", doch ich empfehle Anfaengern gerne Python, weil es dafuer entsprechende (gute) Dokumentation auch in deutscher Sprache gibt, was in diesem Fall ein unschaetzbarer Vorteil ist - und wirklich schlecht ist Python keinesfalls. Meine Verwendung von Perl beschraenkt sich inzwischen weitgehend zwar auf "perl -pi -e 's/foo/bar/g' *", aber ich bin durchaus dankbar dafuer, dass es Perl gibt, denn es hat fuer echte Innovation unter den Programmiersprachen gesorgt. Da ich zu PHP nichts Positives sagen kann, schweige ich lieber ganz. =)

Ich persoenlich rate davon ab, sich davon blenden zu lassen, welche Sprache "weit verbreitet" ist. Der einzige sichere Vorteil einer weiten Verbreitung ist (neben eventuell uebersetzter Dokumentation) die Verfuegbarkeit einer Menge an Modulen oder Bibliotheken. Es hilft mir nicht, wenn ich 20 verschiedene X11-Toolkits zur Wahl habe, denn mir reicht ein gutes Toolkit, um eine GUI-Anwendung zu schreiben. Dass es gerade fuer C und C++ so viele Bibliotheken gibt, die eigentlich nur Schwaechen dieser Sprachen ausgleichen sollen, sollte darueber hinaus zu denken geben.

Cheers,
GNU/Wolfgang

Wolfgang

Re: C = C++ ?

#8 Post by Wolfgang »

Hi!

> "Vielfältigkeit" .... damit meinte ich die Bibliotheken aber auch dass man sehr viele verschiedene Aufgaben damit lösen z.B. Grafische Oberflächen für alles mögliche. Wenn ich an Perl denke dass ich bis jetzt "nur" für CGI eingesetzt habe und zum Skripten für einige kleine Tools zur Administration.

Man kann mit Perl auch GUI-Anwendungen schreiben. Das Installationsprogramm von LinuxPPC ist z.B. mit Perl/Gtk+ geschrieben. Im Bezug auf solche "Aeusserlichkeiten" legt man sich durch die Wahl einer bestimmten Programmiersprache noch lange nicht fest.

> Ich denke mal dass Du vorwiegend Technische Programmierung betreibst, sieht so aus wegen LISP. Ein Freund von mir der Elektrotechnik studiert hat sagte mir das LISP in seiner Branche sehr oft verwendet wird.

Haha, ich waere wirklich froh, wenn ich diesen ganzen Elektrotechnik-Kram verstehen wuerde (wobei die Tatsache, dass LISP dort beliebt ist mich motivieren koennte). Nein ehrlich, mehr als grundlegende Kenntnisse (d.h. zwei Jahre Elektrotechnik-Unterricht in der Schule) habe ich in dem Bereich nicht. Was ich betreibe, sollte sich am ehesten bezeichnen lassen als "systemnahe Programmierung", mit Ambitionen zur Systemprogrammierung. Ausserdem schreibe ich oft kleine experimentelle Testprogramme, um mein allgemeines Verstaendnis fuer Programmierung zu verbessern; nebenbei baue ich diese Programme dann auch als Beispiele in das Scheme-Buch ein, das ich schreibe...

Cheers,
GNU/Wolfgang

IchBins

Re: C = C++ ?

#9 Post by IchBins »

Naja, Programmiersprachen wählt man eigentlich nicht nach Schönheit aus, sondern nach dem gewünschten Anwendungszweck (und nach dem, was der Chef haben will).

Wenn ich mich nur auf das nackte Design und Konzept der Sprachen konzentrieren müsste, würde ich sagen, Java ist am "schönsten", C ganz OK, Assembler das Grauen, C++ überflüssig und VB einfach nur ein ganz übler und geschmackloser Witz (von Clones wie C# oder den diversen Scriptsprachen rede ich jetzt mal nicht).

Ansonsten zählt der Anwendungszweck:

Java: Extrem schnelle Applikationsentwicklung auch bei wirklich komplexen Aufgabenstellungen, sehr stabil, seit 1.4.0 auch schön schnell, _richtig_ plattforunabhängig aber für hardwarenahes oder Treibergeschichten nicht zu gebrauchen

C: Eine feine Sache nur dann, wenn man sich selber unter Kontrolle hat und sauber und strukturiert programmiert, da diese Sprache wirklich eklatante Designschwächen hat, die Code beliebig unleserlich und beliebig unwartbar machen; eventuell ist es eine Idee, erst mit dem vergleichsweise strengen Pascal anzufangen und dann erst du C überzugehen

Assembler: einfach nur schrecklich zu lesen, das sollte man nur auf Embedded Systems einsetzen, wenn der Platz knapp ist und auch das letzte Quentchen Performance gefragt ist.

C++: Wäre eigentlich genau so einzusetzen wie C aber es bringt die Designschwächen von C sowie noch ein paar eigene mit, so dass diese Sprache eigentlich nur ein Kauderwelsch aus Problemen und Relikten darstellt

VB: Wofür braucht man sowas eigentlich? <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">

Btw: letztendlich ist nicht wichtig, dass man (viele) Programmiersprachen kann, sondern dass man Programmieren kann (sowohl prozedural als auch objektorientiert). Das bisschen Syntax der verschiedenen Sprachen und Dialekte ist dann nicht mehr das Problem.

Alex

Re: C = C++ ?

#10 Post by Alex »

Hi ,

ok, das war ja sehr ausführich. Danke.

>Ich persoenlich rate davon ab, sich davon blenden zu lassen, welche Sprache "weit verbreitet" ist. <
Als Anfänger auf dem Gebiet muss man sich ja erst einmal informieren, einen kleinen Überblick habe ich ja jetzt.

>Naja, Programmiersprachen wählt man eigentlich nicht nach Schönheit aus, sondern nach dem gewünschten Anwendungszweck (und nach dem, was der Chef haben will).<
So mag es wohl sein, leider weiss ich nicht was "auf mich zukommt", wenn ich die Umschulung denn kriegen sollte. Ich wähle Fachinformatik nur deswegen weil ich in der Rihtung gerne mal arbeiten möchte. Was das im Endeffekt für Sprachen sind die man dort braucht weiss ich nicht.

>VB: Wofür braucht man sowas eigentlich?<
Es gibt Leute die damit gutes Geld verdienen, also das was wir alle gern wollen. :)

Mich erstaunt dass man soviel "negatives" über C/C++ hört. Jetzt wo ich einen Überblick habe werde ich mir mal etwas mehr Lektüre reinschaufeln und verschiedene Sachen ausprobieren.

Danke euch beiden :)

Wolfgang

Re: C = C++ ?

#11 Post by Wolfgang »

Hi!

IchBins schrieb:
> Btw: letztendlich ist nicht wichtig, dass man (viele) Programmiersprachen kann, sondern dass man Programmieren kann (sowohl prozedural als auch objektorientiert).

Und bitte nicht nur imperativ, sondern auch ein wenig funktional.

> Das bisschen Syntax der verschiedenen Sprachen und Dialekte ist dann nicht mehr das Problem.

Doch, *gerade* wenn man eigentlich programmieren kann, bleibt das Problem der Syntax, die man auswendig lernen muss, bestehen. Dabei laesst sich eigentlich alles in Form von symbolischen Ausdruecken darstellen. Aber das wird die Welt wohl nie verstehen. <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">

Alex schrieb:
> > VB: Wofür braucht man sowas eigentlich?
> Es gibt Leute die damit gutes Geld verdienen, also das was wir alle gern wollen. :)

Eine repraesentative Umfrage unter Jugendlichen ergab, dass ueber 40% Geld fuer das groesste Uebel der Menschheit halten. Das gibt mir Hoffnung. <img src="http://www.pl-forum.de/UltraBoard/Images/TooHappy.gif" border="0" align="middle">gt;

Cheers,
GNU/Wolfgang

Ich Bins

Re: C = C++ ?

#12 Post by Ich Bins »

Naja, die Syntax ist doch wirklich kein Problem. Zum einen finden sich auch in den unterschiedlichsten Sprachen Gemeinsamkeiten und ähnliche Befehle und zum anderen gibts ja wohl auch noch Dokus. Spätestens wenn ich einen Befehl zum dritten mal nachgeschlagen habe, weiß ich ihn oder ich hab ein Bookmark auf die Seite gemacht, so dass ich ihn beim 4. mal schneller finde.

Btw: Dass C/C++ so daneben ist, heißt nicht, dass man es nicht kennen sollte, denn letztendlich ist es sehr verbreitet.

Alex

Re: C = C++ ?

#13 Post by Alex »

>Eine repraesentative Umfrage unter Jugendlichen ergab, dass ueber 40% Geld fuer das groesste Uebel der Menschheit halten. Das gibt mir Hoffnung.>

Das mag wohl sein, aber erzähl das mal meinem Vermieter-Autoversicherung-Supermarkt-Klamottenladen-Currywurstbude-Frisör-Krankenversicherung-Computerladen-jedem halt der von mir Geld gegen Ware verlangt.:)

Das soll nicht heissen das ich jetzt VB lernen will.
Aber leider dreht sich ja alles heutzutage (eigentlich schon immer) um Geld.

Ich möchte in diese Branche rein weil ich mittlerweile sehr viel Spass daran habe und denke es ist immer noch Zukunft. Als Maschinenschlosser habe ich keine Zukunft mehr (Gesundheit).
Lernwillig bin ich auch und ich denke ich tu das richtige.

Gruss

PS:Wie wird denn dein Buch heissen?.

bazik

Re: C = C++ ?

#14 Post by bazik »

Moooooment, da muss ich mich mal einmischen:

>> Assembler: einfach nur schrecklich zu lesen, das sollte man nur auf Embedded Systems einsetzen, wenn der Platz
>> knapp ist und auch das letzte Quentchen Performance gefragt ist.

Da du damit deine eigene Meinung ausgedrueckt hast, kommt hier meine:
Assembler ist die einfachste (in Bezug auf Struktur) Programmiersprache die es gibt. Der einzige und groesste Nachteil von Assembler ist, das du dich mit darin entwickelten Programmen auf eine CPU beschraenkst. Aber ansonste gibt es fuer mich keine bessere Programmiersprache. Natuerlich ist es mehr arbeit bestimmte Routinen in Assembler zu schreiben, aber man kann ja seinen Code immer wieder verwenden. Zudem ist es ohne Probleme moeglich, Assembler Programme gegen C Libraries zu linken und dadurch sehr einfach lesbaren Code zu erzeugen. Ich empfehle dir die in Assembler geschriebenen GTK Anwendungen auf meiner Homepage anzusehen. Dann weisst du was ich meine ;)
Zudem wirst du niemals mit einer Hochsprache bei Zeitkritischen Routinen die Geschwindigkeit erreichen, die du mit Assembler bekommst :)
Kurz gesagt: Assembler ist nach wie vor eine aktuelle Programmiersprache und wird von sehr vielen Leuten auch zur Entwicklung grosser Applikationen eingesetzt. 2 Beispiele:

www.xcomposer.de - PowerPoint aehnliche Praesentations Software. 100% in Watcom Assembler geschrieben.
www.hostileencounter.com - StarCraft aehnliches 2D RTS Game, 100% Borland Assembler (TASM)

Die Entwickler der obigen Software sind uebrigens Mitglieder des groessten im Internet verfuegbaren Assembler Forums:

http://board.win32asmcommunity.net (und ja, trotz "win32" wird da auch ueber Linux Assembler diskutiert =) )

Gruss,
bazik
http://0x1337.net

Wolfgang

Re: C = C++ ?

#15 Post by Wolfgang »

Hi!

> PS:Wie wird denn dein Buch heissen?.

Arbeitstitel ist "Einfuehrung in die Scheme-Programmierung". Das ist simpel und passend.

Cheers,
GNU/Wolfgang

Post Reply