1 टिप्पणियां

 
GN⁺ 2024-03-04
Hacker News राय
  • मेरा मानना है कि compiler लिखने से पहले computer architecture को समझना चाहिए और यह जानना चाहिए कि compiler को efficient machine code जनरेट करने के लिए क्या बनाना होता है। स्कूलों और विश्वविद्यालयों में computer architecture और systems programming को धीरे-धीरे कम महत्व दिया जा रहा है, लेकिन यह ज्ञान इंडस्ट्री की सबसे बेहतरीन नौकरियाँ पाने के लिए महत्वपूर्ण है।
  • एक उपयोगकर्ता ने एक खास course का ज़िक्र किया, जिसने MANGA(Meta, Apple, Nvidia, Google, Amazon) कंपनियों की compiler engineering टीमों के interview पास करने में मदद की। University of Waterloo का low-level computing systems curriculum पहले से ही बेहतरीन था, और वह open source compiler projects में योगदान भी दे रहा था, लेकिन इस course ने interview के दौरान सबसे कठिन सवालों के जवाब देने में मदद की।
  • ऐसा महसूस होता है कि advanced compiler optimization पर गहन academic material की कमी है। कई courses शुरुआती स्तर के हैं, और वास्तव में दिलचस्प techniques सीखने के लिए लोकप्रिय open source compilers के source code में गहराई से उतरना पड़ता है।
  • compiler का क्षेत्र लगभग 30 साल तक बहुत ज़्यादा आगे नहीं बढ़ा। 2004-2006 में मैंने University of Perugia में पढ़ाया था, और उस समय इस्तेमाल की गई सामग्री पहले से ही 15-20-25 साल पुरानी थी। हाल में कुछ बदलाव दिखाई देते हैं।
  • यह देखकर खुशी है कि ऐसा course है जिसमें advanced topics को अपनी गति से सीखा जा सकता है। मैं compiler engineer के रूप में करियर चाहता था, लेकिन जहाँ मैं रहता हूँ वहाँ शिक्षा और नौकरी के अवसर ज़्यादा नहीं हैं। अमेरिका का job market बहुत प्रतिस्पर्धी है, और समझ नहीं आता कि उसमें प्रवेश कैसे किया जाए। bachelor’s degree के दौरान लिया गया एक course ही मेरा एकमात्र अनुभव है।
  • इसमें "A Unified Theory of Garbage Collection" भी शामिल है, जिससे छात्र reference counting (RC) और tracing garbage collection (GC) को सही तरह से समझ सकते हैं।
  • यह मूल रूप से वही सामग्री है जो 20 साल पहले मैंने एक सामान्य compiler construction course में देखी थी। कुछ नए papers लिंक किए गए हैं, इसलिए उन पर नज़र डालना उपयोगी हो सकता है। 18 साल से compiler source code नहीं देखा है, इसलिए profiling और trace-based optimization के मामले में खुद को पीछे छूटा हुआ महसूस करता हूँ। साथ ही, ML को देखकर लगता है कि और भी advanced SIMD techniques मौजूद होंगी।
  • CS 6120 Cornell University में Adrian Sampson द्वारा पढ़ाया जाने वाला programming language implementation पर आधारित एक PhD course है। जिज्ञासा है कि क्या यह course बहुत advanced है।
  • मैंने कुछ साल पहले गर्मियों में यह course online किया था और बहुत कुछ सीखा। Bril IR में एक छोटे issue पर PR सबमिट करना और professor के साथ मिलकर उसे सुधारना बहुत दिलचस्प था।
  • जिज्ञासा है कि क्या इस course से पहले कोई prerequisite course है।