Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Welches C ? (https://www.delphipraxis.net/107351-welches-c.html)

xy124 26. Jan 2008 11:42


Welches C ?
 
Hallo Leute,
ich programmiere derzeit sehr viel mit delphi und würde gerne dabei bleiben...
doch wird ja heutzutage meist alles in C programmiert und darum würde ich mir auch gern mal dieses berüchtigte C anschauen...
(außerdem soll man damit PDA'S programmieren können ;) )
ja und da stellt sich die Frage welches C, Welches Buch, welche Entwicklungsumgebung(die sollte nicht mehr als 50€ kosten besser: Freeware!)

ja also was könnt ihr mir empfehlen und was ist überhaupt der Unterschied zwischen C, C+, C++, C#,(gibts noch mehr C's?)

Torpedo 26. Jan 2008 11:50

Re: Welches C ?
 
C ist C. C++ ist ähnlich wie C, aber objektorientiert (Klassen usw)
Von C+ habe ich noch nie was gehört.
C# ist eine Mischung aus C++ und Java. ;)

Ich würde mit C anfangen, dann C++.
Lad am besten MingW herunter, vielleicht zusammen mit Dev-C++ damit hast du dann einen Kompiler und Entwicklungsumgebung (kostenlos).

Neutral General 26. Jan 2008 11:52

Re: Welches C ?
 
Hi,

Also erstmal: C+ gibt es nicht :mrgreen:

Ich kenne mich nicht mit C/C++/C# aus aber soweit ich weiß ist C eher auf dem Level von Pascal. Also eher "veraltet". C und C++ benutzen die Win32-API und wenn würde ich dann C++ benutzen. C# basiert auf dem .NET Framework. Da ist jetzt eben die Frage ob du lieber .NET benutzen willst oder die Win32-API. .NET wird aber eventuell in der Zukunft immer wichtiger. Also ich würde mir vielleicht C# aneignen. (Hab ich auch schon mit angefangen).

Gruß
Neutral General

grenzgaenger 26. Jan 2008 12:38

Re: Welches C ?
 
tja, veraltet würd ich nicht sagen C ist immer noch stay of art und damit wurde auch windows geschrieben... als aufsatz ist C++ zu sehen, welches auch C kann. aktuell, würd ich dir zu C++ raten. compiler für C/C++ gibts massenweise... z.b. auch von borland/codegear ... gratis... z.b. hier

3_of_8 26. Jan 2008 12:48

Re: Welches C ?
 
State of the art.

Es kommt sehr darauf an, für was man es verwendet. Für moderne Anwendungen würde ich C nicht verwenden. Für Bibliotheken, Betriebssystem-Kernel-Code und anderes, hardwarenahes Zeug (auch in Embedded Systems, natürlich) ist C immer noch eine gute Wahl.

Bernhard Geyer 26. Jan 2008 13:04

Re: Welches C ?
 
Zitat:

Zitat von Torpedo
C# ist eine Mischung aus C++ und Java. ;)

Na ja, Soo viel von C++ hat es nicht was nicht eher aus den Anderen Quellen Java, Delphi/Pascal und VB kommt

Wie 3_of_8 geschrieben hat würde ich C (und teilweise C++) vergessen wenn man nicht gerade sehr HW-Nah programmiert oder keine andere Möglichkeit hast. Und PDA's auf Windows Mobile Basis würde ich mit C#-Programmieren und für die anderen würde ich versuchen auf das Java-Picoframework aufzusetzen.

DMW 26. Jan 2008 14:06

Re: Welches C ?
 
C++ ist, im Gegensatz zu C, eine objektorientierte Programmiersprache, und noch dazu eine der vielseitigsten. Daher ist grundsätzlich davon abzuraten, mit C einzusteigen und dann C++ zu lernen, da die Paradigmata völlig unterschiedlich sind. Die mögliche Folge ist, daß du in C++, das ja C und C-Standardbibliothek als eine Kombination aus Altlast und Minimalinterface unterstützt, trotz der Spracherweiterungen fast nur prozedural programmierst.

Ein Problem an C++ ist die Standard-Library. Die Sprache selbst ist eine der mächtigsten und läßt sich mit etwas Aufwand für fast jedes Paradigma instrumentalisieren, aber was die Standard-Library an Funktionalität bietet, ist teils konzeptionell fragwürdig und in vielerlei Hinsicht ineffizient (besonders die Streams), teils einfach zu wenig. Die STL ist zwar äußerst praktisch, hat aber die Neigung, den Code aufzublähen, da die Container als Templates implementiert sind und somit für jeden Typ separat instantiiert werden. Für viele Dinge wirst du auf 3rd-Party-Bibliotheken zurückgreifen müssen. Mein Favorit hierfür ist die VCL in C++Builder.

Die Sprache C++ zu erlernen halte ich in jedem Fall für sinnvoll. Wer C++ kann, hat es äußerst leicht, später Delphi, Java, C# etc. zu lernen. Um freilich C++ wirklich zu beherrschen, dürftest du eine nicht unbeträchtliche Menge Zeit investieren müssen. Aber es lohnt sich ;)

Von Dev-C++ würde ich die Finger lassen. Es gibt gute kommerzielle, aber kostenfreie Alternativen, die prominentesten wären Turbo C++ Explorer (C++Builder light), Visual C++ Express, evtl. noch Code::Blocks und Eclipse/CDT.

Ralf Kaiser 26. Jan 2008 15:01

Re: Welches C ?
 
Zitat:

Zitat von Bernhard Geyer
Na ja, Soo viel von C++ hat es nicht was nicht eher aus den Anderen Quellen Java, Delphi/Pascal und VB kommt

Was ja wohl hauptsächlich daran liegt, dass Microsoft damals einen der Väter von Delphi (war es nicht Anders Olsson oder so ähnlich??) von Borland abgeworben hat um C# zu designen (ich hoffe, ich erinnere mich richtig)

Khabarakh 26. Jan 2008 15:31

Re: Welches C ?
 
Zitat:

Zitat von Alfi001
Was ja wohl hauptsächlich daran liegt, dass Microsoft damals einen der Väter von Delphi (war es nicht Anders Olsson oder so ähnlich??) von Borland abgeworben hat um C# zu designen (ich hoffe, ich erinnere mich richtig)

Anders Hejlsberg, war auch schon ein paar Jährchen vor C#. Überbewerten darf man das auch nicht, C# ist einfach zu 90% pures Java (beim Framework kann man allerdings durchaus ein paar RTL/VCL-Anleihen erkennen).

Ralf Kaiser 26. Jan 2008 16:04

Re: Welches C ?
 
Stimmt! Hejlsberg - Das war der Name an den ich mich nicht mehr erinnern konnte!

xXcomputerrookieXx 26. Jan 2008 16:49

Re: Welches C ?
 
Zitat:

Zitat von xy124
ja und da stellt sich die Frage welches C, Welches Buch, welche Entwicklungsumgebung(die sollte nicht mehr als 50€ kosten besser: Freeware!)


Ich habe das Buch 'C - Programmieren von Anfang an' von Helmut Erlenkötter,das gleiche gibt es auch für C++ !An sich ist das Buch recht gut aufgebaut und strukturiert und mir war nie etwas unverständlich.Allerdings funktionierten die Beispiele nicht richtig und das darf in so einem Buch nicht passieren :!: Wenn man die Quelltexte aus dem Buch in seine Entwicklungsumgebung eintippt (als erstes hatte ich 'Dev-C++',soll ja auch für C gehen; danach habe ich mir von Microsoft Visual Basic geholt)dann entstand folgendes Problem:

:arrow: Nach dem Compilieren habe ich dann das Programm ausgeführt,doch nachdem sich kurz das Fenster geöffnet hat,war es gleich wieder dicht!Nach etlichen Versuchen stellte sich heraus,das im Quelltext etwas fehlte,hier mal ein Beispiel:

Delphi-Quellcode:
/* bspl0001.c */
#include <stdio.h>
int main(void){
   printf("\nDies ist ein erstes C-Programm.\n");
   printf("\nWie Sie sehen, kann 'printf' ");
   printf("nicht nur Texte drucken,\n");
   printf("sondern auch rechnen.\n\n");
   printf("13 * 7 = %i \n",13 * 7);
    getchar();
    return (0);
}
Das ist der 'richige' Quelltext,so wie er lauten muss!
Der nächste Code ist der aus dem Buch.

Delphi-Quellcode:
/* bspl0001.c */
#include <stdio.h>
main(){
   printf("\nDies ist ein erstes C-Programm.\n");
   printf("\nWie Sie sehen, kann 'printf' ");
   printf("nicht nur Texte drucken,\n");
   printf("sondern auch rechnen.\n\n");
   printf("13 * 7 = %i \n",13 * 7);
}
Zu dem Problem hatte ich hier in der DP auch mal einen Thread erstellt..

Naja wie dem auch sei,wenn die Beispiele direkt am Anfang nicht funktionieren ist das wirklich schlecht,trotzdem ist das Buch aber echt verständlich!

Weitere Buchtipps:

'Jetzt lerne ich C' von Peter Monadjemi,Eckart Winkler

'C/C++ - Von den Grundlagen zur professionellen Programmierung' von Ulrich Kaiser

Nuclear-Ping 26. Jan 2008 16:58

Re: Welches C ?
 
Ich kenn das Buch zwar nicht. Aber der Author ging wohl nicht davon aus, dass man hier mit einer Windows-IDE arbeitet.
Dass das Programm gleich wieder "dicht" war, lag somit nicht am Author des Buches. Deswegen würde ich es auch nicht als schlecht bezeichnen und dass Beispiele nicht funktionieren.
Das gleiche "Problem" (was ja an sich ein normales Verhalten der IDE darstellt) hat man ja mit Delphi auch, wenn man eine Konsolenanwendung macht. Die Ergänzungen deinerseits machen die Beispiele also nicht "richtig" (die Beispiele aus dem Buch sind auch nicht "falsch").

Afaik haben die IDEs in DOS früher immer standardmäßig nach Beenden des Programms auf eine Benutzereingabe gewartet. Daher wohl auch der Stil in dem Buch.

Der_Unwissende 26. Jan 2008 17:11

Re: Welches C ?
 
Hi,
was man mal ganz klar sagen muss ist, dass die von Dir genannten C's (es gibt noch weitere, z.B. C-- und Objective C) komplett unterschiedliche Sprachen sind. Es wurde hier schon erwähnt, dass C++ eigentlich eine Objekt Orientierte Sprache ist (man merkt's halt nicht an jedem C++-Programm), das Gleiche gilt aber auch für C#. C# hat (wie auch schon mehrfach gesagt wurde) nicht wirklich viel mit C oder C++ gemeinsam. Wenn Du Java kannst, dann wird Dir vieles in C# bekannt vorkommen, einiges auch an Delphi erinnern (wie das Schlüsselwort override, in Java greift man eher zu Annoationen).

Ohne jetzt wirklich detailliert auf die Unterschiede eingehen zu wollen, kann man die Sprachen grob in bestimmte Kategorien unterteilen, für die diese entworfen wurden.

Ganz unten auf dem Abstraktionslevel findet man C. C ist eine sehr sehr einfache Sprache. Damit ist nicht gemeint, dass man wenig Möglichkeiten hat, ganz im Gegenteil! Es gibt aber an sich sprachlich nur wenige Elemente. C kennt eigentlich nur primitive Datentypen, Funktionen und Strukturen. Natürlich gibt es auch noch Schleifen und Bedingungen, Zeiger und Makros, aber das dürfte es schon fast gewesen sein. An sich kennt C jedenfalls keine besondere Abstraktion, keine aut. Speicherverwaltung und achtet auch nicht sonderlich auf Datensicherheit. Hierin liegen dann auch schon die Vor- und Nachteile von C.
Da C keine Abstraktion kennt und nur mit einfachen Strukturen arbeitet, kann man C sehr leicht aus anderen Sprachen heraus nutzen. Die meisten Sprachen bieten auch direkt eine Schnittstelle an um C - Bibliotheken zu verwenden (z.B. möglich unter Java, C++, Delphi, Haskell, Python, ...).
Durch die fehlende Abstraktion und die nicht vorhandene Typprüfung ist C zudem äußerst schnell in der Abarbeitung. Gleichzeitig muss man aber auch sagen, dass die Programmierung dadurch sehr viel fehleranfälliger wird. Möchte man z.B. in C auf ein Array zugreifen, übergibt man einfach nur den Zeiger auf das erste Element. Ein Array wird immer so erzeugt, dass beginnend bei dieser Adresse alle weiteren Daten linear im Speicher angeordnet werden. C weiß nur leider zu keinem Zeitpunkt, wie groß das Array ist. Erzeugt man sich ein Array mit 10 Feldern, kann man problemlos auf das 10.000te Element zugreifen. C wird diesen Fehler nicht bemerken und man greift auf einen Speicherbereich zu, den man nicht näher kennt. Was genau passiert hängt vom Programm und Betriebssystem ab, klar sollte aber sein, dass es nichts erwünschtes ist!
C zu lernen ist auf keinen Fall falsch. Man kann, wie gesagt, C als kleinsten gemeinsamen Nenner vieler Sprachen sehr gut nutzen bzw. immer mal wieder brauchen. Trotzdem heißt das auch immer, dass man auf diesen kleinsten Nenner runter gehen muss. Paradigmen wie die OOP haben durchaus einen Sinn (größere Projekte würden sich ohne viel schwieriger umsetzen und vorallem erweitern bzw. pflegen lassen!). HW - nah macht hingegen die Abstraktion wenig Sinn, ein Treiber lässt sich kaum für eine ganz andere HW wiederverwenden.
Auch ist das Lernen der C - Syntax von Vorteil, da man diese in sehr vielen Sprachen findet. So verwenden Sprachen wie C, C++, Java, Python, PHP, ... eine in vielen Elementen ähnliche Syntax. Allerdings muss man auch klar sagen, dass ein paar C - Elemente zum Glück nicht überall zu finden sind! Man kann in C sehr hässliche Konstrukte erstellen, die kaum lesbar sind. Häufig wird das ausgenutzt und Programme mit möglichst wenig LOC erzeugt. Davon muss man immer ganz klar abraten! Was Du Dir (gerade bei C, aber auch bei jeder anderen Sprache) unbedingt angewöhnen solltest ist, immer sauber zu programmieren (so dass alles gut lesbar bleibt). Zuweisungen haben z.B. nie etwas in einer if-Abfrage verloren, auch wenn's möglich ist. Auch Makros sind nur bedingt schön (erhöht nicht unbedingt die Lesbarkeit).

Ja, zu C++ wurde ja schon das Wichtigste gesagt. Die Sprache ist der Versuch C um Objekt Orientierung zu erweitern. Guter Gedanke, nur imho leider miserabel umgesetzt! An sich findet man natürlich alle Elemente der Objekt Orientierung. Eine Besonderheit, die man einfach selten bei anderen Sprachen findet besteht z.B. darin, dass auch Mehrfachvererbung möglich ist. Leider wurde aber auch versucht, zu C "abwärtskompatibel" zu bleiben. Da liegen dann auch die meisten Nachteile von C++, es gibt immer noch viel Code, der eher eine schlechte Mischung aus C und C++ darstellt, schwer lesbar und kaum wartbar ist. Liegt allerdings immer am Entwickler, das sollte klar sein. Natürlich kann man auch sehr saubere und schöne C++ Programme schreiben. Trotzdem ist hier das Konzept von Java oder C#, die einen gleich zu reiner OO zwingen und auf Präprozessor - Anweisungen (und auch den Präprozessor selbst) verzichten.
C++ hat gegenüber C eben viele weitere Möglichkeiten (Klassen und OO, Namensräume, Templates/Generizität/Polymorphie, ...).

C# wiederum ist eine Sprache, die zusammen mit dem .Net - Framework entstanden ist. Die Sprache hat auch eine C - Syntax, ähnelt aber Java in fast allen Punkten deutlich mehr als C++. Auch C# ist eine Objekt Orientierte Sprache, anders als in C++ beherscht diese aber z.B. nur die Einfachvererbung (Mehrfachvererbung kann nur über Interfaces erreicht werden).
Der eigentlich wichtigste Unterschied bei C# liegt allerdings darin, dass für die Sprache "managed code" erzeugt wird. Das managed kommt dabei aus der Eigenschaft, dass C# sich selbst um die Speicherverwaltung kümmert. Anders als in Delphi, C++, und C braucht man sich in C# nie um die Freigabe von Speicher kümmern. Wurde Speicher angefordert, so zählt C# selbst die Referenzen. Ist ein Feld, ein Exemplar einer Klasse, eine Struktur oder ähnliches nicht mehr erreichbar, so gibt C# diese automatisch frei. Es entstehen hier also nie Speicherlöcher! Zudem arbeitet C# deutlich abstrakter. Es gibt keine expliziten Zeiger mehr, man arbeitet statt dessen mit Referenzen (implizite Zeiger). Das bringt deutliche Vorteile bei der Typsicherheit (allerdings muss man auch sagen, dass C++ schon sehr typsicher ist, gerade im Vergleich mit C!).
C# arbeiet einfach viel abstrakter, für die HW - nahe Programmierung wurde die Sprache nicht entworfen. Natürlich ist es sehr praktisch, dass C# sich selbst um die Speicherverwaltung kümmert, was man dabei aber auch berücksichtigen muss ist, dass dies immer zu Lasten der Perfomance erfolgt.

Welche dieser Sprachen Du lernen solltest hängt vorallem davon ab, was Du damit machen möchtest. Wie gesagt findest Du Unterschiede in der Perfomance, sowie in den zugrunde liegenden Paradigmen. Und obohl C++ und C# objekt orientiert sind, wirst Du auch hier viele Unterschiede finden (C# eben deutlich abstrakter, strenger OO, managed und bei .Net nur in einer bestimmten Laufzeitumgebung lauffähig).
Die Programmierung von PDAs kann mit allen Sprachen möglich sein. Viele SDKs verwenden C (wie gesagt, ist fast immer der kleinste gemeinsame Nenner, da sehr einfach). C++ kommt damit auch immer in Frage (da abwärtskompatibel). Gleichzeitig gibt es auch einen starken Trend zu speziellen Laufzeitumgebungen auf solchen Plattformen. So gibt es von .Net auch mobile Varianten, die dann auch das ausführen von C# auf so einem PDA ermöglichen (es werden entsprechende Bibliotheken zur Verfügung gestellt). Der Vorteil liegt einfach darin, dass man nur noch die Laufzeitumgebung an die HW anpasst und alle darauf aufsetzenden Programme direkt laufen (ohne diese Abstraktionsschicht müsste man alle Programme ggf. anpassen). Zu dem Beispiel möchte ich aber dann auch gleich drauf verweisen, dass Java hier (im Moment?) eher das Rennen macht, da hat Google jetzt eine Handy-Plattform veröffentlicht, die auf Java basiert und frei verfügbar ist (und vom Handy zum PDA ist nicht so der große Sprung).

Ach ja, zu allen Sprachen findest Du kostenlose Compiler und Bücher! Für C# empfiehlt sich der Einsatz von Microsofts VS C# Express bzw. für die Kommandozeile findest Du auch im .net SDK den CSC (C# Compiler). Bei C++ findest Du in der Gnu Compiler Collection (gcc) g++ (cygwin und msys wurden ja schon genannt, ansonsten ist die gcc Standard unter den Unixen, Linux und BSD), sowie natürlich auch Turbo C++ Explorer. Auch für C gibt es einen freien Compiler in der GCC (der heißt dann auch gleich gcc), ich glaube Borland stellt auch einen Kommandozeilen - Compiler zur Verfügung, kann dann auch gleich mit einem Plugin innerhalb der Eclipse Umgebung genutzt werden). Aufpassen musst Du bei der Verwendung eines C++ - Compiler für C. Die Syntax ist zwar kompatibel, aber C++-Bibliotheken sind anders aufgebaut als die in C! So kennt C++ die Überladung von Funktionen und C nicht. Entsprechend ist jeder FUnktionsname in C eindeutig, während C++ noch die Parameter mit berücksichtigt (führt eben zu einer abweichenden Benennung). Willst Du also eine mit C++ übersetzte Datei / Bibliothek durch einen C-Compiler binden lassen, hast Du ein Problem (gibt allerdings in C++ entsprechende sprachliche Mittel das Problem zu umgehen).

Gruß Der Unwissende

xXcomputerrookieXx 26. Jan 2008 19:27

Re: Welches C ?
 
Zitat:

Zitat von Nuclear-Ping
Ich kenn das Buch zwar nicht. Aber der Author ging wohl nicht davon aus, dass man hier mit einer Windows-IDE arbeitet.
Dass das Programm gleich wieder "dicht" war, lag somit nicht am Author des Buches. Deswegen würde ich es auch nicht als schlecht bezeichnen und dass Beispiele nicht funktionieren.
Das gleiche "Problem" (was ja an sich ein normales Verhalten der IDE darstellt) hat man ja mit Delphi auch, wenn man eine Konsolenanwendung macht. Die Ergänzungen deinerseits machen die Beispiele also nicht "richtig" (die Beispiele aus dem Buch sind auch nicht "falsch").

Afaik haben die IDEs in DOS früher immer standardmäßig nach Beenden des Programms auf eine Benutzereingabe gewartet. Daher wohl auch der Stil in dem Buch.

Meine Ergänzungen konnten die Programme aber funktionsfähig machen und wer die Einführungen zum Buch gelesen hat,der weiß das der Autor erwähnt hat,das die Beispiele unabhängig von IDE,OS etc. laufen werden.Man braucht nur einen C Compiler welchen ich auch habe.

Außerdem habe ich das Buch nicht als schlecht bezeichnet,ich fand die Sache mit den Beispiel Codes als Anfänger dann nur recht verwirrend und hab mir anderweitig Hilfe holen müssen.Ansonsten sagte ich sei Alles verständlich!

Muetze1 26. Jan 2008 19:33

Re: Welches C ?
 
Zitat:

Zitat von xXcomputerrookieXx
Meine Ergänzungen konnten die Programme aber funktionsfähig machen und wer die Einführungen zum Buch gelesen hat,der weiß das der Autor erwähnt hat,das die Beispiele unabhängig von IDE,OS etc. laufen werden.

Die Programme sind auch ohne deine Änderungen funktionsfähig, wie oft denn noch. Die Programme laufen auch unabhängig von IDE, OS, etc. Starte doch die originalen Programme nach der Übersetzung von der Konsole aus, wofür sie schliesslich erstellt wurden und du siehst, dass sie komplett funktionsfähig sind.

Nuclear-Ping 26. Jan 2008 19:34

Re: Welches C ?
 
Zitat:

Zitat von xXcomputerrookieXx
Meine Ergänzungen konnten die Programme aber funktionsfähig machen und wer die Einführungen zum Buch gelesen hat,der weiß das der Autor erwähnt hat,das die Beispiele unabhängig von IDE,OS etc. laufen werden.Man braucht nur einen C Compiler welchen ich auch habe.

Außerdem habe ich das Buch nicht als schlecht bezeichnet,ich fand die Sache mit den Beispiel Codes als Anfänger dann nur recht verwirrend und hab mir anderweitig Hilfe holen müssen.Ansonsten sagte ich sei Alles verständlich!

Naja, darüber könnte man nun diskutieren. :mrgreen:

Ich hab den Punkt nur aufgegriffen, weil ich den Effekt kenne und ihn am Anfang unter Windows mit Dev-C++ oder Delphi mit Konsolenanwendungen auch hatte. Aber nach 2-3x starten war mir klar, dass das nicht offen bleibt, weil's ja eben ne Konsolenanwendung ist, die sich beendet, wenn sie durch ist. Bei GUI-Anwendungen hast du ja die Message-Schleife die das verhindert.

Eben deswegen kann man es nicht auf den Author oder seine Beispiele schieben, da das ein Layer-8-Problem ist. Viel zu oft ordnet man sowas tieferen Layern zu.

xXcomputerrookieXx 26. Jan 2008 19:44

Re: Welches C ?
 
Ja ich konnte mir auch schwer vorstellen,dass ein solches Buch Fehler in dem Sinne enthält...
Ich habe mir dann schon gedacht,dass die Programme sofort zuende sind,wenn sie eben gestartet wurden,nur wusste ich auch nicht wie ich das verhindern kann,habe ja gerade mal angefangen C zu lernen.
Demnächst arbeite ich sowieso auf Linux weiter,wenn ich mit C arbeite.

xy124 27. Jan 2008 09:55

Re: Welches C ?
 
also erstmal danke für eure vielen Antworten! :thumb:
Dieses Dev-C++ habe ich mir downgeloaded... nicht schlecht nur find ich es dumm das es da keinen Formulareditor wie bei delphi gibt!

Außerdem hab ich endeckt, das bei meinem Delphi 2005 PE auch c# dabei ist... ;)
Also ich hab jetzt den Eindruck, das es das beste ist, sich mal mit diesem C++ zu beschäftigen...
Wie gesagt wäre mir dabei aber so ein Formulareditor sehr recht! welche Entwicklungsumgebungen empfehlt ihr mir?

PS.: bin grad dabei TurboC++ runter zu laden... :coder:

Muetze1 27. Jan 2008 10:15

Re: Welches C ?
 
Die Formulareditoren haben die wenigsten freien enthalten, eigentlich nur die großen Systeme. Also Borland und MS haben dies mit und deren kostenlose Packete (Turbo C++, Visual C++ Express Edition) wurden dir ja schon genannt.

xy124 27. Jan 2008 11:31

Re: Welches C ?
 
Ja... hab mir grad mal Turbo delphi fertig gedownloaded aber wo bekomme ich jetzt dieses J# her?

(der Link von der Installation zu J# führt ins leere)

Muetze1 27. Jan 2008 11:43

Re: Welches C ?
 
Ich denk du willst C(++/#) probieren - warum installierst du dir denn nun Delphi?

xy124 27. Jan 2008 11:47

Re: Welches C ?
 
ups tipfehler hab natürlich TurboC++ gemeint

ach ja j# hab ich hier gefunden: http://www.microsoft.com/Downloads/d...displaylang=de


Kann mir mal jemand kurz folgende beide Beispiele ausfüllen?
in Delphi ist es (für mich) ganz leicht:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Button1.Caption := 'Hallo Welt'
end;
aber wie geht das in C#:
Delphi-Quellcode:
private void button1_Click(object sender, System.EventArgs e)
  {
 
  }
und auch in C++ ? :
Delphi-Quellcode:
void __fastcall TForm1::Button1Click(TObject *Sender)
{

}
ja also wär echt cool, wenn ihr mal die Methoden so ausfüllen könntet, dass überall auf den Button's Hallo Welt angezeigt wird (s. Delphi-Bsp).

Muetze1 27. Jan 2008 11:56

Re: Welches C ?
 
C++
Code:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  Button1->Caption = "Hallo Welt!";
}

Zacherl 27. Jan 2008 11:58

Re: Welches C ?
 
Versuch dich doch einfach erstmal an einer Sprache und nicht an allen gleichzeitig. Ich würde dir jetzt mal zu C++ raten.

xy124 27. Jan 2008 12:03

Re: Welches C ?
 
@Zacherl stimmt aber ich wollt nur mal den unterschied in dem (bei delphi) Gükltigkeitsoperator und den "Anführungszeichen / Hoch kommas bei delphi' " sehen.

ich kann dich beruhigen! Zurzeit ist bei mir nur C++ geöffnet :coder:

Khabarakh 27. Jan 2008 12:22

Re: Welches C ?
 
Code:
void button1_Click(object sender, System.EventArgs e)
{
   button1.Text = "Hello World";
}
Zitat:

Zitat von Zacherl
Ich würde dir jetzt mal zu C++ raten.

Aha.

Zacherl 27. Jan 2008 12:55

Re: Welches C ?
 
Zitat:

Zitat von Khabarakh
Zitat:

Zitat von Zacherl
Ich würde dir jetzt mal zu C++ raten.

Aha.

Meine subjektive Meinung, da ich allgemein solche Runtime Bibliotheken wie das .NET SDK, VB oder sogar Java für normale Windows Anwendungen relativ unhandlich finde. Aber die verschiedenen Verwendungsgebiete der verschiedenen Sprachen wurden ja auch in den Beiträgen weiter oben schon behandelt. Also kein genereller Angriff auf solch nützliche nicht Plattformspezifische Sprachen ..

Zu C++ auch daher, weil wenn man eventuell schonmal bisschen mit Delphi nonVCL programmiert hat, lernen sich solche Sachen wie C oder Assembler sehr sehr schnell. Dort verwendet man einfach wie gewohnt die APIs und gut is. :P

Der_Unwissende 27. Jan 2008 13:15

Re: Welches C ?
 
Zitat:

Zitat von Zacherl
Zu C++ auch daher, weil wenn man eventuell schonmal bisschen mit Delphi nonVCL programmiert hat, lernen sich solche Sachen wie C oder Assembler sehr sehr schnell. Dort verwendet man einfach wie gewohnt die APIs und gut is. :P

Also die Argumentation finde ich mal (entschuldige) völlig schlecht. Jeder der schon mal mit der VCL gearbeitet hat müsste entsprechend noch viel schneller und besser in Sprachen wie Java oder C# reinfinden, da die auch auf Frameworks zurückgreifen. Klar, das selbe könnte ich über die Programmierung unter C oder C++ sagen, da nimmt man auch eher GTK+, Qt usw. und zeichnet nicht über die API Fenster, aber hey, unter C# greift man für OS nahe Punkte auch auf das normale API zu.


Zitat:

Zitat von xy124
@Zacherl stimmt aber ich wollt nur mal den unterschied in dem (bei delphi) Gükltigkeitsoperator und den "Anführungszeichen / Hoch kommas bei delphi' " sehen.

Und beeindruckt? Wie hier schon von Zacherl gesagt wurde, es macht wenig Sinn sich solche Quervergleiche anzuschauen. Da wirst Du schnell merken, dass viele Frameworks auf ziemlich ähnliche Weise kapseln (also die Syntax sich stark ähnelt). Trotzdem nutzt Dir das nicht viel für die Sprache (und die dort typischen Konzepte).

phXql 27. Jan 2008 13:43

Re: Welches C ?
 
Zitat:

Zitat von Torpedo
C ist C. C++ ist ähnlich wie C, aber objektorientiert (Klassen usw)
Von C+ habe ich noch nie was gehört.
C# ist eine Mischung aus C++ und Java. ;)

Ich würde mit C anfangen, dann C++.
Lad am besten MingW herunter, vielleicht zusammen mit Dev-C++ damit hast du dann einen Kompiler und Entwicklungsumgebung (kostenlos).

C# hat nur noch die gleiche Syntax wie C. Sonst is alles anders. Deswegen isses auch das einzige C, was ich mag :D

Zacherl 27. Jan 2008 13:47

Re: Welches C ?
 
Zitat:

Zitat von Der_Unwissende
Zitat:

Zitat von Zacherl
Zu C++ auch daher, weil wenn man eventuell schonmal bisschen mit Delphi nonVCL programmiert hat, lernen sich solche Sachen wie C oder Assembler sehr sehr schnell. Dort verwendet man einfach wie gewohnt die APIs und gut is. :P

Also die Argumentation finde ich mal (entschuldige) völlig schlecht. Jeder der schon mal mit der VCL gearbeitet hat müsste entsprechend noch viel schneller und besser in Sprachen wie Java oder C# reinfinden, da die auch auf Frameworks zurückgreifen. Klar, das selbe könnte ich über die Programmierung unter C oder C++ sagen, da nimmt man auch eher GTK+, Qt usw. und zeichnet nicht über die API Fenster, aber hey, unter C# greift man für OS nahe Punkte auch auf das normale API zu.

Okay da gebe ich dir recht. Über diese Themen kann man immer endlos lang diskutieren, aber letztlich kann man es doch nur selbst einmal ausprobieren :)

xy124 27. Jan 2008 14:04

Re: Welches C ?
 
@Der_Unwissende Beeindruckt von C++ ?
Bis jetzt benutztn alle Tutorials die ich zu C++ ergoogelt leider nicht die Fähigkeit von Formularen in C++ - doof...
ich denk nicht das ich irgentwann einmal umfangreichere Konsolenanwendungen schreiben werde!

Also wenn eine(r) von euch ein Tutorial kennt, das für Turbo C++ ist und so wie bei delphi hilft anwendungen mit FORMULAREN zuerstellen wäre ich damit sicher glücklicher als mit dem was ich bis jetzt hab!

:bounce1: :bouncing4:

Zacherl 27. Jan 2008 14:36

Re: Welches C ?
 
CreateWindow
CreateWindowEx

kann ich dir ans Herz legen, wenn du nicht umbedingt eine Design Time VCL brauchst. Formulare kannst du damit aber machen ..


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:09 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz