VIP برنامه نویسی Client Side

وضعیت
موضوع بسته شده است.

☾♔TALAYEH_A♔☽

کاربر نگاه دانلود
کاربر نگاه دانلود
عضویت
2017/05/18
ارسالی ها
35,488
امتیاز واکنش
104,218
امتیاز
1,376
نماد پیاز
بنیاد پرل صاحب یک نماد جایگزین، یک پیاز است که به شرکت‌های تابعه آن، Perl Mongers, PerlMonks, Perl.org و دیگران مجوز می‌دهد. نماد یک پیانو بصری در پیاز مروارید است.
 
  • پیشنهادات
  • ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    مرور
    به گفته وال، پرل دارای دو شعار است. اول این است که «بیش از یک راه برای انجام این کار وجود دارد»، معمولاً به نام TMTOWTDI شناخته می‌شود. شعار دوم این است: «چیزهای آسان باید آسان و سخت باشد».

    ویژگی‌ها
    ساختار کلی Perl به‌طور گسترده‌ای از C استفاده می‌شود. Perl در طبیعت، با متغیرها، عبارت‌ها، بلوک‌های جدا شده برش، ساختارهای کنترل و سابروتین‌ها است. پرل نیز ویژگی‌های برنامه‌نویسی پوسته را می‌گیرد. همه متغیرها با sigilهای پیشرو مشخص شده‌اند، که به متغیرها اجازه می‌دهد به صورت مستقیم در رشته‌ها تکرار شوند. با این حال، بر خلاف پوسته، پرل با استفاده از sigils در تمام دسترسی به متغیرها، و بر خلاف اکثر زبان‌های برنامه‌نویسی دیگر که از sigils استفاده می‌کنند، sigil نوع متغیر را مشخص نمی‌کند، بلکه نوع بیان است. به عنوان مثال، برای دسترسی به یک لیست از مقادیر در هش، sigil برای یک آرایه ("@") استفاده می‌شود، نه sigil برای یک هش ("٪"). پرل همچنین دارای بسیاری از توابع ساخته شده‌است که ابزارهایی هستند که اغلب در برنامه‌نویسی پوسته استفاده می‌شوند (اگر چه بسیاری از این ابزارها توسط برنامه‌های خارجی از پوسته اجرا می‌شوند) مانند مرتب‌سازی و فراخوانی امکانات سیستم عامل.
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    طراحی
    طراحی پرل می‌تواند به عنوان یک پاسخ به سه رشته گسترده در صنعت رایانه شناخته شود: هزینه‌های سخت‌افزاری سقوط، افزایش هزینه‌های کار و بهبود تکنولوژی کامپایلر. بسیاری از زبان‌های رایج قبلی مانند Fortran و C به منظور استفاده کارآمد از سخت‌افزار رایانه‌های گرانقیمت استفاده می‌شود. در مقابل، Perl طراحی شده بود تا برنامه نویسان کامپیوتر بتوانند برنامه‌ها را سریع تر و راحت‌تر بنویسند.

    پیاده‌سازی
    پرل به عنوان یک مترجم اصلی، نوشته شده در C، همراه با مجموعه‌ای بزرگ از ماژول‌ها، نوشته شده در Perl و C اجرا می‌شود. مترجم را می‌توان به کتابخانه پیوند داد. تقریباً ۵۰۰ ماژول در توزیع وجود دارد که شامل ۲۰۰٬۰۰۰ خط Perl و ۳۵۰٬۰۰۰ خط دیگر از کد C است (بسیاری از کد C در ماژول‌ها شامل جداول رمزگذاری کاراکتر هستند).

    مترجم یک معماری شی گرا دارد. تمام عناصر زبان اسکالر Perl، آرایه‌ها، هش‌ها، coderefs، دسته‌های فایل - در مفسر توسط C ساختار نشان داده شده‌است. عملیات در این ساختارها توسط مجموعه‌ای بزرگ از ماکرو، تایپدیف و توابع تعریف شده‌است. این API Perl C را تشکیل می‌دهد. API Perl می‌تواند به uninitiated خجالت بکشد، اما نقاط ورود آن یک طرح نامگذاری سازگار را دنبال می‌کنند که راهنمایی را برای کسانی که از آن استفاده می‌کنند هدایت می‌کند.
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    زندگی یک مترجم پرل تقریباً به یک فاز کامپایل و مرحله اجرا تقسیم می‌شود. در Perl، مراحل اصلی مراحل زندگی مترجم است. هر مترجم فقط یک بار در هر فاز می‌رود و مراحل در دنباله ثابت دنبال می‌شوند.[۱۵] اغلب آنچه در فرایند کامپیوتر پرل اتفاق می‌افتد کامپیوتر است و اکثر آنچه که در مرحله اجرا در پرو رخ می‌دهد اعدام است اما استثنائاً قابل توجهی وجود دارد. پرل استفاده مهمی از قابلیت آن برای اجرای کد پرل در طی مرحله کامپایل می‌کند. پرل همچنین کامپایل را به مرحله اجرا متوقف می‌کند. شرایطی که نشان دهنده نوع پردازش است که در هر لحظه اتفاق می‌افتد. Perl در زمان کامپایل بیشترین امتیاز را در طی مرحله کامپایل دارد، اما زمان کامپایل نیز می‌تواند در طول مرحله اجرا وارد شود. زمان کامپایل برای کد در یک آرگومان رشته به داخل eval ساخته شده‌است که در مرحله اجرا رخ می‌دهد. Perl اغلب در زمان اجرا در مرحله فشرده‌سازی قرار دارد و بیشترین دوره اجرا را در زمان اجرا صرف می‌کند. کد در بلوک‌های BEGIN اجرا می‌شود. در زمان کامپایل، مترجم، کد پپرل را به یک درخت نحو تجزیه می‌کند. در زمان اجرا، برنامه را با راه رفتن درخت اجرا می‌کند. متن فقط یک بار تجزیه می‌شود و درخت نحوی برای بهینه‌سازی از قبل اجرا می‌شود، به‌طوری‌که اجرا نسبتاً کارآمد است. بهینه‌سازی زمان‌بندی کامپایل در درخت نحو شامل انتشار ثابت و لغزش است، اما بهینه‌سازی peephole نیز انجام می‌شود. پرل یک گرامر تورینگ کامل است، زیرا تجزیه می‌تواند توسط کد زمان اجرای اجرا شده در طول مرحله کامپایل اجرا شود؛ بنابراین، Perl را نمی‌توان با استفاده از ترکیبی Lex / Yacc Lexer / Parser پردازش کرد. در عوض، مترجم لکسور خود را اجرا می‌کند، که با یک اصلاح‌کننده گنو اصلاح شده و برای حل ابهامات در زبان هماهنگ شده‌است.
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    اغلب گفته می‌شود «تنها perl می‌تواند Perl را تجزیه کند»، به این معنی است که تنها مترجم پرل (perl) می‌تواند زبان پرل (Perl) را تجزیه کند، اما حتی این‌طور نیست، به‌طور کلی درست است. از آنجا که مترجم پرل می‌تواند یک ماشین تورینگ را در فاز کامپایل خود شبیه‌سازی کند، باید به منظور تکمیل تجزیه در هر مورد، مشکل تصمیم‌گیری را حل کند. این یک نتیجه طولانی مدت است که مشکل متوقف کردن غیرقابل تشخیص است و بنابراین حتی Perl هم همیشه می‌تواند Perl را تجزیه کند. Perl گزینه غیرمعمولی برای دسترسی کاربر به قدرت برنامه‌نویسی کامل خود را در فاز کامپایل خود می‌دهد. هزینه در نظر خلوص نظری بالا است، اما نارسایی عملی به نظر می‌رسد نادر است. برنامه‌های دیگری که به تجزیه Perl پرداخته‌اند، مانند تجزیه و تحلیل‌های منبع کد و تکرار خودکار، باید نه تنها با ساختارهای مبهم نحو، بلکه با عدم پذیرفتگی تجزیه Perl در مورد کلی بحث می‌کنند.[۱۶] پرل با بیش از ۲۵۰٬۰۰۰ آزمون عملکردی برای زبان اصلی Perl و بیش از ۲۵۰٬۰۰۰ آزمون عملکردی برای ماژول‌های اصلی توزیع شده‌است. اینها به عنوان بخشی از فرایند ساخت و ساز طبیعی عمل می‌کنند و تمرین مترجم و ماژول‌های اصلی آن را به‌طور گسترده‌ای انجام می‌دهند. توسعه دهندگان پرل بر تست‌های عملکردی تکیه می‌کنند تا اطمینان حاصل شود که تغییرات به مترجم، اشکالات نرم‌افزاری را ارائه نمی‌دهند؛ علاوه بر این، کاربران پرل که می‌بینند که مترجم آزمون‌های عملکردی خود را بر روی سیستم خود می‌گذارد می‌تواند سطح بالایی از اعتماد به نفس داشته باشد که به درستی کار می‌کند.
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    دسترسی
    Perl دو مجوز تحت هر دو مجوز هنری و مجوز عمومی GNU دارد که برای اکثر سیستم عامل‌ها در دسترس است. این به ویژه در سیستمPOSIX یا دیگر نرمافزارهای یونیکس کامپایل کرد.[۱۷]

    به دلیل تغییرهای غیرمعمول مورد نیاز برای محیط سیستم عامل مک، یک پورت خاص به نام MacPerl به‌طور مستقل حمل می‌شود.[۱۸]

    شبکه جامع پرل آرشیو فهرست کاملی از سیستم عامل‌های پشتیبانی شده با لینک‌های مربوط به توزیع‌هایی که در هر یک از آن‌ها موجود است، می‌باشد. CPAN همچنین منبع برای ماژول‌های پرل قابل دسترس است که بخشی از توزیع هسته پرل نیستند.
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    ویندوز
    کاربران مایکروسافت ویندوز معمولاً یکی از توزیعهای دودویی بومی Perl را برای Win32، اغلب Strawberry یا Active Perl نصب می‌کنند. کامپایل Perl از کد منبع در ویندوز امکان‌پذیر است، اما اکثر تأسیسات کامپایلر C مورد نیاز و ابزار ایجاد نمی‌کنند. این باعث می‌شود که ماژول‌های CPAN نصب شود، مخصوصاً آنهایی که در C نوشته شده‌اند.

    Active Perl یک توزیع منبع بسته از Active State است که نسخه‌های معمولی را دارد که انتشار Perl هسته را پیگیری می‌کند. توزیع همچنین شامل مدیریت بسته‌های پرل (PPM),[۲۰] یک ابزار محبوب برای نصب، حذف، ارتقاء و مدیریت استفاده از ماژول‌های پرل معمولی است.[۲۱] همچنین شامل Perl Script می‌شود که یک موتور ویندوز اسکریپت (WSH) است که زبان پرل را اجرا می‌کند. ویژوال پرل ابزار Active State است که Perl را به مجموعه توسعه ویژوال استودیو اضافه می‌کند.

    Strawberry perl پرل توزیع منبع باز برای ویندوز است. این نسخه از ماه ژانویه سال ۲۰۰۸ به صورت منظم، سه‌ماهه منتشر شده‌است، از جملهای یونیکس و یونیکس شایع است، اما آن را به اکثر سیستم عامل مدرن (و بسیاری از منسوخ) منتقل کرده‌است. با استفاده از تنها شش استثناء گزارش شده، Perl را می‌توان از کد منبع در تمامی پلتفرم‌های سازگار با ه ماژول‌های جدید به عنوان بازخورد و درخواست‌های وارد شده‌است. Strawberry Perl قصد دارد قادر به نصب ماژول‌هایی مانند توزیع‌های استاندارد Perl در سیستم عامل‌های دیگر، از جمله جمع‌آوری ماژول‌های XS شود.

    لایه شبیه‌سازی Cygwin روش دیگری برای اجرای Perl در ویندوز است. Cygwin یک محیط یونیکس را در ویندوز فراهم می‌کند و هر دو Perl و CPAN به عنوان بسته‌های استاندارد پیش‌ساخته شده در برنامه راه اندازی Cygwin در دسترس هستند. از آنجا که Cygwin همچنین شامل GCC است، کامپایل Perl از منبع نیز امکان‌پذیر است.

    اجرایی perl در چندین کیت منابع Windows در دایرکتوری با سایر ابزارهای اسکریپتینگ گنجانده شده‌است

    پیاده‌سازی پرل همراه با MKS TOOLKIT و UWIN است.
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    پایگاه داده
    توانایی انتقال متن Perl را می‌توان برای تولید پرس و جوهای SQL استفاده کرد. آرایه‌ها، هش‌ها و مدیریت حافظه خودکار، جمع‌آوری و پردازش داده‌های بازگشتی را آسان می‌کند. برای مثال، در API برنامه کاربردی Perl DBI Tim Bunce، استدلال‌های API می‌تواند متن درخواست‌های SQL باشد؛ بنابراین ممکن است در یک زمان با چندین زبان برنامه ایجاد کرد (به عنوان مثال ایجاد یک صفحه وب با استفاده از HTML، جاوا اسکریپت و SQL در یک سند). استفاده ازمتغیر interpolation پرل باعث می‌شود هر یک از پرس و جوهای SQL بهینه شوند. مشخص کردن آرایه‌ها یا هش‌های پرل به عنوان ساختارهایی که به‌طور برنامه‌ریزی شده مجموعه داده‌های حاصل از هر پرس و جو SQL را نگه دارند، اجازه می‌دهد تا یک مکانیزم سطح بالا برای رسیدگی به مقادیر زیاد داده‌ها برای پردازش پس از یک زیر برنامه پرل ایجاد شود. در نسخه‌های اولیه پرل، رابط‌های پایگاه داده توسط ارتباط مجدد مترجم با یک کتابخانه پایگاه داده مشتری ایجاد می‌شد. این به اندازهای دشوار بود که فقط برای بعضی از پایگاه‌های مهم مورد استفاده قرار می‌گرفت، و این باعث محدود شدن اجرای perl در نتیجهٔ استفاده از یک رابط پایگاه داده، یک زمان شود.[۲۲]

    در Perl 5، اینترفیس‌های پایگاه داده توسط ماژول‌های DBI پرل اجرا می‌شوند. ماژول DBI (رابط پایگاه داده) یک رابط مستقل از پایگاه داده را به برنامه‌های پرل ارائه می‌دهد، در حالی که ماژول DBD (راننده پایگاه داده) اطلاعات مربوط به دسترسی به حدود ۵۰ پایگاه داده متفاوت را اداره می‌کند؛ رانندگان DBD برای اکثر پایگاه‌های ANSI SQL وجود دارد.

    DBI ذخیره‌سازی برای دسته‌های پایگاه داده و نمایش داده‌ها را فراهم می‌کند، که می‌تواند عملکرد بسیار زیادی را در محیط‌های اجرای طولانی مدت مانند mod perl بهبود بخشد، کمک به سیستم‌های با حجم بالا، به عنوان یک اثر Slashdot، باعث جلوگیری از حمل بار می‌شود.[۲۳]

    در برنامه‌های کاربردی مدرن پرل، به ویژه آنهایی که با استفاده از چارچوب وب مانند Catalyst نوشته می‌شوند، ماژول DBI اغلب به‌طور غیرمستقیم از طریق نمایشگرهای شیء-ارتباطی مانند DBIx :: Class, Class :: DBI یا Rose :: DB :: Object که پرس و جوهای SQL تولید می‌کنند، استفاده می‌شود.
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    بهینه‌سازی
    از آنجا که Perl یک زبان تفسیر است، می‌تواند مشکل‌ها را هنگامی که کارایی بسیار مهم است، ارائه دهد. در چنین شرایطی، مهم‌ترین برنامه‌ها می‌توانند در زبان‌های دیگر (مانند C) نوشته شوند، که می‌توانند از طریق ماژول‌های ساده Inline یا مکانیسم XS پیچیده‌تر، اما انعطاف‌پذیرتر به Perl متصل شوند.
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    پرل ۶
    Jon Orwant در کنفرانس ۲۰۰۰ پرل، پرونده‌ای برای یک زبان ابتکاری جدید ساخت. این به تصمیم‌گیری برای شروع کار بر روی طراحی مجدد زبان، به نام پرل ۶. منجر شد. پیشنهادها مربوط به ویژگی‌های جدید زبان از جامعه پرل به‌طور گسترده درخواست شد که بیش از 300 RFC را ارائه می‌داد.[۲۵]

    wall چند سال بعد به تشخیص RFCها و ترکیب آن‌ها به یک چارچوب منسجم برای پرل ۶ مشغول شد. او طراحی خود را برای Perl 6 در مجموعه‌ای از اسناد به نام "apocalypses" ارائه کرده‌است که شماره آن مربوط به فصل‌های برنامه‌نویسی پرل می‌باشد. از ژانویه ۲۰۱۱، مشخصات در حال توسعه پرل ۶ در اسناد طراحی به نام Synopses - شماره‌گذاری شده‌است که به Apocalypse مربوط است.[۲۶]

    Perl 6 در نظر گرفته نشده که با نسخه‌های قبلی سازگار باشد، اگر چه یک حالت سازگاری وجود خواهد داشت. پرل ۶ و پرل ۵ زبان‌های متمایز با یک قبیله مشترک هستند.

    کار پایان‌نامه بردلی م. کوهن تحت نظارت لری وال، امکان استفاده از ماشین مجازی جاوا را به عنوان زمان اجرا برای Perl در نظر گرفت. پایان‌نامه کوهن نشان داد که این رویکرد مشکل ساز است. در سال ۲۰۰۱ تصمیم گرفت که پرل ۶ بر روی ماشین مجازی متقابل زبان Parrot اجرا شود. این بدان معنی است که زبانهای دیگر که با هدف قرار دادن Parrot دسترسی پیدا می‌کنند به CPAN دسترسی پیدا می‌کنند و اجازه می‌دهند سطح پیشرفته زبان را افزایش دهند.

    در سال ۲۰۰۵، آدری تانگ پروژه Pugs را ایجاد کرد، اجرای Perl 6 در Haskell. این عمل به عنوان یک پلت فرم آزمون برای زبان پرل ۶ (به غیر از توسعه اجرای واقعی) عمل می‌کند و به طراحان زبان اجازه می‌دهد تا آن‌ها را کشف کند. پروژه Pugs یک انجمن متقابل زبان Perl / Haskell فعال را در اطراف کانال IRC # perl6 freenode ایجاد کرد.

    از سال ۲۰۱۲، تعدادی از ویژگی‌های زبان پرل ۶ شباهت به Haskell را نشان می‌دهند.[۲۷]

    در سال ۲۰۱۲، Perl 6 توسعه مراکز عمدتاً در حدود دو کامپایلر:

    Rakudo Perl 6، یک پیاده‌سازی بر روی ماشین مجازی Parrot و ماشین مجازی جاوا است. توسعه دهندگان همچنین بر روی MoarVM، یک ماشین مجازی مبتنی بر زبان برنامه‌نویسی C به‌طور خاص برای Rakudo کار می‌کنند.[۲۸]

    Niecza، که به Runtime Common Language اهمیت می‌دهد.
     
    وضعیت
    موضوع بسته شده است.

    برخی موضوعات مشابه

    بالا