Информация об изменениях

Сообщение Re: Что вы скажете за Бейсик? от 16.12.2022 9:22

Изменено 16.12.2022 9:40 vsb

Re: Что вы скажете за Бейсик?
Здравствуйте, Tai, Вы писали:

Tai>Можно ли на нем писать серьёзный софт?


Не вижу, чем бейсик принципиально отличается от любого другого популярного ЯП. Думаю, писать серьёзный софт можно на чём угодно, включая ассемблер.

На мой взгляд минимальный язык, на котором можно писать софт любой сложности без особых затруднений, выглядит примерно так:

function get_full_name(person) {
  name_components[0] = person.surname;
  name_components[1] = person.name;
  name_components[2] = person.patronymic;
  full_name = '';
  i = 0;
  for {
    if (i >= name_components.length) {
      break;
    }
    name_component = name_components[i];
    if (name_component != '') {
      if (full_name != '') {
        full_name += ' ';
      }
      full_name += name_component;
    }
    i += 1;
  }
  return full_name;
}


Иными словами в языке должны быть функции, в языке должны быть изменяемые локальные переменные, в языке должны быть структуры данных "список" и "таблица со строковыми ключами", в языке должны быть управляющие структуры "условие" и "цикл", в языке должны быть типы данных "строка" и "число с плавающей точкой".

Всё остальное — не обязательно.
Re: Что вы скажете за Бейсик?
Здравствуйте, Tai, Вы писали:

Tai>Можно ли на нем писать серьёзный софт?


Не вижу, чем бейсик принципиально отличается от любого другого популярного ЯП. Думаю, писать серьёзный софт можно на чём угодно, включая ассемблер.

На мой взгляд минимальный язык, на котором можно писать софт любой сложности без особых затруднений, выглядит примерно так:

function get_full_name(person) {
  name_components[0] = person.surname;
  name_components[1] = person.name;
  name_components[2] = person.patronymic;
  full_name = '';
  i = 0;
  for {
    if (i >= name_components.length) {
      break;
    }
    name_component = name_components[i];
    if (name_component != '') {
      if (full_name != '') {
        full_name += ' ';
      }
      full_name += name_component;
    }
    i += 1;
  }
  return full_name;
}


Иными словами в языке должны быть функции, в языке должны быть изменяемые локальные переменные, в языке должны быть структуры данных "список" и "таблица со строковыми ключами", в языке должны быть управляющие структуры "условие" и "цикл", в языке должны быть типы данных "строка" и "число с плавающей точкой".

Это можно ещё больше упростить: таблицу расширяем до "таблица со строковыми или целочисленными ключами", "список" — убираем. Также "строку" заменяем на "таблица с целочисленными ключами", значения которой — целочисленные же числа, соответствующие кодам символов в какой-нибудь кодировке (вероятно UTF-8 или UTF-32).

Если что, целочисленные числа это подмножество чисел с плавающей точкой.

Всё остальное — не обязательно.