"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

@ pro-coders

daisho 08.07.2004 - 23:59 2275 41
Posts

SYSMATRIX

Legend
Legend
Registered: May 2000
Location: ~
Posts: 5020
[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". :bash: )

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
Avatar
Registered: Sep 2000
Location: Graz
Posts: 6441
Zitat von FMFlash
[...] 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
Registered: Aug 2000
Location:
Posts: 333
Zitat von FMFlash
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
Avatar
Registered: Feb 2003
Location: Linz
Posts: 400
Zitat von FMFlash
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
Avatar
Registered: Jul 2002
Location: Graz
Posts: 9807
Zitat von gue
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
Registered: Jul 2002
Location: hier
Posts: 5321
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 :)

Zitat
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 :D
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 :fresserettich:
Bearbeitet von fresserettich am 13.07.2004, 20:26

FMFlash

tranceCoder
Avatar
Registered: Mar 2001
Location: Wien
Posts: 2037
Zitat von xdfk
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 ?


Zitat von gerhardtt
Gerne! ich empfehle "Java Servlet Programmierung" von Oreily.

Mich intressiert eher deine Meinung zu und deine Erfahrung mit Servlets.


Zitat von gue
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
Avatar
Registered: Feb 2003
Location: Linz
Posts: 400
Zitat von FMFlash
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.

Zitat
OpenGL auf Handys wär ein hit ;)
Ja und 3D-Grafikkarten in Handys auch :D

Zitat
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
Avatar
Registered: Feb 2001
Location: Feldkirch
Posts: 5977
Zitat von gue
Nein, will ich nicht. Bitte lies dir das, was ich geschrieben habe, nochmal durch.


Ja und 3D-Grafikkarten in Handys auch :D


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
Avatar
Registered: Jul 2002
Location: Graz
Posts: 9807
Zitat von gue
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
Avatar
Registered: Nov 2002
Location: 4C4
Posts: 19610
Verwechselst du das jetzt nicht mit den Klingeltönen :confused: , 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

Moderator
Hoffnungsloser Optimist
Avatar
Registered: Mar 2000
Location: MeidLing
Posts: 11327
Zitat von fresserettich
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:

,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,............................................----::::;












;)
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz