Системное программирование 00: Философия Unix.

YOUTUBE · 25.11.2025 06:26

Ключевые темы и таймкоды

Подключение к конференции

0:05
  • Автор извиняется за возможные проблемы с подключением к конференции.
  • Рекомендуется использовать браузер Chrome или Chromium.
  • Подключение к конференции через файерфокс также возможно.

Юникс и его преимущества

4:06
  • Юникс считается лучшим для программирования и разработки.
  • Он предоставляет полный доступ к системе и позволяет изучить ее работу.
  • Большая часть исходного кода системы открыта для изучения и улучшения.

История Юникса

6:00
  • Юникс был создан в 1971 году для разделения времени компьютера между несколькими пользователями.
  • В те времена компьютеры были дорогими и доступными только для крупных университетов и государственных учреждений.
  • Процесс работы с компьютером был медленным и неудобным, что не устраивало пользователей.

История создания UNIX

9:39
  • В университетах за рубежом были группы людей, которые занимались электроникой и моделированием железных дорог.
  • Они использовали компьютеры для серьезных вычислений и моделирования.
  • Люди хотели сделать что-то интересное с компьютерами, но были ограничены возможностями.
  • Они программировали хитрые программы и соревновались в написании лучшего кода.
  • UNIX был создан в 1970 году как система, которая позволяла делить время компьютеров между несколькими пользователями.
  • UNIX была разработана с учетом ошибок и стала популярной благодаря своей удобности и гибкости.

Развитие UNIX и его популярность

17:27
  • UNIX был написан на языке высокого уровня, что позволило переносить его на другие системы.
  • UNIX стал популярным благодаря своей простоте и гибкости, а также благодаря языку программирования C, который был создан в это же время.
  • UNIX до сих пор является языком системного программирования и не был вытеснен другими языками.

История создания Unix

23:08
  • Unix тесно связан с языком Си и рождением интернета.
  • В университетах была необходимость связывать компьютеры между собой, и для этого была разработана технология TCP/IP.
  • Unix был разработан в университете Беркли по заказу военных, и его технология была выложена в открытый доступ.

Утилита Patch и разработка программного обеспечения

29:24
  • Утилита Patch позволила делать разработку программ распределенной, что сделало революцию в разработке программного обеспечения.
  • Unix был настолько успешным, что от него отпочковались многие системы, включая Linux, Mac OS и BSD.

Проект GNU и создание Linux

31:12
  • В 1985 году Ричард Столлман запустил проект GNU, целью которого было создание полностью свободной версии Unix.
  • В 1991 году Линн Столлман создал ядро операционной системы, которое впоследствии назвали Linux.

История создания Linux

36:06
  • Лин Стовальс создал ядро Linux, которое было названо "Фрикс" в честь себя и Unix.
  • Администратор университета, где учился Стовальс, предложил назвать проект "Linux", чтобы избежать путаницы с Unix.
  • Проект стал популярным благодаря его открытости и доступности для скачивания.

Философия Unix и Linux

42:25
  • Философия Unix включает три основных постулата: делать одну вещь хорошо, программы должны работать совместно и использовать текстовые потоки.
  • Правила дизайна Unix включают модульность, ясность, разделение, простоту, прозрачность и надежность.
  • Эти принципы помогают создавать качественные и надежные программы.

История Unix

46:56
  • В видео обсуждается история Unix, включая его развитие и принципы, такие как правило наименьшего удивления и правило тишины.
  • Unix был разработан для работы с текстовыми интерфейсами, что привело к его экономности в плане вывода на экран.
  • В современных программах под Unix, правило тишины является важным принципом, когда программа молчит, если все хорошо, и громко ругается, если что-то не так.

Оптимизация и расширяемость

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

Планы на будущее

53:55
  • В видео обсуждаются планы на будущее, включая темы, которые будут рассмотрены, и проекты, которые могут быть реализованы.
  • В конечном счете, планируется создать свой собственный интерпретатор команд для Unix.

Заключение

59:13
  • В заключение, автор предлагает следующее занятие послезавтра в то же время.
  • Он также призывает зрителей попробовать свои собственные проекты и не закапываться слишком глубоко в них, чтобы избежать разочарования.

Обучение программированию

1:00:41
  • Автор рассказывает о том, как он учился программировать, и как это помогло ему в работе со студентами.
  • Он подчеркивает, что важно научиться выражать свои мысли кратко и четко, и что это помогает в обучении программированию.

Важность практики и обучения

1:02:44
  • Автор подчеркивает важность практики и обучения, особенно через преподавание или объяснение другим.
  • Он также упоминает статью "Научитесь программировать за десять лет" Питера Норвика, директора по исследованиям в Google.

Время и опыт

1:04:38
  • Автор говорит о том, что для того, чтобы стать экспертом в любой области, нужно минимум десять лет практики.
  • Он также упоминает, что в начале карьеры многие программисты пытаются сделать что-то, что не получается, и это нормально.

Выбор языка программирования

1:07:09
  • Автор обсуждает свои предпочтения в языках программирования, включая C++, Java, JavaScript и Lisp.
  • Он подчеркивает, что каждый язык имеет свои особенности и преимущества, и что важно изучить их все, чтобы стать хорошим программистом.

Обсуждение проприетарных языков программирования

1:08:20
  • Обсуждение идеи использования проприетарных языков программирования, таких как суржик, для конкретных задач в компании.
  • Сомнения в целесообразности изучения таких языков, так как они могут быть неактуальны через несколько лет.
  • Проблема с потерей интереса к языку и его использованием в будущем.

Опыт использования проприетарных языков

1:11:04
  • Пример использования проприетарного языка управления версиями, ClearCase, который был заменен на более удобный Git.
  • Горький привкус от использования ClearCase, который не рекомендуется использовать.

Заключение

1:14:11
  • Обсуждение необходимости изучения проприетарных языков программирования на работе зависит от контекста и оплаты.
  • Предложение встретиться в следующий раз для обсуждения настройки рабочего окружения и работы с консолью.