LINUX.ORG.RU

История изменений

Исправление Xenius, (текущая версия) :

Ну вот, пошли расхождения в толковании «не убий». Вроде и низя, но для крестовых походов сделаем исключение.

Если что, это было моё понимание, а я не Столяров.

Это отлично демонстрирует, что столяровское разделение искусственно

А кто говорит, что не искусственно? Те же циклы - это искусственные конструкции, которые можно заменить на IF с GOTO и в некоторых диалектах бейсика так и было. Как думаешь, зачем придумали структурное программирование и сказали, что «GOTO is considered harmful», а так же ввели разные виды циклов?

Суть в том, что вводятся определенные правила, которые ограничивают выразительные средства программиста, хотя но зато облегчают чтение и декомпозицию кода.

и не имеет ничего общего с реальностью.

Как минимум в Pascal имеют.

Нет смысла и количество учебных часов ограничено.

Я уже приводил аргумент. Если в языке какие-то понятия родные, то их освоение в рамках этого языка пройдёт быстрее. За сэкономленное время, можно выучить ещё один язык и ещё останется. Далеко не обязательно изучение двух языков займёт больше времени, чем сразу второго из них.

Перечитывай мой исходный пост в этом треде, там всё доступно расписано.

Я на него уже отвечал. Пойдём по кругу?

1. Нафига нужен Python в начальном обучении? Ну да, модно, молодёжно, но при наличии основы освоить его на уровне FizzBuzz можно за пару часов, если есть цель устроиться к конкретному работодателю, где его требуют. А если нужно будет устроиться к другому работодателю, где нужен например Lua, PHP, Perl, Ruby — это уже будет пустая трата времени.

#!/usr/bin/env python3
for i in range(1,101):
  if i%3==0:
    print('Fizz', end='')
  if i%5==0:
    print('Buzz', end='')
  if i%3!=0 and i%5!=0:
    print(i, end='')
  print()

Вот например.

2. Как интересно ты будешь объяснять школьнику, понятия не имеющего о программировании, как работает хотя бы простейшая программа на C, учитывая что тебе придётся сразу же с первого урока углубляться и в #include <stdio.h> и в & у операндов scanf и так далее.

А вот в Pascal можно вводить элементы программирования постепенно и не лезть в указатели, пока про них не зайдёт речь, например.

PS. Интересно, как объяснить этому вашему хвалёному Markdown что мои 1. и 2. — это просто цифры в начале абзаца и его не надо выравнивать? Я конечно воткнул перед каждым zero width space, но это ж изврат.

Исходная версия Xenius, :

Ну вот, пошли расхождения в толковании «не убий». Вроде и низя, но для крестовых походов сделаем исключение.

Если что, это было моё понимание, а я не Столяров.

Это отлично демонстрирует, что столяровское разделение искусственно

А кто говорит, что не искусственно? Те же циклы - это искусственные конструкции, которые можно заменить на IF с GOTO и в некоторых диалектах бейсика так и было. Как думаешь, зачем придумали структурное программирование и сказали, что «GOTO is considered harmful», а так же ввели разные виды циклов?

Суть в том, что вводятся определенные правила, которые ограничивают выразительные средства программиста, хотя но зато облегчают чтение и декомпозицию кода.

и не имеет ничего общего с реальностью.

Как минимум в Pascal имеют.

Нет смысла и количество учебных часов ограничено.

Я уже приводил аргумент. Если в языке какие-то понятия родные, то их освоение в рамках этого языка пройдёт быстрее. За сэкономленное время, можно выучить ещё один язык и ещё останется. Далеко не обязательно изучение двух языков займёт больше времени, чем сразу второго из них.

Перечитывай мой исходный пост в этом треде, там всё доступно расписано.

Я на него уже отвечал. Пойдём по кругу?

  1. Нафига нужен Python в начальном обучении? Ну да, модно, молодёжно, но при наличии основы освоить его на уровне FizzBuzz можно за пару часов, если есть цель устроиться к конкретному работодателю, где его требуют. А если нужно будет устроиться к другому работодателю, где нужен например Lua, PHP, Perl, Ruby — это уже будет пустая трата времени.
#!/usr/bin/env python3
for i in range(1,101):
  if i%3==0:
    print('Fizz', end='')
  if i%5==0:
    print('Buzz', end='')
  if i%3!=0 and i%5!=0:
    print(i, end='')
  print()

Вот например.

  1. Как интересно ты будешь объяснять школьнику, понятия не имеющего о программировании, как работает хотя бы простейшая программа на C, учитывая что тебе придётся сразу же с первого урока углубляться и в #include <stdio.h> и в & у операндов scanf и так далее.

А вот в Pascal можно вводить элементы программирования постепенно и не лезть в указатели, пока про них не зайдёт речь, например.