Vala (programming language)
ವಾಲಾ ಎಂಬುದು ಸ್ವಯಂ-ಹೋಸ್ಟಿಂಗ್ ಕಂಪೈಲರ್ನೊಂದಿಗೆ ವಸ್ತು-ಆಧಾರಿತ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯಾಗಿದ್ದು ಅದು ಸಿ ಕೋಡ್ ಅನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ ಮತ್ತು ಗೋಬ್ಜೆಕ್ಟ್ ವ್ಯವಸ್ಥೆಯನ್ನು ಬಳಸುತ್ತದೆ. ವಾಲಾವು ವಾಕ್ಯರಚನೆಯಲ್ಲಿ ಸಿ #ಅನ್ನು ಹೋಲುತ್ತದೆ ಮತ್ತು ಅನಾಮಧೇಯ ಕಾರ್ಯಗಳು, ಸಂಕೇತಗಳು, ಗುಣಲಕ್ಷಣಗಳು, ಜೆನೆರಿಕ್ಸ್, ಸಹಾಯಕ ಮೆಮೊರಿ ನಿರ್ವಹಣೆ, ಎಕ್ಸೆಪ್ಶನ್ ಹ್ಯಾಂಡ್ಲಿಂಗ್, ಟೈಪ್ ಇನ್ಫೆರೆನ್ಸ್ ಮತ್ತು ಫೋರ್ಚ್ ಸ್ಟೇಟ್ಮೆಂಟ್ಗಳಂತಹ ಗಮನಾರ್ಹ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಒಳಗೊಂಡಿದೆ. ಇದರ ಅಭಿವರ್ಧಕರಾದ ಜುರ್ಗ್ ಬಿಲ್ಲೆಟರ್ ಮತ್ತು ರಫೇಲ್ ಸ್ಯಾಂಡ್ರಿನಿ, ಈ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಸರಳ ಸಿ ರನ್ಟೈಮ್ಗೆ ಕಡಿಮೆ ಓವರ್ಹೆಡ್ನೊಂದಿಗೆ ತರಲು ಬಯಸಿದ್ದರು ಮತ್ತು ಗೋಬ್ಜೆಕ್ಟ್ ಆಬ್ಜೆಕ್ಟ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ಗುರಿಯಾಗಿಸುವ ಮೂಲಕ ಯಾವುದೇ ವಿಶೇಷ ರನ್ಟೈಮ್ ಬೆಂಬಲವನ್ನು ಹೊಂದಿರಲಿಲ್ಲ. ಯಂತ್ರ ಸಂಕೇತ ಅಥವಾ ಜೋಡಣೆ ಭಾಷೆಗೆ ನೇರವಾಗಿ ಸಂಕಲಿಸುವ ಬದಲು, ಇದು ಕೆಳಮಟ್ಟದ ಮಧ್ಯಂತರ ಭಾಷೆಗೆ ಸಂಕಲಿಸುತ್ತದೆ. ಇದು ಮೂಲದಿಂದ ಮೂಲಕ್ಕೆ ಸಿ ಗೆ ಕಂಪೈಲ್ ಮಾಡುತ್ತದೆ, ನಂತರ ಜಿಸಿಸಿ ಅಥವಾ ಕ್ಲಾಂಗ್ನಂತಹ ನಿರ್ದಿಷ್ಟ ಪ್ಲಾಟ್ಫಾರ್ಮ್ಗಾಗಿ ಸಿ ಕಂಪೈಲರ್ನೊಂದಿಗೆ ಕಂಪೈಲ್ ಮಾಡಲಾಗುತ್ತದೆ. ಸ್ಥಳೀಯ ಕೋಡ್ ಲೈಬ್ರರಿಗಳಿಂದ ಕಾರ್ಯವನ್ನು ಬಳಸುವುದರಿಂದ ಲೈಬ್ರರಿ ಇಂಟರ್ಫೇಸ್ಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುವ ವಾಪಿ ಫೈಲ್ಗಳನ್ನು ಬರೆಯಬೇಕಾಗುತ್ತದೆ. ಈ ಇಂಟರ್ಫೇಸ್ ವ್ಯಾಖ್ಯಾನಗಳನ್ನು ಬರೆಯುವುದು ಸಿ ಗ್ರಂಥಾಲಯಗಳಿಗೆ ಉತ್ತಮವಾಗಿ ದಾಖಲಿಸಲ್ಪಟ್ಟಿದೆ. ಮಲ್ಟಿಮೀಡಿಯಾ ಲೈಬ್ರರಿ ಎಸ್ಡಿಎಲ್ ಮತ್ತು ಓಪನ್ಜಿಎಲ್ನಂತಹ ಗೋಬ್ಜೆಕ್ಟ್ ಅನ್ನು ಆಧರಿಸದ ಲೈಬ್ರರಿಗಳು ಸೇರಿದಂತೆ ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯ ಲೈಬ್ರರಿಗಳಿಗೆ ಬೈಂಡಿಂಗ್ಗಳು ಈಗಾಗಲೇ ಲಭ್ಯವಿವೆ. ವಿವರಣೆ ವಾಲಾ ಎಂಬುದು ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯಾಗಿದ್ದು, ಇದು ಸ್ಕ್ರಿಪ್ಟಿಂಗ್ ಭಾಷೆಗಳ ಉನ್ನತ ಮಟ್ಟದ ನಿರ್ಮಾಣ-ಸಮಯದ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಕಡಿಮೆ-ಮಟ್ಟದ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳ ರನ್-ಟೈಮ್ ಕಾರ್ಯಕ್ಷಮತೆಯೊಂದಿಗೆ ಸಂಯೋಜಿಸುತ್ತದೆ. ಇದು ಯಾವುದೇ ಹೆಚ್ಚುವರಿ ರನ್ಟೈಮ್ ಅವಶ್ಯಕತೆಗಳನ್ನು ಹೇರದೆ ಮತ್ತು ಬೇರೆ ಎ. ಬಿ. ಐ. ಅನ್ನು ಬಳಸದೆ ಗ್ನೋಮ್ ಡೆವಲಪರ್ಗಳಿಗೆ ಆಧುನಿಕ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ತರುವ ಗುರಿಯನ್ನು ಹೊಂದಿದೆ, ಸಿ ಯಲ್ಲಿ ಬರೆಯಲಾದ ಅಪ್ಲಿಕೇಶನ್ಗಳು ಮತ್ತು ಗ್ರಂಥಾಲಯಗಳಿಗೆ ಹೋಲಿಸಿದರೆ. ವಾಲಾದ ವಾಕ್ಯರಚನೆಯು ಸಿ #ಅನ್ನು ಹೋಲುತ್ತದೆ, ಇದನ್ನು ಗೋಬ್ಜೆಕ್ಟ್ ಪ್ರಕಾರದ ವ್ಯವಸ್ಥೆಗೆ ಉತ್ತಮವಾಗಿ ಹೊಂದುವಂತೆ ಮಾರ್ಪಡಿಸಲಾಗಿದೆ. ಹಿಸ್ಟರಿ ವಾಲಾವನ್ನು ಜುರ್ಗ್ ಬಿಲ್ಲೆಟರ್ ಅವರು ರೂಪಿಸಿದರು ಮತ್ತು ಸಿ ಬದಲಿಗೆ ಗ್ನೋಮ್ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಲು ಉನ್ನತ ಮಟ್ಟದ ಪರ್ಯಾಯವನ್ನು ಬಯಸಿದ ರಫೇಲ್ ಸ್ಯಾಂಡ್ರಿನಿ ಅವರು ಇದನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಿದರು. ಅವರು ಸಿ #ನ ವಾಕ್ಯರಚನೆಯನ್ನು ಮತ್ತು ಶಬ್ದಾರ್ಥವನ್ನು ಇಷ್ಟಪಟ್ಟರು ಆದರೆ ಮೊನೊವನ್ನು ಬಳಸಲು ಬಯಸಲಿಲ್ಲ, ಆದ್ದರಿಂದ ಅವರು ಮೇ 2006 ರಲ್ಲಿ ಕಂಪೈಲರ್ ಅನ್ನು ಪೂರ್ಣಗೊಳಿಸಿದರು. ಆರಂಭದಲ್ಲಿ, ಇದನ್ನು ಸಿ ಬಳಸಿ ಬೂಟ್ಸ್ಟ್ರ್ಯಾಪ್ ಮಾಡಲಾಯಿತು, ಮತ್ತು ಒಂದು ವರ್ಷದ ನಂತರ (ಜುಲೈ 2007 ರಲ್ಲಿ ಆವೃತ್ತಿ 0.1 ಬಿಡುಗಡೆಯೊಂದಿಗೆ), ವಾಲಾ ಕಂಪೈಲರ್ ಸ್ವಯಂ-ಹೋಸ್ಟ್ ಆಯಿತು. 2021 ರ ಹೊತ್ತಿಗೆ, ದೀರ್ಘಾವಧಿಯ ಬೆಂಬಲದೊಂದಿಗೆ ಪ್ರಸ್ತುತ ಸ್ಥಿರವಾದ ಬಿಡುಗಡೆ ಶಾಖೆಯು 0.48 ಆಗಿದೆ, ಮತ್ತು ಸ್ಥಿರವಾದ ಆವೃತ್ತಿ 1.0 ಅನ್ನು ಬಿಡುಗಡೆ ಮಾಡುವ ಗುರಿಯೊಂದಿಗೆ ಭಾಷೆಯು ಸಕ್ರಿಯ ಅಭಿವೃದ್ಧಿಯಲ್ಲಿದೆ. ಭಾಷಾ ವಿನ್ಯಾಸದ ವೈಶಿಷ್ಟ್ಯಗಳು ವಾಲಾ ಜಿ. ಎಲ್. ಐ. ಬಿ ಮತ್ತು ಅದರ ಉಪಘಟಕಗಳನ್ನು (ಜಿ. ಓ. ಆಬ್ಜೆಕ್ಟ್, ಜಿ. ಎಂ. ಮಾಡ್ಯೂಲ್, ಜಿ. ಥ್ರೆಡ್, ಜಿ. ಐ. ಓ) ಕೋರ್ ಲೈಬ್ರರಿಯಾಗಿ ಬಳಸುತ್ತದೆ, ಇದು ಹೆಚ್ಚಿನ ಕಾರ್ಯಾಚರಣಾ ವ್ಯವಸ್ಥೆಗಳಿಗೆ ಲಭ್ಯವಿದೆ ಮತ್ತು ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಸ್ವತಂತ್ರ ಥ್ರೆಡಿಂಗ್, ಇನ್ಪುಟ್/ಔಟ್ಪುಟ್, ಫೈಲ್ ನಿರ್ವಹಣೆ, ನೆಟ್ವರ್ಕ್ ಸಾಕೆಟ್ಗಳು, ಪ್ಲಗ್ಇನ್ಗಳು, ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳು ಇತ್ಯಾದಿಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ. ವಾಲಾದ ವಾಕ್ಯರಚನೆಯು ಪ್ರಸ್ತುತ ಆಧುನಿಕ ಭಾಷೆಯ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಈ ಕೆಳಗಿನಂತೆ ಬೆಂಬಲಿಸುತ್ತದೆಃ ಇಂಟರ್ಫೇಸ್ ಗುಣಲಕ್ಷಣಗಳು ಸಂಕೇತಗಳು ಫೋರ್ಚ್ ಲ್ಯಾಂಬ್ಡಾ ಅಭಿವ್ಯಕ್ತಿಗಳು ಸ್ಥಳೀಯ ಅಸ್ಥಿರಗಳಿಗೆ ಪ್ರಕಾರದ ತೀರ್ಮಾನಗಳು ಜೆನೆರಿಕ್ಸ್ ನಾನ್-ನಲ್ ಪ್ರಕಾರಗಳು ಅಸಿಸ್ಟೆಡ್ ಮೆಮೊರಿ ಮ್ಯಾನೇಜ್ಮೆಂಟ್ ಎಕ್ಸೆಪ್ಶನ್ ಹ್ಯಾಂಡ್ಲಿಂಗ್ ಗ್ರಾಫಿಕಲ್ ಯೂಸರ್ ಇಂಟರ್ಫೇಸ್ಗಳನ್ನು ಜಿಟಿಕೆ ಜಿಯುಐ ಟೂಲ್ಕಿಟ್ ಮತ್ತು ಗ್ಲೇಡ್ ಜಿಯುಐ ಬಿಲ್ಡರ್ನೊಂದಿಗೆ ಅಭಿವೃದ್ಧಿಪಡಿಸಬಹುದು. ಮೆಮೊರಿ ನಿರ್ವಹಣೆ ಮೆಮೊರಿ ನಿರ್ವಹಣೆಗೆ, ಜಿಟೈಪ್ ಅಥವಾ ಗೋಬ್ಜೆಕ್ಟ್ ವ್ಯವಸ್ಥೆಯು ಉಲ್ಲೇಖ ಎಣಿಕೆಯನ್ನು ಒದಗಿಸುತ್ತದೆ. ಸಿ ಯಲ್ಲಿ, ಪ್ರೋಗ್ರಾಮರ್ ಉಲ್ಲೇಖಗಳನ್ನು ಸೇರಿಸುವುದು ಮತ್ತು ತೆಗೆದುಹಾಕುವುದನ್ನು ಕೈಯಿಂದ ನಿರ್ವಹಿಸಬೇಕು, ಆದರೆ ವಾಲಾದಲ್ಲಿ, ಪ್ರೋಗ್ರಾಮರ್ ಸರಳ ಪಾಯಿಂಟರ್ಗಳ ಬದಲಿಗೆ ಭಾಷೆಯ ಅಂತರ್ನಿರ್ಮಿತ ಉಲ್ಲೇಖ ಪ್ರಕಾರಗಳನ್ನು ಬಳಸಿದರೆ ಅಂತಹ ಉಲ್ಲೇಖ ಎಣಿಕೆಗಳನ್ನು ನಿರ್ವಹಿಸುವುದು ಸ್ವಯಂಚಾಲಿತವಾಗಿರುತ್ತದೆ. ನೀವು ಚಿಂತಿಸಬೇಕಾದ ಏಕೈಕ ವಿವರವೆಂದರೆ ಉಲ್ಲೇಖ ಚಕ್ರಗಳನ್ನು ಉತ್ಪಾದಿಸುವುದನ್ನು ತಪ್ಪಿಸುವುದು, ಏಕೆಂದರೆ ಆ ಸಂದರ್ಭದಲ್ಲಿ ಈ ಮೆಮೊರಿ ನಿರ್ವಹಣಾ ವ್ಯವಸ್ಥೆಯು ಸರಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವುದಿಲ್ಲ. ಒಂದು ಆಯ್ಕೆಯಾಗಿ ಪಾಯಿಂಟರ್ಗಳೊಂದಿಗೆ ಹಸ್ತಚಾಲಿತ ಮೆಮೊರಿ ನಿರ್ವಹಣೆಯನ್ನು ಸಹ ವಾಲಾ ಅನುಮತಿಸುತ್ತದೆ. ಬೈಂಡಿಂಗ್ ವಾಲಾವು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಸಿ ಗ್ರಂಥಾಲಯಗಳಿಗೆ, ವಿಶೇಷವಾಗಿ ಗೋಬ್ಜೆಕ್ಟ್-ಆಧಾರಿತ ಗ್ರಂಥಾಲಯಗಳಿಗೆ, ರನ್ಟೈಮ್ ಬೈಂಡಿಂಗ್ಗಳ ಅಗತ್ಯವಿಲ್ಲದೇ ರನ್ಟೈಮ್ ಪ್ರವೇಶವನ್ನು ಒದಗಿಸುವ ಉದ್ದೇಶವನ್ನು ಹೊಂದಿದೆ. ವಾಲಾದೊಂದಿಗೆ ಗ್ರಂಥಾಲಯವನ್ನು ಬಳಸಲು, ವಾಲಾ ವಾಕ್ಯರಚನೆಯಲ್ಲಿ ವರ್ಗ ಮತ್ತು ವಿಧಾನದ ಘೋಷಣೆಗಳನ್ನು ಹೊಂದಿರುವ ಎಪಿಐ ಕಡತ (. ವಾಪಿ) ಬೇಕಾಗುತ್ತದೆ. ಆದಾಗ್ಯೂ, ಸಿ + + ಗ್ರಂಥಾಲಯಗಳಿಗೆ ಬೆಂಬಲವಿಲ್ಲ. ಪ್ರಸ್ತುತ, ಜಿ. ಟಿ. ಕೆ. ಸೇರಿದಂತೆ ವಾಲಾದ ಪ್ರತಿ ಬಿಡುಗಡೆಯೊಂದಿಗೆ ಗ್ನು ಯೋಜನೆ ಮತ್ತು ಗ್ನೋಮ್ ಪ್ಲಾಟ್ಫಾರ್ಮ್ನ ಹೆಚ್ಚಿನ ಭಾಗದ ವಾಪಿ ಕಡತಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ. ಸಾಮಾನ್ಯವಾಗಿ ಬಳಸುವ ದತ್ತಾಂಶ ರಚನೆಗಳಿಗೆ ಗೋಬ್ಜೆಕ್ಟ್ ಆಧಾರಿತ ಇಂಟರ್ಫೇಸ್ಗಳು ಮತ್ತು ತರಗತಿಗಳನ್ನು ಒದಗಿಸುವ ವಾಲಾ ಭಾಷೆಯಲ್ಲಿ ಬರೆಯಲಾದ ಗೀ ಎಂಬ ಗ್ರಂಥಾಲಯವೂ ಇದೆ. ಇತರ ಭಾಷೆಗಳಲ್ಲಿ ಬರೆಯಲಾದ ಅನ್ವಯಿಕೆಗಳಿಂದ ವಾಲಾ ಗ್ರಂಥಾಲಯಗಳಿಗೆ ಪ್ರವೇಶಕ್ಕಾಗಿ ಬೈಂಡಿಂಗ್ ಜನರೇಟರ್ ಅನ್ನು ಬರೆಯಲು ಸಹ ಸುಲಭವಾಗಿ ಸಾಧ್ಯವಿರಬೇಕು, ಉದಾಹರಣೆಗೆ, C #, ವಾಲ ಪಾರ್ಸರ್ ಅನ್ನು ಗ್ರಂಥಾಲಯವಾಗಿ ಬರೆಯಲಾಗಿರುವುದರಿಂದ, ಬೈಂಡಿಂಗ್ ಅನ್ನು ರಚಿಸುವಾಗ ಎಲ್ಲಾ ಸಂಕಲನ-ಸಮಯದ ಮಾಹಿತಿಯು ಲಭ್ಯವಿರುತ್ತದೆ. ಟೂಲ್ಸ್ ಎಡಿಟರ್ಸ್ ಟೂಲಿಂಗ್ ಫಾರ್ ವಾಲಾ ಅಭಿವೃದ್ಧಿಯು ಇತ್ತೀಚಿನ ವರ್ಷಗಳಲ್ಲಿ ಗಮನಾರ್ಹ ಸುಧಾರಣೆಯನ್ನು ಕಂಡಿದೆ. ವಾಲಾದಲ್ಲಿ ಪ್ರೋಗ್ರಾಮಿಂಗ್ಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸುವ ಪ್ಲಗ್-ಇನ್ಗಳನ್ನು ಹೊಂದಿರುವ ಕೆಲವು ಜನಪ್ರಿಯ ಐಡಿಇಗಳು ಮತ್ತು ಪಠ್ಯ ಸಂಪಾದಕರ ಪಟ್ಟಿ ಈ ಕೆಳಗಿನಂತಿದೆಃ ಗ್ನೋಮ್ ಬಿಲ್ಡರ್ ವಿಷುಯಲ್ ಸ್ಟುಡಿಯೋ ಕೋಡ್, ವಾಲಾ ಪ್ಲಗ್ಇನ್ ವಿಮ್ನೊಂದಿಗೆ, ಅರುಫಾಟ್/ವಾಲಾ. ವಿಮ್ ಪ್ಲಗ್ಇನ್ ಇಮ್ಯಾಕ್ಸ್ನೊಂದಿಗೆ, ವಾಲಾ-ಮೋಡ್ ಆಟಮ್ ಗಿಯಾನಿ ಕೋಡ್ ಇಂಟೆಲಿಜೆನ್ಸ್ನೊಂದಿಗೆ ಪ್ರಸ್ತುತ, ವಾಲಾಗೆ ಕೋಡ್ ಇಂಟೆಲಿಜೆನ್ಸ್ ಅನ್ನು ಈ ಕೆಳಗಿನಂತೆ ನೀಡುವ ಎರಡು ಸಕ್ರಿಯವಾಗಿ ಅಭಿವೃದ್ಧಿ ಹೊಂದುತ್ತಿರುವ ಭಾಷಾ ಸರ್ವರ್ಗಳಿವೆಃ, ಪ್ರಸ್ತುತ ಗ್ನೋಮ್ ಬಿಲ್ಡರ್ನಲ್ಲಿ ವಾಲಾಗೆ ಡೀಫಾಲ್ಟ್ ಭಾಷಾ ಸರ್ವರ್ ಆಗಿರುವ ವಿಎಸ್ಸಿ ಕೋಡ್, ವಿಮ್ ಮತ್ತು ಗ್ನೋಮ್ ಬಿಲ್ಡರ್ ಸೇರಿದಂತೆ ಎಲ್ಎಸ್ಪಿಯನ್ನು ಬೆಂಬಲಿಸುವ ಯಾವುದೇ ಸಂಪಾದಕರಿಗಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ ಮತ್ತು ಎಲ್ಎಸ್ಪಿ ಬಿಲ್ಡ್ ಸಿಸ್ಟಮ್ಗಳಿಗೆ ಬೆಂಬಲವನ್ನು ಹೊಂದಿರುವ ಯಾವುದೇ ಸಂಪಾದಕರಿಗೆ ಬೆಂಬಲವನ್ನು ಒದಗಿಸುತ್ತದೆ. ವಾಲಾ ಪ್ರೋಗ್ರಾಂಗಳಿಗಾಗಿ ಡೀಬಗ್ಗಿಂಗ್ ಅನ್ನು ಜಿಡಿಬಿ ಅಥವಾ ಎಲ್ಎಲ್ಡಿಬಿ ಮೂಲಕ ಮಾಡಬಹುದು. IDEಗಳಲ್ಲಿ ದೋಷನಿವಾರಣೆಗಾಗಿ, GNOME ಬಿಲ್ಡರ್ GDBಯೊಂದಿಗೆ ವಾಲಾಗೆ ಅಂತರ್ನಿರ್ಮಿತ ದೋಷನಿವಾರಣೆ ಬೆಂಬಲವನ್ನು ಹೊಂದಿದೆ. ವಿಷುಯಲ್ ಸ್ಟುಡಿಯೋ ಕೋಡ್ ಜಿಡಿಬಿ ಮತ್ತು ಎಲ್ಎಲ್ಡಿಬಿಗಾಗಿ ವಿಸ್ತರಣೆಗಳನ್ನು ಹೊಂದಿದೆ, ಉದಾಹರಣೆಗೆ ಸಿಪಿಪಿ ಟೂಲ್ಸ್ ಮತ್ತು ಕೋಡ್ಎಲ್ಎಲ್ಡಿಬಿ. ಉದಾಹರಣೆಗಳು ಹಲೋ ವರ್ಲ್ಡ್ ಎ ಸರಳ "ಹಲೋ, ವರ್ಲ್ಡ್!" ಸಿ ಅಥವಾ ಸಿ + + ಗಿಂತ ಭಿನ್ನವಾಗಿ, ವಾಲಾದಲ್ಲಿ ಯಾವುದೇ ಹೆಡರ್ ಕಡತಗಳಿಲ್ಲ ಎಂಬುದನ್ನು ಗಮನಿಸಬಹುದು. ಸಂಕಲನದ ಸಮಯದಲ್ಲಿ-- pkg ನಿಯತಾಂಕಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುವ ಮೂಲಕ ಗ್ರಂಥಾಲಯಗಳಿಗೆ ಸಂಪರ್ಕ ಕಲ್ಪಿಸಲಾಗುತ್ತದೆ. ಇದಲ್ಲದೆ, ಜಿ. ಎಲ್. ಐ. ಬಿ ಗ್ರಂಥಾಲಯವು ಯಾವಾಗಲೂ ಸಂಪರ್ಕಿತವಾಗಿರುತ್ತದೆ ಮತ್ತು ಅದರ ನೇಮ್ಸ್ಪೇಸ್ ಅನ್ನು ಬಿಟ್ಟುಬಿಡಬಹುದು (ಮುದ್ರಣವು ವಾಸ್ತವವಾಗಿ GLib.print ಆಗಿದೆ). ಕೆಳಗಿನ ಆಬ್ಜೆಕ್ಟ್-ಓರಿಯೆಂಟೆಡ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಹೆಚ್ಚು ಸಂಕೀರ್ಣವಾದ ಆವೃತ್ತಿಯಾಗಿದ್ದು, ಇದು ಬೇಸ್ ಕ್ಲಾಸ್ GLib.Object, ಅಂದರೆ ಗೋಬ್ಜೆಕ್ಟ್ ಕ್ಲಾಸ್ನಿಂದ ಆನುವಂಶಿಕವಾಗಿ ಪಡೆದ ಹಲೋವರ್ಲ್ಡ್ ಉಪವರ್ಗವನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತದೆ. ಇದು ವಾಲಾದ ಕೆಲವು ಆಬ್ಜೆಕ್ಟ್-ಓರಿಯೆಂಟೆಡ್ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ತೋರಿಸುತ್ತದೆಃ ಕ್ಲಾಸ್ ಹಲೋವರ್ಲ್ಡ್ಃ ಆಬ್ಜೆಕ್ಟ್ {ಪ್ರೈವೇಟ್ ಯುನಿಟ್ ಇಯರ್ = 0; ಪಬ್ಲಿಕ್ ಹಲೋವರ್ಲ್ಡ್ () {} ಪಬ್ಲಿಕ್ HelloWorld.with_year (int ಇಯರ್) {ಇಫ್ (ಇಯರ್> 0) this.year = ಇಯರ್;} ಪಬ್ಲಿಕ್ ವಾಯ್ಡ್ ಗ್ರೀಟಿಂಗ್ () {ಇಫ್ (ಇಯರ್ = = 0) ಪ್ರಿಂಟ್ ("ಹಲೋ ವರ್ಲ್ಡ್ \n"); ಇಲ್ಲದಿದ್ದರೆ/* ಸ್ಟ್ರಿಂಗ್ ಟೆಂಪ್ಲೆಟ್ಗಳನ್ನು '@"ಎಂದು ಪೂರ್ವಪ್ರತ್ಯಯ ಮಾಡಲಾಗುತ್ತದೆ. */ಮುದ್ರಿಸಿ (@"ಹಲೋ ವರ್ಲ್ಡ್, $(this.year) \n");}} ಶೂನ್ಯ ಮುಖ್ಯ (ಸ್ಟ್ರಿಂಗ್ [] ಆರ್ಗ್ಸ್) {ವರ್ ಹೆಲೊವರ್ಲ್ಡ್ = ಹೊಸ HelloWorld.with_year (2021); helloworld.greeting ();} ಗೋಬ್ಜೆಕ್ಟ್ ಲೈಬ್ರರಿಯಂತೆ, ವಾಲಾ ಬಹು ಆನುವಂಶಿಕತೆಯನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ, ಆದರೆ ವಾಲಾದಲ್ಲಿನ ಒಂದು ವರ್ಗವು ಯಾವುದೇ ಸಂಖ್ಯೆಯ ಇಂಟರ್ಫೇಸ್ಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದು, ಅದು ಅವುಗಳ ವಿಧಾನಗಳಿಗೆ ಪೂರ್ವನಿಯೋಜಿತ ಅನುಷ್ಠಾನಗಳನ್ನು ಹೊಂದಿರಬಹುದು. GLib ಅನ್ನು ಬಳಸಿಕೊಂಡು ಡೀಫಾಲ್ಟ್ ಅನುಷ್ಠಾನದೊಂದಿಗೆ (ಕೆಲವೊಮ್ಮೆ ಮಿಕ್ಸಿನ್ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ) ವಾಲಾ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಪ್ರದರ್ಶಿಸಲು ಮಾದರಿ ಕೋಡ್ನ ತುಣುಕು ಇಲ್ಲಿದೆ; ಇಂಟರ್ಫೇಸ್ ಮುದ್ರಿಸಬಹುದಾದ (ಸಾರ್ವಜನಿಕ ಅಮೂರ್ತ ಸ್ಟ್ರಿಂಗ್ ಪ್ರಿಂಟ್ ()); ಸಾರ್ವಜನಿಕ ವರ್ಚುವಲ್ ಸ್ಟ್ರಿಂಗ್ ಪ್ರೆಟಿ _ ಪ್ರಿಂಟ್ () {ರಿಟರ್ನ್ "ಪ್ಲೀಸ್" + ಪ್ರಿಂಟ್ ();}} ಕ್ಲಾಸ್ ನಾರ್ಮಲ್ಪ್ರಿಂಟ್ಃ ಆಬ್ಜೆಕ್ಟ್, ಪ್ರಿಂಟ್ ಮಾಡಬಹುದಾದ {ಸ್ಟ್ರಿಂಗ್ ಪ್ರಿಂಟ್ () {ರಿಟರ್ನ್ "ಡೋಂಟ್ ಲೆಟ್ ಎಬೌಟ್ ಮಿ";} ಕ್ಲಾಸ್ ಓವರ್ ರೈಡ್ ಪ್ರಿಂಟ್ಃ ಆಬ್ಜೆಕ್ಟ್, ಪ್ರಿಂಟ್ ಮಾಡಬಹುದಾದ {ಸ್ಟ್ರಿಂಗ್ ಪ್ರಿಂಟ್ () {ರಿಟರ್ನ್ "ಮೈಂಡ್ ದಿ ಗ್ಯಾಪ್";} ಪಬ್ಲಿಕ್ ಓವರ್ ರೈಡ್ ಸ್ಟ್ರಿಂಗ್ ಪ್ರೆಟಿ _ ಪ್ರಿಂಟ್ () {ರಿಟರ್ನ್ "ಓವರ್ ರೈಡ್";} ವಾಯ್ಡ್ ಮೇನ್ (ಸ್ಟ್ರಿಂಗ್ [] ಆರ್ಗ್ಸ್) {ವರ್ ನಾರ್ಮಲ್ = ನ್ಯೂ ನಾರ್ಮಲ್ಪ್ರಿಂಟ್ (); ವರ್ ಓವರ್ ನಂತರ ಕಾಲ್ಬ್ಯಾಕ್ ಕಾರ್ಯಗಳನ್ನು ವರ್ಗದ ಉದಾಹರಣೆಯ ಸಂಕೇತಕ್ಕೆ ನೋಂದಾಯಿಸಲಾಗುತ್ತದೆ. ಉದಾಹರಣೆಗೆ ಸಿಗ್ನಲ್ ಅನ್ನು ಹೊರಸೂಸಬಹುದು ಮತ್ತು ಸಿಗ್ನಲ್ಗೆ ಸಂಪರ್ಕಿಸಲಾದ ಪ್ರತಿ ಕಾಲ್ಬ್ಯಾಕ್ ಕಾರ್ಯವನ್ನು (ಹ್ಯಾಂಡ್ಲರ್ ಎಂದೂ ಕರೆಯಲಾಗುತ್ತದೆ) ಅವು ಸಂಪರ್ಕಿಸಲಾದ ಕ್ರಮದಲ್ಲಿ ಆಹ್ವಾನಿಸಲಾಗುತ್ತದೆಃ ವರ್ಗ ಫೂ {ಸಾರ್ವಜನಿಕ ಸಿಗ್ನಲ್ ಶೂನ್ಯ ಕೆಲವು _ ಈವೆಂಟ್ ();// ಸಿಗ್ನಲ್ ಸಾರ್ವಜನಿಕ ಶೂನ್ಯ ವಿಧಾನದ ವ್ಯಾಖ್ಯಾನ () {ಕೆಲವು _ ಈವೆಂಟ್ ();// ಸಿಗ್ನಲ್ ಅನ್ನು ಹೊರಸೂಸುವುದು (ಕಾಲ್ಬ್ಯಾಕ್ಗಳನ್ನು ಆಹ್ವಾನಿಸಲಾಗುತ್ತದೆ)} ಶೂನ್ಯ ಕಾಲ್ಬ್ಯಾಕ್ _ ಎ () {stdout.printf ("ಕಾಲ್ಬ್ಯಾಕ್ ಎ");} ಶೂನ್ಯ ಕಾಲ್ಬ್ಯಾಕ್ _ ಬಿ () {stdout.printf ("ಕಾಲ್ಬ್ಯಾಕ್ ಬಿ");} ಶೂನ್ಯ ಮುಖ್ಯ () {ವರ್ ಫೂ = ಹೊಸ ಫೂ (); foo.some_event.connect (ಕಾಲ್ಬ್ಯಾಕ್); ಈ ಕೆಳಗಿನ (ಅತ್ಯಂತ ಸರಳೀಕೃತ) ಉದಾಹರಣೆಯಲ್ಲಿ ತೋರಿಸಿರುವಂತೆ, ಹೊಸ ಥ್ರೆಡ್ಗಳನ್ನು ರಚಿಸುವಾಗ ಕಾರ್ಯವನ್ನು ನಿಯತಾಂಕವಾಗಿ ತೆಗೆದುಕೊಳ್ಳುವ ಜಿ. ಎಲ್. ಐ. ಬಿ. ಯಲ್ಲಿ ಥ್ರೆಡ್ ವರ್ಗವನ್ನು ಬಳಸುವ ಮೂಲಕ ಹೊಸ ಥ್ರೆಡ್ಗಳ ರಚನೆ ಮತ್ತು ಸಿಂಕ್ರೊನೈಸೇಶನ್ ಮಾಡಲಾಗುತ್ತದೆಃ ಇಂಟ್ ಪ್ರಶ್ನೆ () {// ಕೆಲವು ಮುದ್ರಣ ಕಾರ್ಯಾಚರಣೆಗಳು (ವರ್ ಐ = 0; ಐ <3; ಐ + +) {ಪ್ರಿಂಟ್ (". "); Thread.usleep (800000); stdout.flush ();} ಹಿಂತಿರುಗಿಸುತ್ತದೆ 42;} ಶೂನ್ಯ ಮುಖ್ಯ () () {ವೇಳೆ (! Thread.supported ()) {stderr.printf (" "ಥ್ರೆಡ್ ಬೆಂಬಲವಿಲ್ಲದೆ ಚಲಾಯಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. \n" "); ಹಿಂತಿರುಗಿಸಿ;} ಮುದ್ರಿಸಿ (" "ಜೀವನದ ಅಂತಿಮ ಪ್ರಶ್ನೆ, ಬ್ರಹ್ಮಾಂಡ, ಮತ್ತು ಎಲ್ಲವೂ" ");// ಸಾಮಾನ್ಯ ನಿಯತಾಂಕವು ಹಿಂತಿರುಗಿಸುವ ಮೌಲ್ಯದ ಪ್ರಕಾರವಾಗಿದೆ ವರ್ ಥ್ರೆಡ್ = ಹೊಸ ಥ್ರೆಡ್ <int> (" "ಪ್ರಶ್ನೆ", "ಪ್ರಶ್ನೆ); ಮುದ್ರಿಸಿ (@" "$(thread.join () \n" ");) ಗ್ರಾಫಿಕ್ ಬಳಕೆದಾರ ಇಂಟರ್ಫೇಸ್ ಕೆಳಗೆ GUI" "ಹಲೋ, ವರ್ಲ್ಡ್!" "ಅನ್ನು ರಚಿಸಲು GTK ಅನ್ನು ಬಳಸುವ ಉದಾಹರಣೆಯಾಗಿದೆ". ವಾಲಾದಲ್ಲಿ ಪ್ರೋಗ್ರಾಂ (ಜಿಟಿಕೆ ಹಲೋ ವರ್ಲ್ಡ್ ಅನ್ನು ಸಹ ನೋಡಿ): ಜಿಟಿಕೆ ಅನ್ನು ಬಳಸುವುದು; ಇಂಟ್ ಮೇನ್ (ಸ್ಟ್ರಿಂಗ್ [] ಆರ್ಗ್ಸ್) {Gtk.init (ರೆಫ್ ಆರ್ಗ್ಸ್); ವರ್ ವಿಂಡೋ = ಹೊಸ ವಿಂಡೋ (); window.title = "ಹಲೋ, ವರ್ಲ್ಡ್! "; window.border_width = 10; window.window_position = WindowPosition.CENTER; window.set_default_size (350,70); window.destroy.connect (Gtk.main_quit); ವರ್ ಲೇಬಲ್ = ಹೊಸ ಲೇಬಲ್ (" ಹಲೋ, ವರ್ಲ್ಡ್! "); window.add (ಲೇಬಲ್); window.show_all (); Gtk.main (); ರಿಟರ್ನ್ 0;} Gtk.main () ಎಂಬ ಹೇಳಿಕೆಯು ಘಟನೆಗಳನ್ನು ಆಲಿಸುವ ಮುಖ್ಯ ಲೂಪ್ ಅನ್ನು ರಚಿಸುತ್ತದೆ ಮತ್ತು ಪ್ರಾರಂಭಿಸುತ್ತದೆ, ಇವುಗಳನ್ನು ಸಂಕೇತಗಳ ಮೂಲಕ ಕಾಲ್ಬ್ಯಾಕ್ ಕಾರ್ಯಗಳಿಗೆ ರವಾನಿಸಲಾಗುತ್ತದೆ. ಈ ಉದಾಹರಣೆಯು ಜಿ. ಟಿ. ಕೆ ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಬಳಸುವುದರಿಂದ, ಕಂಪೈಲ್ ಮಾಡಲು ಹೆಚ್ಚುವರಿ-- ಪಿ. ಜಿ. ಜಿ ನಿಯತಾಂಕದ ಅಗತ್ಯವಿದೆ (ಇದು ಸಿ ಬ್ಯಾಕೆಂಡ್ನಲ್ಲಿ ಪಿ. ಜಿ. ಜಿ-ಕಾನ್ಫಿಗ್ ಅನ್ನು ಆಹ್ವಾನಿಸುತ್ತದೆ): ವಾಲಕ್-- ಪಿ. ಜಿ. ಜಿ. ಟಿ. ಕೆ +-3. ಪಿ <ಐ. ಡಿ1> ಪೈಥಾನ್ಗೆ ಹತ್ತಿರವಿರುವ ವಾಕ್ಯರಚನೆಯೊಂದಿಗೆ ವಾಲಾ ಕಂಪೈಲರ್ಗಾಗಿ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯಾದ ಜಿನೀ ಅನ್ನು ಸಹ ನೋಡಿ. ಶಾಟ್ವೆಲ್, ವಾಲಾದಲ್ಲಿ ಬರೆದ ಚಿತ್ರ ಸಂಘಟಕ. ಗಿಯರಿ, ವಾಲಾದಲ್ಲಿ ಬರೆಯಲಾದ ಇಮೇಲ್ ಕ್ಲೈಂಟ್. ಪ್ರಾಥಮಿಕ ಓಎಸ್, ಡೆಸ್ಕ್ಟಾಪ್ ಪರಿಸರದೊಂದಿಗೆ ಲಿನಕ್ಸ್ ವಿತರಣೆಯನ್ನು ಹೆಚ್ಚಾಗಿ ವಾಲಾದಲ್ಲಿ ಪ್ರೋಗ್ರಾಮ್ ಮಾಡಲಾಗಿದೆ. ಬಡ್ಗಿ, ಲಿನಕ್ಸ್ ಡೆಸ್ಕ್ಟಾಪ್ ಪರಿಸರವನ್ನು ಹೆಚ್ಚಾಗಿ ವಾಲಾದಲ್ಲಿ ಪ್ರೋಗ್ರಾಮ್ ಮಾಡಲಾಗಿದೆ. ಉಲ್ಲೇಖಗಳು ಬಾಹ್ಯ ಕೊಂಡಿಗಳು GNOME ವಿಕಿ ಪೇಜ್ API ಡಾಕ್ಯುಮೆಂಟೇಶನ್ ವಾಲಾ ರೆಪೊಸಿಟರಿ on GNOME · GitLab LibGee, ಇದು ವಾಲಾದ ಉಪಯುಕ್ತ ಗ್ರಂಥಾಲಯವಾಗಿದೆ. ಆರಂಭಿಕರಿಗಾಗಿ ವಾಲಾ ಮಾದರಿ ಕೋಡ್ ವಾಲಾ/ಸಿ ಯೋಜನೆಗಳಿಗಾಗಿ ಸಿಮೇಕ್ ಮತ್ತು ಮೆಸಾನ್ ಕಡತಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸುವ ಮತ್ತು ಸರಳಗೊಳಿಸುವ ಪ್ರೋಗ್ರಾಮ್ ಆಟೋವಾಲಾ ಆಟೋವಾಲಾ ಪಟ್ಟಿ ಗಿಟ್ಹಬ್ ಅಕಿರಾದಲ್ಲಿ ವಾಲಾ ಸಮುದಾಯ-ಲಿನಕ್ಸ್ ಸ್ಥಳೀಯ ಡಿಸೈನರ್ ಟೂಲ್ ಕಂಗಾರೂ-ಜನಪ್ರಿಯ ಡೇಟಾಬೇಸ್ಗಳಿಗಾಗಿ ಕ್ರಾಸ್-ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಡೇಟಾಬೇಸ್ ಕ್ಲೈಂಟ್ ಟೂಲ್ ಇತರ ಭಾಷೆಗಳೊಂದಿಗೆ ಹೋಲಿಕೆ ವಾಲಾ ಮತ್ತು ಜಾವಾ ವಾಲಾ ಮತ್ತು ಸಿ #ವಾಲ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳು ಸೇರಿದಂತೆ ವಿವಿಧ ಭಾಷೆಗಳ ಬೆಂಚ್ಮಾರ್ಕ್ಗಳು ಆಬ್ಜೆಕ್ಟ್-ಓರಿಯೆಂಟೆಡ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳು ಎಲ್ಜಿಪಿಎಲ್ ಪರವಾನಗಿ ಮೂಲದಿಂದ ಮೂಲ ಕಂಪೈಲರ್ಗಳನ್ನು ಬಳಸುವ ಸಾಫ್ಟ್ವೇರ್ 2006 ರಲ್ಲಿ ರಚಿಸಲಾದ ಸ್ಥಿರವಾಗಿ ಟೈಪ್ ಮಾಡಲಾದ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳು ಕ್ರಾಸ್-ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಉಚಿತ ಸಾಫ್ಟ್ವೇರ್