أصدر معهد ماساتشوستس للتكنولوجيا الأقوى في تاريخ العلمية لغة البرمجة الحاسوبية؟ تأسيس فريق خاص للإجابة على الأسئلة 11

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

خريطة | جوليا شعار (المصدر: الموقع الرسمي جوليا)

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

وفي وقت سابق، في قائمة لغات البرمجة TOIBE 8 يناير من هذا العام، ارتفع جوليا بسرعة ل أول 50 . ووفقا لفريق تطوير بيان جوليا، سبعة خوارزمية اختبار الأساسية، جوليا بيثون 20 مرات أسرع من، 100 مرة أسرع من R، مطلب 93 مرات أسرع من . وهناك المزيد والمزيد من الناس يعتقدون، وجوليا تصبح في المستقبل لغة البرمجة التيار الرئيسي.

الشكل شو في الأشهر الثلاثة الماضية، ارتفع جوليا ثلاثة أماكن في التصنيف العالمي ريدمونك، في المرتبة 36 (المصدر: ريدمونك)

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

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

ومن الواضح أن المطورين جوليا اختار هذا الأخير، ولكن طموحاتهم ليست صغيرة: تم تصميم جوليا خصيصا للبسرعة تشغيل الرياضيات الأساسية، والتي هي أكثر البيانات العلمية الأساسية، مثل الجبر الخطي والتعبير المصفوفة.

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

خريطة | معهد ماساتشوستس جوليا مختبر التكنولوجيا (المصدر: موقع جوليا مختبر رسمي)

على وجه التحديد، جوليا المشروع من قبل أستاذ MIT آلان إيدلمان  القيادة، والخالق من عدة رئيسية أخرى بما في ذلك جيف Bezanson ( "جوليا" تأخذ اسمها من المشروع القديم من Bezanson)، ستيفان كاربينسكي والفيروسية شاه . وتضم معظم نتائج التنمية الحرجة من مختبر جوليا في معهد ماساتشوستس للتكنولوجيا، وهناك أكثر من 700 متطوع شاركوا في الإصدار 1.0 من الإنتاج.

"أردنا أن تطوير لغة البرمجة مفتوحة المصدر، ونحن نأمل أن هذه اللغة لديه نفس معدل C اللغة، واللغة نفسها R المرونة، كما أن هناك من نفسه (homoiconicity)، هناك خصائص التي لديها لغات الماكرو حقيقية مثل اللثغة، ولكن هناك من السهل جدا أن نفهم، مثل مطلب، والتدوين الرياضي مألوفة. نريد لها أن تكون سهلة الاستخدام كما بيثون، مثل لغة R كما هو مطبق للاحصاءات، وينطبق نفس معالجة سلسلة بيرل، وتجهيز الجبر الخطي قوية مثل مطلب، مثل قيادة DOS إلى إجراءات الربط جيدة. يبدو أن هذا تبدو سهلة للتعلم، ولكن تريد أن تجعل قراصنة سعداء لتلبية أنها ليست مسألة بسيطة. نريد لها أن تكون تفاعلية ويمكن جمعها "في" لماذا خلقنا جوليا " هذه المادة، فريق جوليا حتى أنها وضعت لشرح لغة القصد الأصلي.

الشكل شو الفيروسية شاه (المصدر: DT يونيو)

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

وبطبيعة الحال، جوليا ظهور، بالإضافة إلى شعور الناس التطور السريع لصناعة تكنولوجيا المعلومات، والابتكار السريع، فإنه أثار أيضا سؤالا جديدا على الجميع: في الحقيقة أنا لا أريد أن أتعلم هذه اللغة الجديدة . ستكون هذه المسألة مهمة جدا، كما قال الشريك المؤسس بول غراهام Y-Combinator "، وعندما يمكنك اختيار لغة البرمجة التي تريد استخدامها، لا تستخدم أكثر من هذا النوع سيكون خطأ."

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

الشكل شو آلان إيدلمان (المصدر: معهد ماساتشوستس للتقنية في الموقع الرسمي)

أولا، يبدو أن فريق، اللغة الأساسية للابتكار جوليا ما هو؟

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

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

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

ثانيا، إن عملية التنمية في جوليا، في أي جزء من أكبر قدر من الطاقة؟ ما المعيار لمتابعته؟

تصميم والشكل من الأعمال الداخلية دائما معظم تستغرق وقتا طويلا.  

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

ثلاثة، جوليا بالضبط كيفية تحقيق نفس الوقت مع سرعة بسيطة التنفيذ، ولغة C، بيثون، وR كلغة دعم المكتبات تحليل البيانات؟

وبما أن السؤال السابق، البساطة يأتي من عدد صغير من مختارة بعناية بدائية. جمع القمامة التلقائي (أدوات إدارة ذاكرة الكمبيوتر) على توافر اللغة هو أيضا مساهمة كبيرة هذا هو في مجال البرمجة اللغوية هو إجماع منذ فترة طويلة.

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

أربعة، جوليا أعلن حاليا كلغة سريعة وC. ولكن إذا كانت جميع بسرعة في جميع الحالات؟ أو عندما فقط معالجة البيانات وC بأسرع؟ وكيف تتوافق اللغات السائدة الحالية مثل بايثون، C، وما إلى ذلك؟  

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

داعيا C وفورتران محليين في جوليا - حتى لا حاجة لتوفير مترجم. يمكنك تشغيل التعليمات البرمجية التالية لإتمام المكالمة:

جوليا >  ccall (: ساعة، Int32، ())

2539697

وبالمثل، صنع Cxx.jl يدعو مكتبات C ++، قوالب، الخ بسهولة جدا. يمكن أن نطلق اجهة بيثون وR. متكاملة من خلال PyCall.jl وRCall.jl مثل بدوره، بيثون وR لاستدعاء لغة جوليا بالدعوة PyJulia وRJulia الحزمة. JavaCall.jl يسمح جوليا لاستدعاء جافا. كما أن لدينا نظيفة واضحة من واجهة برمجة جزءا لا يتجزأ، بحيث أن أي لغة أخرى هي سهلة للغاية لاستدعاء وجوليا.

خامسا، التطبيقات العملية، وقد استخدم جوليا عن المركبات الذاتية، والروبوتات والطابعات 3D، بالإضافة إلى استخدامها على نطاق واسع في الدقيقة الطبية، والواقع المعزز، وعلم الجينوم وإدارة المخاطر. لغة حتى جوليا نفسها على ما التطبيقات؟ هل هناك تدريبات الفريق متفائلة بشكل خاص بشأن الاتجاه خاصة بهم؟ لماذا؟  

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

(المصدر: الموقع الرسمي جوليا)

سادسا، جوليا حاليا اللغة الرئيسية الحوسبة العلمية، بما في ذلك المطورين الذين يقومون بتحميل مختلف إدارات جوجل، الفيسبوك وزارة الطاقة الأمريكية. المستقبل، جوليا ما إذا كان سيتم توسيع السكان المستهدف لمزيد من البرمجة وجوه المنحى؟ أفرج عنه بعد 1.0، ليس هناك أية مكاسب من بعض المستخدمين أو ردود الفعل؟  

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

وقد حازت جوليا على جيثب مساهمات أكثر من 700 المطورين. ساهم كثير من الناس أكثر من 2000 الحزم. ونحن نقدر أن هناك ما يقرب من 30 المطورين الأساسية للغة جوليا نفسها ساهمت الكثير من العمل.

من ناحية المستخدم، جوليا بتحميل أكثر من مليوني مرة. باعتبارها لغة مفتوحة المصدر، فإنه من الصعب تحويل هذا العدد إلى عدد من المستخدمين الحقيقية. وبالإضافة إلى ذلك، في جوليا الحاسبات، ونحن نرى المستخدمين من 700 جامعات وأكثر من 1000 شركة في التحميل أو استخدام جوليا. سوف Julia1.0 المجتمع لغة شعبية جدا متابعة طويلة المدى الاستقرار هو متحمس الجميع حول هذا الموضوع. ونحن أيضا الحصول على الكثير من ردود الفعل، هناك الصينيين لديهم أيضا باللغة الإنجليزية. ل 1.0، قبل أن تفكر في إضافة ميزات جديدة، سوف نركز على الاستقرار على المدى الطويل.

سبعة فرق في الوقت الراهن على خطط جوليا لتطبيق مشروع تجاري؟  

جوليا خالق كل تجمع معا لتشكل في أعقاب مفتوحة المصدر نموذج أعمال الشركة جوليا الحاسبات. منتجات جوليا الحاسبات وكانت مئات الآلاف من المستخدمين لتحميل، ويستخدم على نطاق واسع JuliaBox في تدريس جوليا.

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

ثمانية، مع مشاريع الكتابة جوليا، التي تجعلك تشعر معظم أعجب؟

ومعظم حزمة الرائعة هي ما يلي:

للالرياضية القفز الدراسات الأمثل:

https://github.com/JuliaOpt/JuMP.jl

لالمعادلات التفاضلية DiffEq المتعلقة بما يلي:

تدفق للتعلم الآلة:

كي نت آخر لتعلم الآلة (عمق التعلم) من:

https://github.com/denizyuret/Knet.jl

وبالإضافة إلى ذلك، هذه الحزم هي أيضا مفيدة:

حزمة تنقيح، عظيم حقا، تيم المقدس هو عبقري! :

https://github.com/timholy/Revise.jl

BenchmarkTools، مجموعة الاختبار ذات الصلة الأداء: الشبكي: //github.com/JuliaCI/BenchmarkTools.jl

StaticArrays حزمة، والتي من المرجح كمكتبة القياسية: الشبكي: //github.com/JuliaArrays/StaticArrays.jl

حزمة UnicodePlots، وتركيب موثوقة فقط رسم في كل مكان حزمة: الشبكي: //github.com/Evizero/UnicodePlots.jl

الشكل شو جوليا فريق (المصدر: vccircle)

تسعة، جوليا تسبب المطورين في الصين في الكثير من المناقشات، ولكن بعض الناس يعتقدون جوليا هو في حد ذاته جهدا قوية الترويج، وسوف تستخدم الشركة قد يكون لها جوليا الصعب على المشاريع التجارية، لهذا حجة لنرى كيف فريق ؟  

جوليا يتم تحديد "القاعدة" اللغة عن طريق تطوير وأحب شخص استخدامه المتقدمة. وربما في المستقبل بعض الشركات الكبيرة واستخدامها - لكننا نعتقد أن هذا ليس شرطا ضروريا للنجاح. لا هي التي تحرك الثعبان، PHP، بيرل، روبي، لوا وغيرها من اللغات من قبل أي منظمة. على الأقل حتى الآن، تم تطويرها من قبل المجتمع، الذي هو السبب في أنه يمكن جذب المستخدمين.

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

مؤخرا كنا في اتجاه جهودنا في تعزيز كفاءة المترجم.  

لتطوير مجردة للغاية وتوقيت يمكن عمل لغة السريعة على مجموعة متنوعة من الأجهزة قد نضجت. وسوف نركز على استقرار الخصائص الحالية، لكنه أضاف أيضا الميزات الجديدة.

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

فريق XI اللغة الحوسبة العلمية الأكثر مثالية ما هو؟

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

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

MIT ضغط الوقت البصرية الكاميرات فائقة السرعة يخرج، تبادل لاطلاق النار غير محدود صور مختلفة من نفس عمق المشهد

شو الموقع التاريخي | هانيوان هوانغ فو قاعة المدينة، مدينة الأسطوري تسعة HSIANG قوس مزدوج مع اللقب الجنرالات شياو مينغ اليوم السابع

أطلس | 'أو يي هاي سنوات "الطوابع الخاصة الصادرة

صلاح كتلة اطلاق النار جيان قونغ فان دايك اندلعت دينغشنغ جو، ليفربول 2-0 ولفرهامبتون

كسر رويس سانشو هدفين غوتس، فاز بوروسيا 2-1 لقب نصف DOTT

TensorFlow بسيطة تعليمي

ومدينة ووهان في 2019 تكون الأمور أكثر خاصة، نيابة عن أعضاء توقع بشغف ممتاز

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

الانتقام ملحمة! المهندسين القيام به لمعاقبة السارق اكسبرس مربع الانتقام مع مسحوق فلاش ورذاذ نتن

شارك شحن الصناعة كنز من النمو وتصبح: شركة استثمارية تشن الأوروبية لرفع دعوى ضد المكالمات انتهاك براءات الاختراع

غسلها 2 م التونة عملاقة على الشاطئ من رجل كبير المتفرجين الرصاص

واجه صعوبات Quanergy: المركبات الذاتية تنمية الأعمال التجارية كما هو متوقع