Определение: «направленный ацикличный граф с единственным корнем является деревом, где корень дерева — вершина в которую не приходит ни одного рёбра.». Второе определение: «дерево — это связанный ацикличный направленный граф». И одно из следствий: «скелетом дерева является само дерево.»
Какая корпорация его купила? Norton Commander всегда писался компанией Symantec Inc. Просто на заре компания состояла из одного Питера Нортона, а потом уже в неё добавились ещё программисты.
Питер Нортон — основатель Symantec
По моим наблюдениям в те места, где реа т не нужен его тащат «программисты». Более того, бывают случаи, когда все эти фреймворка не нужны, но их тащат. И здесь сказываете именно некомпетентность.
А вот именно в этом и кроется проблема прожорливости современного софта: «программисты» не знают как устроен компьютер и используют реакт/ангуляр /вуе и т.д. там, где не нужно/вредно
Ну не знаю. Странный у Вас опыт. Мне 40+ и стоит мне немного поменять резюме на hh (стараюсь держать актуальным по желаемой зп и т.д.) — сразу закидывают весьма хорошими предложениями.
Видимо важен бэкграунд, а не количество лет опыта/возраст.
Более того, как уже писали ниже у многих молодых нет базовых знаний (даже у синьоров) — есть только набор паттернов и модных технологий в голове.
А иногда и хелпа как такового может не быть…
И на стэковерфлоу нет ответов, а на гитхабе про такой язык и не слышали…
Но зная алгоритмы в большинстве случаев можно по спецификации языка разобраться что и как...
Примерно тот же путь, только ассемблер изучался одновременно с паскалем, а си — одновременно с плюсами и FoxPro.
Ну и тогда же начали появляться VisualBasic, BP for windows, а дальше — Delphi ну и понеслось…
Язык вторичен. Первично понимание алгоритмов, знание устройства платформы, под которую софт пишешь и понимание приоритетов софта: производительность/удобство для пользователя/лёгкость поддержки и сопровождения (обычно можно выбрать только одно)
Там, в основном не само дерево описано, а детали реализации, в том числе — почему нет проверок на выходы за границы и т.д.
Код реально сложный — даже автору тяжело в нём было ориентироваться при написании — все в топку производительности...
Не любят разработчики читать доки.
Плюс здесь комментарии "по месту".
А процедуры — большие, в угоду производительности (да, делали замеры — разбиение на методы даже с хинтом Aggressive Inlining даёт про Сашку по скорости на 10-15% в релизе)
Иногда приходится и "как" описывать, но крайне редко.
Обычно это касается случаев сложных алгоритмов, оптимизированных на производительность.
Например, в средней команде мало кто сможет сам разобраться, как работает сверхбыстрый алгоритм B* дерева, хранящегося в файле с постраничным кэшированием. А если там ещё и unsafe для ускорения складывания в/из буфера используется — комментарии must have. Несмотря на 100% покрытие тестами (не только модульными, но и интеграционниками).
И да, этот код был необходим. По требованиям от заказчика необходимого быстродействия достичь не удалось ни на MSSQL, ни на файловой БД(SQLite) ни на прочих вариантах.
Универсальные решения проиграли именно в силу универсальности.
У нас в команде принято при написании TODO следующим (первым) словом указывать логин того, кому оно предназначено (даже если самому себе). Несмотря на "недоскрам" у каждого кода есть владелец — тот, кому с кодом проще работать.
Ну и список TODO регулярно просматриваем.
Определение: «направленный ацикличный граф с единственным корнем является деревом, где корень дерева — вершина в которую не приходит ни одного рёбра.». Второе определение: «дерево — это связанный ацикличный направленный граф». И одно из следствий: «скелетом дерева является само дерево.»
Какая корпорация его купила? Norton Commander всегда писался компанией Symantec Inc. Просто на заре компания состояла из одного Питера Нортона, а потом уже в неё добавились ещё программисты.
Питер Нортон — основатель Symantec
Так насколько я понял речь про то, что зачастую выполняют операции со строками, вместо операций с числами.
По моим наблюдениям в те места, где реа т не нужен его тащат «программисты». Более того, бывают случаи, когда все эти фреймворка не нужны, но их тащат. И здесь сказываете именно некомпетентность.
А вот именно в этом и кроется проблема прожорливости современного софта: «программисты» не знают как устроен компьютер и используют реакт/ангуляр /вуе и т.д. там, где не нужно/вредно
Видимо важен бэкграунд, а не количество лет опыта/возраст.
Более того, как уже писали ниже у многих молодых нет базовых знаний (даже у синьоров) — есть только набор паттернов и модных технологий в голове.
"Мопед не мой — я просто разместил объяву" ©
Именно. А при наличии знаний ассемблера и железа можно было мегавещи делать. Тот же VGA/MCGA 3202008bit режим — ваще бомба...
А иногда и хелпа как такового может не быть…
И на стэковерфлоу нет ответов, а на гитхабе про такой язык и не слышали…
Но зная алгоритмы в большинстве случаев можно по спецификации языка разобраться что и как...
Ну и midpack/digpack тоже с поддержкой паскаля… И про Covox забыли ;)
Примерно тот же путь, только ассемблер изучался одновременно с паскалем, а си — одновременно с плюсами и FoxPro.
Ну и тогда же начали появляться VisualBasic, BP for windows, а дальше — Delphi ну и понеслось…
Язык вторичен. Первично понимание алгоритмов, знание устройства платформы, под которую софт пишешь и понимание приоритетов софта: производительность/удобство для пользователя/лёгкость поддержки и сопровождения (обычно можно выбрать только одно)
К сожалению, это не всегда работает....
Там, в основном не само дерево описано, а детали реализации, в том числе — почему нет проверок на выходы за границы и т.д.
Код реально сложный — даже автору тяжело в нём было ориентироваться при написании — все в топку производительности...
Не про Сашку, а просадку… Автозамена :(
Не любят разработчики читать доки.
Плюс здесь комментарии "по месту".
А процедуры — большие, в угоду производительности (да, делали замеры — разбиение на методы даже с хинтом Aggressive Inlining даёт про Сашку по скорости на 10-15% в релизе)
Иногда приходится и "как" описывать, но крайне редко.
Обычно это касается случаев сложных алгоритмов, оптимизированных на производительность.
Например, в средней команде мало кто сможет сам разобраться, как работает сверхбыстрый алгоритм B* дерева, хранящегося в файле с постраничным кэшированием. А если там ещё и unsafe для ускорения складывания в/из буфера используется — комментарии must have. Несмотря на 100% покрытие тестами (не только модульными, но и интеграционниками).
И да, этот код был необходим. По требованиям от заказчика необходимого быстродействия достичь не удалось ни на MSSQL, ни на файловой БД(SQLite) ни на прочих вариантах.
Универсальные решения проиграли именно в силу универсальности.
У нас AD и Exchange — это одно и то же.
Иногда, правда, используем инициалы, но редко.
У нас в команде принято при написании TODO следующим (первым) словом указывать логин того, кому оно предназначено (даже если самому себе). Несмотря на "недоскрам" у каждого кода есть владелец — тот, кому с кодом проще работать.
Ну и список TODO регулярно просматриваем.
Ну, так-то и сам майнкрафт денег стоит, да и читы, внезапно, для сетевой игры есть...
Точности ради, она называлась VESA local bus (сокращённо — VLB)