كمطور PHP لسنوات عديدة، في استخدام اللغة العودة بعد ......

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

الكاتب | دان Gurgui

المترجم | الغضروف المفصلي، ذبيان | تو مين

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

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

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

والدينامية

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

روتين المعالجة المتوازية

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

GoLang موازية تجهيز أبعد PHP.

ملامح وجوه المنحى

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

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

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

اختبار

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

أولا، واختبار الأداء، العودة حزمة اختبار لديها الكثير من قدرات اختبار الأداء. pprof والعديد من المكتبات ويمكن استخدام هذه الميزات لإنشاء تقرير البيانات الجميل. حين يكون PHP أيضا مكتبة والتكنولوجيا يمكن استخدامها لاختبار الأداء، ولكن العودة من السهل الاستخدام. وأعتقد أن هذا هو واحد من مزايا لغات كتابتها بشكل ثابت.

ثانيا، وتقنيات الاختبار المتقدمة (مثل BDD، TDD، وA / B اختبار)، PHP ديه المزيد من الدعم، والمزيد من المكتبات، فضلا عن المجتمع الأكبر. على سبيل المثال، حققت اللغتين خيار (أو الخيارة)، ولكن PHP لدعم تنفيذ BEHAT 40 لغة، يستند فقط على المكونات الفردية لبناء ودعم على جيثب أكثر (المزيد من الفروع من خيار، أكثر لنجمة، الخ).

وأخيرا، لاختبار وظيفي أو UI اختبار، PHP المكتبات أكثر، وأفضل دعم الأدوات الموجودة. السيلينيوم لديه قوية جدا PHP دعم (أكثر من 3000 اختبار عبر متصفح، وتسجيل الفيديو، النص وسجلات البصرية، وما إلى ذلك)، والذهاب لذلك، ليس فقط سائق الواقعات tebeka / السيلينيوم (آخر كرست وقعت في 5 أشهر).

اختلافات أخرى

هناك العديد من الاختلافات الأخرى بين اللغتين، وتشمل النقاط البارزة:

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

  • يتجاوز عدد بكثير PHP GoLang المجتمع، ودعم ممتاز. لقد وجدت GoLang استخدام الكثير من الأشياء السيئة، مثل المولدات رمز، وهذا شيء المجتمع PHP قبل بضع سنوات المهجورة.

  • صيانة الحزمة هي أيضا مختلفة جدا. في GoLang، حزمة هي الإدارة الداخلية للصيانة، وPHP اثنين من طرق مختلفة: أولا، مستوى توسع PHP، الثانية، مكتبة المستوى الذي الاستخدامات الجميع. PHP الوضع أكثر تعقيدا، وسوف تذهب إلى إدارة اثنين معا.

واحد فكر الماضي

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

ومع ذلك، مع التطبيقات نموا في حالة زيادة تعقيد منطق الأعمال، PHP هو الاختيار الطبيعي، لأنه يمكنك الاستفادة الكاملة من ميزات وجوه المنحى ودعم المجتمع PHP.

الأصل: الشبكي: //medium.com/swlh/6-months-with-golang-after-many-years-with-php-c52124fb7da؟

هذه المقالة CSDN الترجمة، يرجى الإشارة إلى المصدر من المصدر.

فاز ERNIE بايدو مايكروسوفت وغوغل في GLUE المنافسة

بعد الفوز بميكروسوفت وجوجل وأدوبي ، لماذا الهند غنية جداً بالرئيس التنفيذي لدائرة التكنولوجيا؟

بك "نوبة طبيعية" تبدو وكأنها؟ الزوج والزوجة مولد النار

بريد إلكتروني الصغير الصغير 3 سنوات من العمر: Nikkatsu أكثر من 300 مليون، والدوران أكثر من 800 مليار

كيف تطبق AI إلى التنقيب عن النفط والغاز؟

رد تشو السنوي الجائزة الكبرى "مجانا قطع تذكرة"، قناة الصغرى الافراج 5000 أصدقاء الحد، فايرفوكس 72 صدر | المهوسون العناوين

مبرمج البالغ من العمر 32 عاما، والتعويض N + 2: "شكرا لك قطع لي، اسمحوا لي أن مضاعفة!" مستخدم: قدوة

ولي الحار عن حياة أفضل، والتكنولوجيا أبدا البرد

سوف طوكيو الأولمبية تأجيل الرياضية العالمية يؤدي الى نظام سلسلة من ردود الفعل على المحك

سوف قوي الهواء البارد يؤثر على مجموعة واسعة من هطول الأمطار في معظم يظهر شرق الصين

INTERNATI الساحل الغربي الشتاء (هوا)

المتطوعين لقاح عهد جديد في العراء مذكرات على المدونات الصغيرة عدد كبير من المستخدمين مكشطة ممتاز