SYSMATRIX
Legend Legend
|
[QUOTE] Originally posted by FMFlash
Die einfache Antwort auf deine Frage: ALLE (wobei, wie schon zu vor erwähnt, VC++ keine Sprache sondern eine Entwicklungsumgebung ist). Welche Sprache verwendet wird hat allerdings nicht immer einen gerechtfertigten, programmiertechnischen oder wirtschaftlichen, Grund. Wenn ein Vorgesetzter der im Grunde keine Ahnung von der Materie hat meint es müsse ein ganzes Projekt in Sprache X geschrieben werden obwohl es keine rationalen Gründe dafür gibt dann wird eben Sprache X verwendet. Wenn solchen ambitionierten Leuten eingetrichtert wurde das in Java oder VB entwickelte Software schneller fertig, sicherer, benutzerfreundlicher, besser zu warten, etc. ist, dann wird eben diese Sprache eingesetzt. (Aktuelles Beispiel @ Siemens: Fertiges, funktionierendes, in Java programmiertes EDV-System wird in VB neu geschrieben weil der Vorgesetzte es "dann auch versteht". )
Die Leute die dem Marketing von SUN (Hut ab übrigens, ein so ineffizientes und imho unnötiges Produkt so gut zu vermarkten ist schon eine Leistung) erlegen sind und mit dem Buzzword "Platformunabhängig" um sich werfen haben allerdings offensichtlich keine Ahnung von Alternativen. Wie ebenfalls bereits erwähnt ist C/C++ (dessen Kern _extrem_ schlank und daher effizient ist - nicht mal I/O ist da vorhanden (-> Bibliotheken)) sehr wohl leicht zu portieren. Schwierig wird es erst wenn man anfängt APIs von Betriebssystemen direkt anzusprechen, denn damit bindet man sich an deren libs. Das es einige, kommerzielle oder kostenlose (Open-Source) Lösungen für dieses Problem gibt ist wohl den wenigsten bewusst. Libs wie Qt oder wxWidgets bieten für den Entwickler ein einheitliches Interface das auf allen Platformen identischen Code zulässt und dabei die durchaus unterschiedliche Handhabung der Systeme im Hintergrund abwickelt. Es ist somit überhaupt kein Problem portable, native GUI-Applikationen in C++ zu schreiben. Es ist lediglich eine neu-compilierung auf dem entsprechenden System erforderlich.
Das Java die Dinge vereinfacht und dem Entwickler (wie ebenfalls schon angesprochen) Freiheiten nimmt finde ich ebenfalls _nicht_ gut, denn imho hat ein professioneller Entwickler zu wissen was er / sie tut, und sich auf ein Sicherheitsnetz der Sprache zu verlassen hat damit wenig zu tun.
Last but not least zu Java: Es regt mich immer wieder auf, weil es so unverständlich ist, in einer Sprache zu schreiben die aktuelle PCs aussehen lässt als wären sie 5 Jahre alt! Zugegeben ist es für einen einfachen Taschenrechner nicht relevant, aber das "Argument" das die "heutigen PCs ja eh schon schnell genug sind" ist einfach nur haarsträubend! Das wäre so als würde man sagen: "Die Kühler heutzutage sind doch eh schon leistungsfähig genug! Um die Abwärme der künftigen CPUs brauchen wir uns also garnicht zu kümmern, super!". Effizienz ist der Schlüssel.
Ad PHP (und Java im Web): Was hat Java im Web zu suchen? Ausser für Spielchen (dieses Multiplayer-MiniGolf ist zb sehr gut ) und Go-ICQ ist es doch nichts als eine Plage für den User. Jede Seite die eine Minute für das Laden von irgendwelchen (toll animierten) Java-Applets verschwendet wird von mir geächtet und nach Möglichkeit gemieden. Eine Kombination aus PHP und JavaScript bietet imo ausreichend Möglichkeiten für eine Webpräsenz und fast jede Seite (je nach Datenbankzugriff) ist in Bruchteilen einer Sekunde vom Server generiert. So soll es sein. [/QUOTE] seh ich genau so!
|
xdfk
pädagogisch wertvoll
|
[...] Wie ebenfalls bereits erwähnt ist C/C++ (dessen Kern _extrem_ schlank und daher effizient ist - nicht mal I/O ist da vorhanden (-> Bibliotheken)) sehr wohl leicht zu portieren. Schwierig wird es erst wenn man anfängt APIs von Betriebssystemen direkt anzusprechen, denn damit bindet man sich an deren libs. Das es einige, kommerzielle oder kostenlose (Open-Source) Lösungen für dieses Problem gibt ist wohl den wenigsten bewusst. Libs wie Qt oder wxWidgets bieten für den Entwickler ein einheitliches Interface das auf allen Platformen identischen Code zulässt und dabei die durchaus unterschiedliche Handhabung der Systeme im Hintergrund abwickelt. Es ist somit überhaupt kein Problem portable, native GUI-Applikationen in C++ zu schreiben. Es ist lediglich eine neu-compilierung auf dem entsprechenden System erforderlich. schoen waere es wenns so waere. ich bin bei einem projekt dabei da hat der kunde auch gedacht dass das so einfach waere und bei den entwicklern war kein mac user dabei... nach den ersten reviews ihrer software haben sie doch einen mac user gesucht um die ganzen mac untypischen dinge zu korrigieren..... (war mit qt geschriebene software)
|
gerhardtt
Big d00d
|
Da hast du wohl recht, also bitte gib mir was über die Mächtigkeit von Servlets zu lesen (aus deinem reichen Erfahrungsschatz), damit ich auch mitdiskutieren kann. Danke. Gerne! ich empfehle "Java Servlet Programmierung" von Oreily.
|
gue
Addicted
|
Wir sollten wohl alle etwas "mehr lesen", denn die Objekte der STL und Bibliotheken wie wxWidgets überlassen fast nur noch das new der Objekte dem Programmierer. Somit braucht man sich hier genauso wenig um die Speicherverwaltung kümmern. Versteh ich das richtig? wxWidgets haben einen Garbage Collector eingebaut? Ich glaube bei der Plattformunabhängigkeit bei Java sind jetzt nicht nur die PC-GUI Sachen gemeint, sondern auch, dass man eine kleine Java-Application schnell in ein Applet umgewandelt hat und dass man Java auch auf Handys einsetzen kann. Das geht zwar mit C bestimmt auch, allerdings denke ich, die Handys der unterschiedlichen Hersteller haben da bestimmt ganz andere Strukturen, was ein plattformunabhängiges Entwickeln auf Handys und generell Embedded Software mit C unmöglich macht.
|
ica
hmm
|
Versteh ich das richtig? wxWidgets haben einen Garbage Collector eingebaut?
Ich glaube bei der Plattformunabhängigkeit bei Java sind jetzt nicht nur die PC-GUI Sachen gemeint, sondern auch, dass man eine kleine Java-Application schnell in ein Applet umgewandelt hat und dass man Java auch auf Handys einsetzen kann. Das geht zwar mit C bestimmt auch, allerdings denke ich, die Handys der unterschiedlichen Hersteller haben da bestimmt ganz andere Strukturen, was ein plattformunabhängiges Entwickeln auf Handys und generell Embedded Software mit C unmöglich macht. nein wxwidgets haben keinen garbage collector eingebaut, die sachen die du selbst anlegst und die nichts mit wxwidgets zu tun haben musst du auch selber löschen, allerdings kümmert sich wxwidgets um viele wxwidgets-objekte selber. das schau ich mir an, dass du eine java anwendung so schnell auf ein handy portierst. nichtmal wenn du sie für ein handy geschrieben hast lauft das teil auf allen anderen handy weil wieder jeder hersteller seine eigenheiten eingebaut hat.....
|
fresserettich
Here to stay
|
vor weg möchte ich mal nehmen dass ich sicher nicht der pro-coder bin aber möchte trotzdem mal meine meinung dazu kund tun weil es gerade um java geht habe heuer selbst ein jahr java/struts hinter mir und muss sagen java hat sicher seine darseinsberechtigung am anfang habe ich mir doch eher schwer getan (das erste mal gui progammieren). meine erfahrung ist in java is schon fast alles da man muss es nur noch richtig zusammenstoppeln und gerade das machte mir am meisten probleme auch die ganzen sicherheits sachen gefielen mir am anfang nicht jetzt muss ich sagen dass java mir sehr gut gefällt und mit der derzeit gewöhnt man sich daran nicht mehr voll die kontrolle zu haben und man lernt seinen vorteil daraus zu ziehen heute ist es einfach so man bekommt einen unmöglichen releasetermin für seine sw und sollte möglichst wenig kosten haben --> jede zeile code die ich mir erspar egal ob aufwendig oder nicht ist zeitersparung außerdem hat man in java schon ziemliche viele klassen die schon fix fertig und ausgetestet sind gibt es natürlich in c/c++ auch is eh klar gerade die web-schiene in bezug auf struts hat mir dann sehr gut gefallen weil man wirklich eine saubere struktur hat zumindest so wie ich es kennen gelernt habe weiters glaube ich auch das java sicher zukunft hat immerhin hat man mit sun und ibm (open source schiene) 2 große konzerne dahinter der große nachteil ist leider die performance aber ich glaube das wird sich im laufe der zeit auch noch ergeben abschliessend möchte ich sagen das man einfach nicht etwas veralgemeinern kann sprich jede sprache hat seiner stärken und schwächen außerdem muss man als techniker immer für etwas offen sein und sonst hat man imho seinen aufgabe nicht sachgerecht erlediegt außerdem wird man ja wie schon in diesem thread erwähnt vor beschlossene tatsachen gestellt also je flexibler du bist desto mehr chancen hast du profis solltens sich dann doch sehr schnell in java einarbeiten können wenn sie c++ wirklich gut können (schätz 3 wochen und ein c++ mensch kann java) aber bis man c++ kann ~ mehrere jahre. außerdem sollte man solchen aussagen nur bedingt glauben schenken was heißt "können" imho kannst progammieren und nicht c/c++ oder java oder wwi ich glaube 3 wochen kannst alleine mal für die klasse swing brauchen aber sicher ist der umstieg nicht so schwer @topic ich versuche immer eine gutes grundverständnis aufzubauen sprich nicht sagen jetzt habe ich die klasse x top drauf ich kann die sprache x sondern wirklich ein verständis aufzubauen das bringt dir sicherlich mehr weil ab der version z.B. java 1.7 ist so und so wieder alles anders ich würde dir empfehlen mit c/c++ anzufangen und wenn du da mal drin bist mir java anschauen dann bist sicher auf einem guten weg ich denke bei c/c++ bekommst einfach doch noch mehr hintergründe mit @alle bitte kritik per pm sind halt nur meine erfahrung bin wie oben schon geschrieben kein pro-coder einfach noch nicht lang genug dabei und müsste einfach noch mehr proggen mfg
Bearbeitet von fresserettich am 13.07.2004, 20:26
|
FMFlash
tranceCoder
|
schoen waere es wenns so waere. ich bin bei einem projekt dabei da hat der kunde auch gedacht dass das so einfach waere und bei den entwicklern war kein mac user dabei... nach den ersten reviews ihrer software haben sie doch einen mac user gesucht um die ganzen mac untypischen dinge zu korrigieren..... (war mit qt geschriebene software) Mich würde interessieren was für Mac-untypische Dinge das waren. Ich hab leider keine Erfahrungen mit Macs, aber ich hoffe ich lehne mich nicht zu weit aus dem Fenster wenn ich behaupte das nach 11 Jahren Open-Source-Entwicklung durch Leute aus allen Bereichen der wxWidgets code zumindest annähernd gleich funktioniert. Unterschiede gibts natürlich, aber alles was *irgendwie* nur für bestimmte Platformen einen Effekt hätte ist in der Doku gekennzeichnet. Das waren afair bis jetzt lauter minimale Dinge im GUI-Bereich. Laut den Entwicklern wurden Dinge die nicht nativ vorhanden waren quasi selbst implementiert um ein einheitliches "Look & Feel" zu gewährleisten. Was mich auch noch interessieren würde: Welche Lib ist umfangreicher? Qt oder wxWidgets ? Gerne! ich empfehle "Java Servlet Programmierung" von Oreily. Mich intressiert eher deine Meinung zu und deine Erfahrung mit Servlets. Ich glaube bei der Plattformunabhängigkeit bei Java sind jetzt nicht nur die PC-GUI Sachen gemeint, sondern auch, dass man eine kleine Java-Application schnell in ein Applet umgewandelt hat und dass man Java auch auf Handys einsetzen kann. Das geht zwar mit C bestimmt auch, allerdings denke ich, die Handys der unterschiedlichen Hersteller haben da bestimmt ganz andere Strukturen, was ein plattformunabhängiges Entwickeln auf Handys und generell Embedded Software mit C unmöglich macht. Also willst du behaupten das es keine embedded Software gibt die in C geschrieben ist? Ich hoffe doch wohl nicht ... Stichwort: Firmware! Wenn du mit "embedded" nur Dinge wie PDAs und Handys meinst: Wenn man es einfach haben will -> wxEmbedded. Obwohl ich bezweifle das dieses Support für Handys bietet. OpenGL auf Handys wär ein hit Wo wir schon bei Handys sind: Handtelefone haben eine extrem schwache CPU, also why the hell wird auf diesen Platformen auch noch mit Java entwickelt? Das schlägt dem Krüppel ja den Krückstock aus der Hand! Andere als rein Wirtschaftliche (das Marketing für Java ist ja wirklich gut) Gründe kann ich mir nicht vorstellen.
|
gue
Addicted
|
Also willst du behaupten das es keine embedded Software gibt die in C geschrieben ist? Ich hoffe doch wohl nicht ... Stichwort: Firmware! Nein, will ich nicht. Bitte lies dir das, was ich geschrieben habe, nochmal durch. OpenGL auf Handys wär ein hit Ja und 3D-Grafikkarten in Handys auch Wo wir schon bei Handys sind: Handtelefone haben eine extrem schwache CPU, also why the hell wird auf diesen Platformen auch noch mit Java entwickelt? Das schlägt dem Krüppel ja den Krückstock aus der Hand! Andere als rein Wirtschaftliche (das Marketing für Java ist ja wirklich gut) Gründe kann ich mir nicht vorstellen. Das hängt damit zusammen, dass dadurch verschiedene Programme auf verschiedenen Handymodellen rennen. Die Handys haben eine JVM mit der Java Micro Edition rennen (die normalerweise vollständig auf jedem Handy verfügbar ist @ica). Dadurch können z.B. Spiele oder andere Anwendungen leicht auf verschiedenen Handys ausgeführt werden und man muss nicht "Hier klicken um Programm für Siemens S-55 downzuloaden" "Hier klicken um Programm für Siemens S-56 downzuloaden" "Hier klicken um Programm für Nokia 7910 downzuloaden" "Hier klicken um Programm für Nokia 7920 downzuloaden" ... auf seiner Website angeben
|
manalishi
tl;dr
|
Nein, will ich nicht. Bitte lies dir das, was ich geschrieben habe, nochmal durch.
Ja und 3D-Grafikkarten in Handys auch
Das hängt damit zusammen, dass dadurch verschiedene Programme auf verschiedenen Handymodellen rennen. Die Handys haben eine JVM mit der Java Micro Edition rennen (die normalerweise vollständig auf jedem Handy verfügbar ist @ica). Dadurch können z.B. Spiele oder andere Anwendungen leicht auf verschiedenen Handys ausgeführt werden und man muss nicht "Hier klicken um Programm für Siemens S-55 downzuloaden" "Hier klicken um Programm für Siemens S-56 downzuloaden" "Hier klicken um Programm für Nokia 7910 downzuloaden" "Hier klicken um Programm für Nokia 7920 downzuloaden" ... auf seiner Website angeben afaik gibt's sogar prozessoren, auf denen die vm teilweise in einem rom verankert ist. ich hoffe, ich finde den link dazu. in java hab' ich schon einiges geschrieben, die servlets sind mir als eingesessener php coder aber immer noch suspekt. darf ich also um eine kleine gegenüberstellung von erfahrungen in den punkten - "echte" plattformunabhängigkeit - performance - verfügbarkeit von zusatzsoftware (z.b. die ganzen php cache layer die vor einiger zeit förmlich aus dem boden schossen) bitten? irgendwie hab' ich das gefühl, dass servlet konzepte unterlegen sind, lass mich aber gerne eines besseren belehren.
|
ica
hmm
|
Dadurch können z.B. Spiele oder andere Anwendungen leicht auf verschiedenen Handys ausgeführt werden und man muss nicht "Hier klicken um Programm für Siemens S-55 downzuloaden" "Hier klicken um Programm für Siemens S-56 downzuloaden" "Hier klicken um Programm für Nokia 7910 downzuloaden" "Hier klicken um Programm für Nokia 7920 downzuloaden" ... auf seiner Website angeben komisch, dass aber genau das der fall ist
|
daisho
SHODAN
|
Verwechselst du das jetzt nicht mit den Klingeltönen , btw das wird ein bißchen off-topic. Mein Problem hat sich eh schon gelöst werde auf jeden Fall mal c++ anschneiden, egal was ich weiter mache.
|
that
ModeratorHoffnungsloser Optimist
|
vor weg möchte ich mal nehmen dass ich sicher nicht der pro-coder bin aber möchte trotzdem mal meine meinung dazu kund tun Ich würde deine Meinung gerne lesen, aber das ist mir bei deinem Stil echt zu mühsam. Hier, zum Verteilen in deinem nächsten Posting: ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................................----::::;
|