هل هناك لغة برمجة تستخدم أحرفًا أخرى غير تلك الموجودة في جدول ASCII (غير الممتد)؟

StackOverflow https://stackoverflow.com/questions/4110165

سؤال

لا أستطيع أن أرى من سيتخذ مثل هذا القرار ولكن هل هناك أي لغة من هذا القبيل؟

السبب في أنني أسأل هذا (أو بعض التوافه ، إذا أردت) هو أنني انتهيت للتو من إجراء التكرار الثامن لإصدار "المطور" الخاص بي من 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
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top