[image]

HTML / CSS / JS

Споры про реализацию
 
1 2 3 4 5 6 7 19
RU Gudleifr #10.01.2022 20:18  @Татарин#10.01.2022 20:00
+
-2
-
edit
 

Gudleifr

опытный

Сообщение было перенесено из темы Фортран.
<удалено по просьбе администрации>
   97.0.4692.7197.0.4692.71
Это сообщение редактировалось 20.01.2022 в 12:30
EE Татарин #10.01.2022 20:19  @Gudleifr#10.01.2022 20:18
+
+1
-
edit
 

Татарин

координатор
★★★★★
Татарин>> Любого.
Gudleifr> Любого было 50 лет назад (по Бруксу). Сейчас - всяко НЕНУЖНОГО.
Ненужного кому?
   97.0.4692.7197.0.4692.71
RU Gudleifr #10.01.2022 20:28  @Татарин#10.01.2022 20:19
+
-
edit
 

Gudleifr

опытный

<удалено по просьбе администрации>
   97.0.4692.7197.0.4692.71
Это сообщение редактировалось 20.01.2022 в 12:31
EE Татарин #10.01.2022 20:45  @Gudleifr#10.01.2022 20:18
+
+4
-
edit
 

Татарин

координатор
★★★★★
Gudleifr> Что такое, например, браузер? Что устаревший, что современный - это просто интерфейс между HTTP и HTML. Что в этом сложного? Ничего.
Жесть. :)
"Нет ничего невозможного для человека, которому не нужно это делать самому"© :)

Gudleifr> Сложность в том, что при реализации его через задницу, для возможности рисования рамочек стилем #69 нужно внести поправки, которые порушат стили с #22 по #33 и еще #45. Сложно поддерживать последнюю версию JS? Так только потому, что его самая первая версия никуда не годилась.
Вот.

Вот тут и начинается разница между простым и сложным программированием, между хорошим и плохим. Не было ничего сложного в том, чтобы четверть века назад добавить в какой-то тэг пару аттрибутов. Это очень просто. И вот дальше этой простоты программисты-любители и не видят (и даже не смотрят, неспособны, не их это дело).

Сложно (и хорошо) было сделать так, чтобы через четверть века имплементация поправок к требованиям А была бы простой, логичной, внутренне непротиворечивой и не портила бы, не усложняла бы имплементацию требований Б.

HTML - это, кстати, офигенно хороший пример офигенно хорошей задумки и работы программиста, а вот часть "улучшений" его, которые легли неснимаемым грузом на все последующие поколения программистов, - фоигенно хороший пример плохой работы.

Беда в том, что на момент реализации этой разницы совершенно не видно. Оно работает и так, и этак. Любой кодер с улицы может внести изменения для поддержки какой-то свистоперделки, требуемой заказчику. Далеко не любой может сделать это хорошо, нужно реально шевелить мозгами, чтобы видеть возможные последствия конкретного изменения с учётом будущих ещё не выставленных и даже несуществующих требований к продукту.

Первая версия JS вполне работала. Г**ном она является вовсе не потому, что её не смогли заговнокодить. И вовсе не потому, что JS как идея чем-то плоха или не нужна: реальный функционал HTTP/HTML-стеков и приложений на их основе сильно вырос с появлением безопасного кода, исполняемого на клиентской стороне.
Просто JS оказался плохо задуман, и некоторые последствия "фигак-фигак и в продакшн" (или как сча модно это называть, аджайл-программировани) обошлись всему миру очень дорого. ГОРАЗДО дороже, чем несколько человеко-месяцев хорошего программиста, который мог бы быть потрачен на первую спецификацию.
   97.0.4692.7197.0.4692.71
Это сообщение редактировалось 10.01.2022 в 20:57
RU Gudleifr #10.01.2022 21:01  @Татарин#10.01.2022 20:45
+
-1
-
edit
 

Gudleifr

опытный

Татарин> Вот тут и начинается разница между простым и сложным программированием, между хорошим и плохим...
Татарин> Сложно (и хорошо) было сделать так, чтобы через четверть века имплементация поправок...

Поэтому, в хорошем программировании такой проблемы не возникает. Старый проект выкидывается целиком и пишется новый. В результате вместо нескольких лет работы сотни тупых кодеров - несколько месяцев работы одного инженера, понимающего суть дела.
   97.0.4692.7197.0.4692.71
EE Татарин #10.01.2022 21:55  @Gudleifr#10.01.2022 21:01
+
+3
-
edit
 

Татарин

координатор
★★★★★
Татарин>> Вот тут и начинается разница между простым и сложным программированием, между хорошим и плохим...
Татарин>> Сложно (и хорошо) было сделать так, чтобы через четверть века имплементация поправок...
Gudleifr> Поэтому, в хорошем программировании такой проблемы не возникает. Старый проект выкидывается целиком и пишется новый.
:D

Если разработкой занимаются г**нокодеры, то так оно и бывает. Иногда доходит до того, что других опций и в принципе нет - продукт настолько плохо написан, что разработчики уже не понимают, что там понаписано и что там происходит, дальнейшая правка под новые требования невозможна. Но назвать это чем-то "хорошим" - это нужно иметь очень извращённое чувство юмора. :)

Ну и в мелких, очень простых поделках, где участие нормальных программистов излишне, это вполне годный подход: если суть программки в расчёте, а методика расчёта существенно поменялась, то логично переписать и программку целиком. Тут (кажущаяся) простота в том, что суть программки, суть накопленного опыта - не в программке как таковой, а в расчёте. Главное-то - остаётся, а закодить - ну, фигня вопрос.

...
В сложном программном проекте, где, собссно, программирование составляет значительную часть работы, такой подход ОЧЕНЬ дорог. Вплоть до запретительной, абсурдной дороговизны, обессмысливающей само предложение "новизны".
При этом бОльшая часть стоимости работы будет в бесмысленном для конечного пользователя восстановлении функционала и лишь очень малая - в добавлении нового. Большинство продукт-овнеров или конечных пользователей просто откажутся платить.

Поэтому и возникает потребность в людях, которые способны писать хорошие продукты, которые не нужно полностью переписывать раз в пять лет.
Ну и методиках, системах, правилах, принципах и прочее вот такое, что позволяет воспитывать и передавать опыт таких людей новым людям. Что и делает программирование, несмотря на то, что написание кода вещь техническая, в значительной степени делом гуманитарным.
   97.0.4692.7197.0.4692.71
RU Gudleifr #10.01.2022 22:10  @Татарин#10.01.2022 21:55
+
-2
-
edit
 

Gudleifr

опытный

Татарин> Поэтому и возникает потребность в людях, которые способны писать хорошие продукты, которые не нужно полностью переписывать раз в пять лет. Ну и методиках, системах, правилах, принципах и прочее вот такое, что позволяет воспитывать и передавать опыт таких людей новым людям.

И первыми словом такого человека, если Вам удастся его встретить ИРЛ, будет: "Выкиньте это нахрен и увольте этих дармоедов!"

И, не могу не отметить, слово "хорошие" Вы пытаетесь отнести к программам типа "современного бравзера. Или, допустим, движка базы данных. Или текстового редактора с функциональностью того же "Ворда". Или фирмвары современного магистрального рутера". Вы бы еще МастДай в этот список включили...
   97.0.4692.7197.0.4692.71
EE Татарин #10.01.2022 23:35  @Gudleifr#10.01.2022 22:10
+
+1
-
edit
 

Татарин

координатор
★★★★★
Татарин>> Поэтому и возникает потребность в людях, которые способны писать хорошие продукты, которые не нужно полностью переписывать раз в пять лет. Ну и методиках, системах, правилах, принципах и прочее вот такое, что позволяет воспитывать и передавать опыт таких людей новым людям.
Gudleifr> И первыми словом такого человека, если Вам удастся его встретить ИРЛ, будет: "Выкиньте это нахрен и увольте этих дармоедов!"
Что "это" выкинуть? Такие слова любой дурак сказать может. Часто именно они их и говорят. :) Просто потому, что не могут ничего иного.

Gudleifr> И, не могу не отметить, слово "хорошие" Вы пытаетесь отнести к программам типа "современного бравзера. Или, допустим, движка базы данных. Или текстового редактора с функциональностью того же "Ворда". Или фирмвары современного магистрального рутера".
? Нет. Я говорил, что это примеры сложных программ. Для написания которых явно нужно уметь программировать, и где г**нокодерский подход вылазит очень быстро. И в силу изначальной сложности, и в силу большого времени жизни. Это продукты, где даже маленький косяк может завалить конечный продукт так, что он не дотянет даже до стадии демонстрации жизнеспособной бета-берсии. Ну а дальнейшая поддержка таких сложный вещей с плохим дизайном обойдётся крайне дорого (что, например, ИнтернетЭксплорер и доказал).

Gudleifr> Вы бы еще МастДай в этот список включили...
Ой, мама...
С кем я говорю? :)
   97.0.4692.7197.0.4692.71
Это сообщение редактировалось 11.01.2022 в 00:08
+
+3
-
edit
 

tarasv

аксакал

Gudleifr>Что в этом сложного? Ничего. Сложность в том, что при реализации его через задницу

Если вы почитаете спеку (именно спеку, а не учебник) по CSS я думаю вы быстро поймете что быстродействующий и надежный движок рендеринга это десятки если не сотни человеколет работы очень квалифицированных программистов.
А рендерить чистый HTML со стилями достаточно просто просто.

Gudleifr>, для возможности рисования рамочек стилем #69 нужно внести поправки, которые порушат стили с #22 по #33 и еще #45.

Можно пояснить что вы имеете в виду?
   97.0.4692.7197.0.4692.71
+
-2
-
edit
 

Gudleifr

опытный

tarasv> Если вы почитаете спеку (именно спеку, а не учебник) по CSS я думаю вы быстро поймете что быстродействующий и надежный движок рендеринга это десятки если не сотни человеколет работы очень квалифицированных программистов.
Это именно то, что я называю реализацией через задницу.

tarasv> Можно пояснить что вы имеете в виду?
Проблемы, возникающие при правке кода реализации через задницу.
   97.0.4692.7197.0.4692.71
+
-
edit
 

tarasv

аксакал

Gudleifr> Это именно то, что я называю реализацией через задницу.

Реализация то тут при чем? Реализация это код, а не спека. Постоянно развивающиеся спецификации такого уровня сложности создаются кучей заинтересованных тянущих каждый в свою сторону. Очень часто такие спеки просто не могут быть полностью согласованными внутри и/или с существующим софтом. Хороший пример такой спецификации - современный C++ и матерные (реально с нецензурной лексикой) публичные комментарии Торвальдса от том что он думает про стандарт на тему где undefined behavior, а где нет.

tarasv>> Можно пояснить что вы имеете в виду?
Gudleifr> Проблемы, возникающие при правке кода реализации через задницу.

Я думаю это в основном про Trident ака MSHTML, но он уже остывший трупик именно потому что превратился в г**нокод с из спичек и скотча. Да и MS сама виновата что бежала сразу в нескольких направлениях. Серьезные глюки уже давно в спецификацию не пролазят. И дизайн у современных движков позволяет вносить согласованные с другими частями спецификации добавления без особых проблем.
   97.0.4692.7197.0.4692.71
Это сообщение редактировалось 11.01.2022 в 03:12
+
-
edit
 

Gudleifr

опытный

tarasv> Реализация то тут при чем? Реализация это код, а не спека... Хороший пример такой спецификации - современный C++...
Что в первом, что во втором случае, спецификации относятся к глюкам реализации, т.к. относятся к заранее ошибочным решениям.

tarasv> Так фортран то вполне себе жив.
Человек об этом и спрашивал.
   97.0.4692.7197.0.4692.71
+
+4
-
edit
 

tarasv

аксакал

Gudleifr> Что в первом, что во втором случае, спецификации относятся к глюкам реализации, т.к. относятся к заранее ошибочным решениям.

Прикладникам, в отличии от научников приходится работать не с законами природы а с хаосом, так же известным как человечество. Что скажет научник если ему заявить что на ближашие пять лет нужно принять E=mv2.035, а потом станет E=mv2, но не во всех случаях. Скорее всего вызовет санитаров.
А теперь мир прикладного программирования (предупрежу сразу я не UIщик и в деталях могу ошибаться). В CSS нет заметных упущений и проблем. Да есть не простая, но логически согласованная спецификация. Есть MS который ее реализует, но с парой пропусков и багов. Есть сотни тысяч web девелоперов которые начинают использовать спецификацию, в ослике у них глючит, ищут обходные пути, находят кучу разных и начинают писать кто во что горазд. И тут начинается самое веселое. Теперь уже разработчики браузеров начинают менять свою реализацию чтобы неправильный HTML и стили нормально отображались. Сказать "раз мусор на входе то будет мусор на выходе" возможности нет. Приходится все это впихивать в реализацию (не спеку, боже упаси) и стараться не дать реализации сползти в г**нокод. А потом, когда ослики плохой породы и сайты под них вымрут, все это аккуратно убрать. Бывают подобные ситуации в разработке научного софта? Для вас это баг спецификации? ​

​И возвращаясь к сложности. Она у научного и прикладного софта лежит в разных плоскостях. Архитектура научного софт, с точки зрения software engineer, не сложная - структуры данных достаточно просты, конвейерная обработка с редкой асинхронностью, вычислений локальны, интеграция с другими программами минимальная. Но применяемые методы обработки информации требуют глубоких знаний предметной области и сложны для понимания инженером-программистом. В прикладном софте наоборот - методы обработки достаточно просты, но постоянно возникают сложные архитектурные вопросы, модель данных в голову не лезет и т.д и т.п.
   97.0.4692.7197.0.4692.71
+
-2
-
edit
 

Gudleifr

опытный

tarasv> В CSS нет заметных упущений и проблем.
Кроме одной - он не нужен. Не был нужен на заре HTML, когда проще было добавить нормальный макроязык. И тем более сейчас, когда документ пролезает целиком, а CSS стал весить больше самих документов.

tarasv> Бывают подобные ситуации в разработке научного софта?
Конечно. Ведь там часто имеют дело с реальным непониманием природы вещей, а не только с тем, что сапоги начал тачать пирожник.

tarasv> ​И возвращаясь к сложности.
Сложность в программировании всегда только одна. Программа перестает влезать в голову программиста. Это не зависит от прикладной области.
   97.0.4692.7197.0.4692.71
+
-
edit
 

16-й

аксакал
★★
Gudleifr> Старый проект выкидывается целиком и пишется новый. В результате вместо нескольких лет работы сотни тупых кодеров - несколько месяцев работы одного инженера, понимающего суть дела.

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

А что за зверь такой "инженер, понимающего суть дела"? Как ты, скажем, себе представляешь сего инженера, понимающего суть дела управления системой транспорта какого-нибудь там норильского никеля или уренгойского газпрома? Несколько месяцев работы которого сразу исправит все это лоскутное одеяло, с историей еще от СССР, включая пресловутый северный завоз.
Кто этот герой?
   96.0.4664.4596.0.4664.45
RU спокойный тип #11.01.2022 10:58  @16-й#11.01.2022 10:56
+
-
edit
 

спокойный тип
Спокойный_Тип

старожил
★★
16-й> А что за зверь такой "инженер, понимающего суть дела"? Как ты, скажем, себе представляешь сего инженера, понимающего суть дела управления системой транспорта какого-нибудь там норильского никеля или уренгойского газпрома? Несколько месяцев работы которого сразу исправит все это лоскутное одеяло, с историей еще от СССР, включая пресловутый северный завоз.
16-й> Кто этот герой?

это команда героев типа как у нас - несколько архитекторов, солюшен инженеры, индастри консультанты, аналитики, разработчики, тестировщики - десятки человеко-лет работы...человеков-оркестров таких не существует.
   95.095.0
+
-
edit
 

Gudleifr

опытный

16-й> Потом, когда эту фигню приносят и начинают мигрировать данные, приспосабливать процессы, вычищать отчеты, устранять косяки по горячему с одновременными простоями и так далее...
Это не проблемы, а обоснования отказа от их решения. Мол, раз задача не сводится к копипасте старого решения, значит она нерешаемая.

16-й> А что за зверь такой "инженер, понимающего суть дела"? Как ты, скажем, себе представляешь сего инженера, понимающего суть дела управления системой транспорта...
Да в рамках "учета и контроля" решение быстро превращается в источник проблем. (Поэтому СССР и развалился). Но уже почти век назад придумали кибернетику... Попробуйте покурить книжки Бира.
   97.0.4692.7197.0.4692.71
RU 16-й #11.01.2022 11:12  @спокойный тип#11.01.2022 10:58
+
-
edit
 

16-й

аксакал
★★
с.т.> это команда героев типа как у нас - несколько архитекторов, солюшен инженеры, индастри консультанты, аналитики, разработчики, тестировщики - десятки человеко-лет работы...человеков-оркестров таких не существует.

Они, да. Еще, поди, консалтингам каким-нибудь отстегнули на старте. Начальству перед советом акционеров тоже жопу прикрыть надо.
   96.0.4664.4596.0.4664.45
+
-
edit
 

16-й

аксакал
★★
Gudleifr> Это не проблемы, а обоснования отказа от их решения. Мол, раз задача не сводится к копипасте старого решения, значит она нерешаемая.

Да, энтузиастов "взять и все просто переписать" становится меньше. Многие, конечно, так и остаются при мнении у разбитого корыта, что все было правильно, но дураки испортили малину. Но есть и такие, что делают разумные выводы. Типа, раз фактор "дураков" стационарен, то и надо его учитывать с самого начала.

Gudleifr> Да в рамках "учета и контроля" решение быстро превращается в источник проблем. (Поэтому СССР и развалился). Но уже почти век назад придумали кибернетику...

Ага. Теперь у этого медведя еще и автомат есть.
   96.0.4664.4596.0.4664.45
RU Zenitchik #11.01.2022 15:11  @Gudleifr#10.01.2022 22:10
+
+1
-
edit
 

Zenitchik

старожил

Gudleifr> И, не могу не отметить, слово "хорошие" Вы пытаетесь отнести к программам типа "современного бравзера. Или, допустим, движка базы данных. Или текстового редактора с функциональностью того же "Ворда". Или фирмвары современного магистрального рутера". Вы бы еще МастДай в этот список включили...

Дядя Петя, ты дурак? (картинку искать не буду)
   96.0.4664.11396.0.4664.113
+
+1
-
edit
 

tarasv

аксакал

Gudleifr> Кроме одной - он не нужен. Не был нужен на заре HTML, когда проще было добавить нормальный макроязык.

Чего именно по вашему мнению не хватает в CSS чтобы быть "нормальным макроязыком"?

Gudleifr> И тем более сейчас, когда документ пролезает целиком, а CSS стал весить больше самих документов.

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

Gudleifr> Конечно. Ведь там часто имеют дело с реальным непониманием природы вещей, а не только с тем, что сапоги начал тачать пирожник.

Проверка гипотез не имеет отношения к тому что я написал. Они не навязаны извне и вы полностью контролируете их логическую целостность.

Gudleifr> Сложность в программировании всегда только одна. Программа перестает влезать в голову программиста. Это не зависит от прикладной области.

Вы путаете software engineering c кодированием.
   97.0.4692.7197.0.4692.71
LT Bredonosec #11.01.2022 19:51  @Татарин#10.01.2022 20:45
+
-
edit
 
Татарин> Просто JS оказался плохо задуман, и некоторые последствия "фигак-фигак и в продакшн" (или как сча модно это называть, аджайл-программировани) обошлись всему миру очень дорого. ГОРАЗДО дороже, чем несколько человеко-месяцев хорошего программиста, который мог бы быть потрачен на первую спецификацию.
А можно какой-нибудь пример для большей очевидности мысли?
   88.088.0
LT Bredonosec #11.01.2022 20:30  @Gudleifr#11.01.2022 10:04
+
-
edit
 
tarasv>> В CSS нет заметных упущений и проблем.
Gudleifr> Кроме одной - он не нужен.
неправда.
это замечательный и очень лаконичный инструмент, упрощающий жизнь писателю.
Вместо того, чтоб пять тыщ раз вписывать в каждую ячейку таблицы или каждый слой параметры цвета-размера-формы-прозрачности-отступов-рамок-фона-поведения-... просто написал 2-3-4 стиля и тыкай их. Причем, на цсс (даже 2, не говоря про 3) можно сделать некоторые элементы активного содержимого, которые иначе пришлось бы на вставках жс лепить.

То, что какие-то г**нокодеры, "дизайня" на автоматизированных комбайнах, неспособны стандартизировать стили и используют их 100500, а то и ввиду лени писать - просто подгружают кучу файлов стилей, включая использованные еще в детстве на первой домашней страничке, - не делает цсс чем-то плохим. Это г**нокодеры плохие, а не инструмент.


>Не был нужен на заре HTML, когда проще было добавить нормальный макроязык.
Это не макрос. Это стили.
Описание всего, что относится к стилю. Оставляя на хтмл (или то, что его генерирует - пых или что) только структуру и содержимое.

Gudleifr> Сложность в программировании всегда только одна. Программа перестает влезать в голову программиста. Это не зависит от прикладной области.
наверно это всё-таки следствие разных первичных сложностей :)
   88.088.0
+
-1
-
edit
 

Gudleifr

опытный

tarasv> Чего именно по вашему мнению не хватает в CSS чтобы быть "нормальным макроязыком"?
Математики. Макроязык должен опираться на синтаксис текста, а не на его семантику.

Bredonosec> Вместо того, чтоб пять тыщ раз вписывать в каждую ячейку таблицы или каждый слой параметры цвета-размера-формы-прозрачности-отступов-рамок-фона-поведения-... просто написал 2-3-4 стиля и тыкай их.
А я-то, дурак, написал скрипт в 50 строк и 20 лет мне даже не надо было ничего тыкать...
   97.0.4692.7197.0.4692.71
+
+1
-
edit
 

tarasv

аксакал

Gudleifr> Математики. Макроязык должен опираться на синтаксис текста, а не на его семантику.

Вы не могли расширить свою мысль? Допустим есть статья


 <h1>Статья</h1>
 <div>
   <h3>Часть 1</h3>
   <p>абзац 1</p>
   <p>абзац 2</p>
 </div>
 <div>
   <h3>Часть вторая</h3>
   <p>абзац 1</p>
   <p>абзац 2</p>
 </div>


чего вам в CSS не хватает чтобы отформатировать ее опираясь на синтаксис HTML?
   97.0.4692.7197.0.4692.71
1 2 3 4 5 6 7 19

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru