Программирование обычно ассоциируется с обработкой информации. Но в нашем материальном мире информация необходимо располагается на каком-либо носителе: диск/файл/БД/таблица/запись/поле/объект/переменная/регистр/ячейка памяти/сообщение/и т.п.
И вот чтобы обработать информацию, ее надо переместить на носитель, к которому данный обработчик информации имеет доступ, например: перекачать на диск, считать с файла в оперативную память, затем на регистры процессора, обработать и совершить обратный путь. Или: cчитать записи из базы данных (а это тоже многоходовка), перегруппировать поля, послать в браузер, а там (будем надеяться) информация в конце концов попадет в видеопамять и будет видна пользователю.
Или вот, что меня бесит больше всего: чтобы воспользоваться какой-то программой, ее надо на каждый компутер, на котором я работаю, установить, прописать конфигурацию для связи с используемыми программами и библиотеками, поматерить разработчиков когда прога чего-то not found, а потом еще наслаждаться переносом данных с работы домой и обратно.
Все эти манипуляции с носителями меня уже достали. И вот сижу я и думаю: если других людей они тоже достали, то почему они не пишут об этом, не пытаются как-то навалиться всем миром и решить как-то эту проблему? Или для них (для вас) это не проблема и я один такой труднообучаемый?
Будете отвечать, отвечайте, типа, "для меня это не проблема" или "это проблема, но я не собираюсь ее решать, потому что..."
Спасибо за внимание
Re: А вам не осточертело манипулировать носителями мнформаци
Здравствуйте, rfq, Вы писали: rfq>Программирование обычно ассоциируется с обработкой информации. Но в нашем материальном мире информация необходимо располагается на каком-либо носителе: диск/файл/БД/таблица/запись/поле/объект/переменная/регистр/ячейка памяти/сообщение/и т.п. rfq>И вот чтобы обработать информацию, ее надо переместить на носитель, к которому данный обработчик информации имеет доступ, например: перекачать на диск, считать с файла в оперативную память, затем на регистры процессора, обработать и совершить обратный путь. Или: cчитать записи из базы данных (а это тоже многоходовка), перегруппировать поля, послать в браузер, а там (будем надеяться) информация в конце концов попадет в видеопамять и будет видна пользователю. rfq>Или вот, что меня бесит больше всего: чтобы воспользоваться какой-то программой, ее надо на каждый компутер, на котором я работаю, установить, прописать конфигурацию для связи с используемыми программами и библиотеками, поматерить разработчиков когда прога чего-то not found, а потом еще наслаждаться переносом данных с работы домой и обратно. rfq>Все эти манипуляции с носителями меня уже достали. И вот сижу я и думаю: если других людей они тоже достали, то почему они не пишут об этом, не пытаются как-то навалиться всем миром и решить как-то эту проблему? Или для них (для вас) это не проблема и я один такой труднообучаемый? rfq>Будете отвечать, отвечайте, типа, "для меня это не проблема" или "это проблема, но я не собираюсь ее решать, потому что..."
Вопрос интересный. Добавлю своего: по моей оценке большинство (процентов 95%) кода программиста приходится именно на конвертирование данных — считать с диска (носителя), упаковать в свои структуры данных, передать в метод через параметры (тоже своего рода структура), там преобразовать во внутренний формат, провести обработку, и вернуть результат обратно. И раз уж само программирование технически, по сути, упаковка-перепаковка, то что уж тут горевать по поводу возни с носителями данных вручную?
Хотя идея интересная, раз и навсегда создать код и архитектуру данных, пригодную для решения ЛЮБЫХ задач. Один из вариантов — XML. Но решил ли он задачу? Нет. Но он добавил проблем. Ныне это — замедление обработки на порядок и затраты на память — рост тоже на порядок. Но зато — универсально. Но за всё надо платить. Это главный урок XML, не всем, в современном мире, понятный.
В общем, вопрос этот больше философский, чем практический. Может быть, стоит сначала его изучить внимательно философски, а уж потом пытаться или не пытаться его решить.
Re: А вам не осточертело манипулировать носителями мнформаци
Здравствуйте, rfq, Вы писали:
rfq>Или вот, что меня бесит больше всего: чтобы воспользоваться какой-то программой, ее надо на каждый компутер, на котором я работаю, установить, прописать конфигурацию для связи с используемыми программами и библиотеками, поматерить разработчиков когда прога чего-то not found, а потом еще наслаждаться переносом данных с работы домой и обратно.
Здравствуйте, rfq, Вы писали:
rfq>Программирование обычно ассоциируется с обработкой информации. Но в нашем материальном мире информация необходимо располагается на каком-либо носителе: диск/файл/БД/таблица/запись/поле/объект/переменная/регистр/ячейка памяти/сообщение/и т.п. rfq>И вот чтобы обработать информацию, ее надо переместить на носитель, к которому данный обработчик информации имеет доступ, например: перекачать на диск, считать с файла в оперативную память, затем на регистры процессора, обработать и совершить обратный путь. Или: cчитать записи из базы данных (а это тоже многоходовка), перегруппировать поля, послать в браузер, а там (будем надеяться) информация в конце концов попадет в видеопамять и будет видна пользователю. rfq>Или вот, что меня бесит больше всего: чтобы воспользоваться какой-то программой, ее надо на каждый компутер, на котором я работаю, установить, прописать конфигурацию для связи с используемыми программами и библиотеками, поматерить разработчиков когда прога чего-то not found, а потом еще наслаждаться переносом данных с работы домой и обратно. rfq>Все эти манипуляции с носителями меня уже достали. И вот сижу я и думаю: если других людей они тоже достали, то почему они не пишут об этом, не пытаются как-то навалиться всем миром и решить как-то эту проблему? Или для них (для вас) это не проблема и я один такой труднообучаемый? rfq>Будете отвечать, отвечайте, типа, "для меня это не проблема" или "это проблема, но я не собираюсь ее решать, потому что..."
rfq>Спасибо за внимание
Так это и есть процесс обработки информации.
Обработка информации вообще уже изрядно надоела. Уехать в деревню к тетке в глушь Саратов, сидеть и грызть тупо семеки без всякой информации.
Make flame.politics Great Again!
Re[2]: А вам не осточертело манипулировать носителями мнформ
Здравствуйте, TimurSPB, Вы писали:
TSP>Так это и есть процесс обработки информации. TSP>Обработка информации вообще уже изрядно надоела. Уехать в деревню к тетке в глушь Саратов, сидеть и грызть тупо семеки без всякой информации.
Вот-вот, возню с носителями у нас путают с обработкой информации. Если я два байта переслал, то с байтами (нулями и единицами) ничего не произошло — они какими были такими и остались, где здесь обработка? Разве математика занимается пересылкой байтов? Нет, потому что здесь нет обработки. А вот манипуляция с носителями налицо — надо подготовить входной и выходной носители, скоммутировать их, и в результате состояние выходного носителя изменится.
Я именно хотел разделить обработку информации и манипуляцию носителями. Я хотел бы максимум времени заниматься обработкой информации в математическом смысле и минимум — возиться с носителями.
Re: А вам не осточертело манипулировать носителями мнформаци
Здравствуйте, rfq, Вы писали:
rfq>Будете отвечать, отвечайте, типа, "для меня это не проблема" или "это проблема, но я не собираюсь ее решать, потому что..."
Проблема решится, как только пользователь, процессор, RAM, коммуникации и центральная база данных будут объединены одним-единственным носителем данных (чтобы не перекладывать с места на место). После решения этой, в сущности, тривиальной задачи останется ещё малая малость: унифицировать человекочитаемое представление данных с подходящим для процессора (чтобы преобразованиями не заморачиваться).
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[3]: А вам не осточертело манипулировать носителями мнформ
Здравствуйте, rfq, Вы писали:
rfq>Здравствуйте, TimurSPB, Вы писали:
rfq>Я именно хотел разделить обработку информации и манипуляцию носителями. Я хотел бы максимум времени заниматься обработкой информации в математическом смысле и минимум — возиться с носителями.
Хм. Так любой abstraction layer для того и создаётся — чтобы убрать "под себя" максимум сугубо технической работы. Это с одной стороны.
А с другой стороны, в любом случае остаётся вот такой вид решения задачи:
источник >--> преобразование >--> получатель
Даже если у тебя написано x = sin y, то всё равно системе нужно "сказать", откуда взять y и куда деть x. А это как раз работа с носителями, пусть даже они будут в абстрактно-унифицированном виде. "Чистая математика" только в наших представлениях бывает, в приложении к компьютерными системам так или иначе придётся помнить о носителях данных.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[4]: А вам не осточертело манипулировать носителями мнформ
Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>Хм. Так любой abstraction layer для того и создаётся — чтобы убрать "под себя" максимум сугубо технической работы. Это с одной стороны.
Где-то создается (Hibernate), а где-то не создается (или пока в зачаточном состоянии). Вот те области где он не создается меня и достают. И вопрос мой был — чувствуете ли вы необходимость такого уровня и где.
ГВ>А с другой стороны, в любом случае остаётся вот такой вид решения задачи:
ГВ>
ГВ>Даже если у тебя написано x = sin y, то всё равно системе нужно "сказать", откуда взять y и куда деть x. А это как раз работа с носителями, пусть даже они будут в абстрактно-унифицированном виде. "Чистая математика" только в наших представлениях бывает, в приложении к компьютерными системам так или иначе придётся помнить о носителях данных.
Ну я же не выступаю за отмену носителей совсем. Уровень x = sin y меня устраивает.
Re: А вам не осточертело манипулировать носителями мнформаци
Здравствуйте, rfq, Вы писали:
rfq>Или вот, что меня бесит больше всего: чтобы воспользоваться какой-то программой, ее надо на каждый компутер, на котором я работаю, установить, прописать конфигурацию для связи с используемыми программами и библиотеками, поматерить разработчиков когда прога чего-то not found, а потом еще наслаждаться переносом данных с работы домой и обратно.
Поэтому мы разрабатываем веб-приложения.
rfq>Все эти манипуляции с носителями меня уже достали. И вот сижу я и думаю: если других людей они тоже достали, то почему они не пишут об этом, не пытаются как-то навалиться всем миром и решить как-то эту проблему? Или для них (для вас) это не проблема и я один такой труднообучаемый? rfq>Будете отвечать, отвечайте, типа, "для меня это не проблема" или "это проблема, но я не собираюсь ее решать, потому что..."
Гм. Ну, вот нужно нам, скажем, построить дома. Не просто так, а потому, что людям надо где-то жить, т.е. мы напрямую удовлетворяем базовые потребности. Но вот беда: стройматериалы не расположены там, где будут дома. Поэтому кому-то нужно заниматься перевозкой цемента, песка, камней и воды. При этом собственно обработкой песка, камней, цемента и воды занимается ничтожная доля занятых в строительстве и ничтожную долю времени. Получается, вся стройка — это сплошные манипуляции с компонентами, а никакая не работа.
С точки зрения водителя грузовика это — не проблема. Для него проблема — это что-то другое. Скажем, высокие затраты на топливо (и он переходит на машину с гибридным двигателем).
Мы с тобой — водители грузовика. Девочка пишет в аську "чмоки". Наша работа — сделать так, чтобы эти чмоки приехали туда, куда нужно. Обрабатывать здесь ничего не надо. Надо просто передать информацию. Это полсотни лет назад считалось, что компьютеры — для "расчётов" (поэтому и название). А сейчас оказывается, что чуть ли не 90% мощностей заняты передачей и хранением информации. Ну так это всего лишь отражает потребности рынка. Поэтому я не считаю это такой уж проблемой.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[5]: А вам не осточертело манипулировать носителями мнформ
поддерживаю, надоело )
например CD\DVD диски: очень малый объем, запись неудобна — перешел на HDD
флешки: очень медленные, замены пока невижу при такихже габаритах
мелкие заметки можно хранить в инете, чтобы иметь доступ и дома и на работе (фильмы так не передаш быстро)
общее свое видение проблемы вижу в центральном хранилище с высокоскоростным доступом, пока такого нет
Re[5]: А вам не осточертело манипулировать носителями мнформ
Здравствуйте, rfq, Вы писали:
rfq>Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>>Хм. Так любой abstraction layer для того и создаётся — чтобы убрать "под себя" максимум сугубо технической работы. Это с одной стороны. rfq>Где-то создается (Hibernate), а где-то не создается (или пока в зачаточном состоянии). Вот те области где он не создается меня и достают.
Что за области? Как и что ты делишь на области?
rfq>И вопрос мой был — чувствуете ли вы необходимость такого уровня и где.
Хм. А почему его надо как-то отдельно чувствовать? Промежуточные абстракции напрашиваются везде, где появляется много одинаковой работы. Например, если у нас будет какая-то программа, обрабатывающая только глаголы в тексте, то неизбежно "напросится" некий "глаголовыделяльщик". Другое дело, что разработка таких средств не всегда оправдана сугубо экономически.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[2]: А вам не осточертело манипулировать носителями мнформ
Здравствуйте, Sinclair, Вы писали:
S>Мы с тобой — водители грузовика. Девочка пишет в аську "чмоки". Наша работа — сделать так, чтобы эти чмоки приехали туда, куда нужно. Обрабатывать здесь ничего не надо. Надо просто передать информацию. Это полсотни лет назад считалось, что компьютеры — для "расчётов" (поэтому и название). А сейчас оказывается, что чуть ли не 90% мощностей заняты передачей и хранением информации. Ну так это всего лишь отражает потребности рынка. Поэтому я не считаю это такой уж проблемой.
Когда компьютеры занимаются передачей и хранением информации, это не проблема, так и должно быть.
Проблема — когда я ручками должен указывать каждый раз где взять и куда положить.
Ну например, возьмем большой open source проект, выложен в сети. Я его скачиваю весь (уже перерасход ресурсов и моего времени — скачиваться должно автоматически по мере необходимости), ищу с чего начать, это обычно зайти в определенное место и сказать make. И что, этот make пройдет с первого раза? никогда. Надо еще скачать то-то и то-то, указать это в переменных окружения или еще как, потом выяснится что версия скачанного не та и т.д. и т.п. Но ведь у разработчиков этого проекта все работало! А у меня нет!
То есть базовая задача — воспроизвести некий вычислительный процесс — не автоматизирована.
И ведь вроде не такая сложная вещь (попроще jit-compiler'a), а автоматизировать раз и навсегда не то что не получается — даже и не пытаются эту задачу поставить, вот чему я удивляюсь.
Re[3]: А вам не осточертело манипулировать носителями мнформ
Здравствуйте, rfq, Вы писали:
rfq>Ну например, возьмем большой open source проект, выложен в сети. Я его скачиваю весь (уже перерасход ресурсов и моего времени — скачиваться должно автоматически по мере необходимости), ищу с чего начать, это обычно зайти в определенное место и сказать make. И что, этот make пройдет с первого раза? никогда. Надо еще скачать то-то и то-то, указать это в переменных окружения или еще как, потом выяснится что версия скачанного не та и т.д. и т.п. Но ведь у разработчиков этого проекта все работало! А у меня нет! rfq>То есть базовая задача — воспроизвести некий вычислительный процесс — не автоматизирована.
Конкретно эта задача в RH-based ОС решается при помощи mock.
Скачиваешь src rpm нужного пакета, потом
Здравствуйте, rfq, Вы писали:
rfq>Когда компьютеры занимаются передачей и хранением информации, это не проблема, так и должно быть. rfq>Проблема — когда я ручками должен указывать каждый раз где взять и куда положить. rfq>Ну например, возьмем большой open source проект, выложен в сети.
Так бы сразу и сказал! А то — Hibernate, философия, области пространства...
rfq>Я его скачиваю весь (уже перерасход ресурсов и моего времени — скачиваться должно автоматически по мере необходимости), ищу с чего начать, это обычно зайти в определенное место и сказать make. И что, этот make пройдет с первого раза? никогда. Надо еще скачать то-то и то-то, указать это в переменных окружения или еще как, потом выяснится что версия скачанного не та и т.д. и т.п. Но ведь у разработчиков этого проекта все работало! А у меня нет! rfq>То есть базовая задача — воспроизвести некий вычислительный процесс — не автоматизирована.
Э-э-э... А вот не надо обобщать на все вычислительные процессы? Вакханалия с библиотеками под unix-ом, это уже притча во языцех. Вон, придёт спасительный cmake — появится ещё один тромбон в этом ансамбле песни и пляски.
rfq>И ведь вроде не такая сложная вещь (попроще jit-compiler'a)
Вообще-то, на порядок сложнее любого компилятора. Из-за того, что вовлечена масса людей, которых и читать-то не всегда заставишь.
rfq>а автоматизировать раз и навсегда не то что не получается — даже и не пытаются эту задачу поставить, вот чему я удивляюсь.
Почему же — не решают? В мануалах обычно написано — что откуда скачать, что где прочесть. Есть ещё дежурная рекомендация — читать мэйл-листы!
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[4]: А вам не осточертело манипулировать носителями мнформ
Здравствуйте, LuciferSaratov, Вы писали:
rfq>>То есть базовая задача — воспроизвести некий вычислительный процесс — не автоматизирована.
LS>Конкретно эта задача в RH-based ОС решается при помощи mock. LS>Скачиваешь src rpm нужного пакета, потом LS>
LS>Оно скачает и установит все необходимые зависимости и соберет готовый пакет.
Спинным мозгом чую — будет эпический тред!
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[5]: А вам не осточертело манипулировать носителями мнформ
Здравствуйте, LuciferSaratov, Вы писали:
ГВ>>Спинным мозгом чую — будет эпический тред! LS>Если придет Cyberax и расскажет, как оно в Ubuntu — будет наверняка
Главное, чтобы любители .Net пришли.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[3]: А вам не осточертело манипулировать носителями мнформ
Приветствую, rfq, вы писали:
rfq> Ну например, возьмем большой open source проект, выложен в сети. Я его скачиваю весь (уже перерасход ресурсов и моего времени — скачиваться должно автоматически по мере необходимости), ищу с чего начать, это обычно зайти в определенное место и сказать make. И что, этот make пройдет с первого раза? никогда. Надо еще скачать то-то и то-то, указать это в переменных окружения или еще как, потом выяснится что версия скачанного не та и т.д. и т.п. Но ведь у разработчиков этого проекта все работало! А у меня нет!
Суть в том, что в линухе есть пакетные манагеры. Если нужное тебе присутствует в репозитории твоего дистрибутива, то тебе достаточно просто попросить пакетный манагер установить софтину (ну к примеру emerge smth в генту). Если же не опакечено, то нужно опакетить и установить — а на это таки да, затрачивается больше времени, особенно на первоначальный пакет, когда надо разбираться с зависимостями и прочими пряниками.
Почему надо опакечивать? Ну во первых чтобы использую пакетный манагер соблюдать чистоту дистрибутива, а во вторый последующая поддержка и обновление будет на порядки легче.
А если же пакет в репе присутствует, то все как ты написал: оно качается автоматически, собирается если надо, устанавливается куда надо и возможно выполняется первоначальная настройка. Причем не только запрошенный пакет устанавливается, но и необходимые неустановленные зависимости.
Здравствуйте, Sheridan, Вы писали:
S>А если же пакет в репе присутствует, то все как ты написал: оно качается автоматически, собирается если надо, устанавливается куда надо и возможно выполняется первоначальная настройка. Причем не только запрошенный пакет устанавливается, но и необходимые неустановленные зависимости.
Это в идеале. А на практике... Совсем недавно прокувыркался уйму времени, собирая GStreamer в static-конфигурации. Фишка в том, что эта конфигурация вполне разрешается опциями configure. Угу, разрешается. Если под рукой кувалда и прокатный стан, то разрешается делать самолёт из паровоза. А чего стоит, например, фенька: можно собирать или shared, или static (это уже не GStreamer, кажется). Почему "или"? Почему нельзя "и"? И далее по кочкам. Про избыточную тягу к переменным окружения я вообще лучше помолчу, а то забанят.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!