تعلم برمجة IDL لتصور البيانات مع

إفشاء: يساعدك دعمك في الحفاظ على تشغيل الموقع! نحصل على رسوم إحالة لبعض الخدمات التي نوصي بها في هذه الصفحة.


IDL ، أو لغة البيانات التفاعلية ، هي لغة برمجة الكمبيوتر تستخدم في المقام الأول لتحليل البيانات وتصور البيانات. في حين ظهرت لأول مرة في عام 1977 (مع جذور تعود إلى أبعد من ذلك) ، وهي متخصصة قليلاً في نطاقها ، إلا أنها تظل لغة مهمة بعد أربعين عامًا.

لا تزال IDL قيد التطوير النشط وتستخدم على نطاق واسع في علوم الفضاء – بما في ذلك في عمل تحليل البيانات الرئيسي الذي تقوم به وكالة ناسا ووكالة الفضاء الأوروبية.

تاريخ IDL

ترجع فائدة IDL الحالية في تحليل البيانات الموجهة إلى الفضاء إلى حد كبير إلى مفهومها وتاريخها. في السبعينيات ، كان ديفيد ستيرن يعمل في جامعة كولورادو في بولدر في مختبر فيزياء الغلاف الجوي والفضاء (LASP).

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

كانت المحاولة الأولى في ذلك برنامج PDP-12 ، ودعا روفوس. PDP ، أو معالج البيانات المبرمج ، كان نوعًا من الحواسيب الصغيرة الأولية المستخدمة في مهام تحليل البيانات المختلفة.

لم تكن روفوس لغة بعد ، بل مجرد برنامج حسابي مكتوب بلغة فورتران. تطورت روفوس جنبًا إلى جنب مع الاحتياجات المختلفة في LASP ، بما في ذلك نسخة تستخدم لتحليل البيانات من بعثات مارينر إلى المريخ.

أدى العمل على Rufus في نهاية المطاف إلى لغة برمجة كاملة تسمى SOL. تم تصميم هذا للتشغيل على PDP-8 (نفس إصدار PDP المستخدم في عمل Mariner) وكان مشابهًا جدًا لـ Fortran في بناء الجملة والأسلوب.

أسس ديفيد ستيرن شركة تدعى Research Systems Inc (RSI) ، من أجل تسويق العمل الذي بدأ في Rufus. كان أول منتج لـ RSI هو لغة البيانات التفاعلية ، المصممة للتشغيل على PDP-11.

كان أول عملاء RSI ناسا. تم اعتماد الإصدارات اللاحقة المكتوبة لمنصة VAX / VMS من قبل لاعبين رئيسيين آخرين في صناعة الفضاء وعلم الفلك بما في ذلك المركز الوطني لأبحاث الغلاف الجوي (NCAR) ، وجامعة ميشيغان ، وجامعة كولورادو ، ومختبر البحوث البحرية.

مع ظهور أجهزة الكمبيوتر ذات الأغراض العامة ، حول RSI تركيز تطوير IDL من VAX / VMS إلى Unix. يتطلب هذا إعادة كتابة بلغة C ، وهذه النسخة المعاد كتابتها هي “الجد الوراثي” للغة المستخدمة حاليًا. ومع ذلك ، بالكاد ظلت اللغة ثابتة.

نظرًا لتغير التكنولوجيا ، تم اعتماد العديد من الميزات الجديدة في IDL. على سبيل المثال ، في أوائل التسعينات ، تم تقديم واجهات مستخدم رسومية مدفوعة بالحدث (GUIs).

في أواخر التسعينات ، تم إدخال كل من خدمات الويب والبرمجة الشيئية. اللغة موجودة حاليًا (حتى كتابة هذه السطور) في الإصدار 8.5 ، وهي متاحة على جميع الأنظمة الأساسية وأنظمة التشغيل الرئيسية.

قامت شركة RSI بتغيير مالكيها عدة مرات ، بما في ذلك فترة قصيرة عندما كانت مملوكة لشركة Eastman Kodak (شركة الأفلام).

قامت الشركة بتغيير الأسماء إلى Exelis Visual Information Solutions ، التي كانت شركة فرعية مملوكة بالكامل لشركة Exelis ITT. تم شراء Exelis بواسطة شركة Harris في عام 2015. لم يعد ديفيد ستيرن معنيًا بالتنمية.

تم استخدام IDL في عدد من المشاريع الهامة المتعلقة بعلم الفلك. تم استخدامه لمعالجة صور مذنب هالي التي التقطتها المركبة الفضائية جيوتو التابعة لوكالة الفضاء الأوروبية ، كما تم استخدامه لتشخيص مشاكل تلسكوب هابل.

عن اللغة

IDL هي لغة مكتوبة ديناميكيًا ومرتكزة على المتجهات مع بنية مشابهة لـ Fortran. وهي بارعة بشكل خاص في التعامل مع المصفوفات والمصفوفات. توفر اللغة أدوات للتحليل الرياضي – والأهم من ذلك – لتصور البيانات.

تشمل الميزات الأخرى للغة ما يلي:

  • مساحات أسماء منفصلة للمتغيرات والوظائف والإجراءات
  • وظائف وإجراءات متعددة الخيوط
  • يتم تمرير وسيطات الدالة حسب المرجع
  • المعلمات المسماة تسمى الكلمات الرئيسية التي يتم تمريرها حسب المرجع
  • وراثة المعلمة المسماة في روتين متداخل c

    الجميع

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

مصادر

الموارد على الانترنت

  • مكتبة JHU / APL / S1R IDL: مكتبة تضم أكثر من 600 روتين للأغراض العامة المتعلقة بعلم الفلك لـ IDL.
  • مكتبة Craig Markwardt IDL: الروتينية والبرامج التعليمية.
  • تعلم IDL: مجموعة من الروتينات ومصادر التعلم التي يحتفظ بها أستاذ في جامعة تكساس أ&جامعة M التي ألفت العديد من الكتب عن اللغة.
  • دليل كويوت لبرمجة IDL: أحد أفضل مصادر المعلومات عبر الإنترنت حول IDL ؛ بشكل شبه كامل عمل خبير IDL ومتحمس.
  • دليل Slug’s IDL: تفسيرات مبسطة لمفاهيم IDL للطلاب.
  • برمجة روبي IDL: مجموعة غير منظمة إلى حد ما من مشاريع وأدوات IDL الشخصية.
  • MichaelGalloy.com: مدونة حول تطوير IDL من مؤلف IDL الحديث.
  • برامج Rob Dimeo IDL: مجموعة شخصية أخرى من الأدوات من مطور IDL.

أدوات

  • Idlwave: تحرير IDL Emacs ووضع القشرة
  • مكتبة Motley IDL: مجموعة من الروتينات العديد من فئات Object Graphics ، والفئة الأساسية لتطبيقات التطبيقات المصغرة والعديد من التطبيقات المبنية عليها ، والوظائف التي تجعل من السهل تمثيل البيانات المقاسة على محاور ، وفصول للوصول إلى ملفات netCDF والعديد من إجراءات المساعدة.
  • TeXtoIDL: مجموعة من الروتينات التي تجعل من السهل استخدام الحروف اليونانية والاشتراكات والمرتفعات في صنع الملصقات للمخططات في IDL.

تطبيقات

تتم إدارة التنفيذ الأساسي لـ IDL الآن بواسطة شركة Harris ويمكن العثور عليه في موقعه على الويب.

هناك بديلان مفتوح المصدر:

  • لغة بيانات GDU
  • لغة فولتي.

كتب عن IDL

  • مقدمة للبرمجة مع IDL: لغة البيانات التفاعلية بقلم كينيث بومان: نص تمهيدي رائع مناسب حتى للأشخاص الذين لديهم القليل من الخبرة في البرمجة من أي نوع.
  • البرمجة العملية لـ IDL بواسطة Liam Gumley: نظرة واضحة ومباشرة جدًا على بناء برامج IDL حقيقية لحل المشكلات الفعلية.
  • البرمجة الشيئية مع IDL بواسطة Ronn Kling: تمت إضافة إمكانية OOP إلى IDL في أواخر التسعينات. في هذه المرحلة ، كان ذلك منذ وقت طويل ، لكن ثقافة استخدام اللغة كان لديها بالفعل 20 عامًا لتطويرها. حتى اليوم ، لا يستخدم العديد من مبرمجي IDL تقنيات OOP. يوضح هذا الكتاب ، الذي لا يتطلب معرفة مفاهيم OPP للبدء ، كيفية تطبيق منهجية البرمجة الشيئية في IDL.
  • تطوير التطبيقات باستخدام IDL بواسطة Ronn Kling: هذا الكتاب ينقل مطور IDL من البرمجة المخصصة لمهام التحليل المحددة إلى بناء تطبيقات كاملة في اللغة.

لا ينبغي الخلط بينه وبين …

IDL تعني أيضًا لغة تعريف الواجهة. هذه ليست لغة محددة ولكنها بالأحرى وصف لنوع معين من وظائف اللغة.

IDLs هي لغات تحديد تُستخدم لتصميم التفاعل بين نظامين للبرامج بطريقة مستقلة عن اللغة. هناك عدد من لغات تعريف الواجهة.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map