TypeScript 7 ਇਸ ਹਫ਼ਤੇ Go ਵਿੱਚ ਪੂਰੀ ਤਰ੍ਹਾਂ ਮੁੜ ਲਿਖਿਆ (rewrite) ਗਿਆ ਹੈ, ਜਿਸ ਨਾਲ VS Code ਲਈ compilation ਸਮੇਂ ਨੂੰ 17.5 ਸੈਕਿੰਡ ਤੋਂ ਘਟਾ ਕੇ 1.3 ਸੈਕਿੰਡ ਤੋਂ ਵੀ ਘੱਟ ਕਰ ਦਿੱਤਾ ਗਿਆ ਹੈ ਅਤੇ ਵੱਡੇ ਪ੍ਰੋਜੈਕਟਾਂ ਵਿੱਚ ਮੈਮੋਰੀ ਦੀ ਵਰਤੋਂ ਨੂੰ 26% ਤੱਕ ਘਟਾ ਦਿੱਤਾ ਗਿਆ ਹੈ। ਇਹ ਰਫ਼ਤਾਰ ਵਾਧਾ ਰੋਜ਼ਾਨਾ ਕੋਡਿੰਗ ਨੂੰ ਬਹੁਤ ਤੇਜ਼ ਬਣਾ ਦਿੰਦਾ ਹੈ, ਅਤੇ ਇਸ ਨਾਲ ਪੂਰੇ ਸਟੈਕ ਵਿੱਚ ਡਿਵੈਲਪਰਾਂ ਦੇ ਕਈ ਘੰਟਿਆਂ ਦੀ ਬਚਤ ਹੁੰਦੀ ਹੈ।

Go ਵਿੱਚ ਮੁੜ ਲਿਖਿਆ ਜਾਣਾ ਕਿਉਂ ਮਹੱਤਵਪੂਰਨ ਹੈ

Microsoft ਨੇ ਪੁਰਾਣੇ JavaScript/Node ਇੰਪਲੀਮੈਂਟੇਸ਼ਨ ਨੂੰ ਬਦਲ ਕੇ ਕੰਪਾਈਲਰ ਨੂੰ Go ਵਿੱਚ ਮੁੜ ਬਣਾਇਆ ਹੈ। ਜਿਵੇਂ-ਜਿਵੇਂ ਪ੍ਰੋਜੈਕਟ ਵਧਦੇ ਗਏ, ਅਸਲ codebase ਇੱਕ ਅੜਚਨ ਦਾ ਸਾਹਮਣਾ ਕਰਨ ਲੱਗਾ—parsing ਅਤੇ type-checking ਨੇ ਉਹਨਾਂ CI runners ਨੂੰ ਹੌਲੀ ਕਰ ਦਿੱਤਾ ਜਿਨ੍ਹਾਂ ਕੋਲ ਸੀਮਤ CPU ਅਤੇ RAM ਸੀ। ਬਿਲਟ-ਇਨ concurrency ਵਾਲੀ ਇੱਕ compiled language ਵਿੱਚ ਬਦਲ ਕੇ, ਨਵਾਂ engine parsing ਅਤੇ type-checking ਨੂੰ ਇੱਕੋ ਸਮੇਂ (parallel) ਚਲਾਉਂਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਪਹਿਲੀ ਗਲਤੀ (error) ਦੇ ਆਉਣ ਦੇ ਇੰਤਜ਼ਾਰ ਨੂੰ ਬਹੁਤ ਘਟਾ ਦਿੱਤਾ ਗਿਆ ਹੈ।

ਅਸਲ ਦੁਨੀਆ ਵਿੱਚ ਪ੍ਰਦਰਸ਼ਨ ਦੇ ਲਾਭ

ਕੁਝ ਪ੍ਰਮੁੱਖ codebases ਤੋਂ ਮਿਲੇ ਸ਼ੁਰੂਆਤੀ benchmarks ਇਸ ਦੇ ਪ੍ਰਭਾਵ ਨੂੰ ਦਰਸਾਉਂਦੇ ਹਨ:

  • VS Code: 11.9 × ਤੇਜ਼ compilation, 18 % ਘੱਟ ਮੈਮੋਰੀ footprint।
  • Sentry, Bluesky, Playwright, Tldraw: 7.7 × ਤੋਂ 8.9 × ਤੱਕ ਦੀ ਰਫ਼ਤਾਰ।
  • Bluesky ਵਿੱਚ ਮੈਮੋਰੀ ਦੀ ਵਰਤੋਂ ਵਿੱਚ ਵੀ 26 % ਦੀ ਗਿਰਾਵਟ ਦੇਖੀ ਗਈ ਹੈ।

ਉਹ ਡਿਵੈਲਪਰ ਜੋ ਦਿਨ ਵਿੱਚ ਦਰਜਨਾਂ ਵਾਰ “run” ਜਾਂ “watch” ਦਬਾਉਂਦੇ ਹਨ, ਉਹਨਾਂ ਨੂੰ ਵਧੇਰੇ ਸੁਚਾਰੂ ਐਡੀਟਿੰਗ ਅਤੇ ਹਲਕੇ CI loads ਦਾ ਅਹਿਸਾਸ ਹੁੰਦਾ ਹੈ।

ਨਵੇਂ flags ਤੁਹਾਨੂੰ ਕੰਟਰੋਲ ਦਿੰਦੇ ਹਨ

ਇਸ ਮੁੜ ਲਿਖੇ (rewrite) ਵਿੱਚ command-line ਵਿਕਲਪ ਦਿੱਤੇ ਗਏ ਹਨ ਜੋ ਟੀਮਾਂ ਨੂੰ ਰਫ਼ਤਾਰ ਅਤੇ ਮੈਮੋਰੀ ਵਿਚਕਾਰ ਸੰਤੁਲਨ ਬਣਾਉਣ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦੇ ਹਨ:

  • --checkers ਅਤੇ --builders parsing ਅਤੇ type-checking workers ਨੂੰ ਇੱਕ ਦੂਜੇ ਦੇ ਨਾਲ ਚਲਾਉਂਦੇ ਹਨ, ਜੋ multicore CPUs ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ।
  • --singleThreaded ਸਾਰੇ ਕੰਮ ਨੂੰ ਇੱਕ ਹੀ thread 'ਤੇ ਲਾਗੂ ਕਰਦਾ ਹੈ, ਜਿਸ ਨਾਲ race condition ਪੈਦਾ ਹੋਣ 'ਤੇ debugging ਨੂੰ ਦੁਬਾਰਾ ਕਰਨਾ (reproducible) ਆਸਾਨ ਹੋ ਜਾਂਦਾ ਹੈ।
  • Type-checking workers ਅਤੇ builder workers ਦੀ ਵੱਖਰੀ ਤਰ੍ਹਾਂ ਦੀ scaling CI pipelines ਨੂੰ ਹਰੇਕ ਪੜਾਅ ਲਈ ਲੋੜੀਂਦੇ ਸਰੋਤ (resources) ਅਲਾਟ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦੀ ਹੈ।
  • ਨਵਾਂ --watch ਮੋਡ Parcel ਦਾ Go-ਅਧਾਰਤ port ਵਰਤਦਾ ਹੈ, ਜੋ ਵੱਡੇ node_modules trees ਦੀ ਮਹਿੰਗੀ polling ਨੂੰ ਖਤਮ ਕਰਦਾ ਹੈ ਅਤੇ file-change detection ਨੂੰ ਹਲਕਾ ਰੱਖਦਾ ਹੈ।

ਕਿਸ ਨੂੰ ਫਾਇਦਾ ਹੋਵੇਗਾ, ਅਤੇ ਕੌਣ ਝਿਜਕ ਸਕਦਾ ਹੈ

Front-end frameworks ਜੋ TypeScript 'ਤੇ ਬਹੁਤ ਜ਼ਿਆਦਾ ਨਿਰਭਰ ਕਰਦੇ ਹਨ—ਜਿਵੇਂ ਕਿ Next.js ਅਤੇ Nuxt—ਉਹਨਾਂ ਨੂੰ ਤੇਜ਼ rebuilds ਅਤੇ ਬਿਹਤਰ feedback loops ਦਾ ਫਾਇਦਾ ਮਿਲੇਗਾ। VS Code ਅਤੇ Cursor ਵਰਗੇ IDEs ਵਧੇਰੇ responsive ਮਹਿਸੂਸ ਹੁੰਦੇ ਹਨ, ਜੋ ਡਿਵੈਲਪਰਾਂ ਨੂੰ terminal builds 'ਤੇ ਜਾਣ ਦੀ ਬਜਾਏ ਐਡੀਟਰ ਵਿੱਚ ਜ਼ਿਆਦਾ ਸਮਾਂ ਬਿਤਾਉਣ ਲਈ ਉਤਸ਼ਾਹਿਤ ਕਰਦੇ ਹਨ।

ਅੱਗੇ ਕੀ ਦੇਖਣਾ ਹੈ

  • ਵੱਡੇ open-source ਪ੍ਰੋਜੈਕਟਾਂ ਅਤੇ enterprise monorepos ਵਿੱਚ ਇਸ ਨੂੰ ਅਪਣਾਉਣ ਦੀ ਦਰ।
  • ਸਥਿਰਤਾ (stability) ਅਤੇ ਕਿਸੇ ਵੀ ਲੁਕਵੇਂ performance cliffs 'ਤੇ ਕਮਿਊਨਿਟੀ ਦੀ ਪ੍ਰਤੀਕਿਰਿਆ।
  • Microsoft ਦੇ ਅਪਡੇਟਸ ਜੋ compile ਸਮੇਂ ਨੂੰ ਹੋਰ ਘਟਾਉਣ ਜਾਂ error diagnostics ਨੂੰ ਸੁਧਾਰਨ ਲਈ ਕੰਪਾਈਲਰ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਜੋੜਦੇ ਹਨ।