مقارنات بين لغات البرمجة من نواحي الأمان والسهولة

مقارنات بين لغات البرمجة

مقارنات بين لغات البرمجة من نواحي الأمان والسهولة مقال تخصصي مميز وموجز للمهندس محمد الدوب المتخصص في البرمجة وأمن المعلومات 

مقارنات بين لغات البرمجة من نواحي الأمان والسهولة

م. محمد الدوب

م. محمد الدوب

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

وهناك عدة أخطاء كارثية لا يراها إلا الممارس الحقيقي.

أولاً هناك فرق كبير بين لغة البرمجة language والمنصة المبنية فيها framework.

ولذلك المقارنة بين AspDotNet و php خطأ

الـ php هي اللغة نفسها بينما الـAspDotNet هي منصة ويب مبنية على لغات الـ dotnet مثل C# وVBNET.

المقارنة الصحيحة بين اللغات نفسها php vs C# او بين المنصات aspdotnet vs laravel على سبيل المثال.

اما المقارنة بين aspdotnet و php مقارنة جاهلة كمن يقارن بين عمود الإنارة وطاقيتي.

ولذلك تجد مقارنات ظالمة وخاطئة مثلا:

هل الphp أكثر أمان من الasp؟
هل الdjango أكثر أمان من الphp؟
هل الGo أكثر أمان من الruby؟

هذا كله خطأ بخطأ.

إما مقارنة اللغات php c# go ruby python

او مقارنة المنصات asp laravel django rubyonrails و غيرها من المنصات الشهيرة.

ولذلك تجد بمنصات الويب خواص متشابهة للحماية من الثغرات التقليدية بالويب وقد تكون هذه الخواص هي الdefault مثلا:

– حماية من الxss عن طريق default encoding.
-حماية من الsqli عن طريق الORM او prepared statements.
-نظام session mngmnt تلقائي.
-نظام تحقق من الهوية.

هنا يمكن المقارنة

اما المقارنة بين اللغات نفسها دون استخدام مميزات المنصات فأنا اضمن لك سهولة وجود ثغرات بالgo والjava تماما كما تجدها بالphp والC# فهي لغات تسمح لك بأن تقوم بكل ما تريد.

 عوامل المقارتة

المقارنة بين اللغات (خصوصا ما عدا C/C++) تكون مبينة علي:

– السهولة (او التعود).

– ذوقك.

– وجود نظام packages.

اما كون اللغة آمنة أو لا فهذا يعتمد على فهم المبرمج وخبرته.

نفس المبرمج الفاشل في php سيفشل بالpython والGo.

المبرمج الحذر الذي يفهم ويكتب VBNET يستطيع ان يتعلم ruby ويكتب فيها أكواد آمنة ممتازة.

بلاش تحزب على موضوع اللغات فنحن مو ناقصين. يكفينا الاندرويد vs الايفون.

اما استخدام اللغة في داخل المؤسسة فهو أمر لا يعتمد على طبيعة اللغة أبدا بل على طبيعة المؤسسة وعقود الدعم الفني فيها وعقود التدريب ونوعية سيرفراتها.

الجهة التي تستخدم oracle كثيرا ستجدها غالبا تستخدم java والتي تستخدم أنظمة amazon aws ستجدها غالبا تبتعد عن الaspdotnet و هلم جره

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

الجهة التي تقفز من شيء إلى آخر دائما إما انها وضعت لنفسها ميزانية للبحث والتجربة R&D( شي جميل) او انها غير ناضجة.

الذي ينتقد aspdotnet ماهو رده على استخدام stackOverflow لها؟

الذي ينتقد php ماهو رده على استخدام Facebook لها؟

قوقل تستخدم python و Go.

و Github تستخدم Ruby.

هناك عامل واحد بينهم:

كلهم اعتمدوا لغة يكثرون استخدامها ويقومون بالتعمق فيها أكثر واستثمار العلم والفهم فيها.

أصل هذا الموضوع في سللسلة تغريدات للكاتب

الكاتب