PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Programiersprache für mich???


NoA
2003-05-24, 20:36:28
Ich suche eine "passende" Programiersprache für mich. Ich habe eigentlich nur Erfahrung mit Turbo Pascal. Delphi, C++ oder Visual Basic?

Demirug
2003-05-24, 20:42:53
Was möchteste du den programmieren?

NoA
2003-05-24, 20:44:15
Hmm... eigentlich ein paar praktische Fenster-Anwendungen!

Demirug
2003-05-24, 21:09:27
Dafür kannst du sowohl Delphi, VB oder auch C++ benutzten. Da du dir ja scheinbar diese 3 Sprachen schon mal angesehen hast kannst du ja die wählen die dir vom Syntax und von der IDE her am besten gefällt.

Modulor
2003-05-25, 00:54:53
Jaja,die Syntax...
Die hat mich damals in die Hände von Phillipe Kahn getrieben - oder treffender: ich bin ihm entgegengerannt :D...

aths
2003-05-25, 00:59:03
Originally posted by NoA
Ich suche eine "passende" Programiersprache für mich. Ich habe eigentlich nur Erfahrung mit Turbo Pascal. Delphi, C++ oder Visual Basic? Dann probier mal Delphi.

Haarmann
2003-05-29, 10:38:00
Bist ein fauler Sack, wie ich , dann nimm Delphi. Viel einfacher kann man sich glaub nimmer ne Anwendung zusammenklicken.

mutzel
2003-05-29, 21:45:54
ich hab auch mit delphi angefangen ... und ich habs bereut

von der IDE her is delphi erste klasse das problem is halt nur das c++ um einiges weiter verbreitet ist als pascal(delphi) ... kommst du z.b. irgendwann mal auf die idee mit php zu programmieren dann ist es einfacher wenn du c++ gelehnt hast .. weil php auch nur ein schlampiges c++ ist... schwerer ist c++ nicht wirklich .. schwer wirds nur wenn du von delphi auf c++ umsteigst .. zumindest ging es mir so

meine empfehlung ist der Borland C++ Builder ... dort hast du die selbe IDE wie bei delphi nur halt statt pascal schreibst du mit c++

beta3
2003-05-29, 22:11:16
wo gibt es den borland c++ builder?
gibt es auch irgendwo ein gutes tutorial dazu

Stone2001
2003-05-29, 23:19:43
Den C++ Builder kannst du dir (zumindest in einer Trail-Version und gegen Registierung) hier downloaden: http://www.borland.de/products/downloads/download_cbuilder.html !
Das ist halt die Enterprise Version, ob es die Personal Variante irgendwo kostenlos zum Download gibt, .., keine Ahnung.

mutzel
2003-05-29, 23:33:28
Original geschrieben von beta3
wo gibt es den borland c++ builder?
gibt es auch irgendwo ein gutes tutorial dazu

gusckst du hier (http://www.cbuilder.de/)


das is eigendlich meine lieblings c++ builder seite ... dort haste en forum, tutorials ... und die FAQs sin auch nich grade schlecht

mutzel
2003-05-29, 23:34:30
ups... doppelpost

Stone2001
2003-06-01, 12:24:26
Die Online-Version, des Markt und Technik-Buches 'Visual C++ in 21 Tagen', gibt es hier: http://www.mut.de/media_remote/buecher/VCPLUS6/data/start.htm

mutzel
2003-06-01, 12:58:58
Original geschrieben von Stone2001
Die Online-Version, des Markt und Technik-Buches 'Visual C++ in 21 Tagen', gibt es hier: http://www.mut.de/media_remote/buecher/VCPLUS6/data/start.htm

von Visual c++ wuerd ich dir allerdings eher abraten ... die IDE von dem ding is einfach zum kotzen ...

im Visual Studio .NET soll sich das jedoch geaendert haben .. auch die programmierung mit Visual C# soll etwas einfacher sein als das normale c++ .. weil dort dinge wie pointer komplett wegfallen (soviel ich weiss) ... ich hab aber damit noch keine grosse erfahrung gemacht

Stone2001
2003-06-01, 13:27:55
Original geschrieben von mutzel
von Visual c++ wuerd ich dir allerdings eher abraten ... die IDE von dem ding is einfach zum kotzen ...

im Visual Studio .NET soll sich das jedoch geaendert haben .. auch die programmierung mit Visual C# soll etwas einfacher sein als das normale c++ .. weil dort dinge wie pointer komplett wegfallen (soviel ich weiss) ... ich hab aber damit noch keine grosse erfahrung gemacht
hmm, du bist jetzt der erste, der einem von Visual C++ 6.0 abrät und zu Visual Studio.Net rät. Alle anderen haben mir bisher eher zu Visual C++ 6.0 geraten.
Mir persönlich fehlt auf diesem Gebiet die Erfahrung um mich über die Vor bzw. Nachteile der einzelnen IDE auszulassen.
Bis jetzt muß ich sagen, ich komme mit Visual C++ 6.0 gut zurecht, naja, mal schaun, vielleicht besorge ich mir nächste Woche Visual Studio.Net, dann kann vielleicht mehr dazu sagen.

Xmas
2003-06-01, 14:02:59
Ich weiß wirklich nicht, was an der IDE von Visual C++ 6.0 "zum Kotzen" sein soll.

Nun gut, zum Zusammenklicken von Fenstern á la BCB ist sie nicht gerade geeignet, aber MFC ist nun mal nicht VCL. Ansonsten empfinde ich die VS.net IDE als eine Verbesserung einer bereits wirklich guten IDE.

Wudu
2003-06-01, 16:16:35
das hier die pointer wegfallen liegt aber nicht am IDE, sondern an der Programmiersprache, wenn du im VS.NET C++ .NET programmierst, stolperst du irgendwie wieder über die Dinger.
C# == neue Sprache == Java Clon (M$ schaut ja alles ab) == geniales Teil!!!!!

Original geschrieben von mutzel
von Visual c++ wuerd ich dir allerdings eher abraten ... die IDE von dem ding is einfach zum kotzen ...

im Visual Studio .NET soll sich das jedoch geaendert haben .. auch die programmierung mit Visual C# soll etwas einfacher sein als das normale c++ .. weil dort dinge wie pointer komplett wegfallen (soviel ich weiss) ... ich hab aber damit noch keine grosse erfahrung gemacht

mutzel
2003-06-01, 16:19:43
Original geschrieben von Stone2001
hmm, du bist jetzt der erste, der einem von Visual C++ 6.0 abrät und zu Visual Studio.Net rät. Alle anderen haben mir bisher eher zu Visual C++ 6.0 geraten.
Mir persönlich fehlt auf diesem Gebiet die Erfahrung um mich über die Vor bzw. Nachteile der einzelnen IDE auszulassen.
Bis jetzt muß ich sagen, ich komme mit Visual C++ 6.0 gut zurecht, naja, mal schaun, vielleicht besorge ich mir nächste Woche Visual Studio.Net, dann kann vielleicht mehr dazu sagen.

wie schon gesagt hab ich bis jetzt noch keine erfahrung mit c# und VS.net gemacht ... ich hab lediglich gehoert das es besser sein soll ...

meiner meinung nach ist aber das VCL vom BCB die beste moeglichkeit um ein paar "praktische Fenster-Anwendungen" zu basteln

mutzel
2003-06-01, 16:22:08
Original geschrieben von Wudu
das hier die pointer wegfallen liegt aber nicht am IDE, sondern an der Programmiersprache, wenn du im VS.NET C++ .NET programmierst, stolperst du irgendwie wieder über die Dinger.
C# == neue Sprache == Java Clon (M$ schaut ja alles ab) == geniales Teil!!!!!

hab ich jemals behauptet das die sache mit den pointern mit der IDE zusammenhaengt?

Demirug
2003-06-01, 16:23:01
Original geschrieben von Wudu
das hier die pointer wegfallen liegt aber nicht am IDE, sondern an der Programmiersprache, wenn du im VS.NET C++ .NET programmierst, stolperst du irgendwie wieder über die Dinger.
C# == neue Sprache == Java Clon (M$ schaut ja alles ab) == geniales Teil!!!!!

Als Java Clon würde ich C# jetzt aber nicht bezeichnen. Man hat dort sicherlich ein paar Dinge entliehen aber auch nicht jeden Fehler den Sun dort gemacht hat wiederholt. Der Java Clon heist J#.

Wudu
2003-06-01, 16:34:21
Da liegst du richtig ;-), aber es hat syntakisch so viele ähnlichkeiten....., J#, wer verwendet freiwillig J#?

Original geschrieben von Demirug
Als Java Clon würde ich C# jetzt aber nicht bezeichnen. Man hat dort sicherlich ein paar Dinge entliehen aber auch nicht jeden Fehler den Sun dort gemacht hat wiederholt. Der Java Clon heist J#.

Demirug
2003-06-01, 16:47:21
Original geschrieben von Wudu
Da liegst du richtig ;-), aber es hat syntakisch so viele ähnlichkeiten....., J#, wer verwendet freiwillig J#?

ja syntaktisch kommt das ja alles aus der Richtung C/C++. Der Sprache für Tipfaule.

J#: für mich ist ds nichts aber ich muss ja auch nicht grosse mengen von Java code in den .Net Framework einbringen. Dabei kann es sicherlich nützlich sein.

Vedek Bareil
2003-06-05, 01:43:22
Original geschrieben von Haarmann
Bist ein fauler Sack, wie ich , dann nimm Delphi. Viel einfacher kann man sich glaub nimmer ne Anwendung zusammenklicken. was mich an Delphi eigentlich am meisten gestört hat (und mich am Borland C++ Builder dann wohl auch stören würde), war, daß die ganzen Zugriffe auf Windows-Funktionen hinter der VCL versteckt werden, wodurch die Aktionen des Programms immer ziemlich undurchschaubar bleiben.
Solange das Programm nur solchen Sachen macht wie auf das Anklicken eines Buttons mit einer bestimmten Aktion zu reagieren, deren Zeitdauer sehr kurz ist, ist das ja auch nicht weiter tragisch.

Komplizierter wird's aber z.B., wenn eine Aktion gleich beim Programmstart gestartet werden (und von da an noch weiterlaufen) soll. Man könnte jetzt meinen, man bräuchte dann einfach nur für das Programmfenster eine OnCreate-Routine definieren und die gewünschte Aktion in diese eintragen. Ist aber nicht so. Jedenfalls habe ich auf diese Weise mehrfach Schiffbruch erlitten, etwa derart, daß das Programmfenster gar nicht angezeigt wurde. Stattdessen die OnShow- oder OnPaint-Routine zu verwenden, führte ebenfalls nicht zum gewünschten Ergebnis.
Mit IDEs wie der von Dev-C++, in der es keine VCL gibt und man direkt die Windows-API anspricht, ist man in solchen Fällen besser bedient, weil dann einfach besser zu durchschauen ist, was das Programm an welcher Stelle macht.

Darkstar
2003-06-05, 06:21:41
Original geschrieben von Vedek Bareil
Komplizierter wird's aber z.B., wenn eine Aktion gleich beim Programmstart gestartet werden (und von da an noch weiterlaufen) soll. Man könnte jetzt meinen, man bräuchte dann einfach nur für das Programmfenster eine OnCreate-Routine definieren und die gewünschte Aktion in diese eintragen. Ist aber nicht so. Jedenfalls habe ich auf diese Weise mehrfach Schiffbruch erlitten, etwa derart, daß das Programmfenster gar nicht angezeigt wurde. Stattdessen die OnShow- oder OnPaint-Routine zu verwenden, führte ebenfalls nicht zum gewünschten Ergebnis.
Könntest Du vielleicht ein Beispiel nennen? Das Problem sollte doch eigentlich zu lösen sein.

Vedek Bareil
2003-06-06, 01:01:13
Klar, lösen kann man das. Indem man einen Timer einbaut, den niedrig einstellt und durch die OnTimer-Routine die gewünschte Aktion starten und den Timer deaktivieren (damit der die Aktion nicht nochmal startet ;)) läßt. Ist nur irgendwie umständlich, um nicht zu sagen bescheuert ;)

Xmas
2003-06-06, 01:39:59
Original geschrieben von Vedek Bareil
Klar, lösen kann man das. Indem man einen Timer einbaut, den niedrig einstellt und durch die OnTimer-Routine die gewünschte Aktion starten und den Timer deaktivieren (damit der die Aktion nicht nochmal startet ;)) läßt. Ist nur irgendwie umständlich, um nicht zu sagen bescheuert ;)
Das erste OnActivate bzw. OnShow sollte für diesen Zweck brauchbar sein, da das Fenster dann schon sichtbar ist. Oder eben: Multithreading.

Unreal Soldier
2003-06-06, 13:51:01
Also ich möchte hier auch meinen Beitrag leisten. Bin begeisterter Java Programmierer, obowhl ich zuvor schon mit Basic, dann C programmiert habe. Kann einfach Java weiterempfehlen. Ist einfach zu erlernen und das gute daran man hat auch viel Spaß, wenn man die Konzepte der OOP unter Java gut und sorgfältig anwendet.

Also ich programmiere damit seit mehr als 3 Jahren meine Anwendungen und alles was ich brauche z.B. Applets für Seiten usw. Das beste was ich persönlich mag ist die Plattformunabhängigkeit, welche für mich als Lnux- und Windowsanwender sehr viel bedeutet. Die sehr gut Implementierung und Anwendung der OOP Konzepte im Code und die grosse Klassenbibliothek konnte ich nirgendwo in einer anderen Programmiersprache entdecken.

Da ich jetzt Praktikant bei einem Unternehmen bis welches sich in Webentwicklung spezializiert hat musste ich mir auch mal PHP erlernen, wobei ich die Sprache wirklich jetzt gut finde, aber mir fehlen immer noch die zahlreichen OOP konzepte

Ich kann für Anwendungen Java empfehlen, denn die alten Geschichten über Performance sind einfach Vergangenheit und mit nächsten Release aka J2EE/J2SE 1.5 wird auch Swing wirklich schneller werden. Für Webentwicklng ist PHP ganz ok, ich verwende Privat aber auch mal Java.

Zu C++ kann ich nicht abraten, da diese Sprache schon wegen der jahrelangen Entwicklung der Compiler und usw gut ist, aber es gibt gewisse Dinge dich mich persönlich wirklich extrem stören, aber C# ist das Mistding allesamt was ich total nicht leiden kann. Ich sag einfach alles gestohlen und nichts besseres gemacht von M$-Seite.

Letztendlich ist die Wahl einer Programmiersprache nicht nur Geschmacksache sondern die Konstellation von verschiedenen Gründen, wie Performance, Features, Style, Anwendungsbereich, Sicherheit, Flexibilität, Generik, Wartung.

Also sollte man im Endeffekt gut durchdenken, für was man welche Sprache anwenden. Ich persönlich versuche als erfehrener Java Programmierer und als PHP-fortgeschrittener immer bevor ich etwas programmiere Punkte im Progrmme zu finden, welche man vielleicht besser mit einer anderen Sprache tun könnte. Bis jetzt wurde ich nur enttäuscht und konnte meine Anwendung prima mit Java meistern. OBwohl demnächst auch einen Einblick in C++ wieder nach jahrelanger Pause in Richtung C bei mir im Programm steht.

Ich hoffe ich könnte manchen hier mal eines Lehren und das ist, dass man einfach nicht immer auf eine Sprache fixiert sein muss. Man muss die Alternativen auch sehen, Vorteile und Nachteile zu erkennen und danach entscheiden, denn Qualität entsteht durch Vielfalt.:)

grakaman
2003-06-06, 14:43:37
Wenn man bedenkt, dass das .NET Framework wohl schon Mitte der 90er entwickelt wurde und zu weiten Teilen mit C# implementiert ist, kann so viel ja gar nicht geklaut sein.

MfG

Vedek Bareil
2003-06-06, 15:50:29
Original geschrieben von Xmas
Das erste OnActivate bzw. OnShow sollte für diesen Zweck brauchbar sein, da das Fenster dann schon sichtbar ist. Oder eben: Multithreading. naja, das eigentliche Problem ist ja, daß das eben nicht so einfach ersichtlich ist. Es bleibt halt im verborgenen, was bei Create, Show oder Activate passiert.

Xmas
2003-06-06, 16:02:17
Original geschrieben von Vedek Bareil
naja, das eigentliche Problem ist ja, daß das eben nicht so einfach ersichtlich ist. Es bleibt halt im verborgenen, was bei Create, Show oder Activate passiert.
Dass es verborgen bleibt ist doch genau der Zweck der Kapselung. Es wäre eine unnötige Verkomplizierung, wenn man dann mit der Windows-Message-Schleife in Berührung kommt.
Dass es nicht so einfach ersichtlich wäre, da kann ich dir nicht ganz folgen. Denn das Verhalten ist dokumentiert und basiert ja auf WM_CREATE, WM_SHOWWINDOW und WM_ACTIVATE.

Würdest du z.B. in einem C-Programm auf WM_CREATE reagieren, wäre das Fenster zu diesem Zeitpunkt auch noch nicht sichtbar.

Vedek Bareil
2003-06-07, 00:39:46
Original geschrieben von Xmas
Würdest du z.B. in einem C-Programm auf WM_CREATE reagieren, wäre das Fenster zu diesem Zeitpunkt auch noch nicht sichtbar. in einem C-Programm wird üblicherweise erst das Programmfester fertig gemacht, bevor die Ereigniswarteschlange zum ersten Mal abgefragt wird (so ist jedenfalls die Default-WinMain von Dev-C++ aufgebaut :)), und die beim Programmstart auszuführende Aktion würde ich gar nicht über ein Ereignis auslösen, sondern mit einer Anweisung im Quellcode, z.B. in der Ereigniswarteschleife in der WinMain, etwa so:

int WINAPI WinMain(/* ... */)
{
bool isRunning = TRUE;
MSG msg;

// Fenster-Setup
ShowWindow(hWnd, /*...*/); // Fenster anzeigen

//Ereigniswarteschleife:
while (isRunning)
{
// ist ein Ereignis in der Warteschlange? Dann drauf reagieren:
if (PeekMessage(&msg, /*...*/))
{
// war's ein WM_QUIT Ereignis? Dann beenden:
if (msg.message == WM_QUIT) isRunning = FALSE;
// sonst an die WndProc weiterleiten:
else
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
// wenn kein Ereignis da war, Aktion starten/fortsetzen:
else
{
// Start/Fortsetzen der gewünschten Aktion
}
}

//...
}

Vedek Bareil
2003-06-07, 00:58:19
Original geschrieben von Xmas
Dass es verborgen bleibt ist doch genau der Zweck der Kapselung. es gibt aber Situationen, in denen dieser Zweck dem gewünschten Ziel entgegensteht ;)

Es wäre eine unnötige Verkomplizierung, wenn man dann mit der Windows-Message-Schleife in Berührung kommt. es gibt Situationen, in denen es keine Verkomplizierung, sondern eine Vereinfachung ist ;)
Z.B. solche, bei denen eine auszuführende Aktion gleich mit dem Programm starten soll. Da macht es einfach nicht viel Sinn, die Aktion erst durch ein späteres Ereignis auszulösen (auch wenn "später" hier nur einen Sekundenbruchteil bedeutet).

Xmas
2003-06-07, 03:07:10
Original geschrieben von Vedek Bareil
in einem C-Programm wird üblicherweise erst das Programmfester fertig gemacht, bevor die Ereigniswarteschlange zum ersten Mal abgefragt wird (so ist jedenfalls die Default-WinMain von Dev-C++ aufgebaut :)), und die beim Programmstart auszuführende Aktion würde ich gar nicht über ein Ereignis auslösen, sondern mit einer Anweisung im Quellcode, z.B. in der Ereigniswarteschleife in der WinMain, etwa so:
Ach, du möchtest eine Idle-Funktion haben. Sag das doch gleich ;)
Da hast du wohl recht, Delphi bietet AFAIK so etwas nicht an. Aber man könnte es als Thread realisieren.