کتاب الکترونیکی

Perl مرتبه بالاتر: تبدیل برنامه ها با برنامه ها

Higher-Order Perl: Transforming Programs with Programs

دانلود کتاب Higher-Order Perl: Transforming Programs with Programs (به فارسی: Perl مرتبه بالاتر: تبدیل برنامه ها با برنامه ها) نوشته شده توسط «Mark Jason Dominus»


اطلاعات کتاب Perl مرتبه بالاتر: تبدیل برنامه ها با برنامه ها

موضوع اصلی: برنامه نویسی: زبان های برنامه نویسی

نوع: کتاب الکترونیکی

ناشر: Morgan Kaufmann

نویسنده: Mark Jason Dominus

زبان: English

فرمت کتاب: pdf (قابل تبدیل به سایر فرمت ها)

سال انتشار: 2005

تعداد صفحه: 601

حجم کتاب: 2 مگابایت

کد کتاب: 9781558607019 , 1865843830 , 1558607013

توضیحات کتاب Perl مرتبه بالاتر: تبدیل برنامه ها با برنامه ها

فکر می کنم برنامه نویسان غیر Lisp اساساً جذابیت Lisp و اینکه چرا آن را نسبت به سایر زبان های برنامه نویسی برتری دارد، اشتباه می دانند. Lisp برتر نیست زیرا عملکردهای مرتبه بالاتر یا هر چیز دیگری را ارائه می دهد، بلکه برتر است زیرا مانعی ندارد: Lisp به جای اینکه مشکلات را مجبور به پاسخگویی کند، با مشکلات روبرو می شود.

این کتاب دو هدف را دنبال می کند: از یک طرف به برنامه نویسان Perl کمک می کند تا مرکز ثقل راه حل های خود را از پرل دورتر کنند و کمی به مشکلات خود نزدیکتر کنند (در واقع کمی نزدیکتر) و از طرف دیگر ارائه می دهد. یک معرفی خوب برای برنامه نویسان Lisp برای Perl، و برای آن پنج ستاره بی دردسر دریافت می کند.

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

جملات کوچک: تجزیه‌کننده Prettence Precedence ممکن است بهتر از تجزیه‌کننده نزولی بازگشتی که توسعه داده شده است، بحث را تطبیق دهد، و بحث عمیق‌تر در مورد روش‌هایی که پرل با این وجود از لیسپ فاصله می‌گیرد، به‌جای اشاره‌ای گذرا به فهرست نورویگ، در واقع می‌توانست داشته باشد. استدلال را قوی‌تر کرد – برای مثال نمی‌توانید یک تسهیلات ماکرو مشابه Lisp را به Perl اضافه کنید، و نمی‌توانید ادامه‌های کلی موجود در Scheme را اضافه کنید (یا ادامه‌های محدودی که Graham، به عنوان مثال، نحوه اضافه کردن به Common Lisp را نشان می‌دهد).

به طور خلاصه، Higher Order Perl مورد خوبی برای زیبایی شناسی هایکو است، اما باید درک کرد که (علیرغم آنچه پسر عموی من، لئونتیا فلین، فکر می کند) این هایکو با ماشین تحریر نوشته شده است، نه با قلم موی خوشنویس.

P.S. یک ناراحتی مکرر جزئی برای من این بود که نویسنده، با وجود همه چیز، اصرار داشت که چگونه توابع ورودی باید فایل های ورودی را یک خط در یک زمان بخوانند. این یک ذهنیت عجیب و غریب از دهه هفتاد است که با استدلال کلی کتاب مغایرت دارد: اگر رایانه ای با صدها مگابایت یا گیگابایت هسته دارید، پس روش کارآمد برای خواندن یک فایل متنی به صورت خطی نیست. خط، اما در یک حرکت.


Non-Lisp programmers, I think, fundamentally misunderstand the appeal of Lisp, and why it is superior to other programming languages. Lisp is not superior because it offers higher order functions or any of the other things, it is superior because it does not get in the way: Lisp meets problems, rather than forcing problems to meet it.

This book serves two purposes: on the one hand it helps Perl programmers to move the center of gravity of their solutions further away from Perl, and a bit closer to their problems (quite a bit closer, actually), and on the other it provides a good introduction to Perl for Lisp programmers, and for that it gets an effortless five stars.

I suspect that it is maybe more successful for the second purpose than the first: a relaxed read for someone who knows what a closure is, but for someone who does not know what a closure is, most likely not a relaxed read. Further, anyone who masters the contents may find that his newly refined coding style is somewhat caviary to the general, something that would be a problem in any IT/ORG that I have experienced.

Small quibbles: A Pratt Precedence parser might have fitted the discussion better than the recursive descent parser that is developed, and a deeper discussion of the ways that Perl nevertheless falls short of Lisp, instead of just a passing reference to Norvig’s list, would actually have made the arguement stronger – for instance you cannot add a macro facility similar to that of Lisp to Perl, and you cannot add the general continuations available in Scheme (or the limited continuations that Graham, e.g., shows how to add to Common Lisp).

In short, Higher Order Perl makes a good case for the the aesthetics of haiku, but one should understand that (in spite of what my cousin, Leontia Flynn, thinks) it is haiku written with a typewriter, not with a caligrapher’s brush.

P.S. One minor repeated irritation for me was the way the author, in spite of everything, insisted on emphasising how input functions should read input files one line at a time. This is a bizarre mindset holdover from the seventies, that is inconsistent with the general argument of the book: if you have a computer with hundreds of megabytes, or gigabytes, of core, then the efficient way to read a text file is not line by line, but in one go.

دانلود کتاب «Perl مرتبه بالاتر: تبدیل برنامه ها با برنامه ها»

مبلغی که بابت خرید کتاب می‌پردازیم به مراتب پایین‌تر از هزینه‌هایی است که در آینده بابت نخواندن آن خواهیم پرداخت.

📖 خرید این کتاب

برای دریافت فایل و اطلاع از قیمت، روی یکی از دکمه‌های زیر کلیک کنید تا پیام آماده برای شما ارسال شود:

پس از ارسال پیام، قیمت و لینک دریافت فایل در اسرع وقت برای شما ارسال خواهد شد.