ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯ ಬಿಡುಗಡೆ Haxe 4.1

ಲಭ್ಯವಿದೆ ಟೂಲ್ಕಿಟ್ ಬಿಡುಗಡೆ ಹ್ಯಾಕ್ಸ್ 4.1, ಇದು ಬಲವಾದ ಟೈಪಿಂಗ್, ಕ್ರಾಸ್-ಕಂಪೈಲರ್ ಮತ್ತು ಕಾರ್ಯಗಳ ಪ್ರಮಾಣಿತ ಲೈಬ್ರರಿಯೊಂದಿಗೆ ಅದೇ ಹೆಸರಿನ ಬಹು-ಮಾದರಿ ಉನ್ನತ ಮಟ್ಟದ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯನ್ನು ಒಳಗೊಂಡಿದೆ. ಯೋಜನೆಯು C++, HashLink/C, JavaScript, C#, Java, PHP, Python ಮತ್ತು Lua ಗೆ ಅನುವಾದವನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ, ಜೊತೆಗೆ JVM, HashLink/JIT, Flash ಮತ್ತು Neko ಬೈಟ್‌ಕೋಡ್‌ಗೆ ಸಂಕಲನ, ಪ್ರತಿ ಗುರಿ ವೇದಿಕೆಯ ಸ್ಥಳೀಯ ಸಾಮರ್ಥ್ಯಗಳಿಗೆ ಪ್ರವೇಶದೊಂದಿಗೆ. ಕಂಪೈಲರ್ ಕೋಡ್ ವಿತರಿಸುವವರು GPLv2 ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ, ಮತ್ತು Haxe ಗಾಗಿ ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾದ ಗುಣಮಟ್ಟದ ಲೈಬ್ರರಿ ಮತ್ತು ವರ್ಚುವಲ್ ಯಂತ್ರಗಳು ಹ್ಯಾಶ್‌ಲಿಂಕ್ и ನೆಕೊ MIT ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ.

ಭಾಷೆ ಆಗಿದೆ ಅಭಿವ್ಯಕ್ತಿ-ಆಧಾರಿತ ಬಲವಾದ ಟೈಪಿಂಗ್ನೊಂದಿಗೆ. ಆಬ್ಜೆಕ್ಟ್-ಓರಿಯೆಂಟೆಡ್, ಜೆನೆರಿಕ್ ಮತ್ತು ಕ್ರಿಯಾತ್ಮಕ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ತಂತ್ರಗಳನ್ನು ಬೆಂಬಲಿಸಲಾಗುತ್ತದೆ. Haxe ಸಿಂಟ್ಯಾಕ್ಸ್ ECMAScript ಗೆ ಹತ್ತಿರದಲ್ಲಿದೆ ಮತ್ತು ವಿಸ್ತರಿಸುತ್ತದೆ ಅದರ ವೈಶಿಷ್ಟ್ಯಗಳಾದ ಸ್ಟ್ಯಾಟಿಕ್ ಟೈಪಿಂಗ್, ಆಟೋಟೈಪ್ ಇನ್ಫರೆನ್ಸ್, ಪ್ಯಾಟರ್ನ್ ಮ್ಯಾಚಿಂಗ್, ಜೆನೆರಿಕ್ಸ್, ಲೂಪ್‌ಗಳಿಗಾಗಿ ಪುನರಾವರ್ತಕ-ಆಧಾರಿತ, AST ಮ್ಯಾಕ್ರೋಗಳು, GADT (ಸಾಮಾನ್ಯೀಕೃತ ಬೀಜಗಣಿತದ ಡೇಟಾ ಪ್ರಕಾರಗಳು), ಅಮೂರ್ತ ಪ್ರಕಾರಗಳು, ಅನಾಮಧೇಯ ರಚನೆಗಳು, ಸರಳೀಕೃತ ರಚನೆಯ ವ್ಯಾಖ್ಯಾನಗಳು, ಷರತ್ತುಬದ್ಧ ಸಂಕಲನ ಅಭಿವ್ಯಕ್ತಿಗಳು, ಮೆಟಾಡೇಟಾವನ್ನು ಲಗತ್ತಿಸುವ ಕ್ಷೇತ್ರ , ತರಗತಿಗಳು ಮತ್ತು ಅಭಿವ್ಯಕ್ತಿಗಳು, ಸ್ಟ್ರಿಂಗ್ ಇಂಟರ್‌ಪೋಲೇಶನ್ ("'ನನ್ನ ಹೆಸರು $ಹೆಸರು'"), ಟೈಪ್ ಪ್ಯಾರಾಮೀಟರ್‌ಗಳು ('ಹೊಸ ಮುಖ್ಯ ("ಫೂ")') ಮತ್ತು ಇನ್ನೂ ಹೆಚ್ಚು.

ವರ್ಗ ಪರೀಕ್ಷೆ {
ಸ್ಥಿರ ಕಾರ್ಯ ಮುಖ್ಯ() {
ಅಂತಿಮ ಜನರು = [
"ಎಲಿಜಬೆತ್" => "ಪ್ರೋಗ್ರಾಮಿಂಗ್",
"ಜೋಯಲ್" => "ವಿನ್ಯಾಸ"
];

(ಹೆಸರು => ಜನರಲ್ಲಿ ಕೆಲಸ) {
ಟ್ರೇಸ್ ('$ಹೆಸರು ಜೀವನಕ್ಕಾಗಿ $ಉದ್ಯೋಗವನ್ನು ಮಾಡುತ್ತದೆ!');
}
}
}

ಆವೃತ್ತಿ 4.1 ರಲ್ಲಿ ಹೊಸ ವೈಶಿಷ್ಟ್ಯಗಳು:

  • ಟೈಲ್ ರಿಕರ್ಶನ್ ಆಪ್ಟಿಮೈಸೇಶನ್ ಸೇರಿಸಲಾಗಿದೆ.
  • ವಿನಾಯಿತಿ ನಿರ್ವಹಣೆಗಾಗಿ ಹೊಸ ಏಕೀಕೃತ API ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • "ಪ್ರಯತ್ನ {} ಕ್ಯಾಚ್ (ಇ) {}" ಅನ್ನು "ಪ್ರಯತ್ನಿಸಿ {} ಕ್ಯಾಚ್ (ಇ: ಹ್ಯಾಕ್ಸ್.ಎಕ್ಸೆಪ್ಶನ್) {}" ಗಾಗಿ ಸಂಕ್ಷಿಪ್ತವಾಗಿ ಅನುಮತಿಸಲಾಗಿದೆ.
  • eval ಇಂಟರ್ಪ್ರಿಟರ್‌ಗೆ SSL ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • ಗುರಿ JVM ಅನ್ನು ಇನ್ನು ಮುಂದೆ ಪ್ರಾಯೋಗಿಕವಾಗಿ ಪರಿಗಣಿಸಲಾಗುವುದಿಲ್ಲ.
  • ಭಾಷಾ ಸರ್ವರ್ ಪ್ರೋಟೋಕಾಲ್ಗಾಗಿ, "ಗೋಟೋ ಇಂಪ್ಲಿಮೆಂಟೇಶನ್" ಮತ್ತು "ಉಲ್ಲೇಖಗಳನ್ನು ಹುಡುಕಿ" ಕಾರ್ಯಗಳಿಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • ರಚಿತವಾದ ಕೋಡ್‌ನಲ್ಲಿ ತಾತ್ಕಾಲಿಕ ಸ್ಥಳೀಯ ಅಸ್ಥಿರಗಳ ಸುಧಾರಿತ ಹೆಸರಿಸುವಿಕೆ. ಅನಗತ್ಯ "ರಿಟರ್ನ್" ತೆಗೆದುಹಾಕಲಾಗಿದೆ ರಿಟರ್ನ್ ಮೌಲ್ಯವಿಲ್ಲದೆ ಬಾಣದ ಕಾರ್ಯಗಳಲ್ಲಿ.
  • ಪ್ರವೇಶ ಸಂಯೋಜನೆಗಳನ್ನು (ಪಡೆಯಿರಿ, ಡೀಫಾಲ್ಟ್) ಕ್ಷೇತ್ರಗಳಲ್ಲಿ ಅನುಮತಿಸಲಾಗಿದೆ (ಪಡೆಯುವವರು ಮಾತ್ರ, ಡೀಫಾಲ್ಟ್ ನಿಯೋಜನೆ ನಡವಳಿಕೆ).
  • ಕ್ಷೇತ್ರಗಳಿಗೆ ಇನ್ಕ್ರಿಮೆಂಟ್ ಮತ್ತು ಡಿಕ್ರಿಮೆಂಟ್ ಆಪರೇಟರ್‌ಗಳನ್ನು ಅನುಮತಿಸಿ ಅಮೂರ್ತ ವಿಧಗಳು.
  • ಅನಾಮಧೇಯ ಪುನರಾವರ್ತಕಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಲೂಪ್‌ಗಳಿಗಾಗಿ ಸುಧಾರಿತ ಇನ್‌ಲೈನಿಂಗ್.
  • js: ES5 ಗಾಗಿ ಸುಧಾರಿತ ಸ್ಟ್ರಿಂಗ್‌ಮ್ಯಾಪ್ ಅನುಷ್ಠಾನ.
  • js: "-D js-es=6" ಕಂಪೈಲರ್ ಆಯ್ಕೆಗೆ ಲೆಟ್ ವೇರಿಯೇಬಲ್‌ಗಳ ಉತ್ಪಾದನೆಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ, ES6 ತರಗತಿಗಳ ಉತ್ಪಾದನೆಯನ್ನು ಸುಧಾರಿಸಲಾಗಿದೆ.
  • lua: "StringIterator" ಆಪ್ಟಿಮೈಸ್ ಮಾಡಲಾಗಿದೆ, ದೋಷ ನಿರ್ವಹಣೆಯನ್ನು ಸುಧಾರಿಸಲಾಗಿದೆ.
  • php: ಮೂಲ ಪ್ರಕಾರಗಳಿಗಾಗಿ "Std.isOfType" ಅನ್ನು ಆಪ್ಟಿಮೈಸ್ ಮಾಡಲಾಗಿದೆ.
  • php: ರಚಿತವಾದ ಅರೇಗಳು ಈಗ ಸ್ಥಳೀಯ ಇಂಟರ್‌ಫೇಸ್‌ಗಳಾದ "Iterator", "IteratorAggregate", "countable" ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತವೆ.
  • cs: ಮೆಟಾಡೇಟಾವನ್ನು ಸೇರಿಸಲಾಗಿದೆ "@: ಅಸೆಂಬ್ಲಿಮೆಟಾ" ಮತ್ತು "@: ಅಸೆಂಬ್ಲಿ ಸ್ಟ್ರಿಕ್ಟ್".
  • ಪೈಥಾನ್: ಅನಾಮಧೇಯ ವಸ್ತುಗಳಿಗೆ "__ಒಳಗೊಂಡಿದೆ__" ನ ಅನುಷ್ಠಾನವನ್ನು ಸೇರಿಸಲಾಗಿದೆ
    ಮತ್ತು "__getitem__", ಇದು ಅವುಗಳನ್ನು ರಚಿಸಿದ ಕೋಡ್‌ನಲ್ಲಿ ನಿಘಂಟುಗಳಾಗಿ ಬಳಸಲು ಅನುಮತಿಸುತ್ತದೆ.

  • jvm: ಟೈಪ್ ಮಾಡಲಾದ ಕಾರ್ಯಗಳನ್ನು ಪ್ರವೇಶಿಸುವ ಮತ್ತು ವಸ್ತುಗಳನ್ನು ಅನಾಮಧೇಯ ರಚನೆಗಳಾಗಿ ಬಳಸುವ ಸಂದರ್ಭಗಳಲ್ಲಿ ಹೆಚ್ಚುವರಿ ಇಂಟರ್ಫೇಸ್‌ಗಳನ್ನು ರಚಿಸುವ ಹೊಸ ವಿಧಾನಕ್ಕೆ ಗಮನಾರ್ಹವಾಗಿ ಸುಧಾರಿತ ಕಾರ್ಯಕ್ಷಮತೆ ಧನ್ಯವಾದಗಳು (ಡೈನಾಮಿಕ್ ಪ್ರಾಪರ್ಟಿ ಲುಕಪ್ ಅನ್ನು ತಡೆಯಲಾಗಿದೆ):
    ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯ ಬಿಡುಗಡೆ Haxe 4.1

ಪ್ರಮಾಣಿತ ಗ್ರಂಥಾಲಯದಲ್ಲಿ ಸುಧಾರಣೆಗಳು:

  • "Array.contains" ಕಾರ್ಯವನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • "Array.keyValueIterator" ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ, ಇದು ಅರೇಗಳಿಗೆ ಕೀ-ಮೌಲ್ಯ ಪುನರಾವರ್ತನೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ ("ಫಾರ್ (ಕೀ => ವ್ಯೂಹದಲ್ಲಿನ ಮೌಲ್ಯ)").
  • ನಿರ್ಬಂಧದ ಪ್ರಕಾರವನ್ನು ಸೇರಿಸಲಾಗಿದೆ "haxe.Constraints.NotVoid".
  • "FindIndex" ಮತ್ತು "foldi" ಕಾರ್ಯಗಳನ್ನು "Lambda" ವರ್ಗಕ್ಕೆ ಸೇರಿಸಲಾಗಿದೆ.
  • "ಅರೇ ಪ್ರವೇಶ" ("arr[i]" ಮೂಲಕ ಪ್ರವೇಶ) ಮತ್ತು "haxe.ds.HashMap" ಗಾಗಿ ಕೀ-ಮೌಲ್ಯದ ಪುನರಾವರ್ತನೆಯನ್ನು ಅಳವಡಿಸಲಾಗಿದೆ.
  • jvm: "StringMap", "sys.thread.Lock", "sys.thread.Thread" ನ JVM-ನಿರ್ದಿಷ್ಟ ಆವೃತ್ತಿಗಳನ್ನು ಅಳವಡಿಸಲಾಗಿದೆ.
  • java/jvm: "haxe.crypto" ಮಾಡ್ಯೂಲ್‌ಗಳಿಗಾಗಿ "MD5", "SHA-1" ಮತ್ತು "SHA-256" ನ ಸ್ಥಳೀಯ ಅಳವಡಿಕೆಗಳನ್ನು ಬಳಸಲಾಗಿದೆ.
  • ಮ್ಯಾಕ್ರೋ: "haxe.macro.Context.containsDisplayPosition(pos)" ಸೇರಿಸಲಾಗಿದೆ.
  • nullsafety: "ಕಟ್ಟುನಿಟ್ಟಾದ" ಮೋಡ್ ಅನ್ನು ಈಗ ಸಿಂಗಲ್ ಥ್ರೆಡ್ ಎಂದು ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ; "ಸ್ಟ್ರಿಕ್ಟ್ ಥ್ರೆಡ್" ಮೋಡ್ ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • "Std.isOfType" ಪರವಾಗಿ "Std.is" ಅನ್ನು ಅಸಮ್ಮತಿಸಲಾಗಿದೆ.
  • ಮುಚ್ಚುವಿಕೆಯಲ್ಲಿ ಮೌಲ್ಯಗಳಿಲ್ಲದೆ ಸ್ಥಳೀಯ ಅಸ್ಥಿರಗಳನ್ನು ಬಳಸುವಾಗ ಎಚ್ಚರಿಕೆಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • js: "ಟೈಪ್ ಮಾಡದ __js__(ಕೋಡ್, ಆರ್ಗ್ಸ್)" ಅಸಮ್ಮತಿಸಲಾಗಿದೆ, ಬದಲಿಗೆ "js.Syntax.code(code, args)".
  • php/neko: "neko.Web" ಮತ್ತು "php.Web" ಅನ್ನು ಅಸಮ್ಮತಿಗೊಳಿಸಲಾಗಿದೆ ಮತ್ತು ನಂತರ "hx4compat" ಲೈಬ್ರರಿಗೆ ಸರಿಸಲಾಗುತ್ತದೆ.

ಮುಂದಿನ ಬಿಡುಗಡೆಯಲ್ಲಿ ಯೋಜಿಸಲಾಗಿದೆ:

  • ಪ್ಯಾಕೇಜ್ ಮ್ಯಾನೇಜರ್ ಸುಧಾರಣೆಗಳು ಹ್ಯಾಕ್ಸೆಲಿಬ್.
  • ಅಸಮಕಾಲಿಕ ಸಿಸ್ಟಮ್ API ಆಧಾರಿತ ಲಿಬುವ್.
  • ಕೊರೂಟಿನ್ಗಳು.
  • ತರಗತಿಗಳನ್ನು ರಚಿಸದೆಯೇ ಮಾಡ್ಯುಲರ್ ಸ್ಟ್ಯಾಟಿಕ್ ಫಂಕ್ಷನ್‌ಗಳು ಮತ್ತು ವೇರಿಯೇಬಲ್‌ಗಳನ್ನು ಘೋಷಿಸುವುದು (ಈಗಾಗಲೇ ರಾತ್ರಿಯ ನಿರ್ಮಾಣಗಳಲ್ಲಿ ಲಭ್ಯವಿದೆ).

ಮೂಲ: opennet.ru

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ