Pull to refresh
81
0
Send message
Не вижу почему я должен приводить что-то "чуть сложнее ".

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


Очень много букв и интересное мнение. Но не более того. И я с ним просто не согласен. И похоже не только я.

Но обосновать не можете.


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


Но я с удовольствием поменяю свою точку зрения если вы сможете привести ваше личное адекватное определение этого самого "программирования".

Кого вы пытаетесь обмануть? Вам мое определение нужно не для того, чтобы его использовать, а чтобы к нему цепляться, искать исключения, придумывать бредовые примеры, не относящиеся к делу. Для срача, а не для дискуссии.

А в scratch программируют мышкой. Значит GUI Тоже устроен так, что управляется именно кодом

По вашей логике, если утконос откладывает яйца, то и все остальные млекопитающие тоже.


Или для вас будет невероятным откровением, что это scratch является частным случаем GUI, а не GUI частным случаем scratch'а?

Примеров чего?

То есть вы даже не знаете, какие примеры "привели". Великолепно!


Примеры программирования в реестре чуть сложнее банального запуска заданного набора программ.


А почему нет?

Я уже говорил, что у вас странные определения. По ним выходит, что все — программирование.


Я вообще ничего не начинаю подозревать. Вы свой тезис сформулируйте сначала.

Хорошо, дам сразу правильный ответ. Интерпретатор командной строки потому и интерпретатор, что интерпретирует скриптовый язык, для каждой консоли свой. А поскольку этот язык изначально создавался для гибкой работы со сторонними программами, то и интерактивный режим там реализован ровно так же — вводом программы. Обратите внимание, что процесс программирования в консоли ничем не отличается от программирования в какой-нибудь IDE: сначала код вводится, редактируется, просматривается, и только потом запускается на исполнение.


Разумеется, есть текстовые интерфейсы, устроенные по другим принципам. В первую очередь примитивные диалоговые в некоторых программах. Вроде "введите то, введите это, нажмите 1 чтобы выйти". Сюда же взаимодействие с некоторыми железяками, которые понимают только отдельные команды, но не код. Бывают TUI вроде mc, nv, vc — даже при наличии там системной консоли сами эти среды заточены под ручное управление, а не под написание скриптов.


Но, напоминаю, обсуждали мы именно системную консоль, причем именно в современных распространенных операционных системах. Понятно, что можно найти какого-нибудь 8-битного динозавра с примитивной диалоговой консолью. Они сюда не относятся.


А вот GUI программированием не является, там именно что ручной вызов отдельных действий. Именно поэтому для автоматизации действий в GUI приходится изобретать сторонние программы — кликеры, виртуальные графические серверы и т.д.

На 99.9% работа в консоли — это навигация по каталогам

Ну-ка, ну-ка, каким же способом эта навигация осуществляется, уж не с помощью ли написания кода cd $(path) ?

То есть примеров вы привести так и не можете, только отмазки…

Так привёл же.

Отмазки продолжаются, а примеров как не было, так и нет.


Мне не очевидно. Алгоритм и есть.

Если программа решает одну-единственную задачу, можно ли ее считать интерпретатором языка программирования?


Я без понятия зачем вы его задали и что этим хотели сказать. Но использование слова "interpreter" не означает автоматом что речь идёт о программированнии.

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

А почему тогда вы утверждаете, что работа в консоли — это программирование? А не по аналогии, что работа в консоли — это программирование, только если вы пишете в консоли код?

Именно потому, что работа в консоли это написание кода. Ну вот так устроена консоль, что управляется именно кодом.

Я смотрю у вас ещё и какое-то своё собственное определение носителей...

Да нет, похоже, это у вас...


Реестр и базы данных это не требования, а примеры. Требования это ваше "надо чтобы можно было считать 2+2"....

То есть примеров вы привести так и не можете, только отмазки...


А чем это не алгоритм? Простой, но всё ещё алгоритм.

Тем, что не универсальный, очевидно. Ежу понятно, что единственную задачу, на которую приложение рассчитано, оно выполнит и без программирования.


Самая обычная.

Ага, ответа нет, значит вы и сами не знаете и пытаетесь словом "очевидно" это скрыть.


Вы сначала определитесь что такое интерпретатор и какие они вообще бывают.

Этот наводящий вопрос я вам задал, не надо пытаться его вернуть.

С каких пор оперативка стала носителем?

С тех самых, как в ней стало возможно хранить произвольную информацию. То есть всегда.


Вполне себе по существу. У вас ваши требования постоянно меняются и похоже берутся просто с потолка.

И опять у вас все с ног на голову. Не я пытался притянуть за уши реестр и базы данных.


Ну так я привёл. Даже несколько.

Где?! Где вы привели хоть один пример алгоритма, реализуемого на реестре или базе данных? Ну кроме поочередного запуска фиксированного списка программ.


Потому что он интерпретирует ввод?

Что еще за "интерпретация ввода"? Парсинг что ли? Так нет, парсинг это лишь малая часть.


Ладно, подскажу: что такое интерпретатор вообще и чем он отличается от компилятора?


И подскажу с другой стороны: отличается ли синтаксис программ, вводимых в командную строку из скрипта и интерактивно?

Так на каком носителе она записана в консоли?

В оперативке, очевидно. Пока вы не нажали энтер, программа ведь где-то хранится.


Почему это должно являться необходимым условием для того чтобы что-то считалось программой?

Да что ж вы только критикуете-то не по существу. Ну не нравится мой пример, так свой приведите.


Ну если у вас такие странные определения, что ж тут поделаешь…

Ну так вы с этим согласны?

С тем, что у вас странные определения, которые то ничего не определяют, то определяют не то, что надо? Так это с самого начала было очевидно.


Я бы сказал что консоль предназначена для выполнения чего-то там.

Еще одно прекрасное определение, ну да ладно.




В очередной раз спрашиваю: почему, как вы думаете, интерпретатор командной строки называется именно интерпретатором?

Ну для вас нет. Для меня есть.

Для вас есть разница на каком носителе записана программа?! Типа как если на жестком диске, то программа, а на оптическом уже не тру?


Потому что если разницы нет, то и реестр со списком путей у нас вдруг программа и папки с файлами.

Пошли на очередной круг. Покажите как в реестре посчитать 2+2.


Зачем вы добавляете какие-то странные условия под которые даже обычные программы перестают попадать?

Это какие? Сколько помню, это только вы добавляете какие-то странные условия вроде того чтобы программа была обязательно сохранена на ПЗУ.


Тогда реестр винды это программа. И папка "автостарт" это программа.

Ну если у вас такие странные определения, что ж тут поделаешь...


Ну так консоль она как бы тоже не предназначена для программирования.

Что значит не предназначена?! Она только для этого предназначена.

Мы всё ещё имеем написанную программу.

А собственно все. Нет никакой разницы сохраните вы этот код на жесткий диск или в историю команд. Это код.


А почему это должно быть обязательным условием? Если кто-то напишет программу без всего этого, то она не будет программой?

Зачем вы пытаетесь вывернуть все с ног на голову. Безразлично как устроена конкретная программа. Безразлично где она хранится и хранится ли вообще. Важно только что она описывает алгоритм и предназначена для выполнения.


Так и интерпретатор командной строки. Он потому и интерпретатор, что предназначен интерпретировать скрипты. Поэтому даже если вам нужен запуск единственной программы без параметров, приходится писать скрипт и отдавать на интерпретацию. Вы не сможете ничего добиться от консоли, пока не напишете ей код, хотя бы и простейший из одной команды.


А реестр, насколько я понял из ваших слов, для этого не предназначен. Возможно, при должной упоротости, программировать в нем возможно, но не любое действие будет являться программированием.

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

Хорошо. А если вы написали скрипт из единственной команды?


И где там хоть слово про питон? Я вам выше уже несколько раз описал примеры о которых идёт речь.

Да на здоровье, пусть не Питон, а Си, или Java, да хоть Брейнфак. Вы же код собрались в базе данных писать, а сама она его выполнить не сможет.


Записал в реестр пути к программам. При старте ОС считала их оттуда и эти программы запустила. Это программирование?

Там можно задать условие, цикл, рекурсию или еще какую-то зависимость от данных?

Но когда вы в Python пишете import some_package вы тоже подгружаете сторонний пакет

При формировании питоньих пакетов наличие соответствующих полей — обязательное требование. А попробуйте внушить какому-нибудь Майкрософту, что ихний браузер должен обязательно поддерживать ключ --help и выдавать строго специфицированный список флагов и допустимых значений.

Тем что без натягивания совы на глобус выполнение команд в консоли под него не попадает.

А написание в блокноте с последующим запуском? Вы ж сами говорили, что запуск скрипта на исполнение программированием не является.


Откуда вы это взяли?

Ну вы же пытаетесь доказать, что написание чего-то в реестре или базе данных является программированием. Насколько мне известно, ни то, ни другое выполнять код не умеют. Значит, вы пишете для какого-то другого компилятора или интерпретатора. Или у вас база данных и код выполнять умеет?


Так ответ на мой вопрос будет или нет?

Вы пока сами не ответили на вопрос. Пока я не узнаю что вас заставляет относить реестр к программированию, мне опровергать нечего.


Ну вот я скопировал файлы по папкам. Потом запускаю "интерпретер", он сортирует файлы и папки и потом начинает запускать файлы в том порядке как они отсортированы. Это программирование?

Да, вполне возможно. Кстати, такой подход реально используется. Сложных задач так, конечно, не решают, но вот обеспечить правильный порядок запуска и останова программ при старте системы вполне можно. А уж если некоторые программы будут переименовывать других, менять значение счетчика и т.п., можно вообще тьюринг-полный язык получить.

Нет, не дошли.

Значит, все еще печальнее...


Тогда просто озвучьте ваше определение программирования.

Так чем вас не устраивает ваше же из википедии?


А зачем им уметь код выполнять? Если вы код в IDE или там блокноте пишете они его тоже выполнять не умеют.

А, так вы в реестре и базе данных код для Питона пишете. Месье знает толк...


Придумал. По крайней мере получается либо выполнение команд в консоли не программирование, либо реестр/базы данных/файлы в папках это тоже программирование. Для меня более логичен первый вариант. А для вас?

Так расшифровка-то этого псевдо-логического умозаключения будет или нет? Как у вас копирование файлов на программирование натягивается?

Скажем, если я пишу в нормальной IDE скрипт на Python, то у меня будут и всплывающие подсказки с аргументами, и справка по нужному аргументу легко вызывается, и мне даже подскажут, что вот тут возможно ошибка — ожидается число, а я чего-то подставляю список.

Потому что операторы в командной строке это сторонние программы. Откуда интерпретатору узнать что они умеют и какие параметры ожидают? Хотя вроде бы какой-то протокол придумали. То ли шелл запускает программу с ключом --help и парсит вывод, то ли еще что-то. Как бы то ни было, уж слишком много и старого софта, и стороннего.

Значит ли это, что все кто работают в блокноте — программисты?

Если пишут в блокноте код — да. А по вашей логике получается, что код можно писать только в IDE, так что ли?

Или в мозгу или на листке бумаги или в реестре или в базе данных или в виде файлов и папок. Где вы проводите границу и почему именно там?

О, уже дошли до того, что важно не где пишут, а что пишут. Осталось всего ничего — осознать почему интерпретатор командной строки называется интерпретатором.


Ну так я хочу понять почему вы это не считаете программированием.

Вы же понимаете, что я физически не смогу это ни доказать, ни опровергнуть, потому что что вы там нафантазировали ведомо только вам. Может у вас реестр или база данных какие-то особые, что код выполнять умеет.


Точно так же как вы умудрились на него натянуть выполнение команд в консоли.

Вы так и не придумали как это опровергнуть.

Ну так написанный bat-файл или шелл-скрипт это программа, но их можно писать где угодно

Ну наконец-то вы это признали! Именно что где угодно, в том числе прямо в командной строке.


А вот конкретно выполнение чего-го в командой строке само по себе не программирование.

Ну разумеется, выполнение кода и его создание это разные вещи.


С той же логикой я могу заявить что записи в реестр/базу данных это тоже программы.

Вы этот бред повторяете уже раз пятый, и до сих пор не придумали как же они связаны с программированием.


Вопрос в том считаете ли вы это всё программированием и если нет, то где, как и почему вы проводите разделение.

"все это" это что? Написание программ (в IDE, в блокноте, в командной строке) это программирование. Мы объясняем компьютеру алгоритм достижения нужного результата. Где у вас в реестре или базе данных алгоритм?


И хотелось бы увидеть определение программирование под которое попадает такое разделение.

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

При выполнение отдельных команд в консоли программы не создаются.

Как же это не создаются. Или для вас и написание bat-файла или шелл-скрипта это не программирование? А ведь работа в командной строке это оно и есть. Разве что код не в файле хранится, а в памяти.


копирование файлов в папку из описанных мною выше примеров тоже создание программирование.

То есть по-вашему копирование файлов (про реестр и базы данных мы уже выяснили, что они к теме не относятся) это написание программ? Интересное у вас представление о программировании.

Information

Rating
Does not participate
Registered
Activity