Что такое linux way

Содержание
  1. UNIX way
  2. Содержание
  3. МакИлрой: Четверть века UNIX
  4. Пайк: Стиль программирования на C
  5. Майк Ганцарз: Философия UNIX
  6. Реймонд: Искусство программирования в UNIX
  7. Цитаты
  8. Критика
  9. Примечания
  10. См. также
  11. Ссылки
  12. Полезное
  13. Смотреть что такое «UNIX way» в других словарях:
  14. Что для вас linux-way?
  15. Re: Что для вас linux-way?
  16. Re: Что для вас linux-way?
  17. Re: Что для вас linux-way?
  18. Re: Что для вас linux-way?
  19. Re: Что для вас linux-way?
  20. Re: Что для вас linux-way?
  21. Re: Что для вас linux-way?
  22. Re: Что для вас linux-way?
  23. Re: Что для вас linux-way?
  24. Re: Что для вас linux-way?
  25. Re: Что для вас linux-way?
  26. Re: Что для вас linux-way?
  27. Re: Что для вас linux-way?
  28. Re: Что для вас linux-way?
  29. Re: Что для вас linux-way?
  30. Re: Что для вас linux-way?
  31. Re: Что для вас linux-way?
  32. Re: Что для вас linux-way?
  33. Re: Что для вас linux-way?
  34. Re: Что для вас linux-way?
  35. Re: Что для вас linux-way?
  36. Re: Что для вас linux-way?
  37. Re: Что для вас linux-way?
  38. Re: Что для вас linux-way?
  39. Re: Что для вас linux-way?
  40. Re: Что для вас linux-way?
  41. Re: Что для вас linux-way?
  42. Re: Что для вас linux-way?
  43. Re: Что для вас linux-way?
  44. Re: Что для вас linux-way?
  45. Re: Что для вас linux-way?
  46. Re: Что для вас linux-way?
  47. Re: Что для вас linux-way?
  48. Re: Что для вас linux-way?
  49. Re: Что для вас linux-way?
  50. Re: Что для вас linux-way?

UNIX way

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

Содержание

МакИлрой: Четверть века UNIX

Дуг МакИлрой, изобретатель каналов UNIX и один из основателей традиции UNIX, обобщил философию следующим образом:

«Философия UNIX гласит: Пишите программы, которые делают одну вещь и делают её хорошо. Пишите программы, которые бы работали вместе. Пишите программы, которые бы поддерживали текстовые потоки, поскольку это универсальный интерфейс».

Обычно эти высказывания сводятся к одному «Делайте одну вещь, но делайте её хорошо».

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

Пайк: Стиль программирования на C

Роб Пайк (англ. Rob Pike ) предложил следующие «правила» в качестве аксиом программирования. [1] Одновременно эти правила могут выражать точку зрения на философию UNIX:

  • Правило 1: Вы не знаете, где программа начнёт тормозить. Узкие места возникают в неожиданных местах, поэтому не стройте догадки и изучайте скорость работы программы до тех пор, пока не удостоверитесь, что узкое место найдено.
  • Правило 2: Измерение. Не оптимизируйте скорость до тех пор, пока её не измерите, и даже если вы проверили какую-то часть кода с узким местом, проверьте остальные.
  • Правило 3: Изощрённые алгоритмы являются медленными, если n мало, а n обычно мало. В изощрённых алгоритмах присутствуют большие константы. До тех пор, пока вы не убедитесь, что n часто становится большим, избегайте изощрённости (даже если n становится большим, вначале используйте правило 2).
  • Правило 4: Изощрённые алгоритмы чаще подвержены ошибкам, чем их простые аналоги, также их гораздо сложнее реализовать. Используйте простые алгоритмы наряду с использованием простых структур данных.
  • Правило 5: Данные преобладают. При правильной и хорошо организованной структуре данных, алгоритмы становятся очевидными. Структуры данных, а не алгоритмы, являются центральной частью в программировании.
  • Правило 6: Правила 6 нет.

Первое и второе правила Пайка перефразированы Тони Хоаром (англ. Tony Hoare ) в известную аксиому «Преждевременная оптимизация — корень всех зол». Кен Томпсон (англ. Ken Thompson ) перефразировал 3 и 4 правила Пайка так: «Если сомневаетесь, используйте перебор всех возможных комбинаций». Правила 3 и 4 являются частными положениями философии дизайна KISS: Keep It Simple, Stupid (будь попроще, тупица). Правило 5 было предварительно сформулировано Фредом Бруксом (англ. Fred Brooks ) в книге «Мифический человеко-месяц». Правило 5 часто сокращают до «пиши тупой код, который использует умные данные». Правило 6 взято из шутки Брюса, прозвучавшей в «Летающем цирке Монти Пайтона».

Майк Ганцарз: Философия UNIX

В 1994 году Майк Ганцарз (англ. Mike Gancarz ) объединил свой опыт работы в UNIX (он является членом команды по разработке системы X Window System) с высказываниями из прений, в которых он участвовал со своими приятелями программистами и людьми из других областей деятельности, так или иначе зависящих от UNIX, для создания Философии UNIX, которая сводится к 9 основным принципам:

  1. Маленькое прекрасно.
  2. Пусть каждая программа делает одну вещь, но хорошо.
  3. Собирайте прототип как можно раньше.
  4. Предпочитайте переносимость эффективности.
  5. Храните данные в простых текстовых файлах.
  6. Используйте программные рычаги для достижения цели.
  7. Используйте сценарии командной строки для улучшения функционала и переносимости.
  8. Избегайте связывающего программу (captive) пользовательского интерфейса.
  9. Делайте каждую программу «фильтром».

Менее важные 10 принципов не снискали всеобщего признания в качестве частей философии UNIX и в некоторых случаях являлись предметом горячих споров (монолитное ядро против микроядра):

  1. Позвольте пользователю настраивать окружение.
  2. Делайте ядра операционной системы маленькими и легковесными.
  3. Используйте нижний регистр и придерживайтесь кратких названий.
  4. Храните данные древовидно.
  5. Молчание — золото.
  6. Думайте о параллельности.
  7. Объединенные части целого есть нечто большее, чем просто их сумма.
  8. Ищите 90-процентное решение.
  9. Лучшее — враг хорошего.
  10. Думайте иерархически.
Читайте также:  Как найти презентации windows

Реймонд: Искусство программирования в UNIX

Эрик С. Рэймонд (англ. Eric S. Raymond ) в своей книге «Искусство программирования в UNIX» подытожил философию UNIX как широко используемую инженерную философию «Будь попроще, тупица» (Принцип KISS). Затем он описал, как эта обобщенная философия применима в качестве культурных норм UNIX. И это несмотря на то, что несложно найти несколько нарушений в следующей текущей философии UNIX:

  • Правило модульности: Пишите простые части, соединяемые понятными интерфейсами.
  • Правило ясности: Ясность лучше заумности.
  • Правило композиции: Разрабатывайте программы так, чтобы их можно было соединить с другими программами.
  • Правило разделения: Отделяйте правила (policy) от механизма (mechanism); отделяйте интерфейс от движка (engine).
  • Правило простоты: Нацельтесь на простоту; добавляйте сложность, только где необходимо.
  • Правило экономности: Пишите большую программу только когда можно продемонстировать, что другими средствами выполнить необходимую задачу не удастся.
  • Правило прозрачности: Разрабатывайте прозрачные программы для облегчения последующего пересмотра и отладки.
  • Правило надёжности: Надёжность — дитя прозрачности и простоты.
  • Правило представления: Храните знания в данных так, чтобы логика программы была тупой и надёжной.
  • Правило наименьшего удивления: При разработке интерфейса всегда делайте как можно меньше неожиданных вещей.
  • Правило тишины: Если программе нечего сказать, пусть лучше молчит.
  • Правило восстановления: Если надо выйти из строя, делайте это шумно и как можно быстрее.
  • Правило экономии: Время программиста дорого; сократите его, используя машинное время.
  • Правило генерации: Избегайте ручного набора кода; при любом удобном случае пишите программы, которые бы писали программы.
  • Правило оптимизации: Сначала — опытный образец, потом — «причесывание». Добейтесь стабильной работы, только потом оптимизируйте.
  • Правило многообразия: Отвергайте все утверждения об «единственно правильном пути».
  • Правило расширяемости: Разрабатывайте для будущего. Оно наступит быстрее, чем вы думаете.

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

Цитаты

  • «UNIX прост. Но надо быть гением, чтобы понять его простоту» — Деннис Ритчи.
  • «UNIX не был разработан так, чтобы отгораживать своих пользователей от глупостей, поскольку это отгородило бы их от делания умных вещей» — Дуг Гвин.
  • «UNIX никогда не скажет „пожалуйста“» — Роб Пайк.

Критика

Философия UNIX критиковалась в книге «The UNIX Haters Handsbook», написанной сотрудниками компании Microsoft в начале 1990х годов.

По их мнению, подход UNIX приводит к появлению решений, сделанных наспех, без должного продумывания архитектуры, после чего данные решения канонизируются (enshrined), то есть объявляются вечной классикой. Например, таким решением, по их мнению, являются lock files — временные файлы без содержимого, создаваемые как пометка того факта, что какая-то программа находится в процессе исполнения.

Так, например, ими критиковалась X Window System за отделение в ней движка от политики, что привело к отсутствию в UNIX стандарта на политики управления пользовательским интерфейсом и большим затруднениям при разработке приложений, использующих GUI.

Приводился ряд примеров, показывающих, что некоторые решения, принятые в ОС VMS, Microsoft Windows и Apple Mac OS, значительно превосходят своих аналогов из мира UNIX.

Примечания

См. также

  • Plan 9 — разработана как наследница UNIX
  • Каналы и фильтры
  • Разработка программного обеспечения

Ссылки

  • Brian Kernighan, Rob Pike. The UNIX Programming Environment 1984
  • Rob Pike. Notes on Programming in C 11 сентября 1989
  • Richard Gabriel. The Rise of Worse is Better // Lisp: Good News, Bad News, How to Win Big 1991
  • Peter H. Salus. A Quarter Century of UNIX. Addison-Wesley, 31 мая 1994. ISBN 0-201-54777-5
  • Eric S. Raymond. Philosophy // The Art of UNIX Programming. Addison-Wesley, 17 сентября 2003. ISBN 0-13-142901-9
  • M. D. Schroeder, D. D. Clark, J. H. Saltzer, D. H. Wells. Final Report of the Multics Kernel Design Project 1977
  • Joel Spolsky.Biculturalism (англ.) . Joel on Software (14 декабря 2003). — Взляд Windows‐разработчика на различия двух культур.
  • Дмитрий Царьков.Развитие Linux: куда теперь? (рус.) (25 октября 2005).

Wikimedia Foundation . 2010 .

Полезное

Смотреть что такое «UNIX way» в других словарях:

Unix way — Философия UNIX это набор культурных норм и философских подходов к разработке программного обеспечения, основанных на опыте ведущих разработчиков операционной системы Содержание 1 МакИлрой: Четверть века UNIX 2 Пайк: Стиль программирования на C … Википедия

Читайте также:  Как отложить перезагрузку windows

Unix time — Unix time, or POSIX time, is a system for describing points in time, defined as the number of seconds elapsed since midnight Coordinated Universal Time (UTC) of January 1 1970, not counting leap seconds. It is widely used not only on Unix like… … Wikipedia

Unix security — Unix security: maintaining a secure environment on Unix and Unix like operating systems is dependent on design concepts of these operating systems, but vigilance through user and administrative techniques is important to maintain security… … Wikipedia

Unix™ — UK US (also UNIX®) noun [U] TRADEMARK IT ► a powerful computer operating system (= program that controls the way a computer works) that can be used in most types of computers and was important for the development of the internet: »The software is … Financial and business terms

Unix philosophy — The Unix philosophy is a set of cultural norms and philosophical approaches to developing software based on the experience of leading developers of the Unix operating system.McIlroy: A Quarter Century of UnixDoug McIlroy, the inventor of Unix… … Wikipedia

Unix shell — In Unix, a program that acts as a user interface, interpreting commands typed at the keyboard and passing them on to the operating system. The shell sets up standard input, standard output, and standard error, lets you customize your Unix… … Dictionary of networking

Философия UNIX — Философия UNIX это набор культурных норм и философских подходов к разработке программного обеспечения, основанных на опыте ведущих разработчиков операционной системы UNIX. Содержание 1 МакИлрой: Четверть века UNIX 2 Майк Ганцарз: Философия… … Википедия

Shebang (Unix) — In computing, a shebang (also called a hashbang, hashpling, or pound bang) refers to the characters #! when they are the first two characters in a script file. Unix like operating systems take the presence of these two characters as an indication … Wikipedia

Single UNIX Specification — The Single UNIX Specification (SUS) is the collective name of a family of standards for computer operating systems to qualify for the name Unix . The SUS is developed and maintained by the Austin Group, based on earlier work by the IEEE and The… … Wikipedia

Manual page (Unix) — Almost all substantial UNIX and Unix like operating systems have extensive documentation known as man pages (short for manual pages ). The Unix command used to display them is man. Each page is a self contained document. The man command is… … Wikipedia

Источник

Что для вас linux-way?

Что по вашему настоящий linux-way? Какой дистрибутив наиболее полно отражает linux-way, или может быть их несколько. Наверное LFS это скорее unix-way =)

Re: Что для вас linux-way?

Re: Что для вас linux-way?

А что это за way’и такие?

Re: Что для вас linux-way?

сферический. В вакууме.

Re: Что для вас linux-way?

Джаст фо фан, как завещал великий Торвальдс

Re: Что для вас linux-way?

Отвержение и НЕНАВИСТЬ, НЕНАВИСТЬ, НЕНАВИТЬ .

Re: Что для вас linux-way?

> Что по вашему настоящий linux-way?

Вне присутствия дао нельзя говорить, но то, о чем поведать нельзя, — это дао. Вне присутствия дао нельзя размышлять, но то, о чем помыслить нельзя, — это дао. * * *

В дао нет ничего от человека. Мудрый не судит: «Это дао, а то — не дао». В дао нет ничего от своего «я». Мудрый не различает между пребыванием в дао и отстранением от него. В том, что дао нет, — залог того, что дао есть. В том, что мудрый не держится за дао, — залог того, что он не потеряет дао. * * *

Горшечник может создать десять тысяч горшков, но ни один горшок не сможет ни создать горшечника, ни уничтожить его. Дао может создать десять тысяч вещей, но ни одна вещь не сможет ни создать дао, ни уничтожить его. * * *

Мудрый знает, что сознание едино, вещи едины, дао едино, и все они объединяются в одно. Он не меряет неизменным изменчивое и не ущемляет изменчивым неизменное. * * *

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

Re: Что для вас linux-way?

Re: Что для вас linux-way?

забаньте этого троля

Re: Что для вас linux-way?

вендузятники придумывают термины и сами их обфыркивают? Есть unix-way, накой тебе какой-то линукс-вей?

Re: Что для вас linux-way?

Вещества нельзя жечь

Re: Что для вас linux-way?

Re: Что для вас linux-way?

Черниговское/Балтика в крупных количествах

Читайте также:  Sapphire radeon x1600xt драйвер windows 10

Re: Что для вас linux-way?

+1, у Linux нет пути.

Re: Что для вас linux-way?

> Черниговское/Балтика в крупных количествах

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

Re: Что для вас linux-way?

linux-way — это современный UNIX-way. Т.е. сочетание как старого, так и нового.

Re: Что для вас linux-way?

> linux-way — это современный UNIX-way. Т.е. сочетание как старого, так и нового.

Re: Что для вас linux-way?

Re: Что для вас linux-way?

И вообще, господа, не кажется ли вам, что нас посетило очередное воплощение тузика? 🙂

Re: Что для вас linux-way?

> Какой дистрибутив наиболее полно отражает linux-way

Смотря что понимать под этим термином.

Debian — ярчайший пример, когда огромное linux-сообщество вместе делает очень хороший продукт.

RHEL — пример современного коммерчески успешного дистрибутива, тот же Linux-way, но доказывает, что Linux может быть не только «Just for fun».

Slackware — «эгоистичный» (в хорошем смысле) Linux-way, когда один человек, авторитет и духовный вдохновитель, определяет развитие дистрибутива.

В современном мире Linux-way, это возможность выбора!

Re: Что для вас linux-way?

Ty3uK, был харизматичен и весел, это же чудовище претендует только койку в палате №6.

Re: Что для вас linux-way?

Алихандро, принеси яблoк.

Re: Что для вас linux-way?

Какой ещё линукс-way? Way’и господни неисповедимы!

Re: Что для вас linux-way?

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

Re: Что для вас linux-way?

обращать Windows-user-ов в свою веру, а тех кого обратить нельзя жечь на кострах как еретиков.

ЗЫ задолбал ты уже со своими глупыми опросами

Re: Что для вас linux-way?

Я помню, гик с кем-то спорил про локальный поисковик tracker. Все сошлись на мнении, что UNIX-way не стоит на месте, а развивается; теперь эффективные инструменты доступны как тру хакерам, там и «мышевозникам».

Re: Что для вас linux-way?

короче говоря — вдоль 🙂

Re: Что для вас linux-way?

Млин.. Даже передернуло..

Re: Что для вас linux-way?

>Что по вашему настоящий linux-way?

удобство и открытость системы, сообщество пользователей и качество документации. всё.

Re: Что для вас linux-way?

и эта.. что вы думаете о перпективах plan9?

он сдохнет и все фичи неумело и неконсистентно перетянут в лунакс?

Re: Что для вас linux-way?

s/лунакс/линакс/ тфу ты

Re: Что для вас linux-way?

КЛБ, безграмотное цуцромо!

Re: Что для вас linux-way?

> КЛБ, безграмотное цуцромо!

Хроническое недопивание, срочно исправляй.

Re: Что для вас linux-way?

Re: Что для вас linux-way?

Для большинства это стенка

Re: Что для вас linux-way?

> linux-way — это современный UNIX-way. Т.е. сочетание как старого, так и нового

linux-way — это правильный UNIX-way, испорченный обезъянничаньем с windows-way, refactored.

вот plan9-way — это ÜBER-UNIX-WAY.

А Линукс, где ни копни, ПОЧТИ не Ъ: ну например, KDE: порт Windows на UNIX, GNOME: порт Mac classic на UNIX. Всего по 2 штуки. «Лучших» не может быть 1, их обязательно 2, «чтобы был выбор». Распыление сил и holy flames.

Всё было бы воистину печально, кабы не REFACTORED. Благодаря ему появляются initng вместо sysV init, oops вместо squid, djdns вместо bind, postfix вместо sendmail, Gentoo вместо LFS, итд итп.

И значит, ещё не всё потеряно и есть шанс.

Re: Что для вас linux-way?

>и эта.. что вы думаете о перпективах plan9?

а что я думаю о перспективах Xanadu по сравнению с HTML ..

Тоже немеряно круто и тоже — R.I.P.

Plan9 не хватает юзеровских killer app приложений. Если бы к FOSSILу и системе архивирования, его уникальной прозрачности в ФС прикрутили нормальное API платформ, появилось бы куча софта под это API, этот софт бы показывал несомненные преимущества (например, как в концепте Etoile из GNUStep: документно-ориентированное ДЕ, динамически строить своё окружение из документов-объектов-сервисов, а не файлов и приложений), удобство работы с семантикой — может бы всем наконец стали очевидны его преимущества и им стали пользоваться не только красноглазые.

например, такой workflow: вместо «сплошных» докуметов-объектов у нас «составные» из «кусочков», повязанных ссылками, которые не ломаются. И документы набираются «трансклюзией», как в Xanadu, кусочков, повязаных сервисами.. И лежат в каком-то универсальном, распределённом формате файлов/документов/сети, прозрачно.. И пользователь работает в основном не с контентом «сплошных» блобов, а с семантикой, связями между «кусочками»..

.. а WM у нас — что-то вроде dwm с тегами, и как перспективы в Eclipse динамически повязывают такие «кусочки», с ссылками, правилами, «чувствуя» и понимая окружение (других кусочков, сервисов), в котором оно работает..

. вот это было бы круто, ага :))) да только скорее случится

> он сдохнет и все фичи неумело и неконсистентно перетянут в лунакс?

Источник

Оцените статью