الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

لماذا اخترت لغة الجافا من بين باقي اللغات ؟

رائج
بدأه docesam في 28 أغسطس 2009 · 63 رد · 5,007 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

لكن هناك لغات برمجة عديدة متعددة المنصات : مثل python أو ruby فهما بالإضافة لكونهما لغاتان متعددتا المنصات ويسهل تعلمهما فهما ذو إنتاجية عالية جداً ، فالبرنامج الذي تبرمجه في الجافا في أسبوع قد تنجزه في بايثون أو روبي في يوم أو يومين .

فلماذا الجافا ؟

#2

enterprise ( موسساتيه)

توفر الكثير من المنصات و المشاريع مفتوحة المصدر sprint, hibernate, struts, velocity, ant, , ..................................

لغة برمجه مترجمه و ليست لغة سكربتات مفسره

و الكثير و الكثير و الكثير

#3
{هويدي} كتب:
enterprise ( موسساتيه)

توفر الكثير من المنصات و المشاريع مفتوحة المصدر sprint, hibernate, struts, velocity, ant, , ..................................

لغة برمجه مترجمه و ليست لغة سكربتات مفسره

و الكثير و الكثير و الكثير

شكراً لك

ما المهم في كون اللغة مترجمة أو مفسرة ؟ المهم أنها سوف تنتج برنامج يعمل ويؤدي الغرض

ماذا تعني بأن اللغة مؤسساتية ؟

وما الميزة في توفر الكثير من المنصات ؟ لم أفهم هذه النقطة

#4

لغات مثل الـ Python , Ruby

لغات Dynamically Typed .. وهذه في حد ذاتها في بعض الأحيان ليست جيدة

أقصد انه يتم تحديد حجم المتغيرات في الـ run time

لنفترض انك تكتب

x = 5

وبعد فترة كتبت

x = "ahmed"

فهذه ليست نقطة قوة في جميع الأحوال ..

وهذا من خصائص اللغات المفسره او معظمها !!

#################

أما عن كون الجافا Enterprise

فهذا يعني يمكن استخدام اللغة - الجافا - في المشاريع الضخمه التي نراها في كثير من المؤسسات التي لها اكثر من فرع في اكثر من دولة !!

وهذا لا يعني انه لغة مثل البايثون لا تقوم بنفس الوظائف ،، ولكن هناك بيئة مخصصه لعمل مثل هذه البرامج الضخمه وهي بيئة الـ Enterprise

مميزات لغة الجافا كثيرة جدا ومجالاتها كثيرة ومتعدده

وفي النهاية كل لغه لها ما يميزها عن اللغات الاخري ........ :)

صــفــر

#5

أشكرك جزيل الشكر على ردك

في الواقع كون اللغة dynamically typed في تصوري الشخصي أنه يمكن أن يسبب بعض الأخطاء أو المشاكل ، لكن لم أسمع أحد يشتكي من ذلك حتى هذه اللحظة.

أما ما تفضلت به من كونها مؤسساتية : فهل ترى معي أن ذلك مجرد كلام تسويقي من شركة صن ليس أكثر ؟

بمعنى آخر : بالرغم من نقاشاتي الكثيرة في كثير من المنتديات الأجنبية لم أتمكن من تحديد مصدر ضعف حقيقي في لغة python ولم أتمكن من معرفة ما هو سبب العدد الهائل من المبرمجين المقبلين على جافا أو لغات .NET مثلاً . هل الموضوع موضوع تسويقي ونفسي بحت ؟

#6

ردي السابق .. لم أعني به انني اشتكي من هذه النقطة ولكن هذه حقيقه انها قد تسبب بعض المشاكل

اما عن كون اللغه مؤسساتيه فهذا ليس كلام تسويقي علي الاطلاق ..

انا اشتغلت في بيئة الـ Enterprise واعرف ما الذي تقدمه البيئة واعرف ما المقابل لو لم توجد بيئة Enterprise

علي سبيل المثال لكتابة برامج ضخمه او برامج Enterprise سيكلفك الامر نوع من البرمجة يسمي الـ System Programming

وفيه مجهود ضخم وهائل وليس هذا الغرض الأساسي للمبرمجين ..

المرمجين هدفهم انهم يكتبوا برامج لشركات ..... المشاكل اللي بيقوموا بحلها .... هي الـ Business Logic الذي يحاكي الـمشاكل الواقعيه للشركة

فما الفائدة لو قمت كتابة كل شئ بيدك من الصفر .. ؟؟

فشركة صن وفرت الكثير من المجهود علي المبرمجين بتقديم بيئة الـ Enterprise والتي تسهل كثير من الأمور للمبرمج ،، ويبقي للمبرمج كتابة الـ Business Logic

اما عن اتجاه المبرمجين للغات مثل الـ .net والجافا فمن وجهة نظري الشخصية

ان معظم الذين يفكرون في هذا الأمر .. هم طلاب جامعات الحاسب والتكنولوجيا

ذلك لعدة أسباب ..

لو الطالب ابتدي في تعلم البرمجة باستخدام لغة مثل البايثون فستضيع منه اساسيات كثيرة لن يستطيع بسهوله

لان لغة مثل البايثون ضربت كل مفاهيم البرمجة وخاصة الـ Data Structure لانها اصبحت اقرب لتفكير الانسان الذي لا يعرف عن البرمجة شئ

بالتالي انا كطالب حاسبات ومعلومات افضل في تعلم لغة تساعدني علي فهم البرمجة بأساس قوي وفهم صحيح للعلم الذي وراء اللغه !!

وهذا لا ينقص من قدر اللغه - البايثون - اطلاقا ،، فلغة البايثون من اللغات الجيدة جدا والقوية والتي اثبتت جدارتها بسرعه

صــفــر

#7

حقيقة الكل يتكلم عن البايثون ,, لدرجة اصبحت اريد أن ارى ماهي هذه اللغة ؟؟؟!!!!!!

ممكن حدا يعطينا كود بسيط عنها حتى نعرف مدى سهولة هذه اللغة و قربها من لغة الإنسان الطبيعية ؟؟؟

#8
MKSoft كتب:
حقيقة الكل يتكلم عن البايثون ,, لدرجة اصبحت اريد أن ارى ماهي هذه اللغة ؟؟؟!!!!!!

ممكن حدا يعطينا كود بسيط عنها حتى نعرف مدى سهولة هذه اللغة و قربها من لغة الإنسان الطبيعية ؟؟؟

كود برنامج هيلو وورلد الشهير

print("hello world")

cIs.Falcon كتب:
ردي السابق .. لم أعني به انني اشتكي من هذه النقطة ولكن هذه حقيقه انها قد تسبب بعض المشاكل

اما عن كون اللغه مؤسساتيه فهذا ليس كلام تسويقي علي الاطلاق ..

انا اشتغلت في بيئة الـ Enterprise واعرف ما الذي تقدمه البيئة واعرف ما المقابل لو لم توجد بيئة Enterprise

علي سبيل المثال لكتابة برامج ضخمه او برامج Enterprise سيكلفك الامر نوع من البرمجة يسمي الـ System Programming

وفيه مجهود ضخم وهائل وليس هذا الغرض الأساسي للمبرمجين ..

المرمجين هدفهم انهم يكتبوا برامج لشركات ..... المشاكل اللي بيقوموا بحلها .... هي الـ Business Logic الذي يحاكي الـمشاكل الواقعيه للشركة

فما الفائدة لو قمت كتابة كل شئ بيدك من الصفر .. ؟؟

فشركة صن وفرت الكثير من المجهود علي المبرمجين بتقديم بيئة الـ Enterprise والتي تسهل كثير من الأمور للمبرمج ،، ويبقي للمبرمج كتابة الـ Business Logic

اما عن اتجاه المبرمجين للغات مثل الـ .net والجافا فمن وجهة نظري الشخصية

ان معظم الذين يفكرون في هذا الأمر .. هم طلاب جامعات الحاسب والتكنولوجيا

ذلك لعدة أسباب ..

لو الطالب ابتدي في تعلم البرمجة باستخدام لغة مثل البايثون فستضيع منه اساسيات كثيرة لن يستطيع بسهوله

لان لغة مثل البايثون ضربت كل مفاهيم البرمجة وخاصة الـ Data Structure لانها اصبحت اقرب لتفكير الانسان الذي لا يعرف عن البرمجة شئ

بالتالي انا كطالب حاسبات ومعلومات افضل في تعلم لغة تساعدني علي فهم البرمجة بأساس قوي وفهم صحيح للعلم الذي وراء اللغه !!

وهذا لا ينقص من قدر اللغه - البايثون - اطلاقا ،، فلغة البايثون من اللغات الجيدة جدا والقوية والتي اثبتت جدارتها بسرعه

أشكرك بشدة على ردك

هل يمكن أن تذكر لي مثال على كيف يمكن لبيئة ال Enterprise أن توفر الكثير على المبرمج ؟ لا أريد كود لكن أريد شرح مبسط بمثال

#9

أنا أطلعت على البايثون وحاولت أطبق بها بعض التطبيقات بس ماقدرت أندمج معاها لأني لقيتها مختلفة تماماً عن باقي اللغات اللي جربتها قبل كذا , واعتقد ان هذا رأي كل من تعلموا أساسيات البرمجه على السي والسي++ وحبوها , مثلاً الكلاسات فيها ماتعرف بدايتها من نهايتها أو الوايل والفور فيها لاتحتوي على أقواس فماتعرف وين راسها من رجلينها

يعني بإختصار لقيت الساينتاكس فيها مضروب بالنسبة لي أما التبسيط فيها بصراحه عجيب ولا يوجد في أي لغة أخرى , مثلاً عندما تريد الوصول إلى ملف معين في القرص يكفي أنك تكتب أسم داله معينه وبمجرد ماتفتح القوس وتكتب أسم القرص يستعرضلك جميع الملفات اللي داخل القرص وانت تختار الملف اللي تحبه يعني دلع :)

بالنسبه للجافا انا اللي جذبني لها وخلاني أحبها عدة أسباب :

اولاً لأنها أقرب لغة للسي++

ثانياً سمعتها وأسمها الجذاب

ثالثاً لأني لاقيت زملائي ينفروا منها وهذا اللي جذبني لها :)

ولأنها ممتعه ورائعة وتجعل الشعر ناعماً كالحرير ووووإلخ :)

تقبلوا تفحيطي


HeartOutputStream myHeart;
OutputStream myHeartOutStream;

myHeartOutStream = MAllaw.getHeart().getOutputStream();
myHeart = new HeartOutputStream(myHeartOutStream);

while(myHeart.isStillBeating())
myHeart.write("I ♥ Java");

#10
M.Allaw كتب:
أنا أطلعت على البايثون وحاولت أطبق بها بعض التطبيقات بس ماقدرت أندمج معاها لأني لقيتها مختلفة تماماً عن باقي اللغات اللي جربتها قبل كذا , واعتقد ان هذا رأي كل من تعلموا أساسيات البرمجه على السي والسي++ وحبوها , مثلاً الكلاسات فيها ماتعرف بدايتها من نهايتها أو الوايل والفور فيها لاتحتوي على أقواس فماتعرف وين راسها من رجلينها

لا لا لالا لا لا لا لا لا لا لا لا لالا لا طال عمرك ، ما أسمحلك

بالنسبة ل Syntax اللغة فبلا فخر (حلوة بلا فخر هاه ) البايثون من اللغات القلائل التي تجبرك - غصبن عنك - تكتب كود مرتب وسهل صيانته وهذا بإجماع جميع الخبراء ، بالرغم من أنه مثل ما قلت يبدو غريب بالنسبة للمبتدئين.

لكن أنصحك بإعادة النظر

وشكراً على مرورك

#11

جافا ليست لغه برمجه فقط بل هي منصه متكاملة Platform ،،، تستطيع برمجه ما تشاء بها من تطبيقات سطح مكتب عادية الى تطبيقات الجوال الى تطبيقات الويب أو الEnterprise والتي تعمل بنمط ال 3 tier architecture ،، يعني ممكن أن يستخدم العميل برنامج من خلال الجوال ليتصل بموقع والذي بدوره يتصل بالقاعده ليقوم بعمل وظيفة ما (هذا مثال على تطبيق واحد) .. وكل من هذه البرامج الموجودة في الموقع أو الجوال يمكن أن تكتب بالجافا ،،

لاحظ وجود المكتبات الهائلة في جافا ، ولا أظن أن هناك لغه تحتوي ما يوجد في جافا ، فكل ما تود برمجته فهو موجود في الجافا XML

Library,Cryptography Library,Sound and Video Processing Library,JDBC Drivers,Networking Support, Threading , Collections, Image Processing,Web API(JSP,Servlet),Mobile API(J2ME),String & Regular Expression . وغيرها الكثير الكثير ، هذا ما يحضرني حاليا ... أه لا تنسى مكتبات الGraphics الهائله (2D,3D) ...

اضافه الى أمور الأختبار والتنقيح والdeployment والتي يحتاجها المبرمجين بكثرة Ant,JUnit,JLogger ووغيرها الكثير ،،

كل هذه المكتبات هي built-in في اللغه ،، ولننسى الThird party library الأن ،،

ليست لدي معرفة جيدة بJ2EE فأنا حديث عهد بها ،، ولكن الJ2EE عالم أخر تماما :) ..

لذلك جافا هي خيار مناسب جدا للكثير الكثير من التطبيقات ، ربما فقط في برامج النظام System program فلا يفضل كتابتها بجافا (وان كان ممكن ذلك عن طريق JNI ) ويفضل استخدام أي لغه تسمح بالتعامل مع دوال النظام مباشره مثل سي،سي++ وغيرهم ..

بالتوفيق :).

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

#12

سأكتب لك مثال عن الـ Java Enterprise

ولكن عذرا امنحني بعض الوقت فانا اليوم أنهي مشروع بدأته منذ فترة ،، ليكن لقائنا في المساء ان شاء الله :)

###############

أستاذ وجدي ..

بارك الله فيك علي الإضافه الجميلة :)

صــفــر

#13

Jython خيار رابح

http://wiki.python.org/jython/WhyJython

طيب وايه اخبار Scala بما انكم مش عاجبكم ال Dynamic ؟

http://programming-scala.labs.oreilly.com/...programmer_8230

(map share people)

فضلا لاتقم بمراسلتي من أجل أسئلة لها أقسامها في المنتدى حتى تعم الفائدة على الجميع وللحصول على إجابات أفضل من أعضاء أكثر خبرة.
Weblog
@bitbucket
@xmonader

#14

أظن أن المسألة مسألة ميول فقط، فمثلا الC# و Qt يتيحون تقريبا نفس إمكانيات الجافا، وبالنسبة لQt فهي أيضا تتيح تعدد المنصات، وC# يمكن تنفيذه في لينوكس عن طريق مشروع mono

#15
Wajdy Essam كتب:

جافا ليست لغه برمجه فقط بل هي منصه متكاملة Platform ،،، تستطيع برمجه ما تشاء بها من تطبيقات سطح مكتب عادية الى تطبيقات الجوال الى تطبيقات الويب أو الEnterprise والتي تعمل بنمط ال 3 tier architecture ،، يعني ممكن أن يستخدم العميل برنامج من خلال الجوال ليتصل بموقع والذي بدوره يتصل بالقاعده ليقوم بعمل وظيفة ما (هذا مثال على تطبيق واحد) .. وكل من هذه البرامج الموجودة في الموقع أو الجوال يمكن أن تكتب بالجافا ،،

لاحظ وجود المكتبات الهائلة في جافا ، ولا أظن أن هناك لغه تحتوي ما يوجد في جافا ، فكل ما تود برمجته فهو موجود في الجافا XML

Library,Cryptography Library,Sound and Video Processing Library,JDBC Drivers,Networking Support, Threading , Collections, Image Processing,Web API(JSP,Servlet),Mobile API(J2ME),String & Regular Expression . وغيرها الكثير الكثير ، هذا ما يحضرني حاليا ... أه لا تنسى مكتبات الGraphics الهائله (2D,3D) ...

اضافه الى أمور الأختبار والتنقيح والdeployment والتي يحتاجها المبرمجين بكثرة Ant,JUnit,JLogger ووغيرها الكثير ،،

كل هذه المكتبات هي built-in في اللغه ،، ولننسى الThird party library الأن ،،

ليست لدي معرفة جيدة بJ2EE فأنا حديث عهد بها ،، ولكن الJ2EE عالم أخر تماما :) ..

لذلك جافا هي خيار مناسب جدا للكثير الكثير من التطبيقات ، ربما فقط في برامج النظام System program فلا يفضل كتابتها بجافا (وان كان ممكن ذلك عن طريق JNI ) ويفضل استخدام أي لغه تسمح بالتعامل مع دوال النظام مباشره مثل سي،سي++ وغيرهم ..

بالتوفيق :).

جميل جداً

المشكلة أنك إذا ذهبت إلى بايثون يقولون لك نفس الكلام عنها فبايثون مثلاً متعددة المنصات وتستطيع عمل كل ذلك ، السؤال المهم والأكثر واقعية هو :

1- ما هي الميزة الحقيقية التي تتمتع بها هذه اللغة عن غيرها والتي جعلت آلاف المطورين يتجهون لها ؟ هل المسألة مجرد أسم جافا فقط ؟

2- ما هي مساوئ اللغة ؟

#16

  • لا أعلم شيئا عن python لكن لا أظنها تتيح كل ما يتيحه java
  • python لا تمتلك community ضخمة مثل java، ولا هذا العدد الهائل من الكتب والمقالات التي تتناول الjava
  • java وراءها شركة sun التي تقوم بتسويقها وتطويرها

لدي سؤال لك، أنا أبرمج بالjava، ما الذي سيدفعني للتغيير والإنتقال إلى python مثلا ؟؟ إذا كانت لغة ما تلبي كل حاجياتي فما الهدف من التغيير فقط من أجل التغيير؟؟ واختيار لغة برمجية يستند أساسا على الحاجة، وهل هذه اللغة ستلبي حاجتي

#17

وعليكــم السـلام ورحمة الله وبركاتـه..

لم أجرب المدعوة بايثون ولم أرى أي كود لها ، ولكن لا أعتقد أن إمكانياتها مثل جافا على الإطلاق ،،

هل تدعم تلك اللغه البرمجيات الموزعة Distributed System ، في جافا لديك العديد من الخيارات RMI,Corba,SAO ..

مكتبات الSecurity في جافا هو علم منفصل قائم بذاته :) ،، هناك مكتبات متكاملة للتشفير Cryptography ( مثل DES,RSA وغيرها الكثير ) ، مكتبات API الAuthonication و الAccess Control (مثل JASS) , اضافة الى دعم التراسل الشبكي Socket الأمن ( Secure Socket - JSSE) وغيرها الكثير من الإمكانيات ،،

انظر لمكتبات ال Sound and Video Streaming (مثل JMF أو QuickTime) ستجد أنك بالإمكان عمل تطبيقات للتعامل مع الصوت والملتمديات وحتى تحرير الأصوات والفيديو وإرسالهم عبر الشبكة Using RTP Streaming وبكل سهوله أيضا ،،

من هنا تكمن قوة الجافا في مكتباتها الغنية والغنية جدا Extensive Class Library ،، أيضا الدوت نت والتي هي من الأساس سرقت فكره الجافا (Virtual Machine) تحتوي على عدد مشابه لتلك المكتبات وربما طريقة بنائها مشابه أيضا ، مما جعل الC# والJava متقاربتان بشكل كبير ،،

بالنسبة لكيوت Qt هي مكتبة رائعه بل أكثر ، ولكن ما زالت لا تقدم أي دعم للWeb Development وبالتالي فهي لا تشابه منصه الجافا ولا منصه ال.NET أيضا ،، ربما خلال السنوات القادمة تبدأ شركة نوكيا بذلك ، ولن أستغرب أيضا فحتى طريقة بناء Qt والكلاسات التي فيها تشبة جافا أيضا :) ..

بالتوفيق :) .

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

#18

فى كذا implementation ل python منها jython اللى بتقدم تكامل كامل مع ال java platform

وجود المكتبات دى كلها مش نقطة فريدة لصالح جافا.. فى لغات بتقدم syntax افضل ونفس التكامل

(map share people)

فضلا لاتقم بمراسلتي من أجل أسئلة لها أقسامها في المنتدى حتى تعم الفائدة على الجميع وللحصول على إجابات أفضل من أعضاء أكثر خبرة.
Weblog
@bitbucket
@xmonader

#19

السلام عليكم ...

مجرد رأي شخصي :)

اقتباس
أنا أطلعت على البايثون وحاولت أطبق بها بعض التطبيقات بس ماقدرت أندمج معاها لأني لقيتها مختلفة تماماً عن باقي اللغات اللي جربتها قبل كذا , واعتقد ان هذا رأي كل من تعلموا أساسيات البرمجه على السي والسي++ وحبوها , مثلاً الكلاسات فيها ماتعرف بدايتها من نهايتها أو الوايل والفور فيها لاتحتوي على أقواس فماتعرف وين راسها من رجلينها

كود Python بالنسبة لي واضح جداً و لكن بالفعل هناك بعض المبرمجين لا يحبونه و هذه تفضيلات شخصية, بالنسبة لي لم أكتب سطر Python واحد في حياتي و لكنها اللغة الوحيدة التي أفهم معنى الكود بشكل عام من خلال قراءته مباشرة رغم أني ذكرت أني لم أكتب سطر واحد في حياتي :)

اقتباس
اولاً لأنها أقرب لغة للسي++

Java و #C يشابهان C و ++C من خلال الـ syntax لا أكثر. في الحقيقة قد تفاجئ, و لكن ++C يجمعهما الكثير مع Python لو نظرت نظرة شاملة, لرأيت أن ++C و Python لغات mutliparadigm بشكل حقيقي عكس Java و #C.

أتفق مع الأخ وجدي بأن Java لديها مكتبة عامة كبيرة جداً لإنجاز المهام المتفرقة, و لكن Python أيضاً batteries included :wink:

اقتباس
أظن أن المسألة مسألة ميول فقط، فمثلا الC# و Qt يتيحون تقريبا نفس إمكانيات الجافا، وبالنسبة لQt فهي أيضا تتيح تعدد المنصات، وC# يمكن تنفيذه في لينوكس عن طريق مشروع mono

هذا رأي أحد مبرمجي Visual Studio في الموضوع, باختصار, يقول بأنك محكوم بـ Windows فعلياً و Qt هي الخيار الصحيح في الوقت الحالي للبرمجة عبر المنصات.

اقتباس
لدي سؤال لك، أنا أبرمج بالjava، ما الذي سيدفعني للتغيير والإنتقال إلى python مثلا ؟؟ إذا كانت لغة ما تلبي كل حاجياتي فما الهدف من التغيير فقط من أجل التغيير؟؟ واختيار لغة برمجية يستند أساسا على الحاجة، وهل هذه اللغة ستلبي حاجتي

تعلم لغات أخرى لن يضر أبداً. على العكس ستكتشف أن طريقتك في البرمجة في اللغة الأصلية ستختلف بعد تعرفك على مفاهيم رائعة في لغات أخرى كـ Python.

اقتباس
فى كذا implementation ل python منها jython اللى بتقدم تكامل كامل مع ال java platform

وجود المكتبات دى كلها مش نقطة فريدة لصالح جافا.. فى لغات بتقدم syntax افضل ونفس التكامل

لا أعتقد بوجود حاجة حقيقية للبرمجة باستخدام Jython أو حتى IronPython. المكتبات تتوفر لـ Python بشكل رهيب, و إذا لم تتوفر مكتبة معينة, و هذا ما لا أعتقد أنك ستقابله في يوم من الأيام,

ما عليك إلا أن تقوم بربطها عن طريق Boost! لا أعتقد أن هناك أي مهمة برمجية لا يتوفر لها مكتبة في C أو ++C.

عموماً, أنا أرى أن Python لغة فريدة من نوعها. اعتقدت في البداية, أنها للهواة :lol: و لكن الظاهر أن معظم الـ Gurus الآن يبرمجون بـ Python و يقومون بصناعة الـ batteries بـ ++C.

مثلاً, أحد مبرمجي Google الكبار Herb Sutter, Alex Martelli أحد خبراء ++C المعدودين على الأصابع, و الكثير الكثير غيرهم,

سأبدأ بتعلم Python بعد انتهاء اختبارت الصيف الأسبوع القادم :)

تحياتي ...

تم تعديل هذه المشاركة بواسطة Khaled.Alshaya في 29 أغسطس 2009 في 21:40

#20
اقتباس
لا أعتقد بوجود حاجة حقيقية للبرمجة باستخدام Jython أو حتى IronPython. المكتبات تتوفر لـ Python بشكل رهيب, و إذا لم تتوفر مكتبة معينة, و هذا ما لا أعتقد أنك ستقابله في يوم من الأيام,

ما عليك إلا أن تقوم بربطها عن طريق Boost! لا أعتقد أن هناك أي مهمة برمجية لا يتوفر لها مكتبة في C أو ++C.

وجود Jython او Scala او غيرهم مناسب جدا اذا كان شغلك مرتبط جدا مع Java platform --زى ماقلت نفس التكامل و syntax احسن وامرن

وفى حلول كتيرة للتكامل مع C/C++ وبايثون منها Boost عشان مش تزعل :D

عشان كدا مش بنقول Python vs X بنقول ازاى Python تقدر تتكامل مع لغة X :)

(map share people)

فضلا لاتقم بمراسلتي من أجل أسئلة لها أقسامها في المنتدى حتى تعم الفائدة على الجميع وللحصول على إجابات أفضل من أعضاء أكثر خبرة.
Weblog
@bitbucket
@xmonader

#21
herch كتب:

  • لا أعلم شيئا عن python لكن لا أظنها تتيح كل ما يتيحه java
  • python لا تمتلك community ضخمة مثل java، ولا هذا العدد الهائل من الكتب والمقالات التي تتناول الjava
  • java وراءها شركة sun التي تقوم بتسويقها وتطويرها

لدي سؤال لك، أنا أبرمج بالjava، ما الذي سيدفعني للتغيير والإنتقال إلى python مثلا ؟؟ إذا كانت لغة ما تلبي كل حاجياتي فما الهدف من التغيير فقط من أجل التغيير؟؟ واختيار لغة برمجية يستند أساسا على الحاجة، وهل هذه اللغة ستلبي حاجتي

عندما بدأت البحث في هذا الموضوع كانت عندي نفس فكرتك ، لكني وجدت ما أذهلني

صحيح أن بايثون لا تمتلك العدد الهائل من المبرمجين أو دعم شركة مثل شركة صن (مع إن بايثون في الآونة الأخيرة بدأت تجذب انتباه شركة جوجل)

لكن للإجابة على سؤالك : نعم هناك مميزات لبايثون بعضها لا يتوفر للجافا أذكر منها :

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

2- إذا نظرت لكود لغة البايثون ستجد أن اللغة تجبرك - أنت المبرمج- على كتابة كود مرتب ، ولن تستطيع مهما فعلت أن تكتب كود غير مرتب أو غير واضح ، لذلك عندما تريد أنت أو غيرك التعديل عليه لاحقاً ستجد السرعة والسهولة في التعديل مما يعزز النقطة رقم واحد.

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

4- أوامر وتركيبة لغة البايثون سهلة جداً وكما قال الأخ Khaled.Alshaya فإنه يستطيع بشكل عام فهم كود البايثون بالرغم أنه لا يعرف اللغة وهو ليس لوحده في هذا ، وهذا من الأدلة على السهولة البالغة للغة ، ويقدر بعض خبراء البرمجة أنه يمكن لمبرمج السي أن يلم بلغة البايثون خلال بضعة أيام لا أكثر.

5- يوجد في البايثون مكتبات لعمل أي شيئ ، ولا تختلف البايثون عن الجافا في الإمكانيات ولا قيد أنملة .

6- تدعم البايثون تعدد المنصات بشكل كبير جداً (الوندوز ، لينكس، الماك، ............ الخ وصولاً إلى أجهزة الجوالات)

7-في حالة الحاجة إلى مكتبة غير موجودة (بالرغم من وجود العدد الكثيف من المكتبات المجانية والمبرمجة بشكل احترافي) يمكن بكل بساطة الاستعانة بأي مكتبة من مكتبات لغة السي وما أكثرها :) .

لذلك اطمئنوا جميعاً لإمكانيات البايثون.

الآن نتكلم عن مساوئ البايثون :

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

2- لا يوجد شركة راعية تقف وراء البايثون. (هل تتكرم جوجل بهذه المهمة ؟)

3- لا يوجد واجهات برمجة IDE متكاملة مائة في المائة للغة ، فحتى تحصل على واجهة برمجة كاملة يجب عليك أن تجمع من كل بستان قطرة.

لذلك أنا أسأل :

ما المشكلة في البايثون؟ هل المسألة فقط إعلامية وعدم وجود راعي لهذه اللغة الرائعة ؟؟

تم تعديل هذه المشاركة بواسطة docesam في 30 أغسطس 2009 في 02:40

#22

مشكلة IDE سببها يكمن في مجموعة المزايا الخاصة باللغة والتي تجعل من العصوبة البالغة إنشاء IDE محترم لها

أحد هذه المشاكل موضوع dynamic types

على كل أنا أكره لغات السكربيت بشكل عام

وأجد في سرعة إنتاجيتها عائقاً كبيراً في فهم المكتوب

على كل بما أنكم تتكلمون عن اللغة بهذه القوة

سأقرأ عنها بإذن الله

هل من مصدر جيد للقراءة؟

أعلم أني لو بحثت على جوجل سأجد الكثير لكني لا أريد أن أقع في مصادر تأخرني

فهل من شيء مجرب؟

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#23
علاء الصالحي كتب:
مشكلة IDE سببها يكمن في مجموعة المزايا الخاصة باللغة والتي تجعل من العصوبة البالغة إنشاء IDE محترم لها

أحد هذه المشاكل موضوع dynamic types

على كل أنا أكره لغات السكربيت بشكل عام

وأجد في سرعة إنتاجيتها عائقاً كبيراً في فهم المكتوب

على كل بما أنكم تتكلمون عن اللغة بهذه القوة

سأقرأ عنها بإذن الله

هل من مصدر جيد للقراءة؟

أعلم أني لو بحثت على جوجل سأجد الكثير لكني لا أريد أن أقع في مصادر تأخرني

فهل من شيء مجرب؟

تحياتي

http://en.wikipedia.org/wiki/Python_%28pro...ing_language%29

#24

لا أحب الأخ ويكابيديا

إلا في المعلومات السطحية

هل أجد لديك كتاب جيد أوموقع جيد

يبدأ معي من الأساسيات وحتى الاحتراف

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#25
علاء الصالحي كتب:
لا أحب الأخ ويكابيديا

إلا في المعلومات السطحية

هل أجد لديك كتاب جيد أوموقع جيد

يبدأ معي من الأساسيات وحتى الاحتراف

تحياتي

كتاب مختصر

http://www.swaroopch.com/files/byteofpytho...python_v192.pdf

كتاب غير مختصر

http://diveintopython.org/download/diveint...hon-pdf-5.4.zip

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…