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

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

☾♔TALAYEH_A♔☽

کاربر نگاه دانلود
کاربر نگاه دانلود
عضویت
2017/05/18
ارسالی ها
35,488
امتیاز واکنش
104,218
امتیاز
1,376
تی‌سی‌ال
تی‌سی‌ال
70px-Tcl-powered.svg.png

پارادایم پارادایم برنامه‌نویسی: برنامه‌نویسی شیءگرا، برنامه‌نویسی تابعی، برنامه‌نویسی رویه‌ای، برنامه‌نویسی رویدادمحور، برنامه‌نویسی دستوری
طراحی‌شده توسط John Ousterhout
توسعه‌دهنده Tcl Core Team
ظهوریافته در ۱۹۸۸؛ ۳۱ سال پیش
انتشار پایدار
۸٫۶٫۶ / ۲۷ ژوئیه، ۲۰۱۶؛ ۲ سال پیش
نظم ماشین‌نویسی
dynamic typing, everything can be treated as a رشته (علوم رایانه)
پروانه پروانه‌های بی‌اس‌دی-style
پسوندهای نام پرونده
.tcl, .tbc
وب‌گاه
Please, ورود or عضویت to view URLs content!

پیاده‌سازی‌های بزرگ
ActiveTcl
تأثیرگرفته از
AWK، لیسپ
تأثیرگذاشته بر
پی‌اچ‌پی، Tea، ویندوز پاورشل
زبان Tcl (مخفف Tool Command Language - زبان کنترل ابزار) حاصل تحقیقات John Ousterhout روی ابزارهای رایانه‌ای طراحی مدارهای الکتریکی در دانشگاه برکلی است. در این تحقیقات، Ousterhout و دانشجویانش مجبور بودند برای هریک از این ابزارها یک زبان کنترل جداگانه طراحی کنند، اما به دلیل توجه بیشتر به خود ابزار (و نه زبان)، ابزارها عموماً دارای زبان‌های کنترل ضعیفی بودند. در پاییز سال ۱۹۸۷، در آزمایشگاه شرکت DEC، این ایده به ذهن Ousterhout رسید که یک زبان فرمان قابل جاسازی(Emdeddable Command Language) طراحی کند. یک زبان مفسری (Interpreted) خوب که بتواند به عنوان یک بسته کتابخانه‌ای در برنامه‌های گوناگون استفاده شود. هدف این بود که مفسر زبان مجموعه‌ای از امکانات اولیه را (مانند متغیرها و ساختارهای کنترلی) فراهم آورد و هر یک از ابزارهای استفاده‌کننده از آن بتوانند ویژگی‌های مورد نظر خود را به آن اضافه کنند. Ousterhout در سال ۱۹۸۸ پس از بازگشت از آزمایشگاه DEC، کار بر روی Tcl را شروع کرد و نخستین نسخه آن را در یک متن پرداز (Text Editor) گرافیکی به کار گرفت. در ابتدا این کار فقط جنبه تحقیقاتی داشت و Ousterhout گمان نمی‌کرد دیگران هم به استقاده از آن علاقه‌مند باشند.

محتویات
  • ۱ فلسفه زبان
  • ۲ نوآوری‌ها
  • ۳ کاربردها
  • ۴ بررسی زبان شناختی (ساختار و نحو زبان)
  • ۵ متغیرها
  • ۶ ساختارهای کنترلی
  • ۷ دستورها و عبارت‌ها
  • ۸ رشته ها[۲]
  • ۹ توضیحات (Comments)
  • ۱۰ لیست‌ها
  • ۱۱ آرایه‌ها
  • ۱۲ زیربرنامه‌ها و محدوده‌ها
  • ۱۳ سایر امکانات[۲]
  • ۱۴ نمونه برنامه‌های کامل Tcl
  • ۱۵ منابع
 
  • پیشنهادات
  • ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    فلسفه زبان
    نیاز به امکان جاسازی (Embeddability) قابلیت ویژه زبان Tcl است و به گفته Ousterhout باعث می‌شود که اهداف زیر برای زبان در نظر گرفته شود:

    ۱. زبان باید گسترش پذیر(extensible) باشد: افزودن امکانات جدید به زبان توسط سایر افراد باید به آسانی امکان‌پذیر باشد و امکانات اضافه شده باید چنان باشند که انگار جزئی از خود زبان هستند (طبیعی باشند، نه این که با استفاده از اعمال پیچیدهای به مقصود برسند).

    ۲. زبان باید ساده و عمومی باشد، تا بتواند به آسانی با برنامه‌های گوناگون کار کند و امکاناتی را که این برنامه‌ها می‌توانند به زبان اضافه کنند محدود نکند.

    ۳. زبان باید امکانات خوبی برای ادغام داشته باشد، زیرا امکانات مهم‌تر زبان آنهایی است که توسط برنامه استفاده‌کننده به زبان افزوده شده‌است و کار اصلی زبان ادغام (integration) و پیوند دادن آن‌ها با یکدیگر است.
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    نوآوری‌ها
    مهمترین نوآوریهای Tcl عبارتند از قابلیت جاسازی و آسانی تولید واسط کاربر گرافیکی. با ایجاد قابلیت جاسازی، مشکل بسیاری از افرادی که نیاز به یک زبان دارند، اما نمی‌خواهند یک زبان کامل را از ابتدا طراحی کنند حل شده است. به دلیل آسانی جاسازی Tcl در سایر برنامه‌ها، استفاده از آن در اوایل دهه ۹۰ به سرعت رشد کرد. قابلیت دیگر Tcl، مجموعه ابزار Tk است که به عنوان گسترشی بر Tcl تولید شد و امکان ایجاد واسط کاربر گرافیکی با استفاده از ادغام مؤلفه(component)ها را به وسیله Tcl فراهم آورد. این قابلیت نیز به امکان استفاده از Tcl برای تولید برنامه‌های بزرگتر و با واسط کاربر مناسب افزود و در کسترش استفاده از آن سهم به سزایی داشت.
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    کاربردها
    برخی از کاربردهای Tcl به شرح زیر است[۱]:

    • کاربردهای وب: از آنجا که Tcl یک زبان رشته-محور است برای برنامه‌های وبی مفید است. از نمونه برنامه‌های وبی استفاده‌کننده از Tcl می‌توان به AOLserver و TclHttpd اشاره کرد. به علاوه کتابخانه‌های CGI برای Tcl موجود است که امکان استفاده از آن به عنوان یک زبان برنامه‌نویسی وب را فراهم می‌کند.
    • برنامه‌های با واسط کاربر گرافیکی (GUI Desktop Applications): ابزار Tk برای ایجاد برنامه‌های گرافیکی بسیار قدرتمند است. به علاوه این ابزار چند-سکویی (چندسکویی) است و بر روی Windows,Linux و Mac OS X قابل استفاده و اجراست.
    • آزمایش و خودکارسازی: Tcl خود دارای یک چارچوب تست به نام tcltest است. به علاوه شرکتهایی مانند Oracle, Sybase و Cisco میلیون‌ها خط کد Tcl برای تست محصولات خود دارند.
    • پایگاه‌های داده: Tcl دارای گسترشهایی برای کار با پایگاه‌های داده گوناگون مانند MySQL, Sybase, PostgreSQL, Oracle و Berkeley DB می‌باشد. همچنین بسته‌های wrapper ای وجود دارند که یک واسط واحد برای چند نوع پایگاه داده فراهم می‌کنند.
    • توسعه نهفته (Embedded Development): استفاده از Tcl به علت قابلیت ادغام بالای آن، هم در محصولات سختافزاری مانند محصولات Cisco و هم در محصولات نرم‌افزاری مانند نرم‌افزارهای طراحی به کمک رایانه (CAD) و خودکارسازی طراحی الکترونیکی (EDA) رایج است. ابزار شبیه‌سازی Modelsim یکی از ابزارهایی است که با زبان Tcl کار می‌کند.
    علاوه بر کابردهای فوق، کاربردهای دیگر تحقیقاتی از Tcl نیز مشاهده شده‌است. به عنوان مثال در سیستم‌های رباتیک از زبان Tcl استفاده شده‌است[۴]. همچنین این زبان در توسعه سریع نرم‌افزار (Rapid Application Development) نیز استفاده شده‌است[۵].
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    بررسی زبان شناختی (ساختار و نحو زبان)
    برنامه‌های Tcl تشکیل شده‌اند از دستورهایی که با semicolon یا با رفتن به خط جدید (newline) از هم جدا شده‌اند. هر دستور از تعدادی کلمه تشکیل شده‌است که با فاصله از هم جدا شده‌اند. همهٔ دستورهای Tcl مقدار برمی‌گردانند. اگر برگرداندن مقدار برای دستوری معنا نداشته باشد، یک رشتهٔ تهی برمی‌گرداند.
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    متغیرها
    در Tcl نیازی به تعریف متغیر نیست. هر متغیری در اولین دفعه استفاده آن، تعریف می‌شود. همچنین متغیرها در Tcl دارای نوع نیستند. هر متغیری می‌تواند هر مقداری بگیرد[۱]. البته می‌توان با استفاده از دستور variable اقدام به تعریف متغیر در یک فضای نام (علوم رایانه) کرد[۳]. با استفاده از دستور set می‌توان مقادیر را در متغیرها ذخیره و از آن‌ها بازیابی نمود. برای ذخیره :

    set x ۳۲
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    برای خواندن مقدار :

    set x

    برای استفاده از مقادیر یک متغیر از روش «جایگذاری متغیر» به شکل زیر استفاده می‌شود:

    expr $x+3
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    این دستور مقدار x+۳ را برمی‌گرداند. هنگامی که یک علامت دلار در عبارت ظاهر می‌شود، Tcl حروف و اعداد پس از آن را به عنوان نام متغیر تعبیر می‌کند و مقدار آن متغیر را به جای نام آن می‌گذارد[۱].

    جایگذاری متغیر را می‌توان برای همه کلمه‌های یک دستور Tcl، مستقل از این که آن کلمه یک نام دستور یا یک آرگومان است، به کار برد. مثلاً عبارات زیر معادل عبارات قبلی است:

    set a expr
    set x ۳۲
    $a $x+3
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    ساختارهای کنترلی
    Tcl مجموعه کاملی از دستورهای کنترلی شامل دستورهای اجرای شرطی، دستورهای حلقه و دستورهای زیربرنامه‌ای را دارد. دستورهای کنترلی Tcl دستورهایی عادی هستند که به عنوان آرگومان، اسکریپتهای Tcl می‌گیرند[۱]. به عنوان مثال دستور proc که برای تعریف زیربرنامه به کار می‌رود، سه آرگومان می‌گیرد: نام زیربرنامه، لیست نام پارامترهای آن، و بدنه زیربرنامه که یک اسکریپت Tcl است:

    proc power {base p} {
    set result 1
    while {$p> ۰} {
    set result [expr $result * $base]
    set p [expr $p - 1]
    }
    return $result
    }
     

    ☾♔TALAYEH_A♔☽

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2017/05/18
    ارسالی ها
    35,488
    امتیاز واکنش
    104,218
    امتیاز
    1,376
    مشابها دستور while که در بالا مشاهده می‌شود، یک دستور Tcl است که دو آرگومان می‌گیرد: یک عبارت که همان عبارت شرط است و یک بدنه که یک اسکریپت Tcl است.

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

    power 2 6
    power 1.15 5
     
    وضعیت
    موضوع بسته شده است.

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

    بالا