في الحقيقة لم أكن مهتماً بتعلم بايثون، ولكن عندما أتيحت لي الفرصة لتعلمها عن طريق دورة مليون مبرمج عربي، وأيضاً للسمعة المنتشرة حول بايثون، قلت لمَ لا أتعلمها، خاصة وأنه لدي خبرة جيدة مسبقاً في الجافا.
ولكني الآن أتسائل، هل سيفيدني تعلم بايثون؟ وفيم ستفيدني؟
اهتمامي الذي يشغل بالي حالياً هو عمل تطبيقات الهواتف، لذا هل سيكون تعلم بايثون بلا قيمة بالنسبة لي؟
التعليقات
بايثون ممتازة و ستفيدك في:
data science
الذكاء الصنعي و تعلّم الآلة
عمليات automation على سيرفرات تعمل بلينيكس
الشبكات
برمجة الويب back-end مع جانغو أو فلاسك
بايثون سيئة و ستضيع وقتك في:
تطبيقات سطح المكتب
الآندرويد
الألعاب
ios
خارج الموضوع
c# :
جيدة في:
الألعاب
ويب backend
تطبيقات جوالات ios واندرويد و ويندوز فون
سطح المكتب لويندوز
صحيح؟
بماذا سيئة إذا كانت جيدة بكل هذا؟ أراها تخطت الجافا حتى
و أزيدك من العشر بيت، مايكروسوفت أضافت WPF و UWP لـ dotnet core 3 بالتالي لن يكون بعيداً الزمن الذي ستبني فيه تطبيقات سطح مكتب لماك و لينيكس و ويندوز بنفس الـ codebase.
سي شارب في الحقيقة ستتخطى جافا و ذلك بسبب عدم ارتكاب مايكروسوفت الخطأ نفسه الذي ارتكبته أوراكل مع جافا، حولوها تماماً للغة Enterprise level و بالتالي أًصبح الأمر يتطلب الكثير من الـ Stability و إضافة الميزات للغة تباطأت كثيراً حيث أنّه كان من الواجب عليهم أن يضيفوا تحديثات أمنية لصيانة الإصدارات القديمة جدّاً حتى.
سي شارب كانت نوعاً ما لغة الـ Enterprise تلك لكن انفتاح مايكروسوفت على المصادر المفتوحة مؤخراً جلب معه الكثير من الأمور الجيدة و أصبحت لغة جميلة جدّاً و على مستوى ميزات اللغة لا أرى لها مثيلاً، جربت كتابة API بواسطة Asp.net core العام الماضي بعد أن كنت استخدم جانغو مع بايثون و من وقتها لم أرى سبباً يجعلني أعود لجانغو أبداً!
تقصد pyqt ؟ أعتقد أنّها okish لكن عندما ترى أنّ هناك خيارات أخرى كـ JAVA FX ستشعر بالغبن لاستخدام pyqt عند مراحل معينة حرفيّاً لن تكون قادراً على بناء نفس التطبيق باستخدام المكتبتين ناهيك عن سهولة العمل مع جافا إفس إكس.
طبعاً لم أقارن pyqt مع UWP و Cocoa (بناء واجهات لماك) لأنّها cross platform لكن إردت المقارنة فالفارق كبير جدّاً.
ربما تفيدك بطريقة غير مباشرة عن طريق انها تريك طريقة اخرى للبرمجة غير الجافا، و لكن اظن ان هذه فائدة ليست قوية.
اذا كنت تريد الانتقال للغة جديدة من دون اضاعة وقتك مع بيئة برمجة مختلفة تماماً، ينصح بلغة مثل كوتلن Kotlin مثلاً، فهي أكثر فائدة و ملائمة لخبرتك الحالية، كما انها مناسبة جداً لعمل تطبيقات الهواتف (اندرويد).
البارحة مر علي هذ المقال بتويتر من الموقع الجميل pluralsight ربما يساعدك " يتحدث عن استعمالات اللغة في الوقت الحالي ويتوقع حالها في المستقبل "
اذا كنت تنوي استخدامها في برمجة الاندرويد باستخدام kivy فالاغلبية لم ينصح بها .
في برمجة تطبيقات سطح المكتب سوف تجبرك اللغة على وضع مفسر البيثون في جهاز العميل مما سيجعل حجم برنامجك اكبر و ابطىء .
في باقي المجالات : لا ادري .
عن تجربة ستفيدك في دخول عالم البرمجة
الأنك الأن تحتاج لتعلم أساسيات البرمجة
وطبعا تعلمها بالبايثون سهل جدا بالمقارنة مع جافا
فحين تجد نفسك إكتسبت أساسيات البرمجة وقادرا على كتابة برامج سطر أوامر تؤدي وظائف معينة بسهولة
يمكنك الإنتقال إلى لغة ستحقق لك هدفك بتطوير تطبيقات الهواتف
ولديك خياران
c# والتي ستسمح لك بتطوير تطبيقات أندرويد و ios وأيضا تطبيقات الألعاب لكلا المنصتين وأكثر بمحرك يونتي
والخيار الثاني جافا تسمح لك بتطوير تطبيقات الأندرويد أو يمكنك تعلم كوتلين من غوغل فقد أدرجتها غوغل رسميا في بيئة تطوير الخاصة بها ولها مستقبل واعد
اتفق معك بدايتي معه تعلمت أساسيات البرمجة وهيا اسهل من جافا في كتابة الكود لكن مارح يستطيع يستفاد منها ماديا مثلا لو يبي يطور تطبيقات هواتف مارح يستطيع أن يطور بها kivy مرة سيئة ايضا الإقبال على هذا المجال قوي اما ويب وسطح مكتب اتوقع راح تفيده
كل اللغات الي تعلمتها مسارها واحد تطبيقات هواتف حاليا اتعلم cross all platform
واتعلم بسهولة عكس الماضي كنت اجلس ساعات لكي احل كود في بايثون او جافا
حسناً انا الأخر بدات تعلمها منذ فترة وكانت اول تجربة لي مع الc فقط ويكفي القول ان مقدار سهولة لغة البايثون لشخص مبتدئ مثلي تجلني ارغب بتعلمها حتى لو لم يكن عليها اي تطبيق في المستقبل (على الأقل اكسب بعض المهارات البرمجية وسمعت انها أهم لغة في عالم الذكاء الصناعي لما فيها من مكتبات كثيرة واستخدامها من قبل الباحثين وخاصة في التطبيقات الأحصائية وغيرها من التطبيقات العملية في المظلة العلمية البحثية لعلوم مثل الأحياء وما ينطوي داخلها من علوم متفرعة )
ميزة بايثون انها لا تتعبك بالكتابة فهي بسيطة وتختصر الوقت. لذلك تستخدمها الشركات الكبيرة في بناء الخوارزميات المعقدة وتستخدم في البحوث ومجال الذكاء الصناعي.. لأن المهم لديهم هو ان ينشغل الباحث او المبرمج في التفكير وبناء الخوارزميات المعقدة عوض ان يضيع وقته في الكتابة والتعديل على الأكواد.. لذلك مستقبلها قوي.
عمل تطبيقات الهاتف في الاغلب
يتجه الكثير لتعلم جافا او سي شارب لعمل تطبيقات الاندريد
اما بايثون فنصيبها يكمن في مكتبة kivy وعن تجربة شخصية المكتبة
مملة جدا وغريبة
لكن علي الجانب الاخر هناك برنامج اسمه godot 3 متخصص في صناعة الالعاب
ولديه لغة خاصة به اسمها gdscriept وشبيهة جدا بلغة بايثون لدرجة ان شركة البرنامج نفسه
قالت ان لغتهم سهلة مثل بايثون وتستطيع عمل العاب للاندرويد والحاسب الاي وتستطيع بيعها علي برنامج
ستيم ان كنت تعرفه
لكن المشكلة الوحيدة التي سوف تواجهك هو قلة المحتوي العربي الذي يدعم البرنامج هذا اذا ما كان معدوم لكن
علي في المحتوي الاجنبي سوف تجد الكثير من الشروحات للبرنامج
اما عن بايثون فهناك الكثير من الاشياء التي من الممكن عملها لدرجة ان اغلب من تعلموها يقول ان السؤال الصحيح
هو ما الشئ الذي لا تستطيع بايثون عمله
وفي مبادرة المليون مبرمج ستجد انهم يتجهون الي عمل مواقع الويب وهذا ليس بسئ كبداية