تي سي إل

تي سي إل
تي سي أل هي اختصار لأداة التحكم باللغة ولكن أصبح الناس يقول لها تي سي أل لتسهيل الكلام تلفظ ككلمة (تكل)أو تلفظ تي سي إل هذه هي لغة برمجية متعددة الاستخدام أنشأها جون أوستورهوت. في الأصل «ولدت من الإحباط» وفقا للمؤلف، مع وضع المبرمجين الخاصة بها (نوعية رديئة) لغات يقصد به أن يكون جزءا لا يتجزأ من داخل التطبيقات التي سي إل حظيت بالقبول من تلقاء نفسها. التي سي إل يستخدم عادة للنماذج السريعة، التطبيقات النصية، وواجهة المستخدم الرسومية والاختبار.تس سي إل يستخدم لمنصات الأنظمة المطمورة، سواء في شكله الكامل أو في إصدارات سمول برينتر أخرى التي سي إل يستخدم أيضا في برمجة المدخل العمومي لأجهزة التوصيل.
التاريخ
لغة البرمجة للتي سي إل أخترعت في ربيع سنة 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
(*): مخصصة لمنصة ويندوز
وصلات خارجية
الموقع الرسمي
ويكي Tcl
وثائق غير رسمية
مكتبة «تي سي إل القياسية
المصادر
اختراعات أمريكية
برمجيات تسخدم رخصة بي إس دي
برمجيات حرة بلغة سي
برمجيات حرة متعددة المنصات
برمجيات متعددة المنصات
لغات برمجة أنشئت في 1988
لغات برمجة إجرائية
لغات برمجة ديناميكية النمط
لغات برمجة عالية المستوى
لغات برمجة كائنية التوجه
لغات برمجة نصية