
27 مايو يصادف مرور 10 سنوات على إصدار
Ryan Dahl الإصدار الأول من
Node.js. على مدى العقد الماضي ، أصبح المشروع أكثر من نجاح ، ولكن ريان نفسه قد تحول بالفعل إلى أشياء أخرى. ماذا يفعل الآن؟ كيف يمكن لمشروعه الجديد مساعدة مطوري JavaScript؟ ماذا يفكر في اللغات المختلفة والتعليم وتغيير الأجيال؟
25 مايو ، قبل يومين من موعد الجولة ، سيتحدث ريان في سان بطرسبرغ في مؤتمر HolyJS. في غضون ذلك ، سألوه أعضاء لجنة برنامج HolyJS
يوجين بونوبس كوت وديمتري ديميتريماخنيف ماخنيف بالتفصيل عن كل ما سبق. في المتوسط ، نشرنا
نسخة باللغة الإنجليزية من المقابلة ، ولحبر إصدار روسي.
يوجين :
يعرفك العديد من القراء بالفعل بفضل Node.js ، لكن هل يمكن أن تخبرنا قليلاً عن نفسك؟
ريان : لقد جئت من سان دييغو ، كاليفورنيا. درست الرياضيات في الجامعة ، وتخصصي في كلية الدراسات العليا بجامعة روتشستر كان طوبولوجيا جبرية. لكن بعد ثلاث سنوات ، فكرت: "ما الذي أضيعه في حياتي؟ هذه أشياء غريبة ومجردة. "
لذلك ، غادرت مدرسة الدراسات العليا ، وسافرت ، وبعد فترة من الوقت شاركت في البرمجة. أعتقد أن الكثيرين قاموا بمسار مماثل. في منتصف العقد الأول من القرن العشرين ، شاركت في تطوير الشبكة. في البداية ، أحببت روبي أون ريلز وروبي بشكل عام. بالنسبة للعقدة ، من حسن الحظ أن تكون في المكان المناسب في الوقت المناسب. من قبيل الصدفة ، كنت أفكر في القضايا المقابلة فقط عندما أصبحت العقدة ممكنة.
يوجين : لذلك كان الحظ؟ أو هل لديك رؤية معينة لهذا المشروع ، ومنذ البداية افترضت أنه سيكون ناجحًا جدًا؟
ريان : هل سيعمل شخص ما في مشروع ما إذا كان لا يأمل أن ينجح؟ بالطبع ، في معظم الأحيان لم تتحقق هذه الآمال. نستسلم ونبدأ في القيام بشيء آخر - كما حدث مع كل ما عندي من المشاريع باستثناء واحد. مع العقدة ، كنت محظوظًا بالتأكيد. بعد ذلك خرج Chrome للتو (ومعه الإصدار 8) ، وفكرت كثيرًا في عمليات الإدخال / الإخراج غير المحظورة وكيف يمكن تمثيلها من خلال أطر عمل الويب ، وكل ذلك سار بشكل جيد مع JavaScript.
يوجين : الآن أنت تفعل
دينو . هل يمكنك التحدث عن العمل الحالي والخطط المستقبلية؟
ريان : أنا
وزميلي منذ فترة طويلة
بيرت بيلدر وأنا أحاول إنشاء شركة ناشئة. خلال العام ونصف العام الماضيين ، عملنا معه في العديد من المشاريع ، أحدها Deno. لعب بيرت دورًا كبيرًا في تطوير Node ، حيث قام بمعظم أعمال نقل Node إلى Windows. بالإضافة إلى ذلك ، فهو أحد مؤلفي
Libuv .
يوجين : هل تعتقد أن دينو يتوقع نجاحًا كبيرًا في المستقبل القريب؟ هل ستواصل العمل عليها ، على سبيل المثال ، خلال خمس سنوات؟
ريان : ليس لدي أي فكرة عما إذا كان دينو سيكون موجودا في غضون خمس سنوات - على الأرجح لا ، لأن معظم المشاريع لا تنتهي. لكن في الوقت الحالي ، يلتقطني دينو ويعطيني الرضا الوظيفي.
أعتقد في الوقت الحالي أنني غير راضٍ عن الحالة التي توجد بها اللغات الديناميكية. افتقد أداة سريعة ومريحة وتنوعا إلى حد ما. كلا Node و Python جيدان ، لكنني أجدهما معقدان بشكل غير معقول أو سيئ التصميم في بعض النواحي. لذا ، في النهاية ، أحاول صنع أداة لسير العمل الخاص بي.
يوجين : بينما كنا نستعد للأسئلة ، قرأنا
مقابلة على موقع Mapping the Journey. قلت هناك كنت تعمل مع التعلم الآلي. وبعد ذلك بوقت قصير ، أخذوا
وقدموا دينو في JSConf الاتحاد الأوروبي. اهتماماتك قد تحولت؟
ريان : في السنوات الأخيرة ، كنت الانغماس في خوارزميات التعلم الآلي. لم أخض في تفاصيل المشروع الذي كنت أعمل فيه ، لكنه كان إطارًا للتعلم الآلي لجافا سكريبت. ولهذا السبب ، جربت Node للمرة الأولى منذ سنوات ، وهذا يوضح بعض مشاكلي مع Node. أدى ذلك إلى العرض التقديمي في JSConf ، حيث تم عرض النموذج الأولي لـ Deno. ثم أظهر المشروع اهتماما هائلا ، بحيث انضم بيرت. وواصلنا العمل على ذلك. وبعد ذلك سوف أعود إلى تلك المشاريع ML.
أريد بشكل خاص توصيل Deno بـ WebGL. كما تعلمون ، يعمل Deno على V8 ، والذي بدوره جزء من العالم الواسع للبنية التحتية لبرامج Chrome. يحتوي Chrome على مكتبة Angle تنفذ WebGL. الاتصال بهذا سيسمح لـ Deno ببرمجة وحدة معالجة الرسومات. وحدات معالجة الرسومات ضرورية لنماذج التدريب للعديد من الشبكات العصبية الحديثة. أود حقًا أن يوفر لي Deno العملية المطلوبة للعمل مع البرمجة الرياضية. أعتقد أن جزءًا كبيرًا من المهام في الإحصاء والرياضيات ككل يأتي إلى نوع من ألعاب البيانات ، وهذا مناسب للغاية بالنسبة للغات الديناميكية.
بشكل عام ، لا توجد الكثير من اللغات الديناميكية في العالم ، خاصةً عندما يتعلق الأمر بالشعبية والسريعة. لذلك تعد JavaScript رائعة لتحديد النموذج. في العديد من الحالات ، سيتم نقل الحسابات إلى وحدة معالجة الرسومات ، وبالتالي فإن سرعة اللغة الديناميكية أو وقت التشغيل الخاص بك لن تكون مهمة للغاية. بشكل عام ، أخطط للعودة إلى كل هذه الأمور عاجلاً أم آجلاً ، لكن حتى الآن أركز على دينو.
ديمتري : هل Deno جاهز للاستخدام في الإنتاج الآن؟ هل تعرف حالات مثيرة للاهتمام بالاستخدام الحقيقي لدينو؟
ريان : يبدو لي أن الأشخاص المختلفين لديهم عتبات ألم مختلفة. إذا كنت مستعدًا للعيش مع الأخطاء ونقص الوثائق وتغيير واجهات برمجة التطبيقات ، فيمكنك استخدام Deno في بعض المهام حتى اليوم. لكن بشكل عام ، لم يعد مستعدًا للإنتاج. هو الآن في الإصدار 0.3 ، وسأعين كإصدار 1.0 اعتبره مناسبًا للاستخدام من قبل أشخاص آخرين. هذا هو مشروع واسع النطاق إلى حد ما ، نحن بصدد إنشاء منصة جديدة. للقيام بذلك ، يجب القيام بالكثير من العمل ، ونحن نحاول القيام بذلك بشكل صحيح. ومع ذلك ، إذا كنت مخترقًا ، فلا تخف من أن تتسخ يديك وتترك المشكلة أو تطلب السحب في حالة حدوث مشكلة - ثم يمكن استخدام ذلك.
يوجين : ما الذي يجب إضافته إلى Deno للشركات لبدء استخدامه في الإنتاج؟
ريان : في حالة Deno ، نحن نركز على مواقف مختلفة عن Node.js. نحن نحاول توفير وصول أقل مستوى إلى الكمبيوتر. على وجه الخصوص ، نريد أن يتم استيراد Deno كصندوق
صدأ وأنه يمكن تضمينه في أنظمة أخرى.
افترض أن لديك خادم الويب الخاص بك أو نظام خادم ، وتريد تزويد العملاء بالقدرة على تنفيذ JavaScript. ربما لا ترغب في النزول إلى مستوى V8 ، فإن V8 الخام ستوفر لك القليل. هناك حاجة إلى بعض البنية التحتية ، ولكن وقت التشغيل الكامل الذي قد يكون لدى شخص ما على كمبيوتر سطح المكتب هو بالفعل أكثر من اللازم. نأمل أن نغطي سيناريو "التضمين" هذا. ما زلنا نعمل على الشكل الذي ينبغي أن تظهر عليه واجهة برمجة التطبيقات في هذه الحالة. لدينا أيضًا مشكلات في الأداء نتابعها. نحن بحاجة إلى تقديم وثائق أفضل. بشكل عام ، هناك عمل للقيام به.
ديمتري : أحد مهام Deno هو الدعم المدمج في TypeScript. في الآونة الأخيرة ، انتشرت TypeScript على نطاق واسع ، وبدأت العديد من الشركات في استخدامه ليس فقط في المتصفح ، ولكن أيضًا في Node.js. سمعت أن الناس من الفريق الأساسي Node.js كما أشاد به. في رأيك ، هل يمكن لـ TypeScript استبدال جافا سكريبت في المتصفحات والحصول على وقت التشغيل الخاص بها (ربما بجهاز افتراضي)؟
ريان : واحدة من فوائد TypeScript هي أنها مجموعة جافا سكريبت ، لذلك لن تحل محلها. ما يمكنني أن أتخيله حقًا هو أن TypeScript سوف يندرج ضمن المعايير وأن الأنواع الاختيارية ستظهر في JavaScript ، ولكن هذا سيحدث قريبًا.
تعتبر اللغات الديناميكية مفيدة للغاية للمرحلة الأولية من التطوير ، على سبيل المثال ، عندما تقوم بتجربة شيء ما. تتمثل ميزة TypeScript (وفكرة الأنواع الاختيارية عمومًا) في أنه مع نضوج النموذج الأولي تدريجياً ، يمكنك "تحريف" التطبيق بالتدريج من خلال إضافة تعليمة برمجية بالأنواع. لا يجب أن يحدث هذا في نفس الوقت ، لذلك لا يزال بإمكانك التحرك بسرعة كبيرة وتحديد الأفكار الجديدة في JavaScript.
بالنسبة إلى ما إذا كان من الممكن استخدام أنواع في الجهاز الظاهري V8 لتحسين وقت التشغيل ، لا أعرف. يبدو الأمر صعبًا جدًا ، وليس لديّ صلاحية كافية لأقول إن كان هناك مكسب كبير. في Deno ، نستخدم برنامج التحويل البرمجي TypeScript المطبق في JavaScript. يمكنك أن تتخيل تطبيق Rust لمترجم يترجم إلى JavaScript بشكل أسرع. هذا ممكن ، مشروع
swc يعمل عليه.
يوجين : هل يمكن أن يحل TypeScript محل جافا سكريبت؟ لنفترض أنه في ES 2020 ، سيتم دمج TypeScript في لغة واحدة باستخدام JavaScript.
ريان : نعم ، يمكن إضافة أنواع إلى المعيار. هل يبدو أن TC 39 ينظم معايير JavaScript؟ على حد علمي ، لم تتم مناقشة هذا الاحتمال حتى الآن. لكنني أعتقد أنه لا يزال هناك وقت طويل قبل ذلك ، رغم أن ذلك ممكن.
يوجين : هل تعرف دارت؟ هل سبق لك استخدامها؟ ما رأيك به؟
ريان : لقد جربتها بدافع الفضول ، لكن ذلك كان منذ زمن طويل. تشبه أهداف Dart's TypeScript - إنها لغة ديناميكية مع أنواع اختيارية. كما قلت ، يسمح لك هذا بتنظيم سير عملك بشكل مريح للغاية. ولكن ، على عكس TypeScript ، فإن Dart ليس مجموعة شاملة من JavaScript ، إنها لغة مختلفة. ربما بسبب هذا ، فإنه ينتشر ببطء أكبر.
صحيح ، لقد اكتسب Flutter بعض الشعبية الآن ، لذلك ربما تخلفت عن الحياة هنا. تمكّن TypeScript بطريقة أو بأخرى من تحقيق نفس الهدف دون إنشاء لغة جديدة.
عندما تظهر لغة جديدة ، يكون من السهل عليه إثارة الفضول ، ولكن جعل الناس يستخدمونها أكثر صعوبة. يجب أن تكون الفوائد كبيرة جدا. على سبيل المثال ، كنت متشككا للغاية بشأن الصدأ. يبدو لي أن كل ما يمكنه فعله موجود بالفعل في الإصدار C ++ ، والذي أستخدمه بنشاط. في الآونة الأخيرة فقط تعرفت على Rust عن كثب ، وأصبح من الواضح أنه يمكن لي أن يحل محل C ++ بسهولة. بشكل عام ، لكي تنجح لغة جديدة ، يجب أن تكون مرتبة أفضل من اللغة القديمة.
يوجين : مع اللغات - مثل السيارات ، على أي حال ، ستركب حافلة في بعض الأحيان.
ريان : بالضبط.
يوجين : على الرغم من شعبية TypeScript ، إلا أن جافا سكريبت الآن في كل مكان: على الواجهة الخلفية ، الواجهة الأمامية ، على الأجهزة المحمولة ، في React Native و Raspberry Pi وما إلى ذلك. على ما يبدو ، لدينا ثورة ، وهناك لغة واحدة يمكنها أن تفعل كل شيء. هل هذا حقا هكذا؟ أم أن هناك دائما لغات خاصة للمهام الخاصة؟
ريان : جافا سكريبت مثيرة للاهتمام لأنها تعمل في كل مكان. لكن تجدر الإشارة إلى أنه على الرغم من أن العديد من الناس ينظرون إلى TypeScript كلغة منفصلة ، إلا أنه يتم تجميعها في JavaScript. لذلك ، من وجهة نظري ، يعمل TypeScript أيضًا في كل مكان. بشكل عام ، أنا أتفق مع بيانك. بالطبع ، في المستقبل المنظور ، ستظل JavaScript لغة المتصفحات وأجهزة متعددة. لذلك ، ما زلت أستخدمها - فهي توفر مجموعة واسعة جدًا من الاحتمالات.
ديمتري : لكن ألا تعتقد أن شعبية جافا سكريبت هذه يمكن أن تكون للأسوأ؟ أصبحت الويب الآن منصة لا غنى عنها لأي خدمة ، وجافا سكريبت هي اللغة الوحيدة التي يمكنك من خلالها كتابة خدمات الويب في الإنتاج. ربما سيكون من الأفضل لو كان لدينا خيار ، ولم يتم شحذ جميع المنصات تحت لغة واحدة؟ ربما نحتاج إلى أجهزة افتراضية مختلفة في المتصفحات؟
ريان : أعتقد أن هذا هو ما تسبب في شعبية Wasm. على ذلك ، يمكنك تجميع ، على سبيل المثال ، الصدأ في التعليمات البرمجية التي يمكن تنفيذها في المستعرض.
يبدو الأمر رائعًا ، لكنني أتساءل عن مدى نجاحه في تشغيل اللغات باستخدام مجموعة البيانات المهملة أو أدوات وقت التشغيل الأخرى. على الرغم من أنه من الممكن تقنياً استخدام Python عبر Wasm لبناء موقع ، إلا أنني أعتقد أن النتيجة ستكون بطيئة وبطيئة. أعتقد أن التجربة فقط سوف تظهر هنا.
ديمتري : إذا أردت استخدام شيء بدلاً من جافا سكريبت ، هل أحتاج إلى تعلم لغة يمكن تحويلها إلى Wasm؟
ريان : أو في جافا سكريبت. الحقيقة هي أن جافا سكريبت لديها جامع للقمامة وأكثر من ذلك بكثير. لذلك ، إذا كنت تستخدم لغة ديناميكية ، فمن المنطقي أن تترجم إلى جافا سكريبت أكثر من الترجمة في Wasm ، وفي نفس الوقت تقوم بتجميع وقت التشغيل بالكامل ، بما في ذلك أداة تجميع البيانات المهملة وأكثر. سيتعين عليك استثمار الكثير من الموارد ، على الرغم من أن V8 من المحتمل أن يكون أفضل مع جمع القمامة. لكن نعم ، دارت يجمع في JavaScript ، ويمكنك كتابة المواقع على ذلك. هناك لغات أخرى تفعل الشيء نفسه.
ديمتري : بما أننا نتحدث عن لغات مختلفة ، فما اللغة القديمة أو الجديدة التي تجدها مثيرة للاهتمام للدراسة في عام 2019؟
ريان : أنا حقا أحب الصدأ. له العديد من الاكتشافات المثيرة للاهتمام ، على سبيل المثال ، فكرة كائن واحد قابل للتغيير. أنه يحتوي على مترجم كبير يوفر رمز الأمثل للغاية. لكن فهم الصدأ ليس بالأمر السهل. استغرق الأمر مني عدة أشهر لفهم ما كان يجري هناك. بشكل عام ، تعتبر Rust لغة مثيرة للاهتمام للغاية ، ولكنها ليست عالمية بأي حال من الأحوال.
إذا كنت تكتب فقط تطبيقًا ، فمن المرجح أنك لن تكتبه في Rust ، ولكن في شيء أبسط: Ruby أو JavaScript أو Python. ولكن هناك بعض الحالات التي يقوم فيها راست بعمله ببراعة. على سبيل المثال ، يعد هذا مفيدًا لكتابة قواعد البيانات أو خوادم الويب أو ، في حالتنا ، الأجهزة الظاهرية. يمنح التحكم الكامل في كل ما يحدث في التعليمات البرمجية الخاصة بك ، ولكن على حساب التعقيد ، وهو مفتوح للمطور.
الصدأ هي كلمة جديدة في كتابة الكود المنخفض المستوى ؛ لها مزايا مهمة على Go. يحتوي Go على أداة تجميع مجمعي البيانات المهملة ، لذا فهو رائع بالنسبة للخوادم عالية الأداء ، فهو موجز ، والكتابة عليها بسيطة للغاية. ومع ذلك ، هناك أوقات عندما يكون وجود أداة تجميع مجمعي البيانات المهملة سالبًا وليس علامة زائد. دينو ، على سبيل المثال ، لديه مثل هذه الحالة. نحن التفاف V8 يحتوي بالفعل على جامع القمامة. قد يتحول مجمِّعان في عملية واحدة ، وقد يبدو تفاعلهما كارثيًا. V8 معقد بالفعل بشكل وحشي في حد ذاته. بشكل عام ، الصدأ مثالي لأغراضنا. سيكون من المثير للاهتمام معرفة التطبيقات الجديدة المتوفرة لبرنامج Rust عندما يمكن تجميعها في Wasm.
ديمتري : ما رأيك في تنامي شعبية اللغات الوظيفية؟ على سبيل المثال ، Elm للواجهة الأمامية ، أو إدريس.
ريان : لم أحاول أحدهما ، لذا لا أستطيع أن أقول أي شيء عنهما.
يوجين : ماذا عن اللغات الوظيفية بشكل عام؟
ريان : النمط الوظيفي هو جيد جدا. هذا لا يعني أن التطبيق بأكمله يجب أن يتكون فقط من الخريطة ، والحد ، وما شابه. هناك مواقف يكون فيها العمل بطريقة أسهل وأسهل في القراءة. يتم دمج كلتا الطريقتين بشكل جيد في Rust و JavaScript ، لذا فإن قصر نفسك على طريقة واحدة فقط ليس ضروريًا. في نهاية المطاف ، لا تزال وحدة المعالجة المركزية ضرورية ، فهي تعمل على التعليمات المرسلة إليها. لذلك ، من الحكمة التفكير في الكود في نفس النموذج.
يوجين : وفي أي نمط هو مكتوب دينو؟ في وجوه المنحى أو وظيفية؟
ريان : تستخدم على حد سواء. كل هذا يتوقف على الهدف المحدد الذي نحاول تحقيقه.
يوجين : لقد ناقشنا بالفعل اللغات التي تفضلها ، ولكن ماذا عن الأدوات؟ ما هو IDE المفضل لديك؟ هل تكتب على ماك أو لينكس؟
ريان : أنا أكتب في vim ، استخدم iTerm2 ، وجهاز الكمبيوتر الخاص بي هو MacBook صغير. أسافر كثيرًا وبسبب هذا كثيراً ما أعمل على كمبيوتر محمول. في مرحلة معينة ، لاحظت أنه بعد العمل خلف شاشة كبيرة ، من المؤلم للغاية بالنسبة لي أن أتحول إلى جهاز كمبيوتر محمول. لذلك ، قمت بتدريس نفسي للعمل على جهاز كمبيوتر محمول في كل وقت.
في مكاني هو وحدة نظام يستند إلى Linux ، أنا أتصل به عبر SSH. أنا من الطراز القديم في اختيار الأدوات ، معظمها أشياء تشبه يونيكس. أنا أستخدم LLDB للتصحيح.
عملت في Visual Studio Code ، لكننا الآن نكتب نظامنا الأساسي ، لذلك لا يوجد الكثير من عمليات الدمج التي اعتدت أن تتوقعها من IDE. عادةً ، لا علاقة لهذه الأشياء بما أعمل عليه ، وفي النهاية ، كل هذا يصرفني. أنا معتاد على العمل باستخدام الشفرة العارية ، وهذا مناسب بشكل خاص عند تطوير برامج منخفضة المستوى. أعتقد أنه إذا كتبت موقع ويب أو تطبيقًا لمنصة شعبية ، فسوف أستخدم Visual Studio Code.
يوجين : بشكل عام ، أنت مبرمج مدرسة قديمة.
ريان : ربما نعم.
يوجين : ثم السؤال التالي سيكون حول المدرسة. على ما يبدو ، ستتم دراسة مهارات البرمجة الأساسية في المستقبل القريب في المدرسة إلى جانب الرياضيات واللغة الإنجليزية وغيرها من المواد. ما رأيك في هذا؟ ربما في المستقبل البعيد إلى حد ما ، سوف يدخل التعليم الآلي أيضًا المناهج الدراسية؟
ريان : لقد كنت أبرمج منذ 15 عامًا ، وخلال هذا الوقت نما مجتمعنا كثيرًا. في عام 2005 ، بدا لي أنني فاتني كل شيء ، على الرغم من أننا لا نزال في ظل معايير اليوم. الآن ، المبرمجون في كل مكان. من الواضح ، نمت البرمجة إلى جمهور كبير. لقد أصبحت مهارة مهمة لعدد كبير من الناس. ومع وضع ذلك في الاعتبار ، نعم ، يجب تدريس البرمجة في المدرسة الثانوية. لكن فيما يتعلق بالتعلم الآلي ، أعتقد أن المزيد من الأشياء الأساسية أكثر فائدة لطلاب المدارس الثانوية.
يبدو لي أنه في دروس الرياضيات ، يستحق دراسة الإحصائيات بنشاط أكبر. في الولايات المتحدة الأمريكية ، في المدرسة الثانوية ، يمر الطلاب بالجبر والمعادلات التربيعية وبداية التحليل المالي والمشتقات وما شابه. يحتل الجبر والمات الجزء الأكبر من البرنامج ، ثم يستخدمه جزء صغير جدًا من الناس بشكل منتظم. ولكن هناك حاجة إلى العديد من المهنيين لتكون قادرة على معالجة البيانات الإحصائية.
أما بالنسبة للتعلم الآلي ، فهو لا يزال في مرحلة تجريبية. من غير المرجح أن يبدو كل شيء كما هو عليه الآن في غضون عشر سنوات - هذا المجال يتغير بسرعة كبيرة.
يوجين : منذ أن كنا نتحدث عن الجيل الأصغر سنا ، كان لدينا رحلة من المدرسة في مكتبنا قبل حوالي أسبوع. , 15 , , Python Rust. , 2005 , , -, . , YouTube . , .
: .
: , ?
: , . , . YouTube . , . . , , - , . , . .
: , , . ? - , ?
: , , . , . , , . - Rust, , Rust. , : .
: , , — ? - Rust, . ?
: . - ?
: . , , . ? pull requests ? , ?
: . .
: , . YouTube, . - ? ?
: — . YouTube, . Hacker News Reddit, — - . , , - . YouTube . - , . , (, ), YouTube.
: ?
: , . , , JavaScript. — , . . , , . HolyJS. ?
:
2016 , .
:
, NodeJS . . ? ? ?
: , Joyent. , , , . , , Deno, . , Deno.
: , ?
: , , . , , , . , . -, , , . , . , , , , , . , — …
: , V8 Volkswagen Beetle?
: !
: , V8.
: , , . , . , , , .
: . ? , . , . ?
: , . , . . , Facebook Google, . - , — , . , . , . - , .
: IT , « » , . , . , IT , ?
: , « » — , . , . , , . , . .
: . , — , — . , . ?
: . , . .
: . , ?
: . .
: , , ?
: , . , - , — . , — , .
: HolyJS 2019 -. , !
: , .
HolyJS Deno: «Deno, a new Way to JavaScript». , .
- , Online- ( - ). , 24-25 , .