پل گراهام در مورد زبان های برنامه نویسی جاوا و "هکر" (2001)

پل گراهام در مورد زبان های برنامه نویسی جاوا و "هکر" (2001)

این مقاله از مکالمه‌ای که با چندین توسعه‌دهنده درباره موضوع سوگیری علیه جاوا داشتم شکل گرفت. این یک انتقاد از جاوا نیست، بلکه نمونه ای واضح از "رادار هکر" است.

با گذشت زمان، هکرها برای فناوری خوب یا بد توسعه می یابند. من فکر کردم شاید جالب باشد که سعی کنم دلایلی را بیان کنم که چرا جاوا را مشکوک می دانم.

برخی از کسانی که آن را مطالعه کردند، آن را تلاشی قابل توجه برای نوشتن در مورد چیزی دانستند که قبلاً هرگز در مورد آن نوشته نشده بود. دیگران هشدار دادند که من در مورد چیزهایی می نویسم که چیزی در مورد آنها نمی دانم. بنابراین در هر صورت، من می خواهم روشن کنم که من در مورد جاوا (که هرگز با آن کار نکرده ام) نمی نویسم، بلکه در مورد "رادار هکر" (که خیلی در مورد آن فکر کرده ام) می نویسم.

تعبیر «کتاب را از روی جلدش قضاوت نکنید» از زمانی نشأت می‌گیرد که کتاب‌ها در جلدهای مقوایی خالی فروخته می‌شد که خریدار آن را به دلخواه خود می‌بست. آن روزها نمی شد کتاب را از روی جلدش تشخیص داد. با این حال، از آن زمان، صنعت نشر پیشرفت زیادی کرده است و ناشران مدرن تمام تلاش خود را می کنند تا اطمینان حاصل کنند که جلد چیزهای زیادی بیان می کند.

من زمان زیادی را در کتابفروشی‌ها گذرانده‌ام و فکر می‌کنم یاد گرفته‌ام که همه چیزهایی را که ناشران می‌خواهند به من بگویند و احتمالاً چیزهای دیگر را درک کنم. بیشتر زمانی را که خارج از کتابفروشی می گذراندم، جلوی صفحه نمایش کامپیوتر می گذشت و گمان می کنم تا حدودی یاد گرفتم که فناوری را از روی جلد آن قضاوت کنم. ممکن است این شانس کور باشد، اما من موفق شده ام از چند فناوری که واقعاً بد بودند اجتناب کنم.

یکی از این فناوری ها برای من جاوا بود. من حتی یک برنامه در جاوا ننوشته ام، و فقط مستندات را مرور کرده ام، اما احساس می کنم که قرار نیست به یک زبان بسیار موفق تبدیل شود. من ممکن است اشتباه کنم - پیش بینی کردن در مورد فناوری یک تجارت خطرناک است. و با این حال، به نوعی گواهی بر آن دوران است، در اینجا این است که چرا من جاوا را دوست ندارم:

  1. اشتیاق بیش از حد. این استانداردها نیازی به تحمیل ندارند. هیچ کس سعی نکرد C، Unix یا HTML را تبلیغ کند. استانداردهای واقعی خیلی قبل از اینکه اکثر مردم درباره آنها بشنوند تعیین می شوند. در رادار یک هکر، Perl صرفاً به دلیل شایستگی‌هایش کمتر از جاوا به نظر می‌رسد.
  2. جاوا هدف بالایی ندارد. در توضیحات اصلی جاوا، گاسلینگ به صراحت بیان می کند که جاوا به گونه ای طراحی شده است که برای برنامه نویسانی که به زبان C عادت کرده اند، آسان باشد. این برنامه به گونه ای طراحی شده بود که C++:C دیگری با چند ایده وام گرفته شده از زبان های پیشرفته تر باشد. سازندگان جاوا مانند سازندگان کمدی، فست فود یا تورهای مسافرتی، آگاهانه محصولی را برای افرادی طراحی کردند که به اندازه خودشان باهوش نبودند. از لحاظ تاریخی، زبان‌هایی که برای استفاده دیگران طراحی شده‌اند شکست خورده‌اند: Cobol، PL/1، Pascal، Ada، C++. با این حال، موارد موفق آنهایی بودند که سازندگان برای خود توسعه دادند: C، Perl، Smalltalk، Lisp.
  3. انگیزه های پنهان زمانی یک نفر گفت که اگر مردم فقط زمانی کتاب بنویسند که چیزی برای گفتن داشته باشند، به جای نوشتن وقتی که احساس می کنند کتاب بنویسند، دنیا جای بهتری خواهد بود. به همین ترتیب، دلیل اینکه ما دائماً در مورد جاوا می شنویم این نیست که آنها سعی می کنند چیزی در مورد زبان های برنامه نویسی به ما بگویند. ما در مورد جاوا به عنوان بخشی از برنامه Sun برای مقابله با مایکروسافت می شنویم.
  4. هیچ کس او را دوست ندارد. برنامه نویسان C، Perl، Python، Smalltalk یا Lisp عاشق زبان خود هستند. من هرگز نشنیده ام که کسی عشق خود را به جاوا اعلام کند.
  5. مردم مجبور به استفاده از آن هستند. بسیاری از افرادی که من می شناسم و از جاوا استفاده می کنند از روی ناچاری این کار را انجام می دهند. آن‌ها فکر می‌کنند که این امر به آنها کمک مالی می‌کند، یا فکر می‌کنند برای مشتریان جذاب خواهد بود، یا این یک تصمیم مدیریتی است. اینها افراد باهوشی هستند. اگر فناوری خوب بود، داوطلبانه از آن استفاده می کردند.
  6. این غذای بسیاری از سرآشپزها است. بهترین زبان های برنامه نویسی توسط تیم های کوچک ساخته شده اند. جاوا توسط کمیته هدایت می شود. اگر معلوم شود که زبان موفقی است، اولین بار در تاریخ خواهد بود که کمیته ای چنین زبانی را ایجاد می کند.
  7. او بوروکراسی است. با توجه به اطلاعات کمی که در مورد جاوا دارم، به نظر می رسد که پروتکل های زیادی برای انجام هر کاری وجود دارد. زبان های واقعا خوب اینطوری نیستند. آنها به شما اجازه می دهند هر کاری می خواهید انجام دهید و مانعی برای شما نمی کنند.
  8. تبلیغات مصنوعی اکنون Sun سعی دارد وانمود کند که جاوا جامعه محور است، که یک پروژه منبع باز مانند Perl یا Python است. و با این حال، توسعه توسط یک شرکت بزرگ کنترل می شود. بنابراین خطر این است که زبان به همان بدبختی کسل کننده ای تبدیل شود که همه چیز از درون یک شرکت بزرگ بیرون می آید.
  9. برای سازمان های بزرگ ایجاد شده است. شرکت های بزرگ اهداف متفاوتی با هکرها دارند. شرکت ها به زبان هایی نیاز دارند که برای تیم های بزرگ برنامه نویسان متوسط ​​شهرت داشته باشند. زبان‌هایی با ویژگی‌هایی مانند محدودکننده‌های سرعت در کامیون‌های U-Haul که به احمق‌ها در مورد ایجاد خسارت بیش از حد هشدار می‌دهند. هکرها زبان هایی را که با آنها صحبت می کنند دوست ندارند. هکرها به قدرت نیاز دارند. از لحاظ تاریخی، زبان‌های ایجاد شده برای سازمان‌های بزرگ (PL/1، Ada) شکست خورده‌اند، در حالی که زبان‌های ایجاد شده توسط هکرها (C، Perl) برنده شده‌اند. دلیل: هکر نوجوان امروز مدیر ارشد فناوری فردا است.
  10. افراد اشتباه او را دوست دارند. برنامه نویسانی که بیشتر آنها را تحسین می کنم عموماً دیوانه جاوا نیستند. چه کسی او را دوست دارد؟ کت و شلوار، کسانی که تفاوت بین زبان ها را نمی بینند، اما دائماً در مورد جاوا در مطبوعات می شنوند. برنامه نویسان در شرکت های بزرگ، وسواس زیادی برای یافتن چیزی بهتر از C++ دارند. دانش‌آموزان همه‌چیز خوار پیش‌پایه‌ای که هر چیزی را دوست دارند که برایشان شغل پیدا کند (یا در امتحان پایان یابد). نظر این افراد با جهت باد تغییر می کند.
  11. پدر و مادرش روزهای سختی را می گذراند. مدل کسب و کار Sun در دو جبهه مورد حمله قرار گرفته است. پردازنده های ارزان قیمت اینتل که در رایانه های رومیزی استفاده می شوند به اندازه کافی برای سرورها سریع شده اند. و به نظر می رسد FreeBSD در حال تبدیل شدن به یک سیستم عامل سرور خوب مانند Solaris است. تبلیغات Sun به این معنی است که برای برنامه های کاربردی درجه تولید به سرورهای Sun نیاز دارید. اگر این درست بود، یاهو اولین خط خرید Sun بود. اما زمانی که من آنجا کار می کردم، از سرورهای اینتل و فری بی اس دی استفاده می کردند. این نویدبخش آینده سان است. و اگر Sun غروب کند، جاوا نیز ممکن است دچار مشکل شود.
  12. عشق به وزارت دفاع. وزارت دفاع توسعه دهندگان را تشویق به استفاده از جاوا می کند. و این بدترین نشانه به نظر می رسد. وزارت دفاع یک کار عالی (اگر گران قیمت) برای محافظت از کشور انجام می دهد، آنها عاشق برنامه ها، رویه ها و پروتکل ها هستند. فرهنگ آنها کاملاً مخالف فرهنگ هکر است. وقتی صحبت از نرم افزار به میان می آید، آنها تمایل دارند شرط بندی های اشتباهی انجام دهند. آخرین زبان برنامه نویسی که وزارت دفاع عاشق آن شد Ada بود.

لطفا توجه داشته باشید، این انتقاد از جاوا نیست، بلکه انتقاد از پوشش آن است. من جاوا را آنقدر نمی دانم که بتوانم آن را دوست داشته باشم یا دوست نداشته باشم. من فقط سعی می کنم توضیح دهم که چرا علاقه ای به یادگیری جاوا ندارم.

ممکن است شتابزده به نظر برسد که یک زبان را بدون برنامه‌نویسی در آن حذف کنید. اما این چیزی است که همه برنامه نویسان باید با آن دست و پنجه نرم کنند. فناوری‌های زیادی برای کشف همه آنها وجود دارد. شما باید یاد بگیرید که با علائم بیرونی قضاوت کنید که آیا ارزش وقت شما را دارد یا خیر. با همان عجله، Cobol، Ada، Visual Basic، IBM AS400، VRML، ISO 9000، SET Protocol، VMS، Novell Netware و CORBA را کنار گذاشتم. آنها فقط برای من جذابیتی نداشتند.

شاید من در مورد جاوا اشتباه می کنم. شاید زبانی که توسط یک شرکت بزرگ برای رقابت با شرکتی دیگر تبلیغ می‌شود، توسط کمیته برای توده‌ها، با هیاهوهای فراوان توسعه داده شده و مورد علاقه وزارت دفاع است، با این وجود، تبدیل به زبانی زیبا، زیبا و قدرتمند شود که من خوشحال خواهم شد. برنامه در شاید. اما بسیار مشکوک است.

با تشکر از ترجمه: دنیس میتروپولسکی

PS

منبع: www.habr.com

اضافه کردن نظر