Hallo Leute,
ich habe den Sticky mit dem "Welche Programmiersprache" usw usf gelesen. aber bei mir ist die Sachlage eine etwas Andere.
Ich bin schon seit mehreren Jahren hauptberuflich "Programmierer" und habe daher mit den gängigen Aufgaben (DB, XML, SOAP, Sockets, I/O, ..) bereits Kontakt gehabt. Durch meine Hochschule habe ich das Java-Umfeld sehr gut kennen gelernt und bin in diesem Feld auch am meisten aktiv tätig. Kenne mich hier also bestens aus.
Außerdem habe ich schon kleinere Applikationen mit c++ und c# geschrieben.
In mittelfristiker Zukunft steht bei uns in der Firma ein neues Projekt an. Ein altes Programm muss generalüberholt werden. Und mit "alt" meine ich Cobol! Vielleicht hat man jetzt eine Idee wie alt "alt" ist
Ich bin der "glückliche", der nun eine Entscheidung zu treffen hat, in welche Richtung es zukünftig gehen soll. Da ich mich firmenintern mit niemanden darüber Unterhalten kann (fehlende Erfahrung bei den anderen Entwicklern), wollte ich mich hier mal umhören.
Die Rahmenbedingungen der Applikation sind:
- SOAP konsumieren können
- XML interpretieren
- Sockets
- Threads
- vernünftige DB Anbindung
- Client/Server Architektur
- SOAP Server*
* SOAP Server muss eigentlich nicht in derselben Sprache sein. Als SOAP-Server stell ich eher ein Tomcat mit nem Axis2 hin. Der Zugriff auf vorhandene Daten geschieht dann über die DB
Letzten Endes kann so ziemlich jede Sprache mit all diesen Techniken umgehen. Die Frage ist nur wie gut oder einfach das abhandelbar ist.
Zur "Auswahl" (was mir als vernünftig in den Sinn kam) stünden bei mir die folgenden Sprachen/Frameworks:
- Java
- C++
- .NET
.NET:
Pro:
- c#, c++, basic - ganz egal welche Sprache. Man kombiniert einfach alles was man möchte
- gute Entwicklungsumgebung
- sollte man später noch einen Entwickler ins Boot holen, wäre man hier etwas freier
- Sehr umfangreiche Bibliotheken (sehr viel im Kern was man braucht)
- alles aus einem Guss was die Entwicklung betrifft (subjektiv betrachtet - daher eher son halber Punkt)
Kontra:
Was ich an .NET gar nicht mag ist die Klammerung an Windows/Microsoft und die möglicherweise nötige Installation/Aktualisierung eines .NET Frameworks beim Kunden. Außerdem habe ich nicht das nötige Wissen bezüglich der GUI ob diese gut verwendbar, oder eher nicht so ausgereift ist. Aber ich denke das MS da schon was vernünftiges hat.
Java:
Pro:
- Für Java spricht eindeutig meine Erfahrung in diesem Sektor.
- Läuft auf vielen Systemen. Man wäre theoretisch also auf einen Linux/Mac Desktop vorbereitet. ist z.Zt. aber nirgends beim Kunden anzutreffen. Aber man weiss ja nie...
- Klasse IDE mit Eclipse
- Sehr umfangreiche Bibliotheken (viel im Kern was man braucht)
- Breite Community
Kontra:
- Ein absolutes NO-GO ist die Swing Oberfläche. Die ist mir so ein (träges) Dorn im Auge, dass sie hier für eine ernste und vor allem reaktionsfreudige Anwendung überhaupt nicht in Frage kommt.
- Speicherfressend
- Lange Ladezeiten (Applikationsstart)
c++:
Pro:
- Blitz schneller Applikationsstart
- In Verbindung mit Qt eine gute GUI und sehr gutes Framework in der Hand
- Auch für andere Systeme kompilierbar bei Verwendung Unabhängiger Frameworks
Kontra:
- Schwerer in den "Griff" zu bekommen (pointer, delete, ...). Stichwort: Speicherleaks und Sicherheit (Pufferüberlauf, etc..)
- viele Bibliotheken müssen erst extern dazugeholt werden wenn es überhaupt welche gibt (achtung Unwissenheit! Ich denke hier an Dinge wie simple String-Manipulation, RegExp, SOAP, XML, gängige Internetprotokolle wie SMTP, POP, HTTP usw, usf)
Was ich an Input bräuchte wäre ein bissl Erfahrungssatz von euch bezüglich der Kontras die mir hier so eingefallen sind.
Bei Java gäbe es z.B. SWT oder Qt-Jambi als GUI-Ersatz. Mit SWT habe ich überhaupt keine Erfahrung was die Benutzbarkeit als Entwickler betrifft (vernünftiger Designer? Performance? Erweiterbarkeit?). Qt wäre mir persönlich irgendwie lieber. Da steht ne größere Firma dahinter mit viel breiteren Einsatzgebieten (gibt ja unzählige Qt Applikationen die sehr gut funktionieren) und der Designer wird gleich mitgelierfert. Aber irgendwie ist die Zukunft von Qt-Jambi ungewiss. Wollten die da nicht mit der Entwicklung aufhören? Ungewisse Zukunft eines Frameworks ist irgendwie schlecht für ein neues Projekt
Bei c++ fehlt mir auch irgendwie eine vernünftige IDE mit der ich arbeiten kann. Eclipse ist mir hier einfach zu träge. Der Qt Creator macht nen gutes Bild, ist aber bei weitem nicht so komfortabel wie Eclipse oder Visual Studio. Ist ja auch noch in den Kinderschuhen. Lässt sich hier eine vernünftige IDE erwerben? Am besten wäre es ja noch, wenn sich Qt nativ darin integriert (wie bei Eclipse z.B.).
Wer irgendwas zu diesem Thema zu sagen hat, dem wäre ich Dankbar wenn ich Input bekäme. Auch wenn es jetzt doch ein Roman geworden ist von mir
Vielleicht hat ja jemand die Lust den "wall of Text" zu lesen 
Beste Grüße,
Martin
ich habe den Sticky mit dem "Welche Programmiersprache" usw usf gelesen. aber bei mir ist die Sachlage eine etwas Andere.
Ich bin schon seit mehreren Jahren hauptberuflich "Programmierer" und habe daher mit den gängigen Aufgaben (DB, XML, SOAP, Sockets, I/O, ..) bereits Kontakt gehabt. Durch meine Hochschule habe ich das Java-Umfeld sehr gut kennen gelernt und bin in diesem Feld auch am meisten aktiv tätig. Kenne mich hier also bestens aus.
Außerdem habe ich schon kleinere Applikationen mit c++ und c# geschrieben.
In mittelfristiker Zukunft steht bei uns in der Firma ein neues Projekt an. Ein altes Programm muss generalüberholt werden. Und mit "alt" meine ich Cobol! Vielleicht hat man jetzt eine Idee wie alt "alt" ist

Ich bin der "glückliche", der nun eine Entscheidung zu treffen hat, in welche Richtung es zukünftig gehen soll. Da ich mich firmenintern mit niemanden darüber Unterhalten kann (fehlende Erfahrung bei den anderen Entwicklern), wollte ich mich hier mal umhören.
Die Rahmenbedingungen der Applikation sind:
- SOAP konsumieren können
- XML interpretieren
- Sockets
- Threads
- vernünftige DB Anbindung
- Client/Server Architektur
- SOAP Server*
* SOAP Server muss eigentlich nicht in derselben Sprache sein. Als SOAP-Server stell ich eher ein Tomcat mit nem Axis2 hin. Der Zugriff auf vorhandene Daten geschieht dann über die DB
Letzten Endes kann so ziemlich jede Sprache mit all diesen Techniken umgehen. Die Frage ist nur wie gut oder einfach das abhandelbar ist.
Zur "Auswahl" (was mir als vernünftig in den Sinn kam) stünden bei mir die folgenden Sprachen/Frameworks:
- Java
- C++
- .NET
.NET:
Pro:
- c#, c++, basic - ganz egal welche Sprache. Man kombiniert einfach alles was man möchte
- gute Entwicklungsumgebung
- sollte man später noch einen Entwickler ins Boot holen, wäre man hier etwas freier
- Sehr umfangreiche Bibliotheken (sehr viel im Kern was man braucht)
- alles aus einem Guss was die Entwicklung betrifft (subjektiv betrachtet - daher eher son halber Punkt)
Kontra:
Was ich an .NET gar nicht mag ist die Klammerung an Windows/Microsoft und die möglicherweise nötige Installation/Aktualisierung eines .NET Frameworks beim Kunden. Außerdem habe ich nicht das nötige Wissen bezüglich der GUI ob diese gut verwendbar, oder eher nicht so ausgereift ist. Aber ich denke das MS da schon was vernünftiges hat.
Java:
Pro:
- Für Java spricht eindeutig meine Erfahrung in diesem Sektor.
- Läuft auf vielen Systemen. Man wäre theoretisch also auf einen Linux/Mac Desktop vorbereitet. ist z.Zt. aber nirgends beim Kunden anzutreffen. Aber man weiss ja nie...
- Klasse IDE mit Eclipse
- Sehr umfangreiche Bibliotheken (viel im Kern was man braucht)
- Breite Community
Kontra:
- Ein absolutes NO-GO ist die Swing Oberfläche. Die ist mir so ein (träges) Dorn im Auge, dass sie hier für eine ernste und vor allem reaktionsfreudige Anwendung überhaupt nicht in Frage kommt.
- Speicherfressend
- Lange Ladezeiten (Applikationsstart)
c++:
Pro:
- Blitz schneller Applikationsstart
- In Verbindung mit Qt eine gute GUI und sehr gutes Framework in der Hand
- Auch für andere Systeme kompilierbar bei Verwendung Unabhängiger Frameworks
Kontra:
- Schwerer in den "Griff" zu bekommen (pointer, delete, ...). Stichwort: Speicherleaks und Sicherheit (Pufferüberlauf, etc..)
- viele Bibliotheken müssen erst extern dazugeholt werden wenn es überhaupt welche gibt (achtung Unwissenheit! Ich denke hier an Dinge wie simple String-Manipulation, RegExp, SOAP, XML, gängige Internetprotokolle wie SMTP, POP, HTTP usw, usf)
Was ich an Input bräuchte wäre ein bissl Erfahrungssatz von euch bezüglich der Kontras die mir hier so eingefallen sind.
Bei Java gäbe es z.B. SWT oder Qt-Jambi als GUI-Ersatz. Mit SWT habe ich überhaupt keine Erfahrung was die Benutzbarkeit als Entwickler betrifft (vernünftiger Designer? Performance? Erweiterbarkeit?). Qt wäre mir persönlich irgendwie lieber. Da steht ne größere Firma dahinter mit viel breiteren Einsatzgebieten (gibt ja unzählige Qt Applikationen die sehr gut funktionieren) und der Designer wird gleich mitgelierfert. Aber irgendwie ist die Zukunft von Qt-Jambi ungewiss. Wollten die da nicht mit der Entwicklung aufhören? Ungewisse Zukunft eines Frameworks ist irgendwie schlecht für ein neues Projekt

Bei c++ fehlt mir auch irgendwie eine vernünftige IDE mit der ich arbeiten kann. Eclipse ist mir hier einfach zu träge. Der Qt Creator macht nen gutes Bild, ist aber bei weitem nicht so komfortabel wie Eclipse oder Visual Studio. Ist ja auch noch in den Kinderschuhen. Lässt sich hier eine vernünftige IDE erwerben? Am besten wäre es ja noch, wenn sich Qt nativ darin integriert (wie bei Eclipse z.B.).
Wer irgendwas zu diesem Thema zu sagen hat, dem wäre ich Dankbar wenn ich Input bekäme. Auch wenn es jetzt doch ein Roman geworden ist von mir


Beste Grüße,
Martin