سؤال

لقد بدأت البرمجة في الأساس على ZX81, ، ومن بعد Basica, GW-BASIC, ، و QBASIC. انتقلت إلى C (آه ، Turbo C 3.1 ، بالكاد كنت أعرف أيها ...)

عندما بدأت في متحكمها ، تراجعت مع ختم أساسي من المنظر. ومع ذلك ، كان/كان رائعًا لأنه كان من السهل فهمه ويصعب ارتكاب خطأ. انتقلت إلى التجميع و C في النهاية لأنني كنت بحاجة إلى الطاقة الإضافية (السرعة ، والسعة ، والموارد ، وما إلى ذلك) ، لكنني أعلم أنه إذا كان الشريط أعلى بكثير ، فلن يدخل الكثير من الناس في برمجة Microcontrollers.

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

  • ما هي المزايا الأساسية ، إن وجدت ، على اللغات الأخرى؟
  • لماذا لا تزال موجودة؟
  • إذا قررت إنشاء لوحة متحكم للأغراض العامة مع مترجم فوري ، فهل هناك أي سبب لإيجاد إصدار من BASIC؟

تعتبر الكثير من اللغات الأخرى ميتة ، ولكن الأساسي يستمر في التسكع.

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

المحلول

كهندسة معمارية ، فإن المطالبة الرئيسية لشهرة BASIC هي أنه يمكنك جعل المترجمين الفوريين الأساسيين صغارًا جدًا - فقط بضعة كيلو بايت. في أيام DG Nova ، كان هذا فوزًا حيث يمكنك استخدام أنظمة مثل Business Basic لإنشاء تطبيق متعدد الأجزاء على جهاز يحتوي على 64 كيلو بايت من ذاكرة الوصول العشوائي (أو حتى أقل).

Basic (VB على وجه الخصوص) هو نظام قديم وله قاعدة كود كبيرة موجودة. يمكن القول إن VB هي حقًا لغة (قد يقول البعض غلافًا رفيعًا على com) يحتوي على بناء جملة يشبه الأساس. في هذه الأيام ، أرى سببًا كبيرًا للحفاظ على اللغة بعيدًا عن معرفة الناس بها والحفاظ على قاعدة التعليمات البرمجية الحالية. من المؤكد أنني لن أدافع عن التطوير الجديد (لاحظ أن VB.NET ليس أساسيًا حقًا ولكن لديه بناء جملة يشبه VB. نظام النوع لم يتم كسره بالطريقة التي كان بها VB.)

ماذا او ما هو مفقود من عالم الحوسبة ذو صلة اللغة التي يسهل التعلم والعبث معها ولها مشاركة في تطوير التطبيق السائد. لقد نشأت في أيام آلات 8 بت ، وكان حاجز الدخول إلى البرمجة على هذه الأنظمة منخفضًا جدًا. كانت بنية الآلات بسيطة للغاية ، ويمكنك أن تتعلم البرمجة وكتابة التطبيقات ذات الصلة أكثر أو أقل على هذه الآلات بسهولة شديدة.

البنى الحديثة أكثر تعقيدًا ولديها سنام أكبر للتعلم. يمكنك أن ترى الأشخاص يتصارعون حول كيفية تعلم الأطفال للبرمجة بسهولة قدر استطاعتهم في أيام أجهزة الكمبيوتر الأساسية و 8 بت وأعتقد أن هذه الحجة لها بعض الجدارة. هناك شيء من الفتحة المتبقية التي تجعل البرمجة أكثر صعوبة للدخول. لا تستخدم لغات الألعاب كثيرًا هنا - لكي تكون البرمجة جذابة ، يجب أن يكون من الممكن التطلع إلى بناء شيء ذي صلة باللغة التي تتعلمها.

هذا يؤدي إلى مشكلة لغة يسهل على الأطفال تعلمها ولكن لا يزال يسمح لهم بكتابة البرامج ذات الصلة (أو حتى الألعاب) التي قد يريدونها بالفعل. كما يجب أن يُنظر إليه على نطاق واسع على أنه مناسب.

أقرب شيء يمكنني التفكير فيه في هذا هو بيثون. إنه ليس المثال الوحيد للغة من هذا النوع ، ولكن هذا هو أكثر ما يحمل العقل - و (IMO) تصور الأهمية ضروري للعب في هذا المكان. إنها أيضًا واحدة من أسهل اللغات التي أتعلمها (من بين 30 عامًا أو نحو ذلك التي استخدمتها على مر السنين).

نصائح أخرى

قد ينطلق هذا أكثر سلبية مما هو عليه حقًا. أنا لا أقول الأساسي هو جذر كل الشر ، قال آخرون ذلك. أنا أقول إنه إرث يمكننا أن نتركه وراءه.

"لأنه كان من السهل الفهم للغاية ويصعب ارتكاب خطأ" هذا بالتأكيد قابل للنقاش. لقد مررت ببعض التجارب السيئة مع الأساس المعتمة تمامًا. الأشياء المهنية - المنتجات التجارية - رمز فظيع تمامًا. اضطررت للتخلي عن العمل وتراجع.

"ما هي المزايا الأساسية ، إن وجدت ، الأساسية على لغات أخرى؟" لا شيء ، حقا.

"لماذا لا تزال موجودة؟" سببين: (1) Microsoft ، (2) جميع أقسام تكنولوجيا المعلومات التي بدأت في القيام بـ VB ولديها الآن ملايين خطوط الرمز القديم VB.

"الكثير من اللغات الأخرى تعتبر ميتة ..." نعم. الأساسي موجود على طول كوبول ، PL/I و RPG كموروثات تتمتع في بعض الأحيان تكلفة أكثر من القيمة. ولكن نظرًا لسياسة "إذا لم يتم كسرها ، فلا تصلحها" ، فهناك يجلسون ، ويمتصون الموارد التي يمكن أن تستبدلها بسهولة بشيء أصغر وأبسط وأرخص. إلا أنه لم "فشل" - إنه مكلف بشكل غير متناسب.

COBOL البالغ من العمر 30 عامًا هو وضع فظيع لإعادة صياغة. ابتداءً من عام 2016 ، سننظر في MS Basic البالغ من العمر 30 عامًا والتي لا يمكننا اكتشافها ، ولا نريد أن نعيش بدونها ، ولا يمكننا تحديد كيفية استبدالها.

"لكن الأساس فقط يستمر في التسكع" يبدو أن بعض الناس يحبون الأساس. يرى آخرون أنها لغة أخرى سيئة التصميم ؛ إنها مزايا في وقت مبكر للتسويق ودعمها بائعين ضخمون (IBM ، في البداية). سيئ التصميم ، في وقت مبكر من السوق يتركنا فقط بإرث سنعاني منه لعقود.

لا يزال لديّ دليل Dartmouth الأساسي لعام 1965. أنا لا أتوق إلى الأيام الخوالي.

لماذا لا تجرب Jumentum وترى كيف تعمل من أجلك؟

http://jumentum.sourceforge.net/

إنه أساسي مفتوح المصدر لـ MicrControllers

مشروع ELUA هو أيضا لوا لارتداء متحكم

http://elua.berlios.de/

لا يزال المستمر الأساسي ، لا سيما في تنفيذ الطوابع ، لأنه مستوى أقل من معظم لغات البرمجة الأخرى التي تتسلم إلى التعلم. بالنسبة لمعظم التطبيقات الأساسية المدمجة ، فإن الإرشادات الأساسية تخطط مباشرة إلى مجموعات واحدة أو مجموعات من تعليمات الجهاز ، مع القليل جدًا من النفقات العامة. نفس البرامج المكتوبة بلغات "المستوى الأعلى" مثل Lua أو Python ستعمل أبطأ بكثير على تلك المتحكمات الدقيقة نفسها.

ملاحظة: المتغيرات الأساسية مثل PBASIC لها القليل جدًا من المشتركة مع ، على سبيل المثال ، Visual Basic ، على الرغم من تشابه التسمية. لقد تباعدت بطرق مختلفة للغاية.

سؤال جيد...

أساسا (كذا!) ، ليس لدي إجابة. أود أن أقول فقط أن لوا سهل التعلم للغاية ، وربما سهلاً مثل الأساسي (الذي كان أحد لغاتي الأولى أيضًا ، استخدمت لهجات على الكثير من أجهزة الكمبيوتر 8 بت ...) ، ولكنها أكثر قوة (السماح بـ OO أو الأنماط الوظيفية وحتى خلطها) وأكثر صرامة بطريقة أو بأخرى (لا goto ...).

لا أعرف جيدًا بيثون ، لكن مما قرأته ، إنه سهل وقوي وصارم من لوا.

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

كما قام كلاهما بصياغة VM بعناية ، وفعال ، (في الغالب). إذا قمت بتصنيع المترجم الخاص بك ، فيجب عليك إما أن تأخذ VM موجودًا وإنشاء رمز BYTECODE له من المصدر الأساسي ، أو صنع خاص بك. تأكد من الأشياء الممتعة ، ولكن تستغرق وقتًا طويلاً وعرضة للأخطاء ...

لذا ، أود فقط أن أترك BASIS تقاعد لطيف ...: p

ملاحظة: لماذا هو معلق؟ ربما ليس Microsoft غريبًا على ذلك ... (VB ، VBA ، VBSCript ...)
هناك أيضًا الكثير من اللهجات حولها (RealBasic ، Darkbasic ، إلخ) ، مع بعض الجمهور.

في خطر أن يبدو مثل اثنين من القرارات القديمة على كراسي هزاز ، اسمحوا لي أن أقول إن "الأطفال اليوم لا يقدرون الأساسيين" ثم يقولون "إنهم لا يعرفون مدى جودةهم".

كانت الأساسيات الأكبر قوة دائماً قابليتها على التوالي. كان شيئًا يمكن للناس احصل على. تم تجاهل ذلك منذ فترة طويلة من قبل الأكاديميين ومطوري اللغة.

عندما تتحدث عن الرغبة في تنفيذ BASIC ، أفترض أنك لا تتحدث عن عدد الخطوط الأساسية ، ولكن شكل منظم. المشكلة في ذلك هي أنه بمجرد أن تبدأ في الانتقال إلى البرمجة المنظمة - وظائف ، "لماذا لا يمكن أنا فقط حصلت على تلك البقعة؟ "، وما إلى ذلك - من غير الواضح حقًا ما هي المزايا ، إن وجدت ، ستكون الأساسية قد انتهت ، على سبيل المثال ، بيثون.

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

إذا كان السؤال الحقيقي هو "حسنًا ، فأنا أريد تنفيذ مترجم فوري ، وبالتالي فإنه يعود إلى الاستثمار" ، فسيصبح مشكلة في قواعد اللغة سهلة تنفيذها بالفعل. أقترح أن Basic لا تملك حقًا العديد من المزايا في هذا الصدد أيضًا (إلا إذا كنت حقًا فعل العودة إلى أرقام الأسطر وقواعد النحو المحدودة للغاية).

باختصار ، أنا لا أعتقد أنه يجب عليك استثمار جهودك في مترجم أساسي.

حسنًا ، يبدو أن هؤلاء الأشخاص يعتقدون أنه ليس فقط أساسيًا في مساحة الهاتف المحمول ولكن أيضًا يمكنهم كسب المال:

http://www.nsbasic.com/symbian/

لقد بدأت على ZX81 أيضا. ولكن كما توني هوير قال ، البرمجة في Basic مثل محاولة القيام بتقسيم طويل باستخدام الأرقام الرومانية.

تعتبر الكثير من اللغات الأخرى ميتة ، ولكن الأساسي يستمر في التسكع.

للأسف نعم. ألوم بيل غيتس على هذا ... كان الأساسي على نقالة مع كاهن يقول الطقوس الأخيرة لذلك ، ثم أعيدها MS مثل الجدري.

اعتدت على البرمجة في الأساس في الأيام QBASIC. كان لدى QBASIC روتين فرعي ، وظائف ، هياكل (كانت تسمى الأنواع) ، وأعتقد أن هذا كل شيء. الآن ، يبدو هذا محدودًا مقارنةً بجميع الميزات التي يمتلكها Python - OO ، Lambdas ، metaclasses ، المولدات ، القائمة ، فقط على سبيل المثال لا الحصر من أعلى رأسي. لكن هذه البساطة ، كما أعتقد ، هي قوة أساسية. إذا كنت تبحث عن لغة بسيطة قابلة للتضمين ، فأنا أراهن أن QBASIC ستكون أسرع وأسهل في الفهم. وربما يكون Langauge الإجرائي أكثر من كافية لمعظم أنواع التطبيقات التضمين/البرمجة النصية.

أود أن أقول أن أهم سبب لا يزال أساسيًا هو Visual Basic. لفترة طويلة في التسعينيات ، كانت VB هي الطريقة الوحيدة لكتابة رمز GUIs و COM و DB لنظام التشغيل Windows دون الوقوع في أحد Turpits C ++. [ربما كانت دلفي خيارًا جيدًا أيضًا ، لكن للأسف لم تصبح شائعة مثل VB]. أعتقد أنه بسبب كل رمز VB و VBA الذي لا يزال يتم استخدامه والحفاظ على أن الأساس لا يزال لم يمت.

ومع ذلك ، أود أن أقول إن هناك مبررًا جيدًا لكتابة المترجم الأساسي (ربما حتى المترجم باستخدام LLVM أو شيء مشابه) لـ BASIC اليوم. ستحصل على لغة نظيفة وسهلة الاستخدام وسريعة إذا قمت بتطبيق شيء يشبه QBASIC. لن تضطر إلى حل أي مشكلات في تصميم اللغة وأفضل جزء هو أن الناس سيعرفون بالفعل لغتك.

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