Автор Тема: Программирование по-русски  (Прочитано 77702 раз)

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Программирование по-русски
« Ответ #75 : 11.02.2021 07:36:46 »
Правильное определение цикла и тела цикла в алгоритмической конструкции без привязки к языку программирования или интепретатору и не имеет даже значения какая аппаратная платформа:

A loop is a sequence of statements which is specified once but which may be carried out several times in succession. The code "inside" the loop (the body of the loop, shown below as xxx) is obeyed a specified number of times, or once for each of a collection of items, or until some condition is met, or indefinitely.
Это что за отсебятина? Завели речь о стандартах, об их перевирании при переводе, давайте ссылки на стандарты.

А с чего вы решили, что я спектрумист, обязан вам преподавателю информатики, объяснять разницу между циклом и телом цикла, и искать нормативный документ национального стандарта вашей страны?
Вы так и не захотели понять, что между циклом и телом цикла есть разница.
Прочтите, если вам обязательно нужны инструкции и директивы, ГОСТ Р 43.2.9-2019 национального стандарта российской федерации (вашей страны) и не несите больше глупостей:
https://files.stroyinf.ru/Data/712/71260.pdf

И потом ещё раз прочтите и постарайтесь вникнуть в "отсебятину".
« Последнее редактирование: 11.02.2021 07:57:17 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Программирование по-русски
« Ответ #76 : 11.02.2021 09:33:18 »
Рекурсия, в программировании, вызов функции (или процедуры) из самой этой функции.
Согласно тезису Чёрча-Тьюринга рекурсия и цикл эквивалентны.

Рекурсия, особая разновидность цикла, в которой выхода по условию, свойственного обычному циклу, может и не быть.
Такие циклы называются бесконечной рекурсией, в которой функция вызывает сама себя:
#!/bin/bash

m1 () {
m1
}
m1

Т.е., цикл имеет тело цикла, но не имеет условия выхода из цикла.
И такой алгоритм, бесконечная рекурсия, бесконечен только теоретически:
...
brk(NULL)                               = 0x3424000
brk(0x3454000)                          = 0x3454000
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x7ffe859a4fb0} ---
+++ killed by SIGSEGV +++
Ошибка сегментирования

Теоретическая бесконечность в таком алгоритме, в реальности ограничена глубиной стека вызовов, что при его переполнении вызывает ошибку сегментирования:
https://stackoverflow.com/questions/2685413/what-is-the-difference-between-a-segmentation-fault-and-a-stack-overflow/2685434#2685434
https://ru.wikipedia.org/wiki/Переполнение_стека
https://ru.wikipedia.org/wiki/Стек_вызовов

Оффлайн flint1975

  • Завсегдатай
  • *
  • Сообщений: 1 425
    • Email
Re: Программирование по-русски
« Ответ #77 : 12.02.2021 06:41:04 »
Теоретически да. Но понадобится может быть что-то вроде таблицы соответствий.
Собственно это и есть механизм работы компилятора в некотором роде.
На каждый языковой синтаксис - одна таблица соответствий.
Просто мы говорим о немного разных вещах. И я не имел ввиду гибко подстраивающийся язык программирования под семантику национального языка ;) - это породит множество неоднозначностей.
Я говорил только о том, что если в языке паскаль заменить все конструкции begin ... end. на "Начало ... конец." Язык не перестанет быть паскалем. А теперь если вдобавок заменить print() на печать() - опять останется паскалем!?
А если таким образом пройтись по всем зарезервированным словам, а потом перекомпилировать документацию - получится "паскаль а ля рус"!?
Но язык так и останется паскалем. Потом - можно и для китайского языка так же поступить - тогда программы будут переводится с одной локали в другую вполне однозначно.
Именно так сделала 1С со своим языком!

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Программирование по-русски
« Ответ #78 : 12.02.2021 08:19:32 »
Именно так сделала 1С со своим языком!

Ok. Хорошо. А что с потреблением ресурсов. Интепретатор не должен расходовать много ресурсов и он должен быть как можно более быстрым. Скажем утрированно: усечённая версия sh с вагоном утилит, помещалась на дискету в 1.7 Mb tomsrtbt. Т.е. основная идея в том, что шелл не должен быть монструозным. И это не обсуждается. Скажем так, сказать программисту: "Ты должен уложиться в эти рамки. Не можешь? Это твои проблемы."

Это во-первых. Во-вторых:
Мне все-таки непонятно: зачем вместо квалифицированных программистов выпускать дебилов-полудурков? Если человек не в состоянии освоить англоязычный синтаксис, ну какой с него нахер программист?! То что произошло с пользователем за последние 15-20 лет, это полная катастрофа. Теперь надо чтобы и с программистами?
« Последнее редактирование: 12.02.2021 08:38:55 от Speccyfighter »

Оффлайн Pureproft

  • Давно тут
  • **
  • Сообщений: 329
    • Email
Re: Программирование по-русски
« Ответ #79 : 12.02.2021 11:33:29 »
Если человек не в состоянии освоить англоязычный синтаксис, ну какой с него нахер программист?!
Опять всё упрощается и сводится к "англоязычный...."

@flint1975 я вам уже отвечал. Вы как 1с-ник можете оценить каков процент базовых конструкций [англоязычный/русскоязычный] языка конфигурирования 1с от всей ДОКУМЕНТИРОВАННОЙ объектной модели кофигуратора-1с? Думаю не более 5%. И я спрашивал, вы готовы к отсутствию всей махины методических материалов на эту тему на родном языке?
« Последнее редактирование: 12.02.2021 11:35:11 от jobless »
Рассвет наступит неизбежно!

Оффлайн ovk

  • Давно тут
  • **
  • Сообщений: 133
Re: Программирование по-русски
« Ответ #80 : 12.02.2021 13:11:39 »
Мне все-таки непонятно: зачем вместо квалифицированных программистов выпускать дебилов-полудурков? Если человек не в состоянии освоить англоязычный синтаксис, ну какой с него нахер программист?! То что произошло с пользователем за последние 15-20 лет, это полная катастрофа. Теперь надо чтобы и с программистами?
Стоит разделить системное и прикладное программирование. Профессиональный программист не всегда сможет создать достаточно сложную прикладную программу, т.к. он не является специалистом в предметной области (пример -бухгалтерские программы, медицинская диагностика, лингвистика и т.п.), для него нужен грамотный постановщик задачи, хорошо продуманное тех. задание. Как известно, Ковчег построил дилетант, профессионалы создали Титаник. Зато профессиональный программист способен создать язык, понятный предметнику, чтобы он сам решил свои задачи.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 908
    • Домашняя страница
    • Email
Re: Программирование по-русски
« Ответ #81 : 12.02.2021 14:19:26 »
Мне все-таки непонятно: зачем вместо квалифицированных программистов выпускать дебилов-полудурков? Если человек не в состоянии освоить англоязычный синтаксис, ну какой с него нахер программист?! То что произошло с пользователем за последние 15-20 лет, это полная катастрофа. Теперь надо чтобы и с программистами?
Стоит разделить системное и прикладное программирование. Профессиональный программист не всегда сможет создать достаточно сложную прикладную программу, т.к. он не является специалистом в предметной области (пример -бухгалтерские программы, медицинская диагностика, лингвистика и т.п.), для него нужен грамотный постановщик задачи, хорошо продуманное тех. задание. Как известно, Ковчег построил дилетант, профессионалы создали Титаник. Зато профессиональный программист способен создать язык, понятный предметнику, чтобы он сам решил свои задачи.
Основное непонимание в этой теме не в том, нужен или нет язык, а насколько он употребим вовне определённых программ (его применимость). Скажем, язык 1С кроме 1С:Предприятие нигде не используется, насколько я знаю. Кумир не используется вовне одноимённой среды. Причём, в отличие от maxima/wxmaxima, только с GUI. Вот и получается, что эти решения вынуждены прозябать в узких нишах без возможности их широкого использования. Не потому что они на кириллице, а потому, что их прибили гвоздями к определённым программам.
Андрей Черепанов (cas@)

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Программирование по-русски
« Ответ #82 : 12.02.2021 14:36:36 »
Если человек не в состоянии освоить англоязычный синтаксис, ну какой с него нахер программист?!
Опять всё упрощается и сводится к "англоязычный...."

Опять всё не упрощается, а сводится к тому, что недавно сказал Линус. Но в русскоязычном сегменте, и полагаю не только, его мало кто захотел услышать. А Линус сказазал, - парни, у нас проблема.

И также выше согласен с Андреем.
« Последнее редактирование: 12.02.2021 14:41:54 от Speccyfighter »

Оффлайн Merblud

  • Давно тут
  • **
  • Сообщений: 460
Re: Программирование по-русски
« Ответ #83 : 12.02.2021 15:40:13 »
А Линус сказазал, - парни, у нас проблема.

И сам этот топик отлично иллюстрирует эту проблему.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Программирование по-русски
« Ответ #84 : 12.02.2021 15:45:25 »
Как известно, Ковчег построил дилетант,

Ковчег пострил человек, который понимал, что такое киль, форштевень, ахтерштевень и шпангоуты, и зачем они нужны. Иначе бы это корыто развалилось бы ещё тогда, когда его спускали на воду.

профессионалы создали Титаник.

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

И моё видение:
Но это было только преддверием. дальше всё пошло прямо до наоборот, от того что должно было произойти.  Вместо того чтобы скомандовать "Лево на борт! Самый полный!", пошли комады "Лево на борт. Стоп машина". А при снижении скорости хода, эффективность руля падает. Две проблемы, в одном месте, в одно время сложились и ухудшили всё настолько, насколько было можно. И где-то в глубинах памяти подсказывает, что не две, а сразу три. И здесь наверное стоит достать из глубин памяти, всё о  "голубая лента атлантики".
« Последнее редактирование: 12.02.2021 16:40:51 от Speccyfighter »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Программирование по-русски
« Ответ #85 : 12.02.2021 15:47:31 »
А Линус сказазал, - парни, у нас проблема.

И сам этот топик отлично иллюстрирует эту проблему.

:-) Угу. Я ж об этом и говорю: не нужно порождать ещё бОльшую проблему.

Оффлайн Merblud

  • Давно тут
  • **
  • Сообщений: 460
Re: Программирование по-русски
« Ответ #86 : 12.02.2021 15:56:42 »
Мне все-таки непонятно: зачем вместо квалифицированных программистов выпускать дебилов-полудурков? Если человек не в состоянии освоить англоязычный синтаксис, ну какой с него нахер программист?! То что произошло с пользователем за последние 15-20 лет, это полная катастрофа. Теперь надо чтобы и с программистами?
Стоит разделить системное и прикладное программирование. Профессиональный программист не всегда сможет создать достаточно сложную прикладную программу, т.к. он не является специалистом в предметной области (пример -бухгалтерские программы, медицинская диагностика, лингвистика и т.п.), для него нужен грамотный постановщик задачи, хорошо продуманное тех. задание. Как известно, Ковчег построил дилетант, профессионалы создали Титаник. Зато профессиональный программист способен создать язык, понятный предметнику, чтобы он сам решил свои задачи.

По вашему программист - это тот, кто знает ЯП? И все на этом? Да тот же Си - это полтора десятка кодовых слов и где столько же консрукций. Пол дня почитал, и ты уже программист.  ;-D
Сможет такой программист написать простенький драйверочек для ядра Линукса? А может быть, если он профессиональный медицинская диагност, то без проблем диагнтсическую программу напишет?
Говорить на русском (любом) языке дети в ясельном возрасте учатся. А даже какой-нибудь простенький документ написать многие даже и в 20 лет не могут. Я уж не говорю про какую-нибудь "Войну и мир", тут надо иметь, что сказать.
Так что языки, понятные предметнику,  - это утопия. А языков, понятных первому встречному поперечному, и сейчас навалом.

Оффлайн Merblud

  • Давно тут
  • **
  • Сообщений: 460
Re: Программирование по-русски
« Ответ #87 : 12.02.2021 16:11:41 »
Ковчег пострил человек, который понимал, что такое киль, форштевень, ахтерштевень и шпангоуты, и зачем они нужны. Иначе бы это корыто развалилось бы ещё тогда, когда его спускали на воду.

То есть, скорее всего, это все художественный вымысел. Ибо, откуда это мог знать человек, живущий в длеке от моря/океана. Даже, если это знать, то надо быть еще и очень опытным плотником. Но даже опытный плотник вряд ли с первой попытки сразу шпангоут изготовит, если он это делает первый раз в жизни.

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

Плюс к этому "эффективные менеджеры" постарались как на этапе проектирования/строительства, так и эксплуатации. Я уж молчу про версии о том, что Титаник потопили ради страховки и тому подобное. 
Да и вообще непонятно, что хотел этим сравнением сказать ovk.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Программирование по-русски
« Ответ #88 : 12.02.2021 17:29:57 »
Ковчег пострил человек, который понимал, что такое киль, форштевень, ахтерштевень и шпангоуты, и зачем они нужны. Иначе бы это корыто развалилось бы ещё тогда, когда его спускали на воду.

То есть, скорее всего, это все художественный вымысел. Ибо, откуда это мог знать человек, живущий в длеке от моря/океана. Даже, если это знать, то надо быть еще и очень опытным плотником. Но даже опытный плотник вряд ли с первой попытки сразу шпангоут изготовит, если он это делает первый раз в жизни.

:-) Конечно!


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

Плюс к этому "эффективные менеджеры" постарались как на этапе проектирования/строительства, так и эксплуатации.

Я не в курсе что говорит википедия. У меня другие источники. Они говорят, что поджимали сроки, и клёпка по форштевню, была выполнена не механически, а вручную. А это снизило стойкость металла на разрыв. Спустя многие десятилетия, эксперты проводили сравнительные лабораторные испытания. Если добавить сюда голубую ленту атлантики, особенность мореплавания в широтах близким к северным, те погодные условия и "Стоп машинам" вместо "Самый полный", то для Титаника, в одном месте, в одно время, всё это сложилось на редкость неудачно. Он был просто обречён.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Программирование по-русски
« Ответ #89 : 12.02.2021 17:43:51 »
Да и вообще непонятно, что хотел этим сравнением сказать ovk.

:-) Я это понял так:
Программисты не способные разобраться в классическом синтаксисе и вычитывающие кириллические операторы со шпаргалки, скажут: мы понимаем как раюотает бухгалтерия и щас мы вам забацаем классную программу.