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
