AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

sinnvollere Entwicklungsumgebung?

Ein Thema von erik-17 · begonnen am 7. Dez 2011 · letzter Beitrag vom 8. Dez 2011
Antwort Antwort
Seite 1 von 2  1 2      
erik-17

Registriert seit: 8. Apr 2010
51 Beiträge
 
Delphi 3 Professional
 
#1

sinnvollere Entwicklungsumgebung?

  Alt 7. Dez 2011, 14:39
Hallo Delphi-Freunde,

nach dem ich nun schon einige Tools mit Delphi (Festplatten-Aufräumer, binäre Uhr) und schon einige kleinere Tests mit Java (Eclipse, auch für kleine Android-Apps) programmiert habe, möchte ich mich jetzt der Netzwerkkommunikation zuwenden. Dabei sollte auch die Platformunabhängigkeit eine Rolle spielen (habe Linux + Windows zu hause am laufen), wofür nun Java besser geeignet wäre.

Jetzt meine Frage dazu: Mit welcher Umgebung lässt sich die Kommunikation über das (zunächst private) Netzwerk einfacher umsetzen? Hat jemand Erfahrung mit solchen speziellen Gebieten der jeweiligen Programmiersprache / Entwicklungsumgebung?

Falls es noch wichtig ist, ich werde die Programmierarbeit am Linux-Rechner vornehmen. Delphi (habe Version 3) wird dann durch Lazarus ersetzt, bzw. versucht mit wine zu laufen. Java läuft dann wahrscheinlich mit Eclipse (bzw. wenn Netzwerke in anderen Umgebungen besser umzusetzen sind, auch gerne mit anderen Umgebungen).

Würde mich über Antworten sehr freuen
  Mit Zitat antworten Zitat
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#2

AW: sinnvollere Entwicklungsumgebung?

  Alt 7. Dez 2011, 14:48
Rein zur Plattformunabhängigkeit:

Bei Java hast du dann natürlich immer den GC am Hals (es gibt nichts, das ich mehr hasse als GCs), bei FreePascal (Lazarus) kannst du die gewohnte Sprache beibehalten (gibt nur einige wenige Differenzen). Bei Java brauchst du weiterhin immer eine installierte JRE, das setzt FreePascal nicht voraus.

Ich benutze FreePascal schon seit einer ganzen Weile für Cross-Platform, und es läuft wie geschmiert. Man muss sich einfach nur die windowsspezifischen Aufrufe abgewöhnen, und dann klappt das perfekt. Je nachdem, wie du's einstellst, benutzt die LCL unter Windows direkt die WinAPI und unter Linux GTK oder Qt. Es ist sehr praktisch, dass man sich darum nicht mehr kümmern muss.

Delphi 3 ist schon sehr, sehr alt, und da lohnt es sich dann doch nicht, das zu winen. Dass Lazarus als IDE mit neueren Delphis nicht mithalten kann, dürfte klar sein, aber D3 kannst du ohne schlechtes Gewissen im Regal stehen lassen
  Mit Zitat antworten Zitat
erik-17

Registriert seit: 8. Apr 2010
51 Beiträge
 
Delphi 3 Professional
 
#3

AW: sinnvollere Entwicklungsumgebung?

  Alt 7. Dez 2011, 15:03
Vielen Dank für deine Antwort
Also werde ich mich demnächst mal wieder ans Programmieren machen (und Lazarus kennenlernen).
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#4

AW: sinnvollere Entwicklungsumgebung?

  Alt 7. Dez 2011, 16:00
Für Java kann ich die NetBeans IDE sehr empfehlen (teilweise ist sie der aktuellen Delphi IDE um Lichtjahre voraus), auch für Netzwerkprogrammierung. Die saubere Apache Maven Integration und die Unzahl von Plugins - die sich leichter als bei Eclipse installieren lassen - machen die Arbeit sehr angenehm. Die einschlägigen Framework für Netzanwendungen wie z.B. Apache MINA oder Grizzly sowie Netty (Java NIO Client Server Socket Framework aus JBoss) sind sehr ausgereift und performant, unter anderem wegen NIO und IOCP Unterstützung, die man für Delphi noch nicht hat.

p.s. dass es in Java einen GC gibt weiss ich zwar, aber negativ aufgefallen ist er mir in den vergangen fünfzehn Jahren noch nicht
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#5

AW: sinnvollere Entwicklungsumgebung?

  Alt 7. Dez 2011, 18:33
Also ich würde hier eher zu Mono als Plattform und dann wohl C# als Sprache greifen. Es gibt nichts geileres als eine moderne, managed Laufzeitumgebung. Du hast eine optimale automatische Optimierung an Deine jeweilige Plattform (auf x64 Systemen hast Du automatisch eine x64 Anwendung, ohne einen Finger zu rühren) und vor allem kann Mono (analog dazu auch Java) den Speicher viel optimaler verwalten als Du es manuell je könntest.

Als IDE bietet sich dann natürlich MonoDevelop an. Zusammen mit InternetPack (eine OpenSource Komponentensammlung vergleichbar mit den Indy's für Mono und .NET) hast Du dann eine saubere Basis um Netzanwendungen zu schreiben.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Hisoka

Registriert seit: 2. Jan 2008
Ort: im Norden
53 Beiträge
 
FreePascal / Lazarus
 
#6

AW: sinnvollere Entwicklungsumgebung?

  Alt 7. Dez 2011, 19:17
Naja C# würde ich eher nicht wählen. Denn die Entwicklung der Desktop-Version ist beinahe eingeschlafen. So gibt es aktuell keine Anbindung an neuere UI-Bibliotheken wie GTK3 und die Zukunft von Xamarian ist eher ungewiss und sonst sind eher wenige Firmen an der Entwicklung beteiligt(Novell hat ja alle Entwickler gefeuert).

Mit den Anbindungen an andere Toolkits sieht es nicht unbedingt besser aus:
Qyoto => ist nicht aktuell( und aktuell scheint keine Arbeit gemacht zu werden)
qt4dotnet => tot
WX.Net => fraglich ob es noch lebt


Soll nur als Hinweis dienen. C# ist ja keine schlechte Sprache und MonoDevelop keine schlechte IDE, aber wer setzt schon gerne auf ein "totes" Pferd.
  Mit Zitat antworten Zitat
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#7

AW: sinnvollere Entwicklungsumgebung?

  Alt 8. Dez 2011, 08:55
p.s. dass es in Java einen GC gibt weiss ich zwar, aber negativ aufgefallen ist er mir in den vergangen fünfzehn Jahren noch nicht
Der speziell mir auch noch nicht, da ich Java noch nicht genutzt habe, aber ein anderer von *hust*hust* Microsoft, während meines Ausflugs nach *hust*hust* C#.
Und seitdem habe ich eine grundsätzliche Abneigung gegen GCs:
  • Statt die Sachen, die ich aus dem Regal hole, wieder wegzupacken, wenn ich sie nicht mehr brauche, lasse ich sie auf dem Boden liegen
  • Irgendwann, wenn der Raum schon bis auf Hüfthöhe voll ist und ich kaum mehr gehen kann, kommt mein Sklave namens Garbage Collection vorbei, und beginnt langsam aufzuräumen
  • ... so langsam, dass ich schneller neue Sachen ausm Regal hole, als er wegräumen kann
  • Mittlerweile geht mir der Müll bis zum Hals
  • Am Ende ersticken wir beide
Da räum ich meinen Dreck dann doch lieber selber weg

[EDIT]
Und damit beißt sich mein Beitrag dann mit den Aussagen:
Zitat von Phoenix:
Es gibt nichts geileres als eine moderne, managed Laufzeitumgebung. [...] und vor allem kann Mono (analog dazu auch Java) den Speicher viel optimaler verwalten als Du es manuell je könntest.
Dan scheint es mich wohl einfach nicht zu mögen

Geändert von implementation ( 8. Dez 2011 um 08:58 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#8

AW: sinnvollere Entwicklungsumgebung?

  Alt 8. Dez 2011, 09:02
Naja C# würde ich eher nicht wählen. Denn die Entwicklung der Desktop-Version ist beinahe eingeschlafen. So gibt es aktuell keine Anbindung an neuere UI-Bibliotheken wie GTK3 und die Zukunft von Xamarian ist eher ungewiss und sonst sind eher wenige Firmen an der Entwicklung beteiligt(Novell hat ja alle Entwickler gefeuert).
Erm.. Gtk#3 wird aktiv weiterentwickelt. Xamarin ist schon lange in den (sehr) schwarzen Zahlen, von daher ist die Zukunft nicht wirklich fragwürdig.

Ausserdem geht es hier um Netzwerk-Programme und nicht um Desktop-Programme, von dehr ist GUI wohl eher kein Thema. Und managed Umgebungen wie Java und .NET/Mono sind nunmal naturgemäß im Server- bzw. Backend-Bereich stärker, von daher passt das.

Soll nur als Hinweis dienen. C# ist ja keine schlechte Sprache und MonoDevelop keine schlechte IDE, aber wer setzt schon gerne auf ein "totes" Pferd.
Das Pferd ist quietschfidel
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#9

AW: sinnvollere Entwicklungsumgebung?

  Alt 8. Dez 2011, 17:35
[*]... so langsam, dass ich schneller neue Sachen ausm Regal hole, als er wegräumen kann
Weder für Java noch für C# schreibt die Spezifikation vor, dass der Garbage Collector langsam sein muss

Seit Java 5 ist die parallele Garbage Collection per Default eingeschaltet, wenn es sich um eine Maschine mit mehreren Prozessoren oder -kernen handelt. (Siehe Angelika Langer, Generational Garbage Collection, http://www.angelikalanger.com/Articl...oungGenGC.html) - dann können neben den Anwendungsthreads mehrere GC Threads laufen, die sich die einzelnen GC Strategien und Speichertypen untereinander effizient aufteilen können.

Dass man in Delphi alles selber machen darf ist schön, schön ist aber auch wenn einem die Arbeit abgenommen werden kann - weniger Codierungsaufwand für das Schreiben von Destruktoren, weniger Kopfzerbrechen über den 'richtigen' Zeitpunkt ab dem ein Objekt freigegeben werden kann, mehr Zeit für andere Pfadfindertugenden

Beispiel, was so ein Garbage Collector bringt: wenn eine Reihe von Objekten zyklisch referenziert sind (A -> B -> C -> A), und nur auf eines der Objekte in diesem Ring noch über eine Variable zugegriffen werden kann, darf man natürlich die anderen noch nicht freigeben. Sobald aber diese eine Variable nicht mehr aus dem Programm erreichbar ist (bei Verlassen einer Prozedur in der diese Referenz existierte, oder wenn sie auf nil gesetzt wird), dann sind die daran hängenden Objekte A bis C nicht mehr erreichbar. In Java werden solche Dateninseln erkannt und freigegeben. In Delphi hat man viel Spass mit der Programmierung eines entsprechenden Aufräumalgorithmus...
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#10

AW: sinnvollere Entwicklungsumgebung?

  Alt 8. Dez 2011, 18:11
dann können neben den Anwendungsthreads mehrere GC Threads laufen, die sich die einzelnen GC Strategien und Speichertypen untereinander effizient aufteilen können.
Oh Wow, füttern wir ihn mit noch mehr wertvoller Rechenleistung
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:49 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