هل يجب على علماء البيانات تعلم جافا سكريبت؟

إيجابيات وسلبيات استخدام لغة الويب رقم 1 لعلوم البيانات

إذا كنت تتابع المشهد التكنولوجي في السنوات الأخيرة ، فمن المحتمل أنك لاحظت شيئين على الأقل.

أولاً ، ربما لاحظت أن JavaScript لغة شائعة جدًا هذه الأيام. لقد تزايدت شعبيتها منذ أن سمحت Node.js لمطوري JavaScript بكتابة تعليمات برمجية من جانب الخادم.

في الآونة الأخيرة ، مكّنت أطر عمل مثل Electron و Cordova و React-Native مطوري JavaScript من إنشاء تطبيقات أصلية عبر مجموعة واسعة من الأنظمة الأساسية.

ربما لاحظت أيضًا أن هناك الكثير من الإثارة المحيطة بمجال علم البيانات ، وخاصة التعلم الآلي. جعلت التطورات الحديثة في النظرية والتكنولوجيا هذا المجال الذي كان مقصورًا على فئة معينة في متناول المطورين.

قد تسأل ، إذن ، ما إذا كانوا يقومون بإقران طبيعي؟ هل يجب على علماء البيانات التفكير في تعلم JavaScript؟

يعمل معظم علماء البيانات مع مزيج من Python و R و SQL. إذا كنت جديدًا في هذا المجال ، فهذه هي اللغات التي يجب أن تتقنها أولاً .

قد يتخصص علماء البيانات أيضًا في لغة أخرى مثل Scala أو Java. هناك العديد من الأسباب التي تجعل هذه اللغات شائعة جدًا.

لكن عددًا قليلاً نسبيًا من علماء البيانات متخصصون في JavaScript.

ومع ذلك ، نظرًا لانتشار جافا سكريبت وشعبية علم البيانات ، إلى أي مدى يمكن لعلماء البيانات الاستفادة من تعلم أساسيات اللغة؟ وماذا عن مطوري JavaScript الذين يرغبون في استكشاف علم البيانات؟

لنبدأ بالنظر في بعض الاعتراضات المهمة ، ثم نراجع بعض الحجج المؤيدة.

ضد

  • الوظيفة - لا تحتوي JavaScript فقط على مجموعة من حزم علوم البيانات والوظائف المضمنة مقارنة بلغات مثل R و Python. إذا كنت لا تمانع في إعادة اختراع العجلة ، فقد تكون هذه مشكلة أقل. ولكن إذا كنت بحاجة إلى إجراء تحليلات أكثر تعقيدًا ، فستنفد الخيارات بسرعة كبيرة.
  • الإنتاجية - هناك ميزة أخرى للنظم الإيكولوجية الواسعة في Python و R وهي وجود العديد من الأدلة والكيفية المتاحة لأي مهمة في علم البيانات تقريبًا ترغب في القيام بها. بالنسبة إلى JavaScript ، هذا ليس هو الحال حقًا. من المحتمل أن تستغرق وقتًا أطول في اكتشاف كيفية حل مشكلة علم البيانات في JavaScript أكثر مما تفعله في Python أو R.
  • تعدد العمليات - من المفيد غالبًا معالجة مجموعات البيانات الكبيرة أو تشغيل عمليات المحاكاة بالتوازي. ومع ذلك ، فإن Node.js ليس مناسبًا للمهام الحاسوبية المكثفة والمرتبطة بوحدة المعالجة المركزية. لمثل هذه المهام ، فإن لغات مثل Python أو Java أو Scala لها اليد العليا على JS. لكن ، تحقق من مشروع Microsoft Napa.js. يوفر وقت تشغيل JavaScript متعدد الخيوط يمكن أن يكمل Node.js.
  • تكلفة الفرصة - ربما يرجع السبب الرئيسي وراء ميل علماء البيانات إلى عدم تعلم العديد من اللغات بخلاف Python و R إلى "تكلفة الفرصة البديلة". كل ساعة تقضيها في تعلم لغة أخرى هي ساعة كان من الممكن استثمارها في تعلم إطار عمل Python جديد ، أو مكتبة R أخرى. بينما تهيمن هذه اللغات على سوق عمل علوم البيانات ، هناك حافز أكبر لتعلمها. ولأن علم البيانات هو مجال سريع الحركة ، فهناك دائمًا شيء جديد يجب تعلمه.

إلى عن على

  • التصور - تتفوق JavaScript في تصور البيانات. المكتبات مثل D3.js و Chart.js و Plotly.js والعديد من المكتبات الأخرى تجعل من السهل جدًا إنشاء تصور للبيانات ولوحات المعلومات القوية. تحقق من بعض أمثلة D3 الرائعة!
  • تكامل المنتج - تستخدم المزيد والمزيد من الشركات تقنيات الويب مع مكدس قائم على العقدة لبناء منتجها أو خدمتهم الأساسية. إذا كان دورك كعالم بيانات يتطلب منك العمل عن كثب مع مطوري المنتجات ، فلا يضر "التحدث" بنفس اللغة.
  • ETL - عادةً ما يتم تنفيذ خطوط أنابيب معالجة البيانات بلغة ذات أغراض عامة ، مثل Python أو Scala أو Java. غالبًا لا يتم إلقاء نظرة على JavaScript. ومع ذلك ، قد يكون هذا غير عادل. توفر وحدة نظام ملفات Node 'fs' واجهة برمجة تطبيقات رائعة تتيح لك استدعاء عمليات نظام الملفات القياسية إما بشكل متزامن أو غير متزامن. تعمل Node أيضًا بشكل جيد مع MongoDB والعديد من أنظمة قواعد البيانات الشائعة الأخرى. تجعل واجهة برمجة تطبيقات Streams من السهل جدًا العمل مع تدفقات البيانات الكبيرة - وهي ميزة محتملة أخرى لـ ETL. كما هو مذكور أعلاه ، لتعدد مؤشرات الترابط والمعالجة المتوازية ، راجع مشروع Microsoft Napa.js.
  • Tensorflow.js - من قال إن JS لا يمكنها القيام بأشياء رائعة للتعلم الآلي؟ في وقت سابق من عام 2018 ، تم إصدار Tensorflow.js. يؤدي ذلك إلى توفير التعلم الآلي لمطوري JavaScript - سواء في المتصفح أو من جانب الخادم. Tensorflow هي مكتبة شهيرة للتعلم الآلي ، طورتها Google وأصبحت مفتوحة المصدر في عام 2015. التعرف على الإيماءات ، والتعرف على الكائنات ، وتكوين الموسيقى ... سمها ما شئت ، ربما يمكنك الحصول عليها. أفضل شيء يمكنك فعله الآن هو إلقاء نظرة على بعض العروض التوضيحية.

استنتاج

لذا ، هل يجب على علماء البيانات تعلم JavaScript؟

تعلم JavaScript لن يضر سيرتك الذاتية. لكن لا تتعلمها كبديل للغات أخرى.

كلغة أولى ، فإن أفضل نصيحة هي أن تتعلم لغة من Python أو R. يجب أن تشعر بالراحة أيضًا عند استخدام بعض لغات قواعد البيانات ، مثل SQL أو MongoDB.

ومع ذلك ، بمجرد أن تتعرف على الأساسيات ، قد ترغب في المزيد من التخصص. ربما تريد أن تتعلم Apache Spark للعمل مع مجموعات البيانات العملاقة الموزعة. أو ربما تفضل تعلم لغة أخرى مثل Scala أو MATLAB أو Julia.

لماذا لا تفكر في JavaScript؟ سيثبت أنه ذو قيمة إذا كنت تريد التخصص في تصور البيانات ، أو إذا كان دورك يتطلب منك العمل بشكل وثيق مع منتج تم إنشاؤه باستخدام JavaScript أو تقنية ذات صلة.

تتقدم قدرات التعلم الآلي في JavaScript بسرعة. بالنسبة لبعض حالات الاستخدام ، ربما يكون بالفعل بديلاً قويًا للغات علوم البيانات المعتادة.

في النهاية ، القرار عملي وشخصي. يعتمد ذلك على جوانب علم البيانات التي تجدها أكثر إثارة للاهتمام ، وما هي الفرص الوظيفية التي تثيرك أكثر.

ولكن مع الاتجاهات الحالية ، هناك شيء واحد مؤكد. على مدار السنوات القادمة ، ستفتح JavaScript أبوابًا أكثر مما تُغلق.