وصلني سؤال إلى بريدي الالكتروني من مطور اوراكل، وبعد كتابة الرد وجدت أنه من الأفضل وضع الموضوع هنا ليستفيد منه مطورو اوراكل الذين يبحثون عن مسارات أخرى.
نص السؤال الذي وصلني:
... متفق معك ان الديفيلوبر لا يكفي لذلك أود استشارتك انا محتار بين تعلم الC# وال ASP.NET وربطهم مع داتا بيز اوراكل في المشاريع كحل مستقبلي افضل من الديفيلوبر أول تعلم الجافا فمن رأي حضرتك أي الحلين أفضل في المستقبل
أعتقد أنك تسألني حول رأيي هل الذهاب باتجاه اداوات مايكروسوفت ولغة C#، أم الاتجاه باتجاه أدوات ولغة جافا .كبديل عن أدوات تطوير البرامج باستخدام اوراكل ديفيلوبر، أليس كذلك؟
سؤالك أيهما أفضل في المستقبل العلم عند الله لايعلمه إلا هو، لكن كلا التقنيتين تحملان الكثير من نقاط القوة.
وحول الربط بقواعد البيانات فكلاهما يوفر آلية للربط بأوراكل و sqlServer و MySql وغيرها من قواعد البيانات.
سأجاوبك بشقين، الأول من خلال حياتي العملية، والثاني من خلال تفضيلي الشخصي.
بالنسبة للشق الأول فإن كثير من أصدقائي الذين يعملون بأدوات مايكروسوفت عملهم مزدهر سواء في سوريا أو في الخليج، ويتقاضون رواتب جيدة ويعملون في شركات تحوي عدد كبير من الموظفين.
كل الذين أعرفهم يعملون بأدوات .Net يعملون بمشاريع جماعية ضمن شركات، وهذه نقطة أيجابية وسلبية في نفس الوقت.
نقطة اضافية لصالح .Net هي سهولة التعلم ويمكنك التقدم بها اسرع من جافا.
مسار دوت نت أكثر وضوحا حول تطوير تطبيقات الويب، حيث يمكن لمتعلم C# الانتقال بسهولة لبناء تطبيق ويب ، بينما مسار بناء تطبيقات الويب لجافا غير واضح بالنسبة للكثيرين بسبب تشعبها، وأكثر مسار مشهورلتطوير تطبيقات ويب بجافا هو باستخدام JDeveloper بتقنية JSF والذي اعتمدت عليه تقنية ADF من اوراكل ويتجه إليه مطورو اوراكل ديفيلوبر.
الاستضافات المعتمدة على .net أكثر انتشارا وأقل سعرا، لذلك حلول دوت نت ملائمة للجميع، بينما حلول جافا لاتناسب شخص بميزانية محدودة، وما يعيب ويحد تطوير التطبيقات باستخدام جافا بتقنية ADF قلة السيرفرات التي تدعمها على الويب حاليا وغلاء اسعار الاستضافة التي تتطلب وجود application server من اوراكل وهو weblogic ، يمكن تقليل التكلفة ببناء تطبيق يعتمد على JSF بدلا من ADF حيث يمكن استضافته على سيرفرات بديلة للـ weblogic مثل Glassfish و apache لكنها تبقى أعلى سعرا حسب معرفتي.
سرعة تنفيذ الاوامر في دوت نت أعلى من سرعة تنفيذها في جافا، لكن سرعة الحواسيب اليوم جعلت الأمر مهمل في 99 % من التطبيقات التي نراها.
بالنسبة للشق الثاني حول تفضيلي الشخصي فأنا شخصيا أفضل جافا، لا أنكر قوة .Net وحصتها في السوق كبيرة، أدواتها البناء باستخدام Visual Studio قوية جدا حقيقة أنا لم أعمل بها لصالح الأخرين بل اقتصر عملي بها في الجامعة وبعض البرامج الشخصية، لكني اتجاهي الشخصي نحو جافا لبعض النقاط أذكر منها.
يعمل مبرمجو جافا ضمن شركات كبيرة، ومسار ADF موجه للحلول الضخمة بالتالي أتوقع راتب أعلى
كثرة المسارات التي تلي تعلم اللغة تمكن اي شخص من العمل منفردا، مثلا يمكنك الاتجاه نحو برمجة اندرويد بشكل أكثر سلاسة من شخص أخر متقن لغة برمجة أخرى غير جافا.
تطبيقات النوافذ المبنية بجافا قادرة على العمل على جميع نظم التشغيل ويندوز، لينكس، ماك... بينما تطبيقات النوافذ المبنية بلغة C# لايمكنها إلى اليوم سوى العمل ضمن بيئة ويندوز، قد يتغير هذا مستقبلا لكن حاليا لا تدعم العمل على نظم تشغيل مختلفة.
سابقا كان من يعيب جافا بأنها تتطلب وجود Java Virtual Machine من خلال تثبيث JRE لكن اليوم أصبحت حتى تطبيقات ويندوز المبنية باستخدام سي شارب تتطلب وجود مكتبة .Net
وقد أصيب وقد أخطئ لكني حاولت في ردي أن أجاوب بأمانة وحياد وبرأيي تعرف على جافا، والـ C# والأهم ما الخطوة التي تليها لبناء تطبيق ويب باستخدام Visual Studio أو JDeveloper،
أغلب الـ Oracle Developer اتجهوا باتجاه JDeveloper لذلك أعتقد أنك أقرب إلى هذا المسار لوجود الكثير من المفاهيم المقابلة في ادوات اوراكل ديفيلوبر، لكن دعنا نسأل الأخرين الذين يعملون بأدوات دوت نت أو جافا ليضيفوا نقاط قوة وضغف اضافة لما ذكر، أو ليصححوا لي إن كان هناك مايرون تصحيحه.
أخيرا اسأل نفسك ما الذي ارتحت له وأحببته أكثر واستخر الله وتوكل عليه باختيار احدها، ووفقنا الله جميعا ويسر أموري وأموركم.