أي شخص يعرف أي لغات البرمجة النصية المكتوبة بشكل ثابت؟ [مغلق

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

سؤال

أنا على وشك بدء تشغيل Linux المستند إلى LFS لمشروع هواية. أخطط للقيام ببعض المهام غير القياسية للغاية، وسوف ينطوي معظمها على تغيير جميع البرامج النصية تقريبا في Distro. (البرامج النصية الأولية بشكل رئيسي، ولكن أيضا سأكتب مجموعة بسيطة من البرامج النصية من البرامج النصية.) منذ أن سأذهب هذا بعيدا عن القاعدة، وبما أنني لم أكن أبدا من محبي اللغات المكتوبة ديناميكية (PERL، بيثون، باش والباقي جيدة، ولكن ليس فقط فورتي)، كنت أتساءل ما إذا كان أي شخص يعرف لغة تفسير قد أعلن بالفعل المتغيرات.

هل كانت مفيدة؟

المحلول

إلقاء نظرة على الأمر "أنواع" في قذيفة المفضلة لديك. يمكن ل Bash و KSH93 كلاهما فرض الأعداد الصحيحة والأسلحة، واستخدام المراجع (المتغيرات المتغيرة)، إلخ. مع KSH93، يمكنك أيضا القيام بأكائن الرياضيات العائمة واستخدام الكائنات مع سمات. الكتابة الساكنة لا تشتري لك أي شيء مفيد حقا في البرامج النصية INIT وتشابه. ستكون في المقام الأول قراءة الملفات وتشغيل أوامر النظام - وهو ما هو جيد حقا جيدة. يستغرق بعض الوقت مع كتاب O'Reilly "تعلم كورن قذيفة" قبل أن تقرر أن جميع هذه Unixes الأخرى مصممة بغباء ...)

نصائح أخرى

عادة ما تكون اللغات المكتوبة ثابتا لغات. أعتقد أن السبب هو أن التحليل القانوني لأنواعها مكلفة إلى حد ما وعليك إلقاء نظرة عميقة على جميع التعليمات البرمجية التي تجريها. بعد أن فعلت أنه يبدو وكأنه مضيعة لعدم كتابة كل هذه المعلومات في ملف، بحيث لا يتعين عليك القيام بذلك مرة أخرى في المرة القادمة. لذلك تنتهي بسرعة مع لغة مترجمة.

من ناحية أخرى، لتحويل لغة مترجمة في "غير مترجمة" واحد سهل إلى حد ما. أنت فقط لا تخزن نتائج التجميع في أي مكان ولكن تنفيذها مباشرة. مترجم واحد أعرف أنه يوفر مثل هذا المجمع هو GHC، المعيار haskell. مترجم. يمكنك إضافة #!/usr/bin/runhaskell إلى الملفات المصدر الخاصة بك ثم تنفيذها مباشرة. وبما أنك تخطط لتكون بعيدة عن القاعدة، يبدو أن Haskell مثل مناسبا مثاليا؛). ولكن تتوقع بعض وقت بدء التشغيل الكبير إلى حد ما لبرامج النصوص الخاصة بك، لأن تحليل وتحسين "وقت الترجمة" والتحسين غير مجاني.

لم يتم إجراء Haskell لبرامج نصية شل وهي لغة وظيفية، لذلك إذا لم ترها من قبل، فقد يستغرق الأمر بعض الوقت لتعتاد عليه. ولكن لديها القليل جدا من النفقات العامة النحوية وقوة اللغات الوظيفية هو التجريد، لذلك لا أرى لماذا لا يمكنك إنشاء مكتبة تجعل SHELL SCRIPTING FUL. هناك حتى بعض شل haskell التجريبية, ، ولكن يبدو أنه أكثر دليلا على مفهوم من الحل الحقيقي.

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

سريعة جوجل. F3، Javafx Script، لغة البرمجة النصية Linden (البرمجة النصية للحياة الثانية)، على عكس التعليق على الإجابة الأولى F # يمكن استخدامها ككلغة نصية http://blogs.msdn.com/chrsmith/archive/2008/09/12/scripting-in-f.aspx.

Felix، Tuga، CFGScript، Talc، Angelcript، والتخمين هناك أكثر من هذا البحث السريع.

دوغلاس

F# يوفر مزيجا من "السلامة والمنتجات والإجازة والأداء والبرمجة النصية".

groovy. بشكل افتراضي إنه ديناميكي، كتب البط. ولكن أيضا يدعم الكتابة الثابتة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top