Programmiersprache....

Lumio

Lumio

Tripel-As
Hi,
hab mir mal ein bisschen überlegt, was ich gern machen möchte. Hab mit C++ wieder angefangen zu lernen und werde das in meinen letzten Sommerferien noch vertiefen.

Allerdings suche ich ne Sprache, die für Web- und Desktopanwendungen geeignet ist. PHP ist nur fürs Web "gut", allerdings ist es nicht gerade toll.

Java ist für mich irgendwie komisch, da es 1. irgendwie ressourcenfressend wirkt und 2. es die GUI nicht richtig zeichnet (zumindest gibts bei mir unter OS X ein paar Schönheitsfehler).

Nun bin ich auf der Suche nach ner Alternative... da gäbs noch Python... will ich mir noch anschaun :)

Oder ich denk mir ne eigene Sprache aus xD dazu gibts schon Ansätze. Bei der Umsetzung würds vorerst noch scheitern - es sei denn es will mir wer helfen xD
 
Nun wenn du dir Python anschauen möchtest kannste dir ja gleich mal Django anschauen!
Das ist ein Webframework für Python und ich muss sagen es macht nen sehr guten eindruck!

Ich schaue es mir selber genauer an, auf der Homepage findest du auch ein Tutorial unter Documentation.
Es gibt auch irgentwo eine deutsche Übersetztung davon!

gruß Iway
 
Java ist für mich irgendwie komisch, da es 1. irgendwie ressourcenfressend wirkt

So ein Schwachsinn.

Ansonsten: Python mit Django ist ein guter Tip, obwohl ich persönlich Ruby mit Ruby on Rails bevorzuge.
 
das sind eigentlich auch meine erfahrungen... hm
die meisten java programme brauchen jedenfalls dank der jre verdammt viel ram... dafür sind sie dann aber auch platformunabhängig.

perl, ruby und python sind imho jedenfalls sehr interessante sprachen. ich beschäftige mich grad mit ruby und kann mich nicht beklagen. die möglichkeiten sind vor allem dank ruby on rails schon verdammt groß und die syntax einfach zu lesen, man findet aber zB für perl deutlich mehr tutorials im internet.

was zeichnet eigentlich python aus?
 
Allerdings suche ich ne Sprache, die für Web- und Desktopanwendungen geeignet ist. PHP ist nur fürs Web "gut", allerdings ist es nicht gerade toll.
Was hast Du denn genau vor? Was genau ist eine Web-Anwendung für Dich? Webseite? Web-Service? Verteilte C/S-App? Was ist denn "nicht gerade toll" an PHP?
Java ist für mich irgendwie komisch, da es 1. irgendwie ressourcenfressend wirkt
...ist es bis zu einem gewissen Grade auch. Das Problem ist aber Apple, die es nicht hinbekommen, eine VM vernünftig zu implementieren und Sicherheitslücken zu fixen. Es gibt aber mittlerweile auch das OpenJDK für OS X. Die normale Sun-Hotspot ist recht flott.
und 2. es die GUI nicht richtig zeichnet (zumindest gibts bei mir unter OS X ein paar Schönheitsfehler).
Gerade Swing ist bei Mac OS X nativ implementiert...
 
Zuletzt bearbeitet:
Kurzer Kommentar zu Java von einem (leider) nicht-Programmierer: es gibt durchaus nicht wenige sehr performante Java-Proggies, genauso wie man in c++, Phyton oder sonstwas richtig lahmen Mist verzapfen kann. Sowas ist schließlich auch eine Frage der Programmierkünste.
 
Ja, Ruby würde mich total interessieren. Hab mir heute Python angeguckt. Muss mal schaun wie man das mit cgi verwendet.

Und eine Webanwendung ist für mich jede dynamische Seite, wie dieses Forum. Eine einfache dynamische Seite macht zwar noch keine Webanwendung, aber ich glaube man versteht, was ich meine.

Was ich vor habe? Nichts :) such nur eine Sprache, die universal eingesetzt werden kann.
 
Ja kann schon sein, aber mir ist es bislang immer so komisch vorgekommen. Aber vielleicht könnt ihr mir ja mal gute Programme die mittels Java realisiert wurden.

Ich zitiere Kalle:

Sowas ist schließlich auch eine Frage der Programmierkünste.

Muss mal schaun wie man das mit cgi verwendet.

Und wenn du zufälligerweise noch eine Zeitmaschine zur Hand hast, die dich ins Jahr 1997 zurückbringt, ist das genau der richtige Weg.

Du verstehst worauf ich hinaus will?

Ja, Ruby würde mich total interessieren.

Ja, dann nimm das.

(Sag ich mal als absoluter Ruby-Fanboy)
 
C/C++ ist für Webanwendungen genauso geeignet wie andere Sprachen auch. CGI heisst die Lösung deines Problems und nicht "ne Sprache, die für Web- und Desktopanwendungen geeignet ist". Die hast du ja bereits. C/C++ hat sogar einige Vorteile in diesem Bereich, die du mit kaum einer Skriptsprache so effektiv nutzen kannst... z.B. die Verwendung der Apache-Bibliotheken direkt in deiner Webapplikation, die Möglichkeit eigene Skriptsprachen zu implementieren, der Zugriff auf Code, der in anderen Sprachen geschrieben ist, der Zugriff auf Protokollschichten, die unterhalb von HTTP liegen usw.

Ansonsten kannst du fast jede beliebige Sprache lernen. Sie lassen sich fast alle als CGI verwenden und jede hat Vor- und Nachteile. Wenn du was relativ weit verbreitetes haben willst, dann schau dir Perl, Ruby oder Python an. Alle 3 bieten sehr gute Web-Frameworks und liefern auch auf der Konsole eine annehmbare Performance. Wenn du was Performantes suchst, dann nimm Java oder eben C/C++ und nicht irgendwelchen interpretierten Kram.

Zum Thema Java und schlechte Performance... Ich bereite mich selbst gerade auf die SCJP-Prüfung vor, wodurch ich momentan recht viel mit Java zu tun habe, und kann ganz und garnicht bestätigen, dass Java eine schlechte Performance bietet. Das ist zu 99,9% den Entwicklern zuzulasten. Du willst performante Java-Programme kennenlernen? NetBeans, WowzaMediaServer und Eclipse dürften einige der bekannteren sein, die in ihrer Basis recht performant sind. Ausgebremst werden sie zumeist nur durch schlechte Plugins. Die Zeiten, als Java noch ein RAM-Fresser war, sind jedenfalls schon seit Jahren vorbei.
 
Wie kompatibel ist das OpenJDK zum Orginal JDK von (derzeit noch) Sun?
 
CGI heisst die Lösung deines Problems

Äh, nein, bzw. warum sollte man bitte schön CGI nehmen (außer man verwendet C und Konsorten, s.u.)?

C/C++ ist für Webanwendungen genauso geeignet wie andere Sprachen auch.

Sorry, aber das ist wohl mal Unsinn. Nach dem Motto ist ja auch Prolog ganz toll für Webanwendungen.
Gerade bei Webanwendungen kommt es auf ein gescheites Framework an - und da ist ja wohl bei C/C++ nicht der Fall.

Ich werfe nur mal so als Beispiel MVC in den Raum.

Hast du schon mal eine Webanwendung entwickelt?

Sowas

C/C++ ist für Webanwendungen genauso geeignet wie andere Sprachen auch.

rauszuhauen zeugt nämlich nicht unbedingt von Erfahrung in diesem (Entwickler-) Bereich.
 
Zuletzt bearbeitet:
@ bitmunscher

Also ist OpenJDK größtenteils kompatibel zum Sun JDK. Nur was ist nicht drinnen? Weiß man irgendetwas spezielles?
 
Äh, nein, bzw. warum sollte man bitte schön CGI nehmen (außer man verwendet C und Konsorten, s.u.)?
Der TE kann bereits etwas C++. und will diese Sprache eh weiter vertiefen. Warum also diese Sprache nicht verwenden?

Gerade bei Webanwendungen kommt es auf ein gescheites Framework an - und da ist ja wohl bei C/C++ nicht der Fall.
Es gibt auch für C++ diverse Bibliotheken zur Entwicklung von Webanwendungen. Nennen sich halt nicht Frameworks, sondern Bibliotheken. Genannt seien z.B. Wexus oder WebToolkit.

Hast du schon mal eine Webanwendung entwickelt?

Ich arbeite in einer Firma, die eine Webanwendung entwickelt und hostet, habe auch die letzten Jahre in diesem Bereich gearbeitet und berufe mich bei meinen Aussagen auf Erfahrungen. Die ganzen Frameworks sorgen zumeist eher für Probleme. Wer mal in eine Webapplikation mitentwickelt hat, die eine maximale Performance liefern muss, der wird das bestätigen können. Da nutzt man besser keine aufgeblasenen Frameworks, die unnötigen Kram laden und bei denen man erst nach intensiver Einarbeitung in den Source weiss, wie bestimmte Dinge intern gehandhabt werden, was zur Performance-Analyse dann zwingend notwendig wird. In der Zeit, die für diese Einarbeitung notwendig ist, kann man die notwendigen Funktionen auch selbst schreiben. Diese Erfahrung machen unsere Entwickler auch gerade mal wieder. Seitdem die Zend-Funktionalitäten nach und nach durch eigene ersetzt werden, sinkt die Last auf unseren Servern immer weiter. Hinzu kommt, dass viel Webkram auf Anwendungen "ausgelagert" wird, der speziell für diese Aufgaben entwickelt wurde. So werden Bilder eben nicht mehr mit PHP skaliert sondern mittels einer C-Applikation, was ca. 5 Mal so schnell ist und weniger RAM und CPU-Zeit verbraucht.

Gerade in performance-kritischen Bereichen, wie z.B. Verschlüsselung u.a. bieten kompilierte CGI-Applikationen in C/C++ eine drastisch bessere Performance als jede Skriptsprache. Ein Punkt, der durchaus auch für CGI spricht.

Gegenfrage: Hast du schonmal eine Webanwendung entwickelt, die mehrere hundert oder tausend Zugriffen pro Sekunde standhalten muss und warst mal dafür verantwortlich das IT-Budget einzuteilen? Deine Aussagen zeugen nämlich nicht unbedingt von Erfahrung in diesem Bereich. ;) Wenn da nicht performance-optimiert programmiert wird und Entwickler nur auf ihre eigene Bequemlichkeit achten/Frameworks nutzen, vervielfachen sich ganz schnell die Serverkosten und irgendwann kommt der Punkt, wo man die Last einfach nicht mehr mit Rechenleistung erschlagen kann. Diverse Plattformen wurden dadurch schon zu einem kompletten Rewrite gezwungen. Da ich keine Ahnung habe, was der TE später mit den Sprachen machen will, rate ich das, was ich allen Einsteigern rate: Am Besten von Anfang an auf Performance und Sicherheit achten, dann wird es später zur Routine. Und aus Sicht der Performance bietet sich CGI hier geradezu an, weil der TE ja eh C++ vertiefen will.

@firedragon7: Er ist meines Wissens nach (noch) komplett kompatibel. Entwicklungen vom OpenJDK fliessen aber nur zum Teil in den SunJDK ein, würde ich mal tippen, denn bei Solaris<->OpenSolaris handhabt Sun das ja auch so.
 
bitmuncher schrieb:
Hast du schonmal eine Webanwendung entwickelt, die mehrere hundert oder tausend Zugriffen pro Sekunde standhalten muss und warst mal dafür verantwortlich das IT-Budget einzuteilen?

Ich bin immer noch kein Programmierer, aber ich bin mir nicht sicher, ob Lumio (und er war es ja, der um Informationen bat) auf dieses Level hinarbeiten möchte. Antworten und Überlegungen sollten sich schon halbwegs am Thema orientieren und nicht ausweichend mit Szenarien jonglieren, die mit dem eigentlichen Hintergrund des threads wohl wenig zu tun haben.
 
Zuletzt bearbeitet:
@gropiuskalle: Wie ich bereits erwähnte, bietet sich hier C++ aufgrund der Aussage des TE durchaus an. Das hat nichts mit Rumjonglieren mit Szenarien zu tun. Er erschlägt halt 2 Fliegen mit einer Klappe. 1. er vertieft seine C++-Kenntnisse, 2. er erlernt performance-orientierte Webentwicklung, was ihm dann bei seinen Desktop-Applikationen auch zugute kommen wird. Und wenn man seine Aussage im Eröffnungsbeitrag mal anschaut, dann sucht er ja "nur" nach einer anderen Sprache, weil er denkt, dass C++ nicht für Webentwicklung geeignet ist, was definitiv nicht der Fall ist.
 
Deine Aussagen zeugen nämlich nicht unbedingt von Erfahrung in diesem Bereich.

Hrhr,

ok, den Ball zurückgeworfen, naja, das Spiel können wir jetzt noch beide eine Weile treiben...:D

Hast du schonmal eine Webanwendung entwickelt, die mehrere hundert oder tausend Zugriffen pro Sekunde standhalten muss

Yep.

Da nutzt man besser keine aufgeblasenen Frameworks, die unnötigen Kram laden und bei denen man erst nach intensiver Einarbeitung in den Source weiss, wie bestimmte Dinge intern gehandhabt werden, was zur Performance-Analyse dann zwingend notwendig wird.

Genau aus diesem Grunde bin ich zu Rails / Merb gewechselt.

Deine Aussage ist zu pauschalisiert, weil du das auf alle Frameworks beziehst.

Puh, also auch auf die Gefahr hin, jetzt dir wieder den Ball hinzuwerfen, sind solche Aussagen:

Am Besten von Anfang an auf Performance und Sicherheit achten,

bestenfalls fragwürdig.

Solide Webframeworks decken schon eine riesige Fülle an Sicherheitsaspekten ab, bei einer Eigenentwicklung wird man IMMER etliche Aspekte vergessen. Und den Junior Developer der performant programmiert OHNE framework will ich mal sehen.
 
@supersucker: Das führt doch zu nichts. Es gibt auch keine Junior-Entwickler, die mit Framework performant programmieren. Hab ich zumindest noch nicht erlebt, weil denen zumeist die Erfahrung mit dem Framework fehlt um es wirklich effektiv zu nutzen.

Und davon abgesehen geht es hier um Programmiersprachen und nicht um Frameworks. Frameworks/Bibliotheken zur Webentwicklung gibt's auch für C++. Dass dem nicht so sei, war ja wohl der Grund, warum du diese Diskussion um Frameworks angefangen hast und das habe ich widerlegt und wollte lediglich darauf hinweisen, dass Frameworks auch ihre Nachteile haben und man sich daher nicht in jeder Situation darauf verlassen sollte. Was du jetzt gerade versuchst ist ein "im Kreis Gerede" und ein Ausweichen auf ein anderes Thema um mir doch noch irgendwas widerlegen zu können. Zumindest kommt das so rüber. Ich könnte dir jetzt diverse Gründe nennen, die gerade für Anfänger/Lernende gegen die Verwendung von Frameworks sprechen. Sei es nun dass man nicht lernt Algorithmen in Code umzusetzen, weil es für ziemlich alles schon Frameworks/Bibliotheken gibt, aus denen man nur entsprechende Funktionen aufrufen muss, oder sei es es, dass man nicht lernt mit den Tücken einer Sprache umzugehen, weil man sie von Anfang an mit Frameworks umgeht und später dann kaum in der Lage ist anständigen Code ohne Frameworks zu schreiben. Aber darum geht es hier nunmal nicht.

Fakt ist, dass C++ sich zur Webentwicklung sehr gut eignet. Es hat in diesem Bereich wie jede andere Sprache auch seine Vor- und Nachteile. Es gibt auch Web-Frameworks dafür und wenn der TE diese Sprache eh vertiefen will, spricht daher aus meiner Sicht nichts dagegen, dass er sie auch für die Webentwicklung einsetzt. Es spricht eher vieles dafür, weil er halt die gesammelten Erfahrungen auch in seinen Desktop-Applikationen einsetzen kann, weil er z.B. später auch in der Lage sein wird seine Desktop-Anwendungen mit wenigen Handgriffen zu Webanwendungen zu machen, Bibliotheken, die er für seine Webanwendungen schreibt, kann er dann auch für seine Desktop-Apps nutzen und umgekehrt usw. usf. Aus meiner Sicht macht es hier in diesem Fall daher wenig Sinn irgendwelche anderen Sprachen zu empfehlen. Was anderes wäre es, wenn Lumio geschrieben hätte, dass er eine andere Sprache sucht, weil er mit C++ nicht klarkommt oder es aus irgendwelchen anderen Gründen nicht benutzen mag. Aber er will sie ja nunmal eh lernen. Ob er das selbst so sieht, ist ihm ja überlassen. Ich habe nur meine Sicht der Dinge wiedergegeben um ihm aufzuzeigen, dass er nicht zwingend eine andere Sprache braucht nur weil er Web- und Desktop-Apps mit der gleichen Sprache schreiben will und dass es auch Vorteile hätte, wenn er einfach bei C++ bleibt. Was er daraus macht, ist seine Sache. Empfehle ihm doch einfach deine bevorzugten Sprachen und lege die Vor- und Nachteile dar. Im Endeffekt ist es ja doch seine Entscheidung, welche der Argumente er wie hoch einstufen will.

Willst du nun also weiter auf den Vor- und Nachteilen von Frameworks rumreiten oder kommen wir einfach mal zurück zum Thema? Frameworks hat er doch auch mit C++, sie nennen sich nur einfach (traditionell) Bibliotheken, womit dein Argument gegen C++ widerlegt wäre. Und wir wissen beide, dass es sowohl Argumente für als auch gegen Frameworks gibt, mit denen wir wunderbar im Kreis diskutieren können ohne je zu einem Ende zu kommen. ;)
 
Sei es nun dass man nicht lernt Algorithmen in Code umzusetzen, weil es für ziemlich alles schon Frameworks/Bibliotheken gibt, aus denen man nur entsprechende Funktionen aufrufen muss, oder sei es es, dass man nicht lernt mit den Tücken einer Sprache umzugehen, weil man sie von Anfang an mit Frameworks umgeht und später dann kaum in der Lage ist anständigen Code ohne Frameworks zu schreiben.

Ne ne, das seh ich genauso so.

Ich finde nur so pauschale Aussagen wie "alle Frameworks sind dick und langsam" völlig falsch.
Desweiteren stimme ich auch mit deiner Aussage bzgl. "lieber selber machen und gleich auf xyz achten" absolut nicht überein.

Aber das hatten wir ja schon....:)

Empfehle ihm doch einfach deine bevorzugten Sprachen und lege die Vor- und Nachteile dar.

Hab ich ja schon -> Ruby.
Oder auch Python.
Oder auch * Trommelwirbel * Java.
Oder....:)

oder kommen wir einfach mal zurück zum Thema?

-> Sollten wir jetzt hiermit wieder sein.
 

Ähnliche Themen

Ruby on Rails Entwickler in Berlin gesucht

Zurück
Oben