تي سي إل

تي سي إل
Tcl.svg

Eclipse-dltk-itcl en fedora 11 con KDE 4.2.4.png
 


التصنيف برمجة إجرائية، برمجة كائنية
ظهرت في 1988
صممها جون أوستورهوت
الرخصة رخص بي إس دي  تعديل قيمة خاصية (P275) في ويكي بيانات
التطوير
المطور جون أوستورهوت، Tcl Core Team
آخر إصدار 8.5.12
رقم اخر اصدار 8.5.12 (27 يوليو 2012; منذ 7 سنين (2012-07-27)
آخر إصدار غير مستقر 8.6b2
التأثير
متأثرة بـ أوك، ليسب
أثرت في ويندوز باورشيل، تي
متفرقات
امتدادات الملفات .tcl
موقع ويب tcl.sourceforge.net

تي سي أل هي اختصار لأداة التحكم باللغة ولكن أصبح الناس يقول لها تي سي أل لتسهيل الكلام تلفظ ككلمة (تكل)أو تلفظ تي سي إل هذه هي لغة برمجية متعددة الاستخدام أنشأها جون أوستورهوت.[1][2][3] في الأصل "ولدت من الإحباط" وفقا للمؤلف، مع وضع المبرمجين الخاصة بها (نوعية رديئة) لغات يقصد به أن يكون جزءا لا يتجزأ من داخل التطبيقات التي سي إل حظيت بالقبول من تلقاء نفسها. التي سي إل يستخدم عادة للنماذج السريعة، التطبيقات النصية، وواجهة المستخدم الرسومية والاختبار.تس سي إل يستخدم لمنصات الأنظمة المطمورة، سواء في شكله الكامل أو في اصدارات سمول برينتر أخرى التي سي إل يستخدم أيضا في برمجة المدخل العمومي لأجهزة التوصيل.

التاريخ[عدل]

لغة البرمجة للتي سي إل أخترعت في ربيع سنة 1988 من قبل جون أوستورهوت عندما كان يعمل في جامعة كاليفورنيا،بيريكيلي.

في شهر 1 من سنة 1990 : اعلن التي سي أل في جامعة بيريكلي (شتاء مجموعة مستخدمي اليونيكس)

في شهر 6 من سنة 1990:توقع اعلان (صيف مستخدمي يونيكس)

في شهر 1 من سنة 1990 : أول اعلان للتي كي (شتاء مستخدمي يونيكس)

في شهر 6 من سنة 1993 : أول مؤتمر لتي كي وتي سي أل في بيريكلي.

في شهر 9 من سنة 2002: تاسع اجتماع لتي سي أل وتي كي في فانكوفر الإعلان عن نظام التغليف ستاركيت

مقالات تي سي أل عقدت في أمريكا وأوروبا

ملامح[عدل]

ملامح التي سي إل تضم:

  • جميع العمليات هي اوامر بما في ذلك قواعد اللغة وهي مكتوبة في تدوين البادئة
  • الأوامر هي بالعادة مبرمجة
  • كل شيء يمكن ان يعمل اعادة تعريف ديناميكية وجاوز
  • يمكن التلاعب بجميع أنواع البيانات مثل الآلات الوترية.بما في ذلك الكود
  • جميع الاوامر تعرف بالتي سي إل ومن تلقاء نفسها تظهر رسائل خطأ في استخدام غير صحيح
  • التي سي إل قابل للمد، بواسطة السي والسي بلص بلص والجافا والتي سي إل
  • ترجمة اللغة بواسطة الباي كود
  • دعم اليوني كود الكامل (3.1) ,أول ظهور لها في 1999
  • برامج مستقلة: وين32، يونيكس، لينوكس، ماك إلى اخره
  • اغلاق كامل مع نوافذ واجهة المستخدم الرسومية تي سي

التي سي إل لم تدعم من وجوه المنحى بناء الجملة قبل 8.6 (8.6 تزود ال نظام الاوه أو في جوهر التي سي إل إذا وظائف الاوه أو زودت بواسطة علب الامتداد. حتى الاوه أو المكتوب بنقاء علب.

أمثلة[عدل]

proc ! x {expr {$x<2? 1: $x*[! [incr x -1]]}} 
  • حساب قائمة من الأرقام

بإستعمال الدالة foreach:

set nombres {10 9 8 7 6 5 4 3 2 1} set somme 0 foreach i $nombres {     set somme [expr {$somme + $i}] } 

أو أكثر إحكاما باستخدام الأمر join:

set somme [expr [join $nombres +]] 
  • استبدال الحروف في جدول بإستعمال الأمر string:
set sequence "ACGTATTACGGTCCATGAACGAATTGGGATATCGACCATGATGGAATTCTG" puts [string map {GA R TC Y GT K AC M GC S AT W} $sequence] 
  • تحميل صفحة HTML:
package require http puts [http::data [http::geturl http://mini.net/tcl/540]] 
  • إعطاء الوقت عن طريق الخطاب الصوتي على أندرويد:
package require android set android [android new] set time [clock format [clock seconds] -format "%I %M %p on %A, %B %e %Y."] android speak $time 

كلمات محجوزة[عدل]

after		 exec		list		read		tm append		 exit		llength		refchan		trace apply		 expr		lmap		regexp		trap array		 fblocked	load		registry *	try auto_execok	 fconfigure	lrange		regsub		unknown auto_import	 fcopy		lrepeat		rename		unload auto_load	 file		lreplace	return		unset auto_mkindex	 fileevent	lreverse	scan		update auto_mkindex_old filename	lsearch		seek		uplevel auto_qualify	 finally	lset		set		upvar auto_reset	 flush		lsort		socket		variable bgerror		 for		mathfunc	source		vwait binary		 foreach	mathop		split		while break		 format		memory		string		yield catch		 gets		msgcat		subst		yieldto cd		 glob		namespace	switch		zlib chan		 global		open		tailcall clock		 history	package		tcl_endOfWord close		 http		parray		tcl_findLibrary concat		 if		pid		tcl_startOfNextWord continue	 incr		pkg::create	tcl_startOfPreviousWord coroutine	 info		pkg_mkIndex	tcl_wordBreakAfter dde *		 interp		platform	tcl_wordBreakBefore dict		 join		platform::shell	tcltest encoding	 lappend	proc		tclvars eof		 lassign	puts		tell error		 lindex		pwd		throw eval		 linsert	re_syntax	time 

(*): مخصصة لمنصة ويندوز

وصلات خارجية[عدل]

المصادر[عدل]

  1. ^ "Language". Tcl Developer Xchange. مؤرشف من الأصل في 03 يناير 2018. اطلع عليه بتاريخ 02 نوفمبر 2016. الوسيط |CitationClass= تم تجاهله (مساعدة); تحقق من التاريخ في: |تاريخ أرشيف= (مساعدة)
  2. ^ "Download Tcl/Tk Sources". Tcl Developer Xchange. مؤرشف من الأصل في 27 يونيو 2018. اطلع عليه بتاريخ 01 نوفمبر 2016. الوسيط |CitationClass= تم تجاهله (مساعدة)
  3. ^ Windows PowerShell : PowerShell and WPF: WTF نسخة محفوظة 25 ديسمبر 2008 على موقع واي باك مشين.