ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷಾ ಅನುವಾದಕ ವಾಲಾ 0.54.0 ನ ಹೊಸ ಆವೃತ್ತಿಯನ್ನು ಬಿಡುಗಡೆ ಮಾಡಲಾಗಿದೆ. ವಾಲಾ ಭಾಷೆಯು ಆಬ್ಜೆಕ್ಟ್-ಓರಿಯೆಂಟೆಡ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯಾಗಿದ್ದು ಅದು ಸಿ# ಅಥವಾ ಜಾವಾವನ್ನು ಹೋಲುವ ಸಿಂಟ್ಯಾಕ್ಸ್ ಅನ್ನು ಒದಗಿಸುತ್ತದೆ. ವಾಲಾ ಕೋಡ್ ಅನ್ನು ಸಿ ಪ್ರೊಗ್ರಾಮ್ಗೆ ಅನುವಾದಿಸಲಾಗುತ್ತದೆ, ಇದನ್ನು ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಸಿ ಕಂಪೈಲರ್ನಿಂದ ಬೈನರಿ ಫೈಲ್ಗೆ ಕಂಪೈಲ್ ಮಾಡಲಾಗುತ್ತದೆ ಮತ್ತು ಟಾರ್ಗೆಟ್ ಪ್ಲಾಟ್ಫಾರ್ಮ್ನ ಆಬ್ಜೆಕ್ಟ್ ಕೋಡ್ಗೆ ಕಂಪೈಲ್ ಮಾಡಿದ ಅಪ್ಲಿಕೇಶನ್ನ ವೇಗದಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ. ಸ್ಕ್ರಿಪ್ಟ್ ಮೋಡ್ನಲ್ಲಿ ಪ್ರೋಗ್ರಾಂಗಳನ್ನು ಚಲಾಯಿಸಲು ಸಾಧ್ಯವಿದೆ. GNOME ಯೋಜನೆಯ ಆಶ್ರಯದಲ್ಲಿ ಭಾಷೆಯನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗುತ್ತಿದೆ. ಗೋಬ್ಜೆಕ್ಟ್ (ಗ್ಲಿಬ್ ಆಬ್ಜೆಕ್ಟ್ ಸಿಸ್ಟಮ್) ಅನ್ನು ವಸ್ತು ಮಾದರಿಯಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ. ಕಂಪೈಲರ್ ಕೋಡ್ ಅನ್ನು LGPLv2.1 ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ ವಿತರಿಸಲಾಗಿದೆ.
ಭಾಷೆಯು ಆತ್ಮಾವಲೋಕನ, ಲ್ಯಾಂಬ್ಡಾ ಕಾರ್ಯಗಳು, ಇಂಟರ್ಫೇಸ್ಗಳು, ಪ್ರತಿನಿಧಿಗಳು ಮತ್ತು ಮುಚ್ಚುವಿಕೆಗಳು, ಸಂಕೇತಗಳು ಮತ್ತು ಸ್ಲಾಟ್ಗಳು, ವಿನಾಯಿತಿಗಳು, ಗುಣಲಕ್ಷಣಗಳು, ಶೂನ್ಯವಲ್ಲದ ವಿಧಗಳು, ಸ್ಥಳೀಯ ವೇರಿಯಬಲ್ಗಳಿಗೆ (var) ವಿಧದ ತೀರ್ಮಾನಕ್ಕೆ ಬೆಂಬಲವನ್ನು ಹೊಂದಿದೆ. ಉಲ್ಲೇಖ ಎಣಿಕೆಯ ಆಧಾರದ ಮೇಲೆ ಮೆಮೊರಿ ನಿರ್ವಹಣೆಯನ್ನು ಕೈಗೊಳ್ಳಲಾಗುತ್ತದೆ. ಭಾಷೆಗಾಗಿ ಸಾಮಾನ್ಯೀಕೃತ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಲೈಬ್ರರಿ libgee ಅನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗಿದೆ, ಇದು ಕಸ್ಟಮ್ ಡೇಟಾ ಪ್ರಕಾರಗಳಿಗೆ ಸಂಗ್ರಹಣೆಗಳನ್ನು ರಚಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಒದಗಿಸುತ್ತದೆ. ಫೋರ್ಚ್ ಹೇಳಿಕೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಸಂಗ್ರಹಣಾ ಅಂಶಗಳ ಎಣಿಕೆಯನ್ನು ಬೆಂಬಲಿಸಲಾಗುತ್ತದೆ. GTK ಗ್ರಾಫಿಕ್ಸ್ ಲೈಬ್ರರಿಯನ್ನು ಬಳಸಿಕೊಂಡು ಗ್ರಾಫಿಕ್ಸ್ ಕಾರ್ಯಕ್ರಮಗಳ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಅನ್ನು ಕೈಗೊಳ್ಳಲಾಗುತ್ತದೆ.
ಸಿ ಭಾಷೆಯಲ್ಲಿ ಲೈಬ್ರರಿಗಳಿಗೆ ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯ ಬೈಂಡಿಂಗ್ಗಳೊಂದಿಗೆ ಕಿಟ್ ಬರುತ್ತದೆ. ವಾಲಾ ಅನುವಾದಕವು ಜಿನೀ ಭಾಷೆಗೆ ಬೆಂಬಲವನ್ನು ಒದಗಿಸುತ್ತದೆ, ಇದು ಇದೇ ರೀತಿಯ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ, ಆದರೆ ಪೈಥಾನ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯಿಂದ ಪ್ರೇರಿತವಾದ ಸಿಂಟ್ಯಾಕ್ಸ್ನೊಂದಿಗೆ. ಜಿಯರಿ ಇಮೇಲ್ ಕ್ಲೈಂಟ್, ಬಡ್ಗಿ ಗ್ರಾಫಿಕಲ್ ಶೆಲ್, ಶಾಟ್ವೆಲ್ ಫೋಟೋ ಮತ್ತು ವೀಡಿಯೋ ಫೈಲ್ ಆರ್ಗನೈಸೇಶನ್ ಪ್ರೋಗ್ರಾಂ ಮತ್ತು ಇತರ ಕಾರ್ಯಕ್ರಮಗಳನ್ನು ವಾಲಾ ಭಾಷೆಯಲ್ಲಿ ಬರೆಯಲಾಗುತ್ತದೆ. ಎಲಿಮೆಂಟರಿ ಓಎಸ್ ವಿತರಣೆಯ ಅಭಿವೃದ್ಧಿಯಲ್ಲಿ ಭಾಷೆಯನ್ನು ಸಕ್ರಿಯವಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ.
ಮುಖ್ಯ ಆವಿಷ್ಕಾರಗಳು:
- ವೇರಿಯಬಲ್ ಸಂಖ್ಯೆಯ ನಿಯತಾಂಕಗಳೊಂದಿಗೆ ಪ್ರತಿನಿಧಿಗಳಿಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ;
- POSIX ಪ್ರೊಫೈಲ್ಗೆ ಸಮಾನಾರ್ಥಕವಾಗಿರುವ LIBC ಪ್ರೊಫೈಲ್ ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ;
- POSIX ಪ್ರೊಫೈಲ್ ಮೋಡ್ನಲ್ಲಿ ಸುಧಾರಿತ ಉತ್ಪಾದನೆ;
- ವಿಧದ ತೀರ್ಮಾನದೊಂದಿಗೆ ಶೂನ್ಯ ಮೌಲ್ಯವನ್ನು ಹೊಂದಿರುವ ಅಸ್ಥಿರಗಳನ್ನು ಘೋಷಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಸೇರಿಸಲಾಗಿದೆ (var?);
- ಆನುವಂಶಿಕತೆಗಾಗಿ ನಿಷೇಧಿಸಲಾದ ವರ್ಗಗಳನ್ನು ಘೋಷಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಸೇರಿಸಲಾಗಿದೆ (ಮೊಹರು);
- ಶೂನ್ಯ (a.?b.?c) ಆಗಬಹುದಾದ ವರ್ಗ ಕ್ಷೇತ್ರಗಳಿಗೆ ಸುರಕ್ಷಿತ ಪ್ರವೇಶ ನಿರ್ವಾಹಕರನ್ನು ಸೇರಿಸಲಾಗಿದೆ;
- ರಚನೆಯ ವಿಷಯಗಳ ಪ್ರಾರಂಭವನ್ನು ಶೂನ್ಯಕ್ಕೆ ಅನುಮತಿಸಲಾಗಿದೆ (const Foo[] BARS = { { "bar", 42 }, null };);
- ಸ್ಥಿರ ಅರೇಗಳಿಗೆ ಮರುಗಾತ್ರಗೊಳಿಸುವಿಕೆ () ಕಾರ್ಯಾಚರಣೆಯನ್ನು ನಿಷೇಧಿಸಲಾಗಿದೆ;
- ಕಾರ್ಯದ ಕರೆಯನ್ನು ನಿರರ್ಥಕಕ್ಕೆ ಬಿತ್ತರಿಸಲು ಪ್ರಯತ್ನಿಸುವಾಗ ಎಚ್ಚರಿಕೆಯ ಔಟ್ಪುಟ್ ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ ((ಶೂನ್ಯ) not_void_func();
- GLib.Array ಅಂಶ ಪ್ರಕಾರಗಳ ಮೇಲಿನ ನಿರ್ಬಂಧವನ್ನು ತೆಗೆದುಹಾಕಲಾಗಿದೆ;
- ಫೋರ್ಚ್() ಹೇಳಿಕೆಯಲ್ಲಿ ಸ್ಥಿರವಾದ "ಒಡೆತನದ var" ಮಾಲೀಕತ್ವದ ಉತ್ತರಾಧಿಕಾರ;
- webkit2gtk-4.0 ಗೆ ಬೈಂಡಿಂಗ್ ಅನ್ನು ಆವೃತ್ತಿ 2.33.3 ಗೆ ನವೀಕರಿಸಲಾಗಿದೆ;
- gstreamer ಗೆ ಬೈಂಡಿಂಗ್ ಅನ್ನು ಆವೃತ್ತಿ 1.19.0+ git ಮಾಸ್ಟರ್ಗೆ ನವೀಕರಿಸಲಾಗಿದೆ;
- gtk4 ಗೆ ಬೈಂಡಿಂಗ್ ಅನ್ನು ಆವೃತ್ತಿ 4.5.0~e681fdd9 ಗೆ ನವೀಕರಿಸಲಾಗಿದೆ;
- gtk+-3.0 ಗಾಗಿ ಬೈಂಡಿಂಗ್ ಅನ್ನು ಆವೃತ್ತಿ 3.24.29+f9fe28ce ಗೆ ನವೀಕರಿಸಲಾಗಿದೆ
- gio-2.0,glib-2.0 ಗೆ ಬೈಂಡಿಂಗ್ ಅನ್ನು ಆವೃತ್ತಿ 2.69.0 ಗೆ ನವೀಕರಿಸಲಾಗಿದೆ;
- ಲಿನಕ್ಸ್ಗಾಗಿ, ಸಾಕೆಟ್ಕ್ಯಾನ್ಗೆ ಬೈಂಡಿಂಗ್ಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ;
- glib-2.0, gio-2.0, gstreamer-rtp-1.0, javascriptcoregtk-4.0, gobject-2.0, pango, linux, gsl, rest-0.7, libusb, libusb-1.0, pixman-1, webkitt2, webkitt4.0 ಗಾಗಿ ಬೈಂಡಿಂಗ್ಗಳಲ್ಲಿ ಸರಿಪಡಿಸಲಾಗಿದೆ ವಿಸ್ತರಣೆ-11, xXNUMX, zlib, gnutls;
- gedit-2.20 ಮತ್ತು webkit-1.0 ಬೈಂಡಿಂಗ್ಗಳನ್ನು ತೆಗೆದುಹಾಕಲಾಗಿದೆ;
- GIR ಆಧರಿಸಿ ನವೀಕರಿಸಿದ ಬೈಂಡಿಂಗ್ಗಳು;
- ರಚಿತವಾದ C ಕೋಡ್ ಅನ್ನು ಪರಿಶೀಲಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಪರೀಕ್ಷಾ ವ್ಯವಸ್ಥೆಗೆ ಸೇರಿಸಲಾಗಿದೆ;
- ಸುಧಾರಿತ ಗಿರ್ಪಾರ್ಸರ್, ಗಿರ್ ರೈಟರ್, ವ್ಯಾಲಾಡೋಕ್, ಲಿಬ್ವಾಲಾಡೋಕ್/ಗಿರಿಂಪೋರ್ಟರ್;
- ವಿವಿಧ ಕಂಪೈಲರ್ ಘಟಕಗಳ ಸಂಚಿತ ದೋಷಗಳು ಮತ್ತು ನ್ಯೂನತೆಗಳನ್ನು ಸರಿಪಡಿಸಲಾಗಿದೆ.
ಮೂಲ: opennet.ru