هل هناك لغة برمجة تستخدم أحرفًا أخرى غير تلك الموجودة في جدول ASCII (غير الممتد)؟
-
29-09-2019 - |
سؤال
لا أستطيع أن أرى من سيتخذ مثل هذا القرار ولكن هل هناك أي لغة من هذا القبيل؟
السبب في أنني أسأل هذا (أو بعض التوافه ، إذا أردت) هو أنني انتهيت للتو من إجراء التكرار الثامن لإصدار "المطور" الخاص بي من Dvorak (التركيز الكبير على الشخصيات الخاصة). وأربعة مفاتيح لا تستخدم حاليا!
بما أنني لا أرغب أبدًا في التعثر في لغة جديدة لمحاولة ، فقط لمعرفة أن تخطيطي يفتقر إلى شخصية خاصة حاسمة قررت أن أسأل المجتمع.
إذا لم تكن هناك حاجة إلى أي شخصيات أخرى إلى جانب تلك الأساسية ، فما هو أفضل استخدام (لمبرمج بالطبع ، هذا هو الحال) من المفاتيح غير المستخدمة؟ شيء من طاولة ASCII الممتدة؟ أو اتركهم غير مستخدمين بشكل هادف ويفعل شيئًا رائعًا معه AutoHotkey?
المحلول
نعم ، هناك (واحد على الأقل): APL
إليكم لعبة حياة كونواي مكتوبة في APL:
يستخدم رسم خرائط لوحة المفاتيح هذه:
نصائح أخرى
تنفيذ Haskell القياسي المتغير ، GHC ، يدعم بناء الجملة Unicode إذا
{-# LANGUAGE UnicodeSyntax #-}
تم تحديده في الجزء العلوي من الملف. هذا يتيح لك استخدام →
لأنواع الوظائف و lambdas ، ⇒
لفصول النوع ، ←
للحصول على شمولية القائمة ، إلخ ..
بتعبير أدق ، بناء الجملة المدعوم هو:
ASCII Unicode alternative
:: ∷ U+2237 PROPORTION
=> ⇒ U+21D2 RIGHTWARDS DOUBLE ARROW
forall ∀ U+2200 FOR ALL
-> → U+2192 RIGHTWARDS ARROW
<- ← U+2190 LEFTWARDS ARROW
-< ↢ U+2919 LEFTWARDS ARROW-TAIL
>- ↣ U+291A RIGHTWARDS ARROW-TAIL
-<< U+291B LEFTWARDS DOUBLE ARROW-TAIL
>>- U+291C RIGHTWARDS DOUBLE ARROW-TAIL
* ★ U+2605 BLACK STAR
علاوة على ذلك ، توفر العديد من المكتبات عوامل Unicode (باستخدام دعم Haskell لأحرف Unicode في أسماء المشغلين): http://www.haskell.org/haskellwiki/Unicode-Symbols
قلعة, ، لغة برمجة رياضية/علمية طورتها (من بين أمور أخرى) جافا غاي لي ستيل عندما كان لا يزال في الشمس ، يستخدم على نطاق واسع مشغلي الرياضيات يونيكود وما إلى ذلك.
ليس هناك تمثيل ASCII محدد للغة فحسب ، بل هناك أيضًا طريقة محددة لتحويل ASCII إلى نسخة "تم تقديمها" باستخدام Tex. يمكنك أيضًا (كما أفهم i) استخدام مشغلات Unicode مباشرة في مصدرك - هناك مجرد "اختصار" ASCII للأشياء التي يصعب كتابة (كما أفهمها - أعترف أنني لست متأكدًا من هذه النقطة ).
الموقع لديه مثال على المصدر وكيف يتم تقديمه.
C# يسمح للمتغيرات احتواء أحرف Unicode. على سبيل المثال ، فإن الحرف ɢ (رأس المال الصغير اللاتيني G ، U+0262) هو حرف صالح تمامًا في متغير C#.
استخدمت لغة البرمجة النصية لورشة عمل Macintosh Programmer القديمة (MPW) الكثير من الأحرف غير ASCII لتنفيذ ما كان في الأساس نسخة من قذيفة UNIX. في الواقع ، بعض من توثيق لا تزال متاحة. انها تستخدم ∑ لإعادة التوجيه ، على سبيل المثال.
Perl 6 لديه اختياري عوامل Unicode, ، وكذلك القدرة على إضافة مشغلين المعرفة من قبل المستخدم.
ربما يجب ألا تنتظر ذلك قبل إعادة تعيين مفاتيحك. لا أعرف إذا راكودو يمكن أن تعمل مع مشغلي Unicode حتى الآن.
يستخدم PL/I حرفًا مقلوبًا للمشغل "لا" ؛ VM360 اعتدت مرة واحدة على زمن مستخدم "^" كمكافئ ASCII (لا أعتقد أن ebcdic كان "^").
شوكي من F#: https://github.com/heather/fsharp
let ° msg = System.Console.WriteLine( msg.ToString() )
let ◄ = 5
let ★ x = x + ◄
let (-★-) x y = x + y
let © = "© 2013"
let ► =
fun x -> 2 + x
sprintf "Heather %s" project version © |> °
► ◄ |> fun ▼ ->
★ <| (▼ -★- ▼) |> °
هل سيحسب هذا؟
النسخة الصينية من بيثون
http://www.chinesepython.org/doc/tut/tut/node3.html
صينى:
>>> 甲 = 12
>>> 乙 = 3
>>> 甲 + 乙
15
>>> 甲 + 乙**乙
39
>>> 甲 = 0 #(可以重新指定值)
>>> 乙 = 甲 + 1
>>> 寫 乙
1
إنجليزي:
>>> j = 12
>>> y = 3
>>> j + y
15
>>> j + y**y
39
>>> j = 0
>>> y = j + 1
>>> print y
1