مولد الموسيقى واجهة برمجة تطبيقات Web Audio تجربة المبتدئين

السياق والخلفية


عمري 62. قبل ثلاث سنوات قررت أن أحاول كتابة نظام معقد إلى حد ما ، قبل ذلك لم يكن هناك سوى 20 سطرًا أساسيًا في عام 1981 ، عندما علقتنا 3 أشهر من علوم الكمبيوتر في السنة الخامسة من كلية الراديو (NSTU ، سابقًا NETI). يعتبر المحترف هو الشخص الذي يملك الموضوع ويكسبه ، لذلك في الواقع أنا مبتدئ.

من ناحية أخرى ، كنت أتعامل مع الخوارزميات المتعلقة بالموسيقى طوال حياتي ، ووجدت عملية التطوير والأجهزة والبرامج ، وبقدر ما أستطيع ، شاركت في ذلك. في عام 1978 ، قام بتطوير وتجميع جهاز توليف Mini-Moog (أعتقد أنه كان الأول في جبال الأورال) ، وطور وأنتج أول بطاقة صوت في اتحاد الجمهوريات الاشتراكية السوفياتية مع مركب لـ Agat7 (9) - النظير السوفيتي لـ Apple II ، صمم وحدة توليف FM لأحد المصانع ، بالتعاون مع Cakewalk (الولايات المتحدة الأمريكية) ، PGMusic (كندا) ، PowerFX (السويد) - غالبًا في إطار المخطط: "الأفكار والتنفيذ منا ، الميزانية منهم" ، شارك في المعارض الموسيقية الدولية MusikMesse (ألمانيا) ، NAMM (الولايات المتحدة الأمريكية) ، إلخ.كل هذا جزء صغير مما لم يفعله أحد بطبيعة الحال ، ولكن مع الفريق الذي جمعته في لحظة معينة.

بالإضافة إلى ذلك ، قام بدور نشط في تنظيم قسم المعلوماتية (الأول في اتحاد الجمهوريات الاشتراكية السوفياتية) في معهد نوفوسيبيرسك. من 1983 إلى 2004 ، قام أيضًا بتدريس الصوتيات الموسيقية والمعلوماتية وهندسة الصوت ، وأعد أطروحة حول نمذجة الكمبيوتر للأداء الموسيقي (ISBN 5-9294-0023-7) ...

نعم ، بدأ كل شيء بشاشات b / w ، وأقراص مرنة ، وذاكرة وصول عشوائي سعة 256 كيلوبايت ، وجهاز كمبيوتر شخصي للتجميع الموسيقي ... كان على الموسيقيين شرح كل شيء على أصابعهم ، لأن معظم هؤلاء الأشخاص الرائعون بعيدون عن كل شيء صارم ومنظم. وإذا كان عازف الترومبون قادرًا على ملء صفحة من النص ، فقد كان رائعًا ، وعزف التشيلو الذي برمج Chizhik-fawn هو مجرد نجم. بالمناسبة ، قاوم بعض المعلمين بنشاط هذا الموضوع بأكمله - لكنهم يحاولون الآن حرمانهم من أجهزة الكمبيوتر!

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

لذا ، لنفترض أننا بحاجة إلى الحصول على إجابات تصلح لمثل هذه الخوارزميات ، على سبيل المثال:

أ) لحن بدا (حسنا ، حتى لو تم تسجيله بالفعل مع "ملاحظات" في MIDI) ، كيف تحدد مكان منشط؟ - سيقوم الموسيقي بذلك بسهولة ، لكن إجابة واضحة (خوارزمية) لن تعطيك ؛

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

ج) أم أن لاعب الدرامز يعزف شيئًا معقدًا إلى حد ما ، أم يقوم عازف الساكسوفون بالارتجال - كيف "يخلع" الحجم ، الضربات القوية / الضعيفة ، بداية / نهاية العبارة الموسيقية ، التباطؤ التعبيري / التسارع؟ لا يتعلق الأمر بـ EDM (موسيقى الرقص الإلكترونية). يشعر العازف الموسيقي ويتوافق مع "القواعد" التي ينقلها المعلم بطريقة "أفعل ما أفعله" ، لكن المهندس يحتاج إلى أرقام ورسومات ونسب ، وكل هذا مستحيل عمليا الحصول عليه من الفنان أو عالم الموسيقى - المنظر.

لكنني أردت أن أجد على مثل هذه الأسئلة. في الواقع ، قد يكون للعمل الحقيقي الصوت نموذج خام - تكوين موسيقي بتنسيق MIDI ، وهو ، في جوهره ، "درجة إلكترونية". هذه بيانات دقيقة ، ولكن كيف تعمل معها؟ بشكل عام ، كان الأمر الأكثر إثارة للاهتمام بالنسبة لي في النهاية هو تحليل وتحويل بيانات MIDI والخوارزميات * مثل:

نمذجة الأداء 1) ،
Morphing 2) ،
جيل الموسيقى 3)

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

* فك تشفير صغير:

1) تحليل بيانات MIDI الكمية ، والتعرف على "الأشياء الموسيقية" (العبارات والأشكال) وتغييرها في جزء Velocity و NoteOn و Duration ، بالإضافة إلى فرض منحنيات Tempo و PitchWeel و Expression و Modulation من أجل الاستفادة الكاملة من موارد المزج وتحقيق تعبير أكبر.

2) تحليل كل من العمل والأجزاء الفردية بهدف تحويلها من حجم إلى آخر (على سبيل المثال ، من 4/4 إلى 6/8 أو 7/4) ، من تناغم / تناغم للآخرين. علاوة على ذلك ، فإن النتيجة ستكون "صالحة للأكل" - بحيث يرى الموسيقي أنها الموسيقى "الصحيحة" دون انتهاكات واضحة.

3) جيل "النتيجة الإلكترونية" - نظام ، عند استخدام 1) و 2) وتشغيل بيانات MIDI ، سينتج إخراجًا مشابهًا للصوت الناتج عن موسيقي أو منظم باستخدام جهاز كمبيوتر أو آلة حية. أولئك. ليس شيئًا تجريديًا ، تم إنشاؤه بواسطة الذكاء الاصطناعي ، ليس فقط للتظاهر في دائرة ضيقة من المتخصصين ، ولكن فقط "بشري" ومناسب للاستخدام.

في هذه القصة الطويلة ، كان هناك عدد غير قليل من المضحك ، إذا نظرت من الحاضر ، لحظات ، على سبيل المثال ، لأول 386 جهاز كمبيوتر ، كان علي أن أعطي اثنين من سكان موسكو الجدد "Chignon" (2715 IL) ، كل 290 ألف روبل. أو ، كمحمية ، اكتسبت تقريبًا مينسك 32 مستعملة في الفرع السيبيري لأكاديمية العلوم - أعتقد أن هذا الوحش ، أضعف من الهاتف الذكي ، يبدو أنه يشغل 60-80 م 2 ويستهلك الكهرباء ، ربما مثل بار + ساونا ...

لذا ، قام موظفو الشركة المبرمجين (عملنا مع Z80 ، MOS 6502 ، "Electronics-60" ، على أول أجهزة كمبيوتر Win من GDR ، مع معالجات إشارات TMS والأجهزة التناظرية ...) ، كل يوم رأيت "krakozyabra" على الشاشات والفكر أن جميعهم (المبرمجين) ليسوا "من هذا العالم". على الرغم من أن النتيجة الموسيقية ليست أسهل! وبعد كل شيء ، يسمع بعض الموسيقيين الموسيقى ، وينظرون إلى الملاحظات ، ويحصلون على متعة جمالية إذا أحبوها! بشكل عام ، بدا لي أن كل من يكتب الرمز عباقرة وهذا ليس لي على الإطلاق ... ولكن ، كما أظهر المستقبل ، كنت مخطئًا. لا أستطيع أن أقول أنه قد ضاع الكثير من الوقت ، ولكن ربما كان مصير العديد من المشاريع سيكون مختلفًا تمامًا ...

الخبرة العملية الأولى


من التجربة السابقة ، علمت أن أصعب الأشياء "غير السارة" بالنسبة للمبرمج هي شيئين: واجهات المستخدم الرسومية والواجهات (أي التبديل من بيئة إلى أخرى. على سبيل المثال ، تلقي بيانات MIDI من جهاز خارجي) ، خاصة عندما لا توجد حلول جاهزة جاهزة.

في البداية ، أخذت AutoPlay Media Studio (برنامج Indigo Rose) - إنه جزء من مصمم للدمى. في البداية ، يبدو أنه مصمم بسرعة لإنشاء قائمة CD و DVD و autorun.exe. ولكن اتضح أن هناك بحرًا من الوظائف ، وداخل (على LUA) يمكنك القيام بكل شيء تقريبًا: الرسوم المتحركة ، لعب ogg. وبالتالي ، فإن معظم العمل "غير السار" (بالمناسبة ، الوافدين الجدد يتوقفون عند هذه اللحظات) لا يمكن القيام به - كل شيء جاهز.

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

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

بشكل عام ، من أجل المتعة ، كتبت نصًا يقول:

  1. أطلقت أوبرا ، فتحت موقع بعض الشركات (على ما يبدو ، هولندية) المتخصصة في تحويل النص إلى كلام ؛
  2. في الصفحة قمت بالتمرير إلى RU (صوت يتصرف بالروسية) ؛
  3. فتح ملف * .txt في "المفكرة" ، حيث تم نسخ 20-30 نكت مسبقًا من الشبكة ، الفقرات ؛
  4. نسخ نكتة واحدة ولصقها في الحقل على الموقع ؛
  5. تم إطلاق SoundForge على السجل ، وعلى الموقع قيد التشغيل ؛
  6. تسجيل النتيجة وحفظها في مجلد بتنسيق mp3 باسم - "الرقم التسلسلي + أول 15 حرفًا من نص النكتة نفسها".

نجحت وكنت سعيدًا عندما كنت طفلاً. بعد ذلك ، أخبرت صديقي - لا توجد مشكلة في إنشاء 100 مقطع غير مكلف (بجودة جيدة) ، فقط التقط الصور والموسيقى والعناوين والعناوين الفرعية والأوصاف وما إلى ذلك - سأضع كل شيء بالترتيب (بالحجم واللون) ، وأضعه في مجلدات ، وأنشئ نموذجًا + سأحدد اختلافاتها (عشوائي!) و ... يمكنني أن أجعلك لا 100 ، ولكن 200 من هذه المقاطع (في Vegas Pro مع AutoIt الأمر سهل) ، ومشاهدتها بشكل انتقائي ، وستحدد بالفعل المبلغ المناسب لنفسك ... لم يكن عليك فعل كل هذا ، ولكن شكرا على سؤالها!

في وقت لاحق ، بدأت تدريجياً في تصحيح شيء ما على الموقع ، وقراءة شيء ما ، وتجربة شيء ما من أجل الاهتمام بالرياضة. على وجه الخصوص ، للقيام بالبرامج النصية على JavaScript / CSS للرسم المتحرك البسيط الضروري لإنشاء الفيديو. لذا ظهرت بعض الأفكار العامة وتجربة صغيرة في PHP و HTML و jQuery و JavaScript و CSS و MySQL. اختفى "الكراكين" تقريبًا وتوقفت عن الخوف من موضوع "البرمجة". حدثت نقطة التحول الأخيرة فيما يتعلق بها وقدراتها عندما فهمت نقطتين:

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

مولد الموسيقى


لا أتذكر كيف عثرت على واجهة برمجة تطبيقات Web Audio ، في ذلك الوقت لم يكن لدي شركة ذات مسؤولية محدودة أو IP أو فريق ، ولكن بعد 2-3 تجارب ، عندما "ذهب الصوت" ، تأرجحت على الأكثر بالنسبة لي المشروع عبارة عن مولد موسيقى (أسميه الآن AlexAr ). في الواقع ، في Web Audio كان هناك كل ما هو ضروري - مولدات ومرشحات وأظرف وخلاطات ومعالج (في C ++) و jQuery و JavaScript و CSS سمحت لنا بحل جميع المشاكل مع واجهة المستخدم الرسومية. في الواقع ، في Web Audio ، يمكنك القيام ، كما يبدو لي ، بمعالجة وتوليف الصوت بأي تعقيد.

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

نعم ، سيكون من الرائع إذا سمحت واجهة برمجة تطبيقات Web Audio بربطها باستخدام VSTi للتوليف أو أي شيء آخر جاهز. من ناحية أخرى ، كانت هناك مناسبة لاستدعاء الشباب وكتابة جميع التركيبات اللازمة ، لابتكار وتحسين ، سواء في الهيكل أو في الخوارزميات والمحتوى. تقريبًا ، كما كان الحال في الأيام الخوالي ، عندما لم يرسم فنان فحسب ، بل قام أيضًا برسم نفسه ...

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

صورة

بشكل عام ، التكوين النهائي لمدة 4-5 دقائق ، يتم إنشاؤه في 40-50 ثانية. (على Intel Core i5 ، 2.8 جيجا هرتز ، 12 جيجا بايت رام). سألت مهمة ، على سبيل المثال ، "جعل 100 مسار رقص" ، تحولت إلى الغداء أو ذهبت في نزهة على الأقدام. وصل في ساعة واحدة ، وإذا لم يتعطل النظام ، استمع وقرر ٪٪ من مدى ملاءمة النتيجة. ثم قمت بتغيير شيء في المعلمات وبدأت مرة أخرى. إذا تصرفت "بشكل معقول" ، أي قم بتعيين المعلمات التي لم تؤد إلى عدم وضوح النمط (على سبيل المثال ، سيحدث هذا إذا تم تطبيق تناغم موسيقى الجاز في EDM) ، ثم 90-95٪ من المسارات تبدو جيدة جدًا ، وإذا لم يكن كذلك ، فإن 60-70 ٪٪ يمكن التخلص منها.

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

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

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

بالفعل في مكان ما في منتصف العمل على AlexAr ، أدركت أنه من الممكن تمامًا أنه إذا بدأت البرمجة في وقت سابق ، فيمكن استبدال 10 مبرمجين (في بعض الأحيان كان لدي المزيد من الموظفين) بثلاثة :

أنا نفسي (التصميم والبرمجة والاختبار والمحتوى) ؛
ذكي جدًا - لاختناقات ، لنهج الذكاء ، مكتبات جديدة ، خدمات (مباشرة بعد المدرسة الثانوية أو من 3-4 دورات) ؛
مخلص لعمله للمهام الروتينية ، دون خيال ، من لا يزعج يديه لتطبيق اليوم ما ظهر بالأمس.

أنا متأكد من أنه سيتم حل المهمة بشكل أسرع ، وكم من الأعصاب والأموال سيتم توفيرها! من أين يأتي التوفير؟ لذا ، قبل الغداء ، جلست لاختبار شيء ما - "حسنًا ، الزر ليس مناسبًا ، وسوف يتحول المؤشر أكثر إلى اليمين". حسنًا - جلست وفعلت ذلك في نصف ساعة ، وكان المزاج 5+. وكيف يتم تحديد ذلك في وقت سابق في مكتبي مع الفريق ، عندما لا تكتب بنفسك؟ في البداية كنت أسأل كم من الوقت سيستغرق ، ثم رسمته في فوتوشوب ، أحسب البكسل ، كتبت المعارف التقليدية ، أدرجتها في الخطة ، انتظرت يومين ، أو ... رفضتها على الإطلاق - إنها تعمل ، إنها جيدة بالفعل. وهكذا باستمرار.

الاستنتاجات والدافع


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

  1. , . , , , , . , . , 10 , ( ?).
  2. — . , - macOS Android, . , , . , .
  3. GUI , — . , - . , , -.
  4. - - , - — , , . , , - — . — «». 7 , 6 . — , — . , - . ? — , . - , « » — .. , «» .
  5. , , (software engineer, !) . , , ( ) -, . , , engineer, , «, », .. «Copy Paste».
  6. , , «» , , - . . - … , . . — . , , , , , .
  7. , . , , IDE, . , , — NotePad++, FireFox ZIP- — , . «» . , « », .
  8. ? . , , — UnDo/ReDo. JavaScript , , — . , , , . UnDo — , , , .

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

أطيب التمنيات للجميع.

ملاحظة: إذا كان شخص ما مهتمًا بتاريخ عملي على مر السنين بشكل أكثر تفصيلاً ، فهو هنا .

All Articles