شعار زيفيرنت

علم البيانات ولغة البرمجة Go – KDnuggets

التاريخ:

برعاية المحتوى

تعليقات توم ميلر، مدير هيئة التدريس بجامعة نورث وسترن ورقة بيانات سلامة المواد MSDS برنامج.

منذ سنوات مضت، عندما كنت طالباً في قسم الإحصاء التطبيقي في جامعة مينيسوتا، تعلمت درساً حول البرمجة في الأوساط الأكاديمية. وفي بداية الدورة قال الأستاذ:

"لا يهمني اللغة التي تستخدمها في المهام، طالما أنك تقوم بعملك الخاص."

لقد كانت لدي خبرة في لغة Fortran ولكني كنت أعلم نفسي لغة باسكال، محاولًا تبني أسلوب برمجة منظم.

وبعد أن صدقت الأستاذ في كلمته، قمت ببرمجة المهمة الأولى بلغة باسكال بينما كان زملائي يستخدمون فورتران. المهمة الأولى تأتي مستحقة. أحمل ورقتي (قائمة البرامج) إلى مقدمة الغرفة وأسلمها إلى الأستاذ. ينظر إليها باستغراب ويسأل: ما هذا؟

أشرح، "إنه باسكال. لقد أخبرتنا أنه يمكننا البرمجة بأي لغة نحبها، طالما أننا نقوم بعملنا بأنفسنا”.

فيقول الأستاذ: باسكال. أنا لا أقرأ باسكال. أنا أقرأ فقط فورتران."

الدرس المستفاد: الأكاديميون ليسوا منفتحين بشكل خاص على لغات البرمجة الجديدة.

فورتران

تم تطوير فورتران بواسطة جون باكوس في شركة IBM وتم تقديمه في عام 1957. عندما تسمع اسمه، فكر في "ترجمة الصيغة". يعتبر برنامج Fortran مناسبًا تمامًا للحسابات الرقمية، كما هو مطلوب للتطبيقات العلمية والهندسية. شهدت فورتران انتعاشًا مؤخرًا، ربما بسبب المتطلبات الحسابية لمجموعات البيانات الكبيرة والحوسبة الفائقة.

باسكال

صممه نيكولاس ويرث، عالم الكمبيوتر السويسري، وتم تقديمه في عام 1970، باسكال هو مشتق من ALGOL. كان باسكال متماشيا مع الحركة نحو البرمجة المنظمة في العديد من الجامعات في السبعينيات والثمانينيات. تم استخدام الاختلافات في باسكال لبرمجة الأنظمة في أبل ومايكروسوفت.

 
سيكون لدى طلاب علوم البيانات في معظم الجامعات اليوم تجربة مماثلة إذا أرسلوا مهامهم بلغة Go أو Rust أو أي لغة معاصرة أخرى بدلاً من Python أو R.

مع تطبيقات التعلم الآلي والذكاء الاصطناعي، أصبحت بايثون هي المسيطرة. قد يشعر علماء البيانات بالرضا عن الإبحار في قارب بايثون مع أدوات الحفاظ على الحياة مثل نمباي, الباندا, Scikit تعلمو TensorFlow من جانبهم.

ولكن احترس. محيطات البيانات اليوم متقطعة. أسماك القرش تقترب.

تذكر كلمات الرئيس برودي لكوينت في الفيلم الفك المفترس: "سوف تحتاج إلى قارب أكبر." أود أن أقترح بناء قارب أكبر وأسرع باستخدام Go.

جو (جولانج)

تم تطوير Go بواسطة ثلاثة من علماء الكمبيوتر في Google: روبرت جريسمر، وروب بايك، وكين طومسون. إنها تحتفظ بمزايا أداء لغة C، في حين أنها أسهل وأكثر أمانًا في العمل معها من لغة C. تم تقديم Go في عام 2009 وكانت لغة برمجة الأنظمة الأساسية في Google. بالنسبة للأنظمة ذات المهام الحرجة في العديد من المؤسسات، تحل Go محل C/C++، وC#، وJava، وPython. يُطلق على لعبة Go أحيانًا اسم "Golang" لتمييزها عن لعبة لوحة Go ولتوفير مصطلح أكثر موثوقية في محركات البحث.

وظائف علوم البيانات: سبب الذهاب

في مداخلة بعنوان "لماذا الذهاب"، تتبعت كارمن أندوه تطور لغات الكمبيوتر من عام 1980 حتى عام 2017. وقدمت حجة مقنعة لاستخدام لغة Go في مشاريع البرمجة الكبيرة. حجتها تبدو صحيحة اليوم.

  • Go هو جهاز فعال. إنه يتفوق على اللغات التي يتم تفسيرها وكذلك اللغات التي تعتمد على الأجهزة الافتراضية.
  • انضمت لغة بايثون إلى عالم الكمبيوتر منذ أكثر من ثلاثين عامًا، قبل انتشار المعالجات متعددة النواة. بايثون هي لغة مفسرة ذات خيط واحد، وهي غير مناسبة للأنظمة التي تتطلب معالجة متزامنة.
  • قد يكون علماء البيانات يكتبون بلغة بايثون، ولكن بالنسبة للمهام الحسابية المكثفة، فإن لغة C أو C++ هي التي تقوم بهذا العمل. بايثون هي مجرد "الغراء" الذي يجمع أجزاء قارب التعلم الآلي معًا.
  • لن يستغرق الأمر وقتًا طويلاً للعثور على أمثلة للمعايير التي توضح مزايا Go على Python وR، وهما اللغتان الرائدتان في علم البيانات.

تُوصف Go أحيانًا باسم "C للقرن الحادي والعشرين"، وهي لغة مكتوبة بقوة يتم تجميعها مباشرة إلى كود الآلة. فهو يجمع بشكل أسرع بكثير من لغة C وينفذ بنفس سرعة لغة C تقريبًا.

سي، سي++، وسي#

تم تطوير لغة C بواسطة دينيس ريتشي في Bell Labs وتم تقديمها في عام 1972. نظرًا لأنها توفر وصولاً منخفض المستوى إلى الذاكرة وخرائط بسهولة لتعليمات الآلة، فقد كانت لغة C لغة برمجة أنظمة شائعة لسنوات عديدة. تتمتع لغة C بمزايا أداء مقارنة بمعظم لغات البرمجة الأخرى. توفر C++ وC# امتدادات كائنية التوجه للغة C، مع الحفاظ على بنية C ومزايا الأداء.

تعد المعالجة المتزامنة (وهي ليست مهمة سهلة على الإطلاق) ميزة جوهرية في Go

يقدم Go مجموعة غنية من الأدوات للاستفادة من أجهزة الكمبيوتر الرقمية متعددة النواة المتوفرة حاليًا. يحتاج علم البيانات إلى لغات وأنظمة يمكنها التعامل مع متطلبات عالم اليوم الذي يعتمد على البيانات وكثيف البيانات. يحتاج علم البيانات إلى الذهاب.

Go هو مبرمج فعال. غالبًا ما يتم وصف لغة بايثون بأنها سهلة التعلم. لكنني أزعم أن تعلم Go أسهل من تعلم Python. تتميز Go بالبساطة في التصميم، وهي لغة تحتوي على خمس وعشرين كلمة رئيسية فقط. Go سهل القراءة وسهل الاستخدام ويسهل صيانته بمرور الوقت.

دعونا نكون سعداء لأن قادة مجتمع Go يترددون في إضافة ميزات جديدة. دونالد نوث كان لديه الفكرة الصحيحة. عندما وصل إلى الإصدار 3.14 من تكسأعلن أنه لن تكون هناك إصدارات جديدة للغة، ولا ميزات جديدة، فقط إصلاحات للأخطاء. ومع كل إصلاح خطأ، كان يستعير رقمًا آخر من π (pi).

شعار مبرمجي Go: "أبقِ الأمر بسيطًا. استمر في تشغيله."

يتمتع Go ببنية محددة جيدًا مع أدوات مساعدة للتنسيق لضمان وجود نمط مشترك بين المبرمجين، وهو النمط الذي يُطلق عليه أحيانًا اسم "Go idimatic Go". يحتوي Go على إدارة تلقائية للذاكرة (جمع البيانات المهملة)، مما يحمي المبرمجين من تسرب الذاكرة والأخطاء. Go أكثر أمانًا من C وC++.

يلتزم مطورو Go الأساسيون بالتوافق مع الإصدارات السابقة، ويعمل نظام وحدة Go على تعزيز السلامة، مما يضمن دمج الحزم المناسبة في كل إصدار في وقت الترجمة. Go يتتبع إصدارات البرامج مع نمو حزمة البرامج.

فكر في تطوير البرمجيات كلعبة Jenga. نريد الوصول إلى الكتل الموجودة في الجزء السفلي من المكدس، مع ضمان عدم انهيار المكدس بأكمله. اذهب دعنا نفعل هذا

Go يبسط حزمة البرامج. ماذا عن حزمة البرامج والبنية التحتية؟

عندما لا تكون لغة Python (حتى المدعومة بـ C أو C++) على مستوى المهمة، يلجأ علماء البيانات إلى لغات وأنظمة أخرى. فيما يلي ما يسمى بالحل لمشاكل أداء بايثون:

 
علوم البيانات ولغة البرمجة Go

علوم البيانات ولغة البرمجة Go
 

لتنفيذ حلول عالية الأداء، يلجأ علماء البيانات إلى Spark، المبنية على Scala، والتي تعتمد على Java Virtual Machine. ولتوفير سهولة الوصول، أضاف علماء البيانات ذوي النوايا الحسنة PySpark إلى هذا المزيج. هل هذه هي أفضل طريقة لمعالجة مشاكل أداء بايثون؟ لا.

فكر في حزمة برامج أبسط. إنها انطلق، فقط انطلق:

 
علوم البيانات ولغة البرمجة Go

علوم البيانات ولغة البرمجة Go
 

مع أمثلة التعليمات البرمجية من مؤتمرات GopherCon في 2021 و 2023يوضح دانيال وايتناك كيفية تنفيذ حلول التعلم الآلي والذكاء الاصطناعي في Go. يمكننا استخدام Go لبناء تطبيقات ويب متكاملة وذكية، بما في ذلك تلك التي تستدعي الذكاء الاصطناعي التوليدي ونماذج اللغات الكبيرة.

تمثل Go لغة برمجة الأنظمة المثالية لأجهزة الكمبيوتر الرقمية متعددة النواة اليوم. اذهب هي لغة السحابة. Go هي لغة الحوسبة الموزعة. يمكن لعلماء البيانات الذين نظروا إلى بايثون على أنها "لغة الغراء" في الماضي أن ينظروا الآن إلى لغة Go باعتبارها "الغراء الفائق".

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

بدءًا من Google، موطن لعبة Go، تعتمد العديد من الشركات على Go في الأنظمة الكبيرة ذات المهام الحرجة. إذا الذهاب هو جيد بما فيه الكفاية ل شراء مراجعات جوجل, نت فلیکس, اوبر, Dropbox , PayPal, أمريكان إكسبريس, عاصمة واحدة, ساليسفورسي, Zillow، والعديد من الآخرين، إذن Go جيد بما يكفي لبقيتنا.

يمكن لـ If Go توفير منصة فعالة للبناء عامل في حوض السفن, Kubernetes, محب العمل, جرافانا, الشثني حيوان, Terraform, حشد سترايك, إلخ, CockroachDB, نسج, ميلفوس, طيران، ومجموعة متنوعة من الأنظمة الموزعة والخدمات السحابية الصغيرة الأصلية، فإن Go يمكن أن يكون منصة فعالة لبناء تطبيقات علوم البيانات.

يجب أن يتعلم معلمو علوم الكمبيوتر وعلوم البيانات من الصناعة. يجب عليهم إضافة Go إلى دوراتهم. وهذا ما نفعله في نورث وسترن.

ثلاث لغات لعلوم البيانات في جامعة نورث وسترن

إن استخدام Go في علم البيانات لا يعني أنه يجب علينا التخلي عن الأشياء الجيدة التي توفرها R وPython. يمكننا أن نكون متعددي اللغات.

ليس من الصعب أن نتخيل مشاريع يمكن لعالم البيانات أن يستكشف فيها البيانات باستخدام لغة R، ويطور نماذج باستخدام لغة Python، وينفذ الأنظمة باستخدام لغة Go. من بين اللغات الثلاث لعلم البيانات، تعد لغة Go هي الأحدث. يتجه Go إلى الأعلى ويوفر فرص عمل كبيرة.

برنامج علوم البيانات في نورث وسترن يقدر نقاط القوة في اللغات الثلاث لعلوم البيانات عبر التخصصات مع البرنامج.

  • R، مع العديد من الحزم للتحليلات والنمذجة، يحظى بتقدير كبير من قبل الإحصائيين التطبيقيين. إنه اختيار ممتاز للبرمجة العلمية والبحث التطبيقي. يعد R مفيدًا بشكل خاص لاستكشاف البيانات وتصورها. R هي اللغة الأساسية في معظم الدورات التدريبية في تخصص التحليلات والنمذجة في جامعة Northwestern.
  • تعد لغة بايثون حاليا لغة الكمبيوتر الأكثر شعبية في علم البيانات. إنه قوي بشكل خاص في معالجة اللغة الطبيعية ويعمل كعميل أساسي لمنصات التعلم العميق. توفر لغة Python بيئة غنية بالميزات لتطوير النماذج، وتعد لغة Python هي اللغة الأساسية في معظم الدورات التدريبية في تخصص الذكاء الاصطناعي بجامعة Northwestern.
  • Go هي لغة برمجة أنظمة مصممة لأجهزة الكمبيوتر متعددة المعالجات اليوم. وهو مناسب تمامًا لتنفيذ أنظمة قابلة للتطوير وعالية الأداء لعلوم البيانات، بما في ذلك تطبيقات الويب وخوادم قواعد البيانات. Go هي اللغة الأساسية في تخصص هندسة البيانات في Northwestern، كما هو موضح في تعلم الذهاب لعلوم البيانات موقع الكتروني.

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

 
علوم البيانات ولغة البرمجة Go

علوم البيانات ولغة البرمجة Go
 
 

بقعة_صورة

أحدث المعلومات الاستخباراتية

بقعة_صورة