بعض الكلمات الفنية حول أدوات C ++ من JetBrains ، وما علاقة الأحاديين بها

أنا لا أبدأ بـ "مرحباً يا حبر!" لدينا إصدار رائع آخر هنا ، ومع "مرحبًا ، اسمي Nastya ، أنا PMM في JetBrains وأنا مسؤول عن أدوات C ++ لدينا." أم لا ، سأحاول مرة أخرى ، مثل هذا: "مرحبًا ، يكتب لك مطور C ++ ولديه 8 سنوات من الخبرة ، والذي وجد تطبيقه في شركته الحلم والمألوفة - JetBrains منذ 5 سنوات ، ثم نفد الوقت فجأة في يوم واحد ، و الأفكار كلها عصا ".

لا ، هذه ليست وظيفة تقليدية حول البحث عن المرشحين لشغل منصب شاغر. سأحاول التحدث عن سبب امتلاكنا لعدة أدوات لـ C ++ وما هي الأفكار والخطط التي لدينا ، ولماذا لن تنسى C ++ إذا توقفت عن الكتابة عليها كمطور وأصبحت PMM (spoiler if نظرًا لأنك لست عضوًا في لجنة توحيد لغة C ++ ، لديك فرصة جيدة لتعلم لغة أفضل). وإذا كنت ترغب بعد ذلك في المشاركة في هذا الأمر باعتباره PMM ، فسوف يسعدني أن أحصل على سيرتك الذاتية على anastasia.kazakova@jetbrains.com .

لماذا لا يمكنك فقط الحصول على IDE وجعله لـ C ++؟


يبدو للكثيرين أنه من السهل جدًا إجراء محلل IDE من برنامج التحويل البرمجي للغة C ++. في مؤتمرات ACCU و C ++ Now و CppCon منذ بضع سنوات ، بدأت أتحدث عن سبب كون الأمور ليست بهذه البساطة. على سبيل المثال ، يمكنك رؤية السجلات من عام 2017 باستخدام ACCU ( إلقاء نظرة على C ++ من خلال أكواب أداة اللغة ) و CppCon ( معايير جديدة للإنقاذ: العرض من خلال نظارات IDE ). النقاط الأساسية: كلما كانت البيئة أذكى ، زادت صعوبة استخدام C ++:

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

إذاً في عام 2014 ، لم يتم إنشاء بيئات واحدة (أو أكثر بشكل صحيح 3) لتطوير C ++. وحدث كل ذلك فجأة. لقد فعلنا Objective-C في AppCode ، ثم اتضح أننا نكتب محلل C ++. ونذهب بعيدا! بالمناسبة ، أخبرت هذه القصة المضحكة في مقابلة في مؤتمر C ++ Russia 2019 الأخير في موسكو:


نتيجة لذلك ، قرر جزء من الفريق إنشاء IDE استنادًا إلى IntelliJ Platform - CLion. وبدأ الجزء الآخر في تطبيق نهج مختلف في بنية مختلفة - ReSharper C ++ ، امتداد لبرنامج Visual Studio. ثم ظهر محلل آخر قائم على clangd. بشكل عام ، لدينا العديد من المنتجات والعديد من المحللون.

تنين ثلاثي الرؤوس ، وكيفية بيعه


في نفس الوقت ، فإن منتجاتنا لـ C ++ لها جمهور مختلف قليلاً.

تركز CLion على تطوير الأنظمة الأساسية في C ++ ، أي لأولئك الذين يرغبون في تشغيل IDE على العديد من الأنظمة الأساسية (بما في ذلك Linux ، حيث لا توجد خيارات كثيرة). هذه هي بيئة قائمة بذاتها تعمل بكامل طاقتها حيث العديد من عمليات الدمج (مباشرة ومن خلال الإضافات ، سواء من جهة خارجية أو من جانبنا) مع أدوات أخرى (Valgrind Memcheck ، Google Sanitizers ، DTrace ، Perf ، Conan) واللغات (Python ، Rust ، Swift ، Kotlin / Native ). في CLion نعمل الآن على دعم سوق التطوير المضمن . IDE تحظى بشعبية في القطاع المالي ، في سوق تطوير السيارات ذاتية القيادة وغيرها من المجالات. لقد أظهرنا مؤخرًا في إعلان BMW .

ReSharper C ++ هو امتداد لبرنامج Visual Studio ، مصمم لأولئك الذين يتطورون في بيئة Windows ويركزون على سلسلة الأدوات المقابلة (msbuild ، MSVC). هنا لا نحاول تطبيق الميزات الموجودة بالفعل في Visual Studio ، لكننا نحاول جعل العمل مع الكود أكثر ملاءمة وسرعة وإنتاجية ، خاصة مع C ++ الحديث. لذلك ، يحتوي المنتج على الكثير من ميزات المهووسين الرائعة التي يمكن أن تجعلك معلم تطوير C ++. يمكنك الآن رؤية العمل النشط الذي نقوم به في ReSharper C ++ نحو دعم مطوري الألعاب على Unreal Engine. هذا منطقي تمامًا ، نظرًا لأن الجمهور الرئيسي لهذه الألعاب تم تطويره على Windows ، في بيئة MS. لذلك ، تناولنا تحسين الأداء والميزات الخاصة للألعاب على UE4 .

وأيضًا ، يتوفر دعم C ++ من CLion في AppCode (حيث ، في الحقيقة ، نشأ) و Android Studio (الذي تستند إليه Google على نظامنا IntelliJ).

ولتوضيح هذا بطريقة أو بأخرى للمستخدمين ، توصلنا إلى حملة تسويقية ، أطلقنا عليها بسبب C ++ . إذا سبق لك أن رأيت موقفنا في مؤتمرات C ++ ، أو شاهدت تسجيلات من مؤتمر C ++ Now (الذي ندعمه كجهات راعية للفيديو) ، أو أخذت زجاجات خضراء أو أيقونات C ++ كنشرة ، فسوف تفهم تمامًا ما يدور حوله هذا:



ولكن ماذا عن حيدات؟


وحيد القرن على كل هذا التنوع هو الآن واحد - هو أنا. إذا لم تكن على دراية بمفهوم "وحيد القرن في JetBrains" ، فهناك منشور من abreslav ، والذي يصف بدقة موقف PMM في JetBrains . لقد استثمرنا الكثير من الطاقة (العقلية والبدنية) في مدرسة PMM الصيفية وأدركنا الكثير عن أنفسنا بينما نقول للآخرين من نحن وماذا نفعل. وقال paullarionov هنا على Habré كيف كان (في الوقت نفسه هناك روابط لشرائح من المحاضرات). المشاهد ليس من JetBrains ، إذا كان أي شخص مهتمًا.

أنا لست شخصًا من التسويق في البداية. جئت إلى JetBrains من تطوير C / C ++: 5 سنوات في الاستعانة بمصادر خارجية المضمنة ، 3 سنوات في Yota / Roox / Scartel (هناك الكثير من الأسماء ، واحدة بشكل أساسي) قامت بـ PCRF وحسنت كل شيء طار بشكل سيء (ثم كتبت عنه على Habré ) ، ثم فجأة ... في الواقع ، مع C ++ لم أتقاطع أقل. بالطبع ، أنا لا أكتب أنظمة تجارية جاهزة عليها ، لكنني أتطرق إلى تعقيدات اللغة ، وكسر الدعم في IDE مع ضمان الجودة الشجاع ، ثم أصفها كلها في مدونات المنتجات. أقيِّم مدى وصف الكتاب التقنيين لهذا السيناريو أو ذاك للميزة التالية جيدًا ، والتواصل المستمر مع المستخدمين النهائيين (أي مطورو C ++) وعرضهم على جميع أنواع "الحالات المثيرة للاهتمام". أناقش خطط المنتج والمشاكل الحالية مع الفريق ، وأعمل مع محامي المطور والمجتمع. بالإضافة إلى ذلك ، بدأنا التواصل عن كثب مع لجنة التقييس والذهاب إلى اجتماعاته. أود أيضًا أن أتحدث عن C ++ ونظامها الإيكولوجي في المؤتمرات وتنظيم اجتماعات لمجتمع C ++ في سان بطرسبرغ.

لكن منتجات PMM لها مهام تقنية أقل - الحملات الإعلانية ، وإعداد المؤتمرات ، ومواد التسويق المختلفة والمزيد. كل هذا في قائمة TODO المتنامية باستمرار أيضًا.

إذا قرأت ما يصل إلى هذا المكان وأدركت أن وظيفة الحلم هي على الأرجح بجوارك ، عندئذٍ لدينا شاغران ، وهما في الأساس يتعلقان بنفس الشيء. لا أخطط لمغادرة JetBrains ، ولكن الوقت في الأيام ينفد بسرعة ، لذلك أحتاج إلى رئيس آخر من شأنه أن يساعدني في إدراك العديد من الأفكار الحالية ويجلب لنا أفكار جديدة. ستستند المهام إلى حد كبير على ReSharper C ++ وبالطبع شائعة أيضًا. لأن C ++ ، كما نقول ؛)

ملحوظة: اكتب أسئلة جريئة في التعليقات - أحب أن أجيب على Habré!

ويأتي ، سيكون متعة! محرك التطوير مضمون!

Source: https://habr.com/ru/post/ar451510/


All Articles