Programmiersprache Vala
lima-city → Forum → Programmiersprachen → Sonstige Programmiersprachen
ahnung
code
compiler
http
jahr
meinung
nutzen
platz
problem
programm
programmierer
programmiersprache
projekt
sache
sport
sprache
syntax
team
url
windows
-
Ich habe mir mal die Programmiersprache Vala heruntergeladen und möchte mich in nächster Zeit ein wenig damit beschäftigen. Gibt es hier jemanden, der schon Erfahrung mit dieser neuen Sprache hat?
Ich habe das Gefühl, dass sie sich etablieren wird.
Ich weiß, dass die Programme Shotwell (Fotoverwaltung), Deja-Dup (Backupprogramm) und Pino (Twitter) mit Vala programmiert wurden. Ach ja, Unity, die künftige Standard-Grafik-Shell von Ubuntu, wird auch mit Vala realisiert. Wer kennt denn noch weitere Projekte, die auf Vala bauen?
Daniel -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ich habe Vala jetzt noch nicht ausprobiert, aber meiner (wenn auch subjektiven) Meinung nach sollte man eher zu D greifen, anstatt jetzt noch einen weiteren "Präprozessor" auf C draufzupacken. Natürlich hat Vala den Vorteil, dass man die ganzen C-Libraries nutzen kann, aber das ist mit D mit etwas Aufwand auch möglich.
Ich will dich keineswegs davon abbringen Vala zu lernen. Ich weiß ja nicht, was ich verpasse . Aber D ist eben eine eigenständige Weiterentwicklung von C, die viele moderne Sprachkonzepte beinhaltet.
Aber wenn Cannonical die Sprache verwendet, wird das schon nicht unvernünftig sein. Für C und für C-Erweiterungen gibt es ja auch deutlich mehr Hilfsprogramme als für D. -
pepecyb schrieb:
Ich habe mir mal die Programmiersprache Vala heruntergeladen und möchte mich in nächster Zeit ein wenig damit beschäftigen. Gibt es hier jemanden, der schon Erfahrung mit dieser neuen Sprache hat?
Kann man sich (vor dem Herunterladen) irgendwo mal die Syntax dieser Sprache an einigen kleinen praktischen Beispielen anschauen? Auf der offiziellen Website hab ich das letzte Mal, als ich nachgeschaut habe, nicht wirklich Brauchbares gefunden. Wie weit unterscheidet sie sich von C, C--, C#, D usw.? Sowas interessiert mich, bevor ich anfange Quellcode durch den Compiler zu jagen.
*update*
Da hat sich was getan (oder ich hab was übersehen).
Ich habe das Gefühl, dass sie sich etablieren wird.
Um es mit Loriot zu sagen: "Da muss was mit deinem Gefühl nicht stimmen!"
Ich glaube nicht, dass sie sich durchsetzen wird. Es gibt zu viele etablierte Sprachen, die C-Syntax mit Objekt-Orientierung verbinden. Und das Gnome-Projekt, wo sie am besten Verwendung findet, ist auf die Linux-Ecke beschränkt. Kein Windows-Frickler wird das in die Hand nehmen, wenn es (bspw.) C# gibt. Und die Apple-Fanboys lieben ihr Objective-C ...
Ich weiß, dass die Programme Shotwell (Fotoverwaltung), Deja-Dup (Backupprogramm) und Pino (Twitter) mit Vala programmiert wurden. Ach ja, Unity, die künftige Standard-Grafik-Shell von Ubuntu, wird auch mit Vala realisiert. Wer kennt denn noch weitere Projekte, die auf Vala bauen?
Keine Ahnung. Dir ist die offizielle Projekt-Site bekannt?
bladehunter schrieb:
Ich habe Vala jetzt noch nicht ausprobiert, aber meiner (wenn auch subjektiven) Meinung nach sollte man eher zu D greifen, anstatt jetzt noch einen weiteren "Präprozessor" auf C draufzupacken.
Was solls? C++ hat auchmal so angefangen. Mittlerweile sind die meisten C-Compiler nur noch Aufsätze für C++ ...
Beitrag zuletzt geändert: 31.10.2010 20:57:27 von alopex -
Hi,
ich kenne im Linux-Umfeld schon einige Projekte, die auf VALA aufsetzen. Es sieht mir sogar symphatischer aus als D.
Mein Lieblingsbeispiel wäre hier "Gnome Globalmenu". Dabei geht es um ein MacOS-Artiges Menü für Gnome. Hab es einige Zeit lang genutzt, das funktioniert schon ganz gut!
Die Projektseite ist hier: http://code.google.com/p/gnome2-globalmenu/.
Sourcen findet man bei Github: https://github.com/gnome-globalmenu/gnome-globalmenu.
Quellcodebeispiel: https://github.com/gnome-globalmenu/gnome-globalmenu/blob/master/globalmenu-plugin/module-main.vala.
Also, wenn ich mal so direkt hineinschaue, hat es etwas von JAVA mit ein paar Workarounds für anderweitig nicht umsetzbare native C-Konstrukte. Kann man machen. D wäre sicherlich auch interessant, hat aber nicht so viele Anhänger.
Alternativ könnte man sich nochmal Objective-C anschauen. Apple pusht das derzeit ganz extrem.
Ich hoffe, da waren ein paar interessante Ideen und Beispiele bei!
Gruß,
Ben
Beitrag zuletzt geändert: 5.11.2010 21:30:46 von mampfit -
Wenn du mich fragst: die sprache wird sich nie großartig durchsetzen. Da glaube ich noch eher, dass aus .NET mal was plattformübergreifendes wird.
Linux: C, Pascal
Windows: C, Pascal, C#, VB.NET, ...
OS X: Objective-C
da ist einfach kein Platz für Sprachen wie Vala. Selbst Pascal muss langsam um die Existenz kämpfen, obwohl sie wohl die beste Entwicklungsumgebung überhaupt zur Verfügung stellen (Delphi (XE) von Embarcadero). -
cuweso schrieb:
da ist einfach kein Platz für Sprachen wie Vala.
Es ist Blödsinn hier von Platz zu sprechen. Wenn man für ein Projekt Programmierer sucht, kann das natürlich schwierig werden, wenn man eine etwas exotischer Sprache verwenden will. Aber ansonsten kann doch jeder Programmierer/jedes Team selber entscheiden in welcher Sprache sie etwas umsetzen.
Und gerade bei Sprachen, die zu Maschinencode compiliert werden, ist die Auswahl nicht sonderlich groß: C, C++, D, Objective-C, Haskell, Fortran und Vala. Und bei Pascal/Delphi bin ich mir nicht sicher, wo die einzuordnen sind. Die meisten neuen Sprachen sind doch eh Scriptsprachen.
Und wenn Vala ein gutes Sprachdesign besitzt, wird es zumindest niemals verschwinden, weil es Leute gibt, die die Vorteile dieser Sprache zu schätzen wissen. Und auch wenn diese Sprache jetzt eher bei GNOME-Projekten eingesetzt wird, ist es durchaus denkbar, dass diese Sprache auch noch auf andere Plattformen portiert wird. Windows zum Beispiel, denn dort wird eben teilweise auch noch mit C programmiert, auch wenn MS lieber seine .NET Sprachen pusht.
Und Objective-C lässt sich mittlerweile auch unter Linux nutzen, wenn man keine Cocoa-Libs benutzt. -
Sicher kann sich jedes Team selbst aussuchen, mit was es arbeitet, jedoch wird Vala wohl den anderen höheren Sprachen immer etwas hinterherhinken, was die Features betrifft.
Die Sache ist doch eher die, dass man viel eher C#, Java oder C oder Delphi lernt, weil da die Berufschancen höher sind. "Hej ich kann Vala." "Kenntnisse in C# / Java / Delphi / C?" "Nein, aber ich kann Vala". Damit wird man wohl bei Bewerbungen zu 99.99% den Kürzeren ziehen.
Zu Delphi: Es gibt die Variante für Windows (Maschinencode), dann Delphi Prism, das .NET-Code erzeugt und im nächsten Jahr bzw. in den nächsten Jahren soll ein echter Crosscompiler für Win/Linux/OS X verfügbar sein. Die Sprache an sich finde ich eine der schönsten die es gibt und die Entwicklungsumgebung Delphi gilt als die beste am Markt.
Referenzen: Embarcadero, RemObjects bzw. Delphiforen (Delphipraxis, Delphitreff, Delphiforum), früher Borland
-
cuweso schrieb:
Selbst Pascal muss langsam um die Existenz kämpfen, obwohl sie wohl die beste Entwicklungsumgebung überhaupt zur Verfügung stellen (Delphi (XE) von Embarcadero).
Das halte ich für eine ziemlich naive Aussage. Erstens habe ich mit VIM für jede Programmiersprache eine großartige IDE (jaja, ich Linux-Jünger ), und dann hat Java ja auch eine klasse IDE mit Eclipse und ihren Plugins.
bladehunter schrieb:
Aber ansonsten kann doch jeder Programmierer/jedes Team selber entscheiden in welcher Sprache sie etwas umsetzen.
Genau. Wenn ich schnell mal viel Text parsen möchte, nehme ich Perl. Wenn ich komplexe Konstrukte einfach und schnell abbilden will, nehme ich Python. Für maschinennahen Code ist sicherlich C / Pascal die erste Wahl. Vala würde ich bei GUI-Anwendungen mit der Möglichkeit Libraries einzubinden als Sprache der Wahl sehen.
bladehunter schrieb:
Und bei Pascal/Delphi bin ich mir nicht sicher, wo die einzuordnen sind. Die meisten neuen Sprachen sind doch eh Scriptsprachen.
Pascal ist auch ziemlich maschinennah, wenn auch nicht so ganz wie C. Aber immer noch sehr viel näher dran, als viele andere. Eingesetzt wird es vor allem dort, wo es darauf ankommt, die Anwendungslogik sauber zu schreiben. Pascal setzt in Sachen Fehlern ziemlich enge Grenzen. Oftmals sind Logiken für Schaltanlagen oder Betriebsprogramme für wichtige Hardwareansteuerungen in Pascal umgesetzt, aber auch Programme, die einen starken mathematischen Schwerpunkt besitzen.
.NET und Mono halte ich für etwas, was die Welt nicht braucht. Programme werden in Bytecode übersetzt, da kann ich gleich Java oder ne kompilierbare Skriptsprache (wie Python) nutzen. Libraries gibts bei diesen Sprachen auch genug.
cuweso schrieb:
Zu Delphi: Es gibt die Variante für Windows (Maschinencode), dann Delphi Prism, das .NET-Code erzeugt und im nächsten Jahr bzw. in den nächsten Jahren soll ein echter Crosscompiler für Win/Linux/OS X verfügbar sein. Die Sprache an sich finde ich eine der schönsten die es gibt und die Entwicklungsumgebung Delphi gilt als die beste am Markt.
Vieles kann der freepascal-Compiler schon lange. Cross-Compilate erstellen, usw. - auch die original-IDE von Borland konnte am Ende schon für .NET kompilieren. Es passt aber irgendwie nicht so zur Sprache, war mein Eindruck.
-
cuweso schrieb:
Sicher kann sich jedes Team selbst aussuchen, mit was es arbeitet, jedoch wird Vala wohl den anderen höheren Sprachen immer etwas hinterherhinken, was die Features betrifft.
Das dürfte für jede Low-Level Sprache zutreffen. Und es gibt nunmal Aufgabengebiete, wo man eine Skriptsprache eher weniger gebrauchen kann.
Und zumindest was D angeht, bringt diese Sprache viele Features mit, die man von Python und Ruby kennt. Außerdem sind sehr viele professionelle Programmiertechniken, wie Source Code Dokumentation, Unit Testing etc direkt in die Sprache eingebettet, ohne dass man sie extern nachrüsten muss.
Die Sache ist doch eher die, dass man viel eher C#, Java oder C oder Delphi lernt, weil da die Berufschancen höher sind. "Hej ich kann Vala." "Kenntnisse in C# / Java / Delphi / C?" "Nein, aber ich kann Vala". Damit wird man wohl bei Bewerbungen zu 99.99% den Kürzeren ziehen.
Wenn man sich als Programmierer bewirbt, dann sollte man sowieso deutlich mehr als eine Sprache gut können.
Es gibt natürlich Headhunter die nach Programmiersprachen-Buzzwords suchen, ohne wirklich eine Ahnung von der Materie zu haben, aber wie gesagt: Als guter Programmierer sollte man eben mehrere Sprachen können und das ist nun wirklich kein Kunststück.
Zu Delphi: Es gibt die Variante für Windows (Maschinencode), dann Delphi Prism, das .NET-Code erzeugt und im nächsten Jahr bzw. in den nächsten Jahren soll ein echter Crosscompiler für Win/Linux/OS X verfügbar sein. Die Sprache an sich finde ich eine der schönsten die es gibt und die Entwicklungsumgebung Delphi gilt als die beste am Markt.
Nun, dann könnte es durchaus sein, dass Delphi noch einmal auflebt. Wir werden sehen. -
Vieles kann der freepascal-Compiler schon lange. Cross-Compilate erstellen, usw. - auch die original-IDE von Borland konnte am Ende schon für .NET kompilieren. Es passt aber irgendwie nicht so zur Sprache, war mein Eindruck.
Delphi für .NET war auch der größte Quatsch den sie damals machen konnten. Haben nur die Windows-Komponenten so zusammengestutzt, dass es irgendwie unter .NET lief. Delphi-Prism ist ein echter .NET-Compiler und die Sprache hat gegenüber dem originalen Delphi einige Unterschiede (unterstützt viele nette .NET-Features).
Wenn man sich als Programmierer bewirbt, dann sollte man sowieso deutlich mehr als eine Sprache gut können.
Es gibt natürlich Headhunter die nach Programmiersprachen-Buzzwords suchen, ohne wirklich eine Ahnung von der Materie zu haben, aber wie gesagt: Als guter Programmierer sollte man eben mehrere Sprachen können und das ist nun wirklich kein Kunststück.
Mal ehrlich. Es ist doch so wie beim Sport. Man wird nicht Weltmeister im Turnen und im Schwimmen. Das ist meine MEinung gegenüber professioneller Programmierung mit mehreren Sprachen. Man kann einfach nicht mehrere Frameworks bis ins letzte Detail kennen. Sicher ist es möglich, mehrere Sprachen wirklich gut zu können aber man kann sicher nicht alle Eigenheiten, etc. von mehreren Sprachen beherrschen.
Das halte ich für eine ziemlich naive Aussage. Erstens habe ich mit VIM für jede Programmiersprache eine großartige IDE (jaja, ich Linux-Jünger ), und dann hat Java ja auch eine klasse IDE mit Eclipse und ihren Plugins.
Es ist nun einmal so, dass sogar Microsoft zugegeben hat dass die Galileo-IDE von Delphi ihre Entwicklungsumgebungen schlägt. Ob das im Moment im Vergleich zu VS-2010 immer noch so ist, bin ich mir nicht sicher, da MS da wirklich viel aufgeholt, und Delphi nicht viel neues gemacht hat.
Pascal ist auch ziemlich maschinennah, wenn auch nicht so ganz wie C. Aber immer noch sehr viel näher dran, als viele andere. Eingesetzt wird es vor allem dort, wo es darauf ankommt, die Anwendungslogik sauber zu schreiben. Pascal setzt in Sachen Fehlern ziemlich enge Grenzen. Oftmals sind Logiken für Schaltanlagen oder Betriebsprogramme für wichtige Hardwareansteuerungen in Pascal umgesetzt, aber auch Programme, die einen starken mathematischen Schwerpunkt besitzen.
Da geb ich dir Recht und um noch eins draufzulegen: Es ist möglich ein Betriebssystem mit Pascal zu schreiben. der freepascal-compiler (FPC) (siehe auch http://www.lowlevel.eu/wiki/Pascal). -
Ich habe das Gefühl, dass die Diskussion langsam von der Frage des OPs abweicht.
Zu deiner Aussage cuweso:
Mal ehrlich. Es ist doch so wie beim Sport. Man wird nicht Weltmeister im Turnen und im Schwimmen. Das ist meine MEinung gegenüber professioneller Programmierung mit mehreren Sprachen. ...
Ich gebe dir Recht, dass man die Sprachen dann nicht bis ins letzte Detail kennt,
aber viele Projekte, die heutzutage geschrieben werden sind nicht mehr nur in einer Sprache verfasst.
Außerdem erweitert es den Horizont verschiedene Sprachen zu nutzen, da man durch neue Konzepte auch neue Denkweisen erlernt, die einem beim Lösen von Problemen helfen.
Damit gehört es meiner Meinung nach zu den Qualitäten eines guten Programmierers über den Tellerrand zu schauen und immer neue Sprachen zu lernen. -
pepecyb schrieb:
Ich habe das Gefühl, dass sie sich etablieren wird.
Ich weiß, dass die Programme Shotwell (Fotoverwaltung), Deja-Dup (Backupprogramm) und Pino (Twitter) mit Vala programmiert wurden.
Nochmal zum OP: Ich hoffe sehr, dass sie sich etablieren wird. Und ich glaube auch fest daran, dass sie unter Windows Einzug halten wird. C und Java wird sie nie verdrängen, aber gegen Objective-C gebe ich ihr Chancen.
bladehunter schrieb:
Und zumindest was D angeht, bringt diese Sprache viele Features mit, die man von Python und Ruby kennt. Außerdem sind sehr viele professionelle Programmiertechniken, wie Source Code Dokumentation, Unit Testing etc direkt in die Sprache eingebettet, ohne dass man sie extern nachrüsten muss.
Mit Robodoc kann ich jede Sprache sauber dokumentieren. "Code Doku eingebettet" gibt es in dem Sinne ja sowieso nicht, da muss ja immer irgend ein Parser drüber laufen. Die liefern bloß einen mit, den sie empfehlen. Und die IDE ist halt im Zweifelsfall auf diesen Parser optimiert. Aber auch das kann man meistens an seine Bedürfnisse anpassen.
Unit Testing ist auch nett, aber was mir bei z. B. Python sehr gefällt, sind die vielen Standardmodule, der Umgang mit Slices usw.. Das wird dir eine LowLevel-Sprache höchstens in APIs geben können. Für C habe ich da immer die glib included (nicht verwechseln mit glibc!).
Ansonsten bleibt es bei: Die richtige Programmiersprache für das Problem. -
cuweso schrieb:
Wenn man sich als Programmierer bewirbt, dann sollte man sowieso deutlich mehr als eine Sprache gut können.
Es gibt natürlich Headhunter die nach Programmiersprachen-Buzzwords suchen, ohne wirklich eine Ahnung von der Materie zu haben, aber wie gesagt: Als guter Programmierer sollte man eben mehrere Sprachen können und das ist nun wirklich kein Kunststück.
Mal ehrlich. Es ist doch so wie beim Sport. Man wird nicht Weltmeister im Turnen und im Schwimmen. Das ist meine MEinung gegenüber professioneller Programmierung mit mehreren Sprachen. Man kann einfach nicht mehrere Frameworks bis ins letzte Detail kennen. Sicher ist es möglich, mehrere Sprachen wirklich gut zu können aber man kann sicher nicht alle Eigenheiten, etc. von mehreren Sprachen beherrschen.
Der Vergleich ist Blödsinn. Der menschliche Körper hat über 600 verschieden Muskeln. Und verschiedene Sportarten setzen auf deutlich verschiedene Muskeln. Es gibt natürlich immer eine gewisse Schnittmenge, aber diese ist jetzt nicht so furchbar groß.
Betrachtet man hingegen Programmiersprachen, so gibt es deutlich mehr Überschneidungen. Was unterschiedliche Programmiersprachen jedoch ermöglichen, sind verschiedene Blickwinkel auf die Dinge. Nahezu jede weitere Sprache, die man lernt, bringt auch einen Lerneffekt für die bereits bekannten Sprachen mit sich.
Und wenn man eine Aufgabenstellung kriegt, kann man zunächst abstrakt an das Problem heran gehen und eine Lösung suchen. Sobald diese Lösung gefunden ist, kann man sich dann für die Sprache entscheiden, mit der die Umsetzung dieser Lösung am leichtesten durchführen lässt.
Und mit der Zeit kriegt man dann auch automatisch tiefergehende Übung in verschiedene Sprachen. Aber sich von vorneherein auf wenige Sprachen zu beschränken ist eher kontraproduktiv. -
Das mehrere Sprachen nebeneinander sinnvoll sind will ich auch gar nicht bestreiten. Ich selbst programmiere mit Delphi, C#, Java und früher auch VB. (von den ganzen Webtechnologien mal abgsehen).
Ich würde mich jetzt aber nicht als Profi bezeichnen obwohl ich in Delphi einen sehr guten Wissensstand bis hinein in die APIs habe und eig. jedes Problem mit Delphi lösen kann. Ich habe auch schon das eine oder andere Projekt geleitet.
-
Nur mal so, um vielleicht auch etwas zum Ursprung zurückzukommen:
Ich hab mir jetzt mal die diversen Beispiele, Tutorials usw. angeschaut, und ich muss sagen: Die Sprache gefällt mir. Quasi ein vernünftigerer und übersichtlicherer OO-Aufsatz als C++. Überhaupt sind die meisten Syntax-Eigenschaften nach pragmatischen Gesichtspunkten gewählt und nicht nach esoterischen oder theoretischen. Da sieht man auch darüber hinweg, dass man Methoden nicht überladen kann.
http://live.gnome.org/Vala/Tutorial -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage