Re: Размышление вслух… (Linux vs Windows)
Добавлено: 06 ноя 2013, 17:18
Я поменял авторский заголовок (добавил "Linux vs Windows"), чтобы диалог, который продолжается уже 4 года назывался близко к теме.
Форум по операционной системе GNU/Linux и свободному программному обеспечению
http://linux-ru.ru:80/
Существуют языки программирования, чтобы описать некоторые задачи на языке машины и пользователю выдать только кнопку на запуск выполнения этой задачи. Существует сложный софт и некоторые программы в начале развития. По мере совершенстования фейс программы тоже структурируется, чтобы быть более юзабельным для пользователя. Некоторые наборы задач группируются, делаются со своей иерархией, возможно поиск по ключевым словам. Элементы меню делаются очевидными качественным по смыслу описания задачи, добавляются всплывающие подсказки для неочевидных элементов, а в некоторых случаях возможность перейти в справку прямо от непонятного чекбокса на страницу его подробного описания. В строку состояния выводится краткий лог выполнения текущей задачи, а в некотором кеше можно увидеть весь ход выполнения задачи.ОС - это набор необходимых графических оболочек для выполнения повседневных заданий
Вообще то, из современных языки программирования практически ни один уже не приближается к тому, чтобы "чтобы описать некоторые задачи на языке машины" - программы написанные на этих языках будут замечательно выполняться на процессорах абсолютно разных архитектур, не имеющих между собой ничего общего: i686, x86-64, ARM, MIPS, PPC, ...Azjio писал(а):Подтвержу тезис, чтоСуществуют языки программирования, чтобы описать некоторые задачи на языке машины и пользователю выдать только кнопку на запуск выполнения этой задачи.ОС - это набор необходимых графических оболочек для выполнения повседневных заданий
Проекты Linux на сегодня разрабатываются совершенно не бесплатно, под них есть приличное финансирование ... а то, что они передаются потребителю бесплатно - так это просто такая модель ведения бизнеса.Azjio писал(а): Я понимаю, что бесплатная система не появилась ниоткуда и на всё был затрачен труд разработчиков. Было бы не приятно обесценить труд разработчиков притензиями. Но надо уметь правильно отвечать, а не указывать на кривость рук пользователя. Если по существу лень писать, то правильнее промолчать.
Это глубокое заблуждение ...Azjio писал(а): Я начал изучать Linux, пока моё мнение - Windows на голову профессиональней. Возможно мое мнение как то сбалансируется немного.
Конечно составители синтаксиса пытаются создать близкий к человеческому синтаксису, но пока ещё это не доступно для лёгкого восприятия. Те же регулярные выражения, где 1 символ определяет поведение, это тоже, что китайский иероглиф, который нужно выучить что он означает, чтобы понять смысл этой логической цепочки.Olej писал(а):ни один уже не приближается к тому, чтобы "чтобы описать некоторые задачи на языке машины"
Я думаю аудио видео это не обязательно забавы. И почему это должно как то обрезаться? Для одного игра это забава, для другого способ увлекательно научить ребёнка чему либо. И кроме того решение игровых задач, как раз требует поддержку в системе кучу форматов, 3D моделирование, графику, видео, аудио, презентации и т.д. и т.п.Olej писал(а):Это глубокое заблуждение ...
Можног было бы ещё рассуждать о том, что Windows ... комфортнее не профессионалу, который не хочет заморачиваться тех. подробностями ... или удобнее для медиа забав (аудио, видео) ... или безумным геймерам куда больше подходит ...
Но говорить о профессионализме Windows относительно Linux - просто смешно.
Это всё-равно, что в музыкальном смысле сравнивать "Мурку" с ... Моцартом ... или, на худой конец, с Beatles.
"Составители синтаксиса" , в общем, и не пытаются "создать близкий к человеческому синтаксис"... Это было бы слишком просто, но в результате - бессмысленно.Azjio писал(а):Конечно составители синтаксиса пытаются создать близкий к человеческому синтаксису, но пока ещё это не доступно для лёгкого восприятия.
Регулярные выражения не есть основа никакого языка программирования ... и без них многши живут, и слов таких не зная.Azjio писал(а): Те же регулярные выражения, где 1 символ определяет поведение, это тоже, что китайский иероглиф, который нужно выучить что он означает, чтобы понять смысл этой логической цепочки.
sed, awk, ... perl ... , а ещё: Python, Ruby, Ocaml, Haskel ... и ещё десятка полтора языков программированияAzjio писал(а): К примеру ищу программу для замены текста в файлах, не нахожу ничего кроме консольной grep.
Всё обстоит с точностью до наоброт:Azjio писал(а): Юзабольность программы определяет количество кликов для выполнения задачи и напряжённость внимания. В консоли мне каждый раз придётся набирать команды. Зачем, если можно путь перетащить в окно, режимы просто переключать кнопкой и не запоминать ключи. Да и кому нужна консоль то для этого у программы делается консольный интерфейс, то есть она поддерживает передачу параметров через ком-строку. Есть люди кому так нравится, да и возможность автоматизации. Но опять же 2 режима это выбор для пользователя, а 1 режим это ограничение прнуждающее работать с неудобствами. А скорее всего причина только в дополнительной работе по созданию GUI. Либо переложить на пользоватля проблему, либо на себя.
А почему это "обрезается"?Azjio писал(а): Я думаю аудио видео это не обязательно забавы. И почему это должно как то обрезаться? Для одного игра это забава, для другого способ увлекательно научить ребёнка чему либо. И кроме того решение игровых задач, как раз требует поддержку в системе кучу форматов, 3D моделирование, графику, видео, аудио, презентации и т.д. и т.п.
И это не так...Azjio писал(а): Под Windows написано на порядок больше софта. Может это тоже двигатель продвижения. Фирма майкрософт сделала свою систему ближе к пользователю, этим и добилась массовое использование и написание программ именно под популярную систему. Если бы Linux переломил немного популярность, то и тут появилось бы куча всех необходимых инструментов.
В UNIX/Linux просто нет такой жёсткой привязки содержимого файла к его имени.Azjio писал(а): Где в Nemo выбор задач для файла из контекстного меню? Какое нибудь расширяемое, куда можно добавить любую команду для определённого типа файла.
Если "в Windows встроен браузер" - это IE, Internet Explorer, то это не браузер, это - убоище!Azjio писал(а): 3. В Windows встроен браузер и CHM формат справки использующий объект браузера. В Linux отсутствует встроенный браузер, соответственно нет возможности создать альтернативы справочной системы.
CHM - это совершенное убожество ... а для Linux существует несколько справочных систем, хотя тех же man (текстовых!!!) более чем достаточно.Azjio писал(а): Вернее справочная система есть, но в Windows это самостоятельный файл, сам в себе, в Linux рассыпуха, как если бы распакованный CHM в виде HTML-файлов. PDF не в счёт, его формат отображается с расплывчатым шрифтом.
Конечно!Azjio писал(а): 4. Пользовался Arum Switcher, в последствии своей программой TextCorrection, для исправления текста набранного в неправильной раскладке. В Linux аналога пока не нашёл.
Вот в этом и вся беда пользователей, пытающихся сидеть на 2-х стульях: не ищите аналогов и приёмов из Windows в Linux - здесь все по-своему и лучше.Azjio писал(а): Привык к слишком многим фичам Notepad++, но здесь с Wine он частенько падает, например после удаления открытого файла. В Gedit не работает дубликат строки Ctrl+D, в GVim - не сохраняется выбранная тема подсветки, в Geany поиск не такой продвинутый как в Notepad++.
Взять к примеру AutoIt (только для Windows), на столько лёгкий, что практически не требует изучения, чтобы начать писать код, в отличии от языков, в которых не поймёшь с каким бубном танцевать перед ним, что бы он хотя бы скомпилировался. Взять к примеру несколько языков, которые поддерживают ключевые слова на родном языке. Если язык имеет такую возможность, то программировать на нём может ребёнок. Я бы может 20 лет назад уже бы программировал, если не языковая проблема кода и документации. Ну не лежит у меня понимание другого языка не смотря на математические способности. Что-то у меня ощущение что в будушем будет анализатор именно родного языка в независимых формах, например команда "Открыть файл тыкдымтыкдым.txt". Если вы не можете двояко интерпретировать задачу в заданном контексте, то что ещё надо?и не пытаются "создать близкий к человеческому синтаксис"... Это было бы слишком просто, но в результате - бессмысленно.
Но это логическая структура построения маски, при том не просто последовательная а с рекурсиями, ссылками на группы. И после AutoIt я уже любую логическую форму принимаю как программирование, будь то договор займа, где указываются условия (при стихином бедствии), вложенные условия, переключатели, возвраты и т.д.; будь то правило дорожного движения или электрическая схема.Регулярные выражения не есть основа никакого языка программирования
Да, уже вместо решения задачи пытаюсь выбираю язык, чтобы сделать GUI-обёртку для grep. Хотел было питон но если в винде он сразу работает, то тут я не могу установить архив. А то что установилось, появился ярлык в менюшке, запускает какой то редактор, в котором "Хелоу ворд" не могу запустить/скомпилировать. Начал Си с кроссплатформенным Code Blocks, но пока не пойму через Qt ли делать GUI. Даже на питоне Qt не советуют (в справке), а рекомендуют нативный Tkinter в связи с поддержкой на кроссплатформенность.sed, awk, ... perl ... , а ещё: Python, Ruby, Ocaml, Haskel ... и ещё десятка полтора языков программирования
Вот тут вы как раз понимаете мой мотив. Под каждой командой скрывается то, что предварительно надо попробовать, чтобы не сломать то что имеется. Здесь хорошо подходит формулировка ожидаемый результат. Выкладывается программ к примеру блокнот. Для неё есть чётко-определяемые задачи. Эти задачи в зависимости от сложности и гибкости инструмента приходится группировать в иерархическое меню в комплекте с поисковым запросом команды. Если команда может интерпретироваться двояко, то её формулируют так, чтобы интерпретировать однозначно. Сейчас много программ и нет времени их изучать. Не вижу смысла делать программу не интуитивной. Вижу только смысл делать программу с переключением на экспертный режим или на новичка. То есть потенциал программы заложен, вы просто формируете пользовательский интерфейс под разную подготовленность пользователя. И возможность формировать интерфейс. К примеру в проводнике Windows появилась возможность популярные задачи переместить в заголовок окна, например скрыть/показать скрытые файлы. Далее вы имеете реестр, иерархическая база данных, где хранятся настройки. То есть у вас есть адрес-параметр и значение. Не важно какая программа, она использует стандартизированное хранение настроек. В Linux я пока ещё не разобрался, тут везде свои конфиги в разных форматах. То есть мне нужно изучать формат конфига для каждой отдельной программы или системной настройки, а ещё хуже осуществлять к ней доступ через парсинг данных. Надеюсь я зря пугаю себя и выявлю какую нибудь зависимость в связке "путь к XML-файлу" -> "путь в XML-файле" -> значение, с доступом через XML-обработчик.которые хотят "по-быстренькому" и не хотят вникать в детали действий (или им нет в том нужды);
Аналогии с проф. программой например обработки видео и простейшими обрезка-склеивание, всё равно GUI-файс рулит однозначно. При первом ознакомлении с прогой мы вычитываем тексты, потом ориентируемся на значок и/или его позицию. Так что зрительная восприятие легче чем вычитывание текста, а тем более хранение в мозгу текстовой ассоциированной таблицы ключ-значение.скажем, прецизионные процессиональные токарные станки с точностью обработки в микронном диапазоне, и есть простые китайские станки
Эту тему я пока юзаю. Если я могу добавить свой тип файлов, то я могу связать его по расширению и соответственно не ограничиваться. Если расширение интерпретируется первым в цепочки определения типа файла, то в принципе задача решаема. Если первично анализируется содержимое, то создаётся проблема ошибочной или нежелательной интерпретации. Расширение из трёх символов поддерживает (10+26)^3 = ~50 000, то есть трёх символьная интерпретация не ограничивает в вариациях типов, а учитывая что расширение может быть сколько угодно символов .torrent, .properties, то тем более нет ограничения. В данном случае расширение является последнее после точки, то есть xxx.mp4.BAT.c.obj как obj. В любом случае принадлежность видео и скрипта ни как не будет являться видео-потоком. А при желании зарегистрировать новый формат.Если файл будет называться xxx.mp4.BAT.c.obj (что для UNIX вполне нормально) - то кем мы его должны считать?
Я имею ввиду родного встроенного. Хотя случайно открылся какой-то, даже без адресной строки.как это нет браузеров в Linux?
Зато в IE есть объектный доступ. Его можно встроить в GUI и выводить данные формируя привычным языком тегов. Те же известные браузеры как бы этого не предоставляют. Надо писать свой движок или ковырять сложные исходники.Настолько, что Windows-пользователи в мире в большинстве пользуются сторонними браузерами
CHM использует объект IE для отображения страниц. То есть он выводит так же как выводит браузер. А это стандартизированный всем известный и популярный формат тегов. Ну вдобавок прилеплено дерево, поиск и т.д. Файл CHM изначально не является закрытым, то есть я могу его распаковать изменить стиль и запаковать. Формат PDF практически всегда размытый шрифт. Сколько бы я не выставлял его масштаб, даже вроде родной 100%, всё равно шрифт размытый. Некоторые не позволяют скопировать текст со страницы или жёстко заданный стиль, неперевариваемый для меня стиль шрифта с засечками, и чёрный на белом. Если учить язык программирования в течении года, то выгоднее переделать справку под свои удобства, чтобы с комфортом наслаждаться чтением.CHM - это совершенное убожество ... а для Linux существует несколько справочных систем, хотя тех же man (текстовых!!!) более чем достаточно.
А PDF - это формат для публикаций, издателей ... как он может быть хуже убогого CHM? : "не говорите, что вы не любите домашних животных - это вы просто не умеете их готовить"
Тут имеется ввиду раскладка клавиатуры между английским и русским. Да, немного странная идиома (раскладка), но так она озвучивается в учебниках. Если я напечатал "привет" английскими буквами "ghbdtn", а это бывает часто, то комбинацией клавишей исправляю последнее слово/строку. Также исправление капслок, красная строка, преобразование в верхний/нижний регистр. Использую её очень часто. Аналоги видел в миранде, там есть кнопка преобразования текста, но лучше иметь глобальную, ведь текст приходится набирать в браузере, адресной строке, в именах файлов при переименовании, в общалках (аска, скайп), в офисных и текстовых редакторах.Конечно!
Потому что в Linux используется на сегодня одна кодовая таблица UNICODE и один её способ кодирования UTF-8.
И нет здесь и быть не может "раскладок" ... само это понятие осталось в прошлом веке.
нашёл уже много аналогов программ, достаточно не плохих. Начал с того что в гугле забил "лучшие программы для linux", так эффективнее разобраться. Проблема в том что как раз самые жизненно необходимые средства мне кажется слабыми. Не устраивает ни один файловый менеджер. С браузерами сказка. Общалки вполне жизне-способные. Я хочу иметь возможность предложить клиенту бесплатную систему. При этом не хочу получать упрёки, что в винде что-то работает, а тут нет. С игрушками тут конечно проблема, даже если что-то идёт, то играть по сети с друзьями в общую игру, тут уже облом. А вот офисный мульти-медийный комп вполне можно было бы обустроить.Вот в этом и вся беда пользователей, пытающихся сидеть на 2-х стульях:
Вот здесь всё чтобы запустить Python: Осваиваем Python по-быстрому.Azjio писал(а):Да, уже вместо решения задачи пытаюсь выбираю язык, чтобы сделать GUI-обёртку для grep. Хотел было питон но если в винде он сразу работает, то тут я не могу установить архив. А то что установилось, появился ярлык в менюшке, запускает какой то редактор, в котором "Хелоу ворд" не могу запустить/скомпилировать. Начал Си с кроссплатформенным Code Blocks, но пока не пойму через Qt ли делать GUI. Даже на питоне Qt не советуют (в справке), а рекомендуют нативный Tkinter в связи с поддержкой на кроссплатформенность.sed, awk, ... perl ... , а ещё: Python, Ruby, Ocaml, Haskel ... и ещё десятка полтора языков программирования