لماذا أزعجنا بأرقام الخطوط على الإطلاق؟ [مغلق

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

  •  23-08-2019
  •  | 
  •  

سؤال

عند كتابة شيء أساسي، يجب عليك استخدام أرقام الخطوط. يحب:

10 PRINT "HOME"
20 PRINT "SWEET"
30 GOTO 10

لكنني أتساءل: من جاء مع فكرة استخدام أرقام الخطوط على الإطلاق؟ إنه مصدر إزعاج، وترك "صدى" في العالم النامية (المقصود)!

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

المحلول

كانت الفكرة مرة أخرى ثم يمكنك بسهولة إضافة رمز في كل مكان في البرنامج الخاص بك باستخدام رقم السطر المناسب. لهذا السبب يستخدم الجميع أرقام الخطوط 10، 20، 30 .. لذلك هناك غرفة اليسار:

10 PRINT "HOME"
20 PRINT "SWEET"
30 GOTO 10
25 PRINT "HOME"

في الواجهات الأولى كانت الأساسية متاحة ل، لم يكن هناك محرر لامع، ولا حتى شيء مثل السادس أو EMACS (أو تعديل DOS، HEH). يمكنك فقط طباعة البرنامج الخاص بك على وحدة التحكم ثم تقوم بإضافة خطوط جديدة أو استبدالها، عن طريق إعطاء رقم السطر المناسب أولا. لم تتمكن من التنقل عبر "الملف" (تم الاحتفاظ بالبرنامج في الذاكرة، على الرغم من أنه يمكنك حفظ نسخة على القرص) مع مؤشر مثلك معتادا على هذه الأيام.

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

نصائح أخرى

لديها تاريخ لونونغ لونغ.

يأتي ترقيم السطر فعلا من Dartmouth Basic، الذي كان الإصدار الأصلي من لغة البرمجة الأساسية وكان الجزء المتكامل من نظام تقاسم الوقت Dartmouth. أن DTSs كان لدى IDE بدائية، والتي لم يكن أكثر من سطر أوامر تفاعلي.

تم إضافة كل سطر مطبوع داخل هذا "IDE"، وابدأ برقم خط، إلى البرنامج، واستبدال أي سطر مخزن سابقا بنفس العدد؛ يفترض أن أي شيء آخر هو أمر DTSS وتنفذ على الفور.

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

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

في اليوم الذي لم يكن لديك محرر ثنائي الأبعاد مثل Emacs أو VI. كل ما كان لديك كان سطر الأوامر.

تم تخزين البرنامج الخاص بك في الذاكرة وسوف تكتب أوامر سطر واحد لتحرير خطوط مفردة.

إذا كنت إله UNIX، فيمكنك القيام بذلك باستخدام إد أو شيء ما، ولكن بالنسبة إلى الأساسي على C-64، VIC-20، أو TRS-80، فستكتمل فقط الخط.

لذلك قد تبدو الجلسة:

$10 PRINT "Hellow World"
$20 GOTO 10
$10 PRINT "Hello World"

والآن سيعمل البرنامج بشكل صحيح.

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

منظمة الصحة العالمية؟" سيكون المخترعين وكيميني وكيرتز.

بعد قراءة الردود، راجعت دخول ويكيبيديا ل "Dartmouth Basic"، وتفاجأ بالتعلم

تم إنتاج أول مترجم قبل أن يكون نظام تقاسم الوقت جاهزا. تعرف باسم CardBasic، كان مخصصا لنظام معالجة الدفعات القارئ القارئ القياسي.

لذلك، يبدو أن بولومبلين "يحصل على الساحة".

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

جواب بول تومبلين هو الأكثر شمولية، لكنني مفاجئ لم يذكر أحد أن جزءا كبيرا من الهدف الأولي للمشروع الأساسي هو توفير أ مبتدئين بيئة تفاعلية باستخدام Timesharing. (كان كورتز ورؤية كيمني ل "الوصول الشامل لجميع الطلاب" قدما قبل وقته في هذا الصدد.)

النظام الأساسي الذي تم تطويره لتحقيق هذا الهدف المميز باسم TELETYPE ASR-33 (وبعد ذلك آخر) محطات الطباعة. عند الاتصال بنظام التشغيل القائم بالوقت الزمني، فإن هذه التحرير المسموح بها وتشغيل البرامج الأساسية في وضع تفاعلي (على عكس العمل مع البطاقات اللكمانية)، لكنها ليست مؤشرا غير قابل للتعليم. كانت أرقام الخطوط طريقة صديقة للمبتدئين لكلا تحديد ترتيب بيانات البرامج والسماح للتحرير الذي لا لبس فيه في عدم وجود محرر الشاشة. يشرح إدخال ويكيبيديا ل "محرر الخط" أبعد من ذلك، وأي شخص حاول استخدام محرر خطي (مثل الأمم المتحدة * X 'إد') يقدران لماذا يجب أن يشكر كورتز وكيمني لتجنب المبتدئين الذين يتعين عليهم تعلم الخفية تسلسل الأمر المطلوب لتحرير النص بهذه الطريقة.

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

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

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

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

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

لا تملك اللهجات الأحدث من Basic الحاجة لأرقام الأسطر لفترة أطول.

في Basic، إذا لم يكن لديك رقم خط، فكيف يمكنك التشكيل

GOTO 10 

كانت هذه طريقة للقفز على الخطوط، وهي طريقة جيدة تم العثور عليها ... منذ أكثر من 20 عاما!

اليوم، تساعدنا الخطوط في اصطياد الأخطاء / الاستثناءات لأن محركات التصحيح يتم تصنيعها لإرسالنا في الرسالة التي حصلنا على استثناء على الخط xxx ونحن نقفز مباشرة!

تخيل عالم بدون أرقام خط ... كيف يمكن دفع المراسل دون خطوط؟

"الآن بعد أن تعرف الرواية، عليك أن تكتب ملخصا بدون أكثر من 50 خطا"

تذكر هذا؟ حتى في المدرسة نتعلم عن أرقام الخطوط!

إذا لم يتم اختراعه، فسوف يخترع شخص ما مرة أخرى مرة أخرى حتى نتمكن من استخدامه بشكل جيد :)

ليس كل إصدارات أرقام الأسطر الأساسية المطلوبة. QBASIC، على سبيل المثال، التسميات المدعومة. ثم يمكنك القفز إلى أولئك الذين يعانون من GOTO (تجاهل Dijkstra's "الذهاب إلى العبارة التي تعتبر ضارة،" في الوقت الراهن).

الجواب أعلاه بالفعل. كتب بولومبلين (مع تحذير إلى زبزونك).

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

في الأيام الأولى، تم إدخال معظم البرامج مع بطاقات لكمة. عادة ما تم إدخال بطاقات لكمة في تسلسل، وعادة ما تكون تعليمة واحدة لكل بطاقة، مع التسميات (أهداف JMP / JSR) بطاقة تعليمية منفصلة.

لتحرير البرنامج الخاص بك، قمت باستبدال البطاقة.

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

استخدم Fortran ملصقات المستهدفة الرقمية على اليسار (العقيد 1-5) وترك كتلة محفوظة على اليمين (73-80) للتسلسل أو التعليق.

عند كتابة Basic في البداية، تقرر نقل أرقام التسلسل إلى اليسار، في حقل تسمية FORTRAN، والسماح بتصميم ذاكرة البطاقات المسبقة للكتابة ... كوضع تحرير. كان هذا مخصصا لبيئة DEV التفاعلية، لكنها عملت أيضا مع البطاقات. واستخدمت البطاقات في بعض التطبيقات المبكرة لمجموعة متنوعة من الأسباب.

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

أحب كنيسة الروبوت على فوتوراما، على الجدران كتبت أشياء مثل

10 SIN
20 GOTO HELL

على Speccy، لا يمكنك تحرير سطر بدون رقم السطر.

أجدهم مفيدة للغاية عند الاقتران. لست مضطرا إلى الإشارة إلى خط عندما يحتوي زوجي على لوحة المفاتيح، يمكنني فقط أن أقول، "على الخط 74، لا ينبغي أن يكون ذلك حقا GetMorebeer ()؟"

المحرر الأصلي لدوس كان فائدة رائعة تسمى edlin.. وبعد يمكنك تعديل سطر واحد فقط. لجعل الحياة أكثر إثارة للاهتمام في العديد من إصدارات Basic، يمكنك كتابة الخطوط خارج الترتيب، والسطر 10، 20، 30، 25، 5، سيكون الإعدام عن طريق رقم خط السطر ليس حسب ترتيب المظهر.

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