غلاف Java

أبريل 2001

هذه المقالة تطورت من محادثات أجريتها مع العديد من المبرمجين الآخرين حول سبب كون Java مريبة. إنها ليست انتقادًا لـ Java! إنها دراسة حالة لرادار الهاكرز.

مع مرور الوقت، يطور الهاكرز حاسة شم للتكنولوجيا الجيدة (والسيئة). اعتقدت أنه قد يكون من المثير للاهتمام محاولة كتابة ما جعل Java تبدو مريبة بالنسبة لي.

يعتقد بعض الأشخاص الذين قرأوا هذا أنها محاولة مثيرة للاهتمام للكتابة عن شيء لم يُكتب عنه من قبل. يقول آخرون أنني سأقع في مشكلة لظهوري وكأنني أكتب عن أشياء لا أفهمها. لذا، فقط في حال كان ذلك مفيدًا، دعني أوضح أنني لا أكتب هنا عن Java (التي لم أستخدمها قط) بل عن رادار الهاكرز (الذي فكرت فيه كثيرًا).


المقولة المأثورة "لا يمكنك الحكم على الكتاب من غلافه" نشأت في الأوقات التي كانت فيها الكتب تُباع بأغلفة من الورق المقوى العادي، ليقوم كل مشتري بتجليدها حسب ذوقه الخاص. في تلك الأيام، لم يكن بإمكانك الحكم على الكتاب من غلافه. لكن النشر تقدم منذ ذلك الحين: يعمل الناشرون الحاليون بجد لجعل الغلاف شيئًا يمكنك الحكم على الكتاب من خلاله.

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

حتى الآن، تبدو Java سيئة للغاية بالنسبة لي. لم أكتب برنامجًا بـ Java قط، ولم ألقِ نظرة على كتب مرجعية عنها، لكن لدي حدس بأنها لن تكون لغة ناجحة جدًا. قد أكون مخطئًا؛ التنبؤ بالتكنولوجيا عمل خطير. ولكن مقابل ما تستحقه، وكنوع من كبسولة زمنية، إليك سبب عدم إعجابي بمظهر Java:

  1. لقد تم الترويج لها بقوة شديدة. المعايير الحقيقية لا تحتاج إلى ترويج. لم يضطر أحد لترويج C، أو Unix، أو HTML. المعيار الحقيقي يميل إلى أن يكون راسخًا بالفعل عندما يسمع عنه معظم الناس. على شاشة رادار الهاكرز، Perl بحجم Java، أو أكبر، فقط بقوة مزاياها الخاصة.

  2. إنها تستهدف مستوى منخفضًا. في ورقة Java البيضاء الأصلية، يقول Gosling صراحةً أن Java صُممت لتكون ليست صعبة للغاية على المبرمجين المعتادين على C. لقد صُممت لتكون C++ أخرى: C بالإضافة إلى بعض الأفكار المأخوذة من لغات أكثر تقدمًا. مثل مبدعي المسلسلات الكوميدية أو الوجبات السريعة أو الجولات السياحية المعبأة، كان مصممو Java يصممون بوعي منتجًا لأشخاص ليسوا أذكياء مثلهم. تاريخيًا، كانت اللغات المصممة لاستخدام الآخرين سيئة: Cobol، PL/I، Pascal، Ada، C++. اللغات الجيدة كانت تلك التي صُممت لمبدعيها: C، Perl، Smalltalk، Lisp.

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

  4. لا أحد يحبها. مبرمجو C، Perl، Python، Smalltalk، و Lisp يحبون لغاتهم. لم أسمع أبدًا شخصًا يقول إنه يحب Java.

  5. يُجبر الناس على استخدامها. الكثير من الأشخاص الذين أعرفهم يستخدمون Java يستخدمونها لأنهم يشعرون أنهم مضطرون لذلك. إما أن يكون شيئًا شعروا أنه يتعين عليهم القيام به للحصول على التمويل، أو شيئًا اعتقدوا أن العملاء سيرغبون فيه، أو شيئًا قيل لهم أن يفعلوه من قبل الإدارة. هؤلاء أشخاص أذكياء؛ لو كانت التكنولوجيا جيدة، لكانوا قد استخدموها طواعية.

  6. لديها الكثير من الطهاة. أفضل لغات البرمجة تم تطويرها بواسطة مجموعات صغيرة. يبدو أن Java تُدار بواسطة لجنة. إذا تبين أنها لغة جيدة، فسيكون ذلك أول مرة في التاريخ تصمم فيها لجنة لغة جيدة.

  7. إنها بيروقراطية. من خلال ما أعرفه قليلاً عن Java، يبدو أن هناك الكثير من البروتوكولات للقيام بالأشياء. اللغات الجيدة حقًا ليست كذلك. إنها تسمح لك بفعل ما تريد والابتعاد عن الطريق.

  8. إنها زائفة الشعبية. تتظاهر Sun الآن بأن Java جهد لغة مفتوحة المصدر من القاعدة الشعبية مثل Perl أو Python. هذه اللغة بالصدفة تخضع لسيطرة شركة عملاقة. لذا فمن المرجح أن تتمتع اللغة بنفس الرتابة والتعقيد الذي يأتي من أي شركة كبيرة.

  9. إنها مصممة للمنظمات الكبيرة. للمنظمات الكبيرة أهداف مختلفة عن الهاكرز. إنهم يريدون لغات يُعتقد أنها مناسبة للاستخدام من قبل فرق كبيرة من المبرمجين المتوسطين - لغات ذات ميزات، مثل محددات السرعة في شاحنات U-Haul، تمنع الحمقى من إحداث الكثير من الضرر. الهاكرز لا يحبون لغة تتحدث إليهم بتعالٍ. الهاكرز يريدون القوة فقط. تاريخيًا، اللغات المصممة للمنظمات الكبيرة (PL/I، Ada) خسرت، بينما لغات الهاكرز (C، Perl) فازت. السبب: هاكر اليوم هو المدير التنفيذي لتقنية المعلومات غدًا.

  10. الأشخاص الخطأ يحبونها. المبرمجون الذين أقدرهم أكثر ليسوا، بشكل عام، مفتونين بـ Java. من يحب Java؟ البدلات، الذين لا يعرفون لغة من أخرى، لكنهم يعرفون أنهم يسمعون عن Java في الصحافة؛ المبرمجون في الشركات الكبيرة، الذين يندهشون عندما يجدون أن هناك شيئًا أفضل من C++؛ وطلاب الجامعات الذين يتبعون التيار، المستعدون للإعجاب بأي شيء قد يحصل لهم على وظيفة (هل سيكون هذا في الاختبار؟). آراء هؤلاء الأشخاص تتغير مع كل نسمة هواء.

  11. والدها في ورطة. نموذج عمل Sun يتعرض للتقويض على جبهتين. معالجات Intel الرخيصة، من نفس النوع المستخدم في أجهزة سطح المكتب، أصبحت الآن أسرع من الكافية للخوادم. ويبدو أن FreeBSD نظام تشغيل للخوادم لا يقل جودة عن Solaris. إعلانات Sun توحي بأنك تحتاج إلى خوادم Sun لتطبيقات القوة الصناعية. لو كان هذا صحيحًا، لكانت Yahoo أول من يشتري Sun؛ لكن عندما عملت هناك، كانت الخوادم كلها صناديق Intel تعمل بنظام FreeBSD. هذا ينذر بالسوء لمستقبل Sun. إذا واجهت Sun مشاكل، فقد تسحب Java معها.

  12. وزارة الدفاع تحبها. تشجع وزارة الدفاع المطورين على استخدام Java. هذا يبدو لي العلامة الأكثر إدانة على الإطلاق. تقوم وزارة الدفاع بعمل جيد (وإن كان مكلفًا) في الدفاع عن البلاد، لكنها تحب الخطط والإجراءات والبروتوكولات. ثقافتها هي عكس ثقافة الهاكرز؛ في مسائل البرمجيات، ستميل إلى الرهان بشكل خاطئ. آخر مرة أحبت فيها وزارة الدفاع لغة برمجة، كانت Ada.

ضع في اعتبارك، هذا ليس انتقادًا لـ Java، بل انتقادًا لغلافها. لا أعرف Java جيدًا بما يكفي لأحبها أو أكرهها. هذا مجرد شرح لسبب عدم حماسي لتعلمها.

قد يبدو الأمر متعجرفًا رفض لغة قبل حتى محاولة كتابة برامج بها. لكن هذا شيء يتعين على جميع المبرمجين القيام به. هناك الكثير من التقنيات هناك لتعلمها كلها. عليك أن تتعلم الحكم من خلال العلامات الخارجية على ما سيكون ذا قيمة لوقتك. لقد رفضت بالمثل بتعجرف Cobol، Ada، Visual Basic، IBM AS400، VRML، ISO 9000، بروتوكول SET، VMS، Novell Netware، و CORBA، من بين أمور أخرى. لقد بدت خاطئة.

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