luni, 3 iunie 2013

Vala programming language

sursă imagine: wikipedia
Am lipsit mult de pe linux. Atât de mult încât a trecut pe lângă mine importanța pe care a ajuns să o dețină vala cu timpul.

Dar acum am revenit (pe Debian "wheezy" release) și am încercat în măsura în care mi-a permis timpul (pentru că am venit pe linux cu treabă, nu să regăsesc sentimente pe care le-am pierdut odată ce-am fost constrâns să folosesc Windows 7 vreo 2 ani la rând). Dar despre povestea asta altă dată. Acum să trecem la vala.

O spun scurt (cei care vor prinde despre ce este de fapt vorba vor avea cu siguranță o mare motivație să exploreze de unii singuri dincolo de cât îmi permit eu să afișez aici).

Vala face parte, din punctul de vedere al experienței programatorului cel puțin, din categoria high-level programming languages. Însă ceea ce ajunge să fie compilat este de fapt un cod frumos redat în C.

Ca sintaxă vala este foarte asemănător cu C# (și de aici cred că devine evident și că este similar ca paradigmă - OOP). Astfel există pe de-o parte avantajul de a programa într-un mod (mult) mai productiv (nu știu să existe vreo dezbatere în care elementul dezbătut să fie dacă în C# există o productivitate mai ridicată a programatorului față de C) însă în final se obține un program compilat pornind de la un cod sursă C.

Pentru cei care vin din lumea .NET și știu și diferența de performanță dintre C# și C (evident că nu limbajele au performanță, ci ceea ce ajunge să fie compilat până la urmă, dar hai să o lăsăm așa de dragul ilustrației) este vorba de a obține câte un lucru bun din ambele lumi - productivitatea și expresivitatea din C# și viteza de execuție din C.

Faptul că am raportat lucrurile în primul rând la C# nu înseamnă că beneficiile mai sus prezentate nu sunt valabile și în cazul în care comparăm lucrurile cu java sau altele.

Din câte am înțeles se poate împăca și cu Windows.

În sfârșit, vala nu te face C developer, nici .NET developer și nici nu l-aș recomanda cuiva care dorește să învețe un limbaj cerut pe piață. Dar poate fi o soluție inteligentă de creștere a productivității acolo unde viteza de execuție este importantă.

Mai jos niște resurse pentru cei interesați să investigheze mai departe:
Vala is a new programming language that allows modern programming techniques to be used to write applications that run on the GNOME runtime libraries, particularly GLib and GObject. This platform has long provided a very complete programming environment, with such features as a dynamic type system and assisted memory management. Before Vala, the only ways to program for the platform were with the machine native C API, which exposes a lot of often unwanted detail, with a high level language that has an attendant virtual machine, such as Python or the Mono C# language, or alternatively, with C++ through a wrapper library.
Vala is different from all these other techniques, as it outputs C code which can be compiled to run with no extra library support beyond the GNOME platform. This has several consequences, but most importantly:
  • Programs written in Vala should have broadly similar performance to those written directly in C, whilst being easier and faster to write and maintain.
  • A Vala application can do nothing that a C equivalent cannot. Whilst Vala introduces a lot of language features that are not available in C, these are all mapped to C constructs, although they are often ones that are difficult or too time consuming to write directly.
As such, whilst Vala is a modern language with all of the features you would expect, it gains its power from an existing platform, and must in some ways comply with the rules set down by it. (sursa)
Links:

Niciun comentariu:

Trimiteți un comentariu

Related Posts Plugin for WordPress, Blogger...

Pagini