ప్రోగ్రామింగ్ లాంగ్వేజ్ ట్రాన్స్లేటర్ వాలా 0.51.1 యొక్క కొత్త వెర్షన్ విడుదల చేయబడింది. వాలా భాష అనేది C# లేదా జావా మాదిరిగానే వాక్యనిర్మాణాన్ని అందించే ఆబ్జెక్ట్-ఓరియెంటెడ్ ప్రోగ్రామింగ్ లాంగ్వేజ్. గోబ్జెక్ట్ (గ్లిబ్ ఆబ్జెక్ట్ సిస్టమ్) ఆబ్జెక్ట్ మోడల్గా ఉపయోగించబడుతుంది. రిఫరెన్స్ లెక్కింపు ఆధారంగా మెమరీ నిర్వహణ నిర్వహించబడుతుంది.
భాష ఆత్మపరిశీలన, లాంబ్డా ఫంక్షన్లు, ఇంటర్ఫేస్లు, డెలిగేట్లు మరియు క్లోజర్లు, సిగ్నల్లు మరియు స్లాట్లు, మినహాయింపులు, లక్షణాలు, నాన్-శూన్య రకాలు, లోకల్ వేరియబుల్స్ (var) కోసం టైప్ ఇన్ఫరెన్స్కు మద్దతునిస్తుంది. భాష కోసం సాధారణీకరించిన ప్రోగ్రామింగ్ లైబ్రరీ libgee అభివృద్ధి చేయబడింది, ఇది అనుకూల డేటా రకాల కోసం సేకరణలను సృష్టించే సామర్థ్యాన్ని అందిస్తుంది. ఫోర్చ్ స్టేట్మెంట్ని ఉపయోగించి సేకరణ మూలకాల గణనకు మద్దతు ఉంది. గ్రాఫిక్స్ ప్రోగ్రామ్ల ప్రోగ్రామింగ్ GTK+ గ్రాఫిక్స్ లైబ్రరీని ఉపయోగించి నిర్వహించబడుతుంది. కిట్ సి భాషలో లైబ్రరీలకు పెద్ద సంఖ్యలో బైండింగ్లతో వస్తుంది.
వాలా ప్రోగ్రామ్లు సి ప్రాతినిధ్యంలోకి అనువదించబడతాయి మరియు తరువాత ప్రామాణిక సి కంపైలర్ ద్వారా కంపైల్ చేయబడతాయి. ప్రోగ్రామ్లను స్క్రిప్ట్ మోడ్లో అమలు చేయడం సాధ్యపడుతుంది. వాలా అనువాదకుడు జెనీ భాషకు మద్దతును అందిస్తుంది, ఇది సారూప్య సామర్థ్యాలను అందిస్తుంది, కానీ పైథాన్ ప్రోగ్రామింగ్ లాంగ్వేజ్ ద్వారా ప్రేరణ పొందిన సింటాక్స్తో.
వాలా భాష గ్నోమ్ ప్రాజెక్ట్ ఆధ్వర్యంలో అభివృద్ధి చేయబడింది. Geary ఇమెయిల్ క్లయింట్, బడ్జీ గ్రాఫికల్ షెల్, షాట్వెల్ ఫోటో మరియు వీడియో కలెక్షన్ మేనేజ్మెంట్ ప్రోగ్రామ్ మరియు ఇతర ప్రోగ్రామ్లను వ్రాయడానికి వాలా ఉపయోగించబడుతుంది. Linux పంపిణీ ఎలిమెంటరీ OS యొక్క భాగాల అభివృద్ధిలో వాలా చురుకుగా ఉపయోగించబడుతుంది.
కొత్త వెర్షన్లో:
- వ్యక్తీకరణలలో స్వయంచాలక రకం సంకుచితానికి మద్దతు జోడించబడింది; అయితే (x అనేది ఫూ){ x.SomeFooField // "x"ని "Foo"కి స్పష్టంగా ప్రసారం చేయనవసరం లేదు }
- టెంప్లేట్ల కోసం కన్స్ట్రక్టర్ చెయిన్లను కాల్ చేయడానికి మద్దతు జోడించబడింది;
- రన్టైమ్లో లిబ్వాలా వెర్షన్ చెక్ జోడించబడింది;
- అపారదర్శక కాంపాక్ట్ తరగతులకు మద్దతు జోడించబడింది;
- కన్స్ట్రక్టర్లలో అర్రే పారామితులకు విస్తరించిన మద్దతు;
- వర్చువల్ పద్ధతులు లేదా గిర్పార్సర్కు సిగ్నల్ల ద్వారా మద్దతు లేని అనామక ప్రతినిధుల ప్రాసెసింగ్ జోడించబడింది;
- వాలాడోక్, లిబ్వాలాడోక్ మరియు గిర్రైటర్లో బగ్లు పరిష్కరించబడ్డాయి;
- SDL 2.xకి బైండింగ్ జోడించబడింది, SDL 1.x బైండింగ్కు మద్దతు నిలిపివేయబడింది;
- ఎన్చాంట్ 2.xకి బైండింగ్ జోడించబడింది;
- శ్రేణులను స్పష్టంగా కాపీ చేస్తున్నప్పుడు, Glib.Valueని ఉపయోగించి లేదా హీప్పై కేటాయించిన నిర్మాణాన్ని స్టాక్కి తరలించినప్పుడు మెమరీ లీక్ పరిష్కరించబడింది;
- gdk-pixbuf-2.0కి బైండింగ్ వెర్షన్ 2.42.3కి నవీకరించబడింది;
- getopt_long() ఫంక్షన్ మరియు అనేక ఇతర GNU ఫంక్షన్ల బైండింగ్ జోడించబడింది;
- libunwind-genericకి బైండింగ్ జోడించబడింది;
- కైరో, గోబ్జెక్ట్-2.0, పాంగో, గూకాన్వాస్-2.0, కర్సెస్, ఆల్సా, bzlib, sqlite3, libgvc, posix, gstreamer-1.0, gdk-3.0, gdk-x11-3.0, gtk, gtk+-3.0 -4;
- జియో-2.0కి బైండింగ్ వెర్షన్ 2.67.3కి అప్డేట్ చేయబడింది;
- గోబ్జెక్ట్-2.0కి బైండింగ్ వెర్షన్ 2.68కి అప్డేట్ చేయబడింది;
- gstreamerకు బైండింగ్ వెర్షన్ 1.19.0+ git మాస్టర్కి నవీకరించబడింది;
- gtk4కి బైండింగ్ వెర్షన్ 4.1.0+2712f536కి నవీకరించబడింది;
- POSIX, GNU మరియు BSD కోసం సాధారణ వ్యక్తీకరణ APIకి బైండింగ్లు జోడించబడ్డాయి;
- webkit2gtk-4.0కి బైండింగ్ వెర్షన్ 2.31.1కి అప్డేట్ చేయబడింది;
- కంపైలర్ యొక్క పేరుకుపోయిన లోపాలు మరియు లోపాలు పరిష్కరించబడ్డాయి.
మూలం: opennet.ru