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

40 ದಿನಗಳ ಅಭಿವೃದ್ಧಿಯ ನಂತರ, ಸ್ಥಿರವಾಗಿ ಟೈಪ್ ಮಾಡಲಾದ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆ V (vlang) ನ ಹೊಸ ಆವೃತ್ತಿಯನ್ನು ಪ್ರಕಟಿಸಲಾಗಿದೆ. V ಅನ್ನು ರಚಿಸುವಲ್ಲಿನ ಪ್ರಮುಖ ಗುರಿಗಳೆಂದರೆ ಕಲಿಕೆ ಮತ್ತು ಬಳಕೆಯ ಸುಲಭತೆ, ಹೆಚ್ಚಿನ ಓದುವಿಕೆ, ವೇಗದ ಸಂಕಲನ, ಹೆಚ್ಚಿದ ಭದ್ರತೆ, ಪರಿಣಾಮಕಾರಿ ಅಭಿವೃದ್ಧಿ, ಅಡ್ಡ-ವೇದಿಕೆ ಬಳಕೆ, C ಭಾಷೆಯೊಂದಿಗೆ ಸುಧಾರಿತ ಸಂವಹನ, ಉತ್ತಮ ದೋಷ ನಿರ್ವಹಣೆ, ಆಧುನಿಕ ವೈಶಿಷ್ಟ್ಯಗಳು ಮತ್ತು ಹೆಚ್ಚು ಅನುಕೂಲಕರ ಪ್ರೋಗ್ರಾಂ ನಿರ್ವಹಣೆ. ಕಂಪೈಲರ್, ಲೈಬ್ರರಿಗಳು ಮತ್ತು ಸಂಬಂಧಿತ ಪರಿಕರಗಳ ಕೋಡ್ MIT ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ ತೆರೆದಿರುತ್ತದೆ.

ಹೊಸ ಆವೃತ್ತಿಯಲ್ಲಿ:

  • ಭಾಷಾ ಸುಧಾರಣೆಗಳು:
    • ಪಾರ್ಸರ್, ಮೌಲ್ಯೀಕರಣ, ಘಟಕ ಪರೀಕ್ಷೆಗಳೊಂದಿಗೆ ಹೊಸ ಮಾಡ್ಯೂಲ್ "encoding.xml".
    • ಕೂರೌಟಿನ್‌ಗಳಿಗೆ (IO, ನೆಟ್‌ವರ್ಕ್) ಸುಧಾರಿತ ಬೆಂಬಲ.
    • vweb ಅಪ್ಲಿಕೇಶನ್‌ಗಳಲ್ಲಿ ಮೆಮೊರಿ ಹಂಚಿಕೆ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು 80% ರಷ್ಟು ಕಡಿಮೆ ಮಾಡಿ.
    • "C.V_CURRENT_COMMIT_HASH" ಬದಲಿಗೆ "@VCURRENTHASH" ಅನುಷ್ಠಾನ.
    • i64 ಪ್ರಕಾರದೊಂದಿಗೆ ಸಂಯೋಜಿತವಾಗಿರುವ ಹೊಸ int ಪ್ರಕಾರದ ಪ್ರಚಾರವು ಪ್ರಾರಂಭವಾಗಿದೆ (ಹಿಂದೆ int ಪ್ರಕಾರವನ್ನು i32 ಪ್ರಕಾರದೊಂದಿಗೆ ಗುರುತಿಸಲಾಗಿತ್ತು).
    • ಹೊಸ ಇಂಟ್ ಪ್ರಕಾರಕ್ಕಾಗಿ ಪ್ರಕಾರ ಪರಿಶೀಲನಾ ನಿಯಮಗಳ ತಿದ್ದುಪಡಿ ಮತ್ತು ಕೋಡ್ ಉತ್ಪಾದನೆಯ ಆಪ್ಟಿಮೈಸೇಶನ್.
  • ಹೊಂದಾಣಿಕೆಯನ್ನು ಮುರಿಯುವ API ಬದಲಾವಣೆಗಳು:
    • "Request.cookies" ನಿಘಂಟನ್ನು ತೆಗೆದುಹಾಕಲಾಗಿದೆ ಮತ್ತು ಅದನ್ನು "Request.cookie()" ಮತ್ತು "Request.add_cookie()" ನಿಂದ ಬದಲಾಯಿಸಲಾಗಿದೆ.
    • C ಪ್ರಕಾರಗಳಿಗೆ ಕಠಿಣ ನಿಯಮಗಳು, ಅದನ್ನು ಈಗ ಯಾವಾಗಲೂ ಘೋಷಿಸಬೇಕು.
  • ಪ್ರಕಾರ ಪರಿಶೀಲನಾ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ ಬದಲಾವಣೆಗಳು:
    • ಆಯ್ಕೆ/ಫಲಿತಾಂಶ ವಿಭಜನೆ ಎಚ್ಚರಿಕೆಯನ್ನು ದೋಷ ವರ್ಗಕ್ಕೆ ಸರಿಸಲಾಗಿದೆ.
    • ಆಟೋಫ್ರೀ ಮೋಡ್‌ನಲ್ಲಿ ಐಚ್ಛಿಕ ಆರ್ಗ್ಯುಮೆಂಟ್‌ನೊಂದಿಗೆ "fn" ಎಂದು ಕರೆಯುವುದನ್ನು ಸರಿಪಡಿಸಿ.
    • ಹೆಸರಿಸುವ ಪರಿಶೀಲನೆ ಹಿಂತಿರುಗಿಸಲಾಗಿದೆ: ಅಲಿಯಾಸ್‌ಗಳಿಗೆ ಪ್ಯಾಸ್ಕಲ್ ಕೇಸ್.
    • C.xx = C.yy ಅಲಿಯಾಸ್‌ಗಳು.
    • ಗಣಿತ ಬ್ಲಾಕ್‌ಗಳಲ್ಲಿ ಪೂರ್ಣಾಂಕ ಪ್ರಕಾರಗಳನ್ನು ಶ್ರೇಣಿಗಳಾಗಿ ಬಿತ್ತರಿಸಲು ಅನುಮತಿಸಿ.
    • fn ನಿಯತಾಂಕವಾಗಿ ಬಳಸಿದಾಗ ಬೈಟ್ ಪ್ರಕಾರದ (u8 ಪ್ರಕಾರದ ಪರವಾಗಿ) ಅಸಮ್ಮತಿಯ ಬಗ್ಗೆ ಎಚ್ಚರಿಕೆ.
    • ಜೆನೆರಿಕ್ ಅರೇಗಳಿಗೆ ಅನುಬಂಧ ವಿಧಾನವನ್ನು ಸರಿಪಡಿಸಿ.
    • ಮತ್ತೊಂದು ಮಾಡ್ಯೂಲ್‌ನ ಖಾಸಗಿ ಇಂಟರ್ಫೇಸ್‌ನ ಅನುಷ್ಠಾನ ದೋಷವನ್ನು ಪರಿಶೀಲಿಸಲಾಗುತ್ತಿದೆ.
    • ಶ್ರೇಣಿಯನ್ನು ಪ್ರಾರಂಭಿಸುವಾಗ ಕ್ಯಾಪ್, ಲೆನ್‌ನ ಋಣಾತ್ಮಕ ಮೌಲ್ಯಗಳ ಪರಿಶೀಲನೆಯನ್ನು ಸರಿಪಡಿಸಲಾಗಿದೆ.
    • ನಕಲಿ ಮಾಡ್ಯೂಲ್ ಹೆಸರುಗಳಾದ var ಮತ್ತು param ಬಗ್ಗೆ ಎಚ್ಚರಿಕೆಯನ್ನು ದೋಷವಾಗಿ ಪರಿವರ್ತಿಸಿ.
    • ಹಂಚಿಕೆಯಾದ ವೇರಿಯೇಬಲ್ ಅನ್ನು ಒಟ್ಟಾರೆಯಾಗಿ ಮರುನಿಯೋಜನೆ ಮಾಡಲು ಅನುಮತಿಸಿ (ಮ್ಯೂಟೆಕ್ಸ್‌ನ ಹಿಂದಿನ ಸ್ಥಿತಿಯನ್ನು ಸಂರಕ್ಷಿಸುವಾಗ).
  • ಪಾರ್ಸರ್ ಸುಧಾರಣೆಗಳು:
    • ಅನಾಮಧೇಯ ಕಾರ್ಯಗಳಿಗೆ ಸ್ಥಿರ ವಿಧಾನದ ಸ್ಥಿರ ನಿಯೋಜನೆ.
    • ast: ನೆಸ್ಟೆಡ್ ರಚನೆಯೊಂದಿಗೆ ಸ್ಟ್ರಕ್ಟ್ ಘೋಷಣೆಯ ಸ್ಥಿರ ಫಾರ್ಮ್ಯಾಟಿಂಗ್.
    • "[ಫ್ಲ್ಯಾಗ್]" ಬಿಟ್‌ಫೀಲ್ಡ್‌ಗಳಿಗೆ set_all + clear_all ವಿಧಾನಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
    • "import math { sin, cos }" ಮೂಲಕ ಘೋಷಿಸಿದರೂ ಸಹ, ಬಳಕೆಯಾಗದ ಆಮದುಗಳ ಬಗ್ಗೆ ಎಚ್ಚರಿಕೆ.
  • ಕಂಪೈಲರ್ ಬದಲಾವಣೆಗಳು:
    • ಚೆಕರ್, ಬಿಲ್ಡರ್, ಪ್ರಿಫ್: ನಿರ್ದಿಷ್ಟ ಪ್ರೋಗ್ರಾಂಗೆ ಲಭ್ಯವಿರುವ ಎಲ್ಲಾ ಬಳಕೆದಾರ ಮತ್ತು ಸಿಸ್ಟಮ್ ವ್ಯಾಖ್ಯಾನಗಳನ್ನು ವೀಕ್ಷಿಸಲು "-ಡಂಪ್-ಡಿಫೈನ್ಸ್" ಫ್ಲ್ಯಾಗ್‌ಗೆ ಬೆಂಬಲ.
    • ನಕ್ಷೆಗಳು: maps.merge() ಮತ್ತು maps.merge_in_place() ಕಾರ್ಯಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • ಪ್ರಮಾಣಿತ ಗ್ರಂಥಾಲಯ:
    • ಬಿಲ್ಟ್ಇನ್: ಒಂದು ಶ್ರೇಣಿಯಲ್ಲಿನ ಎಲ್ಲಾ ಬೈಟ್‌ಗಳನ್ನು ತ್ವರಿತವಾಗಿ 0 ಗೆ ಹೊಂದಿಸಲು "ಅಸುರಕ್ಷಿತ { a.reset() }" ವಿಧಾನವನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
    • math.fractions: ಆಪರೇಟರ್ ಓವರ್‌ಲೋಡ್ ಅನ್ನು ಬಳಸುವುದು ಮತ್ತು ಹಳೆಯ ಕಾರ್ಯಗಳನ್ನು ರದ್ದುಗೊಳಿಸುವುದು.
    • gg: ಮ್ಯಾಕೋಸ್ ಮತ್ತು ಲಿನಕ್ಸ್‌ನಲ್ಲಿ draw_rounded_rect_empty ನ ಕೆಳಗಿನ ಗಡಿಯ ಸ್ಥಿರ ಜೋಡಣೆ.
    • crypto.bcrypt: bcrypt ನಲ್ಲಿ ಒಂದು ದೋಷವನ್ನು ಸರಿಪಡಿಸಲಾಗಿದೆ.
    • ಸೊಕೊಲ್: ಇತ್ತೀಚಿನ ಆವೃತ್ತಿಗೆ ನವೀಕರಿಸಲಾಗಿದೆ
    • ಅಂತರ್ನಿರ್ಮಿತ: (C.BOOL) ನ ಸ್ಥಿರ ಗಾತ್ರ (ವಿಂಡೋಸ್ ನಿರ್ದಿಷ್ಟ).
    • math.big: ಋಣಾತ್ಮಕ ಸಂಖ್ಯೆಗಳೊಂದಿಗೆ ತಪ್ಪಾದ ಭಾಗಾಕಾರವನ್ನು ಸರಿಪಡಿಸಿ.
    • os: ಕೆಲವು ಸಿಸ್ಟಮ್ ಸಿಗ್ನಲ್‌ಗಳನ್ನು ನಿರ್ಲಕ್ಷಿಸಲು ಅನುಕೂಲಕರ ಮಾರ್ಗವನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
    • os: ಸಂರಕ್ಷಿತ ಡೈರೆಕ್ಟರಿಯನ್ನು ತೆರೆಯಲು ಸಾಧ್ಯವಾಗದಿದ್ದಾಗ ವಿಂಡೋಸ್‌ನಲ್ಲಿ os.ls(ಫೋಲ್ಡರ್) ಅನ್ನು ಸರಿಪಡಿಸಿ.
    • crypto.sha/md5/: sha1/256/512 ಗಾಗಿ .sum() ಅನ್ನು ಹಲವು ಬಾರಿ ಕರೆಯುವಾಗ ಅದೇ ಹ್ಯಾಶ್ ಮೌಲ್ಯಗಳ ಸ್ಥಿರ ಲೆಕ್ಕಾಚಾರ.
    • os: os.fd_is_pending/1, os.Process.pipe_read/1, os.Process.is_pending/1 ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗಿದೆ.
    • json2: ನೆಸ್ಟೆಡ್ ರಚನೆಗಳಿಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • ವೆಬ್
    • vweb: ಸ್ಥಿರ .md ಫೈಲ್‌ಗಳಿಗಾಗಿ mime ಪ್ರಕಾರಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
    • net.conv: rfc-64 (QUIC ಗಾಗಿ) ನಲ್ಲಿ ವಿವರಿಸಿದಂತೆ ಸಹಿ ಮಾಡದ ಪೂರ್ಣಾಂಕ ವೇರಿಯೇಬಲ್‌ಗಳನ್ನು ಎನ್‌ಕೋಡ್ ಮಾಡಲು varinttou64 ಮತ್ತು u9000tovarint ಕಾರ್ಯಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
    • net.http: http.Server{} ನಲ್ಲಿ on_running, on_stopped, on_closed ಕಾಲ್‌ಬ್ಯಾಕ್ ಕಾರ್ಯಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುವುದನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ ಮತ್ತು show_startup_message: false.
    • net.http: HTTP ಪ್ರಾಕ್ಸಿ ಪಾಸ್‌ಥ್ರೂ ಬೆಂಬಲಸರ್ವರ್ http.fetch ನಲ್ಲಿ.
    • net.http: ತಪ್ಪಿಸಲಾಗದ ಸಾಕೆಟ್ ದೋಷಗಳಿಗಾಗಿ http.fetch() ಗೆ ಮರುಪ್ರಯತ್ನ ಕಾರ್ಯವಿಧಾನವನ್ನು ಸೇರಿಸಿ.
    • wasm: ಅಳವಡಿಸಲಾದ ಇನ್‌ಲೈನ್ ಅಸೆಂಬ್ಲಿ.
    • net.http: max_redirects ಮೌಲ್ಯವು 16 ಕ್ಕೆ ಏರಿದೆ.
    • ಪಿಕೊಯೆವ್: ಫೈಲ್ ಡಿಸ್ಕ್ರಿಪ್ಟರ್‌ಗಳೊಂದಿಗೆ ನೇರ ಕೆಲಸಕ್ಕಾಗಿ ಕಚ್ಚಾ ಮೋಡ್‌ನ ಅನುಷ್ಠಾನ.
    • net.http: unix-ತರಹದ ವ್ಯವಸ್ಥೆಗಳಿಗೆ socks5 ಮತ್ತು http(s) ಪ್ರಾಕ್ಸಿಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • ಓಆರ್ಎಂ:
    • orm: ಶೂನ್ಯ ಮೌಲ್ಯಗಳು ಮತ್ತು ಐಚ್ಛಿಕ ಕ್ಷೇತ್ರಗಳ ನಿರ್ವಹಣೆಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
    • orm: is_null/is_not_null ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಏಕರೂಪವಾಗಿ ಮಾಡಲಾಗಿದೆ.
  • ಡೇಟಾಬೇಸ್ ಡ್ರೈವರ್‌ಗಳು:
    • ಪುಟ: C ಕರೆಗಳನ್ನು .cv ಫೈಲ್‌ಗಳಿಗೆ ಸರಿಸಲಾಗಿದೆ.
  • ಸ್ಥಳೀಯ ಬ್ಯಾಕೆಂಡ್:
    • ಸ್ಥಳೀಯ: -no-builtin ಫ್ಲ್ಯಾಗ್‌ಗೆ ಬೆಂಬಲ ("v -no-builtin -b ಸ್ಥಳೀಯ ಉದಾಹರಣೆಗಳು/hello_world.v" ನೊಂದಿಗೆ < 1KB ಲಿನಕ್ಸ್ ಎಕ್ಸಿಕ್ಯೂಟಬಲ್‌ಗಳನ್ನು ಉತ್ಪಾದಿಸುವುದು).
    • ಸ್ಥಳೀಯ: int ಬದಲಿಗೆ i32 ಬಳಸಿ.
  • ಸಿ-ಬ್ಯಾಕೆಂಡ್:
    • ast, native, cgen: "$if native {}" ಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
  • ವಿಎಫ್‌ಎಂಟಿ:
    • ಈಗ call_expr ನಂತರ ಮತ್ತು ರಚನೆಯ ವಾದಗಳ ಮೊದಲು ಹೆಚ್ಚುವರಿ ಸಾಲು ವಿರಾಮಗಳನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ.
    • uft8 ಚಿಹ್ನೆಗಳನ್ನು ಹೊಂದಿರುವ ಕೀಲಿಗಳನ್ನು ಬಳಸುವಾಗ ಮೌಲ್ಯಗಳ ಸ್ಥಿರ ಜೋಡಣೆ.
    • ಕಾನ್ಸ್ಟ್ ಬ್ಲಾಕ್‌ಗಳಲ್ಲಿ ತ್ರಯಾತ್ಮಕ ಅಭಿವ್ಯಕ್ತಿಗಳ ಜೋಡಣೆ.
  • ಪರಿಕರಗಳು:
    • ರನ್‌ಟೈಮ್‌ನಲ್ಲಿ @FILE ಮತ್ತು @LINE ಅನ್ನು ಸಂಯೋಜಿಸದೆ ಸುಲಭವಾಗಿ ಡೀಬಗ್ ಮಾಡಲು @LOCATION ಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
    • ಮಾನದಂಡ: b.record_measure/1 ಮತ್ತು b.all_recorded_measures/0 ಎಂಬ ಹೊಸ ವಿಧಾನಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ.
    • ci: ನವೀಕರಿಸಿದ ಗಿಥಬ್ ವರ್ಕ್‌ಫ್ಲೋ c2v.
    • ಸ್ಟ್ರಿಂಗ್‌ಗಳು: Bulder.write_decimal/1 ವಿಧಾನವನ್ನು ಸೇರಿಸಲಾಗಿದೆ (ಹೆಚ್ಚುವರಿ ಹಂಚಿಕೆಗಳಿಲ್ಲದೆ, ದಶಮಾಂಶ ಸಂಖ್ಯೆಯನ್ನು ಬರೆಯಲು).
    • vpm (ವಿಂಡೋಸ್) ಬಳಸಿಕೊಂಡು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಮಾಡ್ಯೂಲ್‌ನ ಸ್ಥಿರ ಸ್ಥಾಪನೆ.
    • tools.vpm: ".git" ನಲ್ಲಿ ಕೊನೆಗೊಳ್ಳುವ URL ಗಳ ಸುಧಾರಿತ ನಿರ್ವಹಣೆ.
    • vpm ಬಳಸಿಕೊಂಡು ಬಾಹ್ಯ ಲಿಂಕ್‌ಗಳ ಮೂಲಕ ಮಾಡ್ಯೂಲ್‌ಗಳನ್ನು ಸ್ಥಾಪಿಸಲು v.mod ಫೈಲ್‌ಗೆ ಅವಶ್ಯಕತೆಯನ್ನು ಸೇರಿಸಲಾಗಿದೆ.

ಮೂಲ: opennet.ru

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