All streams
Search
Write a publication
Pull to refresh
59
@SShtoleread⁠-⁠only

Пользователь

Send message
Как ни странно, я вчера как раз об этом же подумал. Может, потому, что сишарп — в первую очередь сишарп? ) И так-то недовольных полно, а тут совсем вонь поднимется до небес.

На самом деле, я очень люблю всё, что начинается на «си-», но со временем осознал, что есть свои преимущества в:

field Foo : int = 5;
field Bar = 5;
field Bas = new Hyper.Mega.SuperObject(42);
Можно раскрыть тезис про «для игр очень плохо подходят концепции функционального программирования»?

Есть такой очень умный человек — Эрик Липперт. А комиксы рисуют почему-то про Джона Скита... Серьёзно, можно зайти на StackOverflow, открыть его страницу и начать читать ответы как статьи. Хотел бы я уметь ТАК излагать мысли.

Так вот, он, по-моему, приводит замечательный пример pure FP в игрострое:

Because all those advantages are also disadvantages.

>Stateless programs; No side effects

Real-world programs are all about side effects and mutation. When the user presses a button it's because they want something to happen. When they type in something, they want that state to replace whatever state used to be there. When Jane Smith in accounting gets married and changes her name to Jane Jones, the database backing the business process that prints her paycheque had better be all about handling that sort of mutation. When you fire the machine gun at the alien, most people do not mentally model that as the construction of a new alien with fewer hit points; they model that as a mutation of an existing alien's properties.
Всё это можно было написать гораздо короче )

В первом примере речь идёт о pattern matching. Хотя автор не видит ничего, кроме извращённой формы switch. PM появился в 60-х годах прошлого века. В дотнет он проложил путь 18 лет назад, когда вышел Nemerle. Наконец, его включили в C#. Да, да, дело не в узком кругозоре и непонимании контекста нововведения автором статьи, а авторы сишарпа не знают чем себя занять (нет). Кстати, зачем нужен PM и как он поможет писать более выразительный код — в принципе, можно было понять, просто 5 минут поглядев на пример, приведённый MS.

Во втором примере сначала var называют «уже достаточно спорным». Серьёзно?! Выведение типов, которое позволяет по выразительности подойти вплотную к динамической типизации, без которого руки начинают болеть через полчаса кодирования — спорное? Разумеется, нет. Но проблема с ним была в том, что не всюду выведение типов можно засунуть. В параметры функций — нельзя, в описание полей — нельзя. Но с параметрами функций ничего и не сделаешь (наверно), а вот в описании полей — очевиднейший копипаст, который так и напрашивается на сокращение. Его и сократили, только с другого конца. И правильно сделали — не описывать же поля с var'ом.

Итого: два примера, показывающих очень слабое понимание + набор неверных выводов из них. Больше ничего.
Честно, мне после Linq-а все остальные языки без подобного кажутся неполноценными.

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

А вообще, розовая мечта: найти порт FCL.
Какая замечательная иллюстрация к основному правилу научного прогресса: «Любые трасформации либо запрещены законами физики, либо доступны при наличии соответствующих знаний».

И, конечно, в будущем ещё не раз будет жаль, что столько «водорода» (условно) всё это время лежало прямо перед нами.
Последняя подобная софтина, над которой я работал — аналог Classic Shell, только намного навороченнее — вполне успешно тестировалась под Win 10.

Но в целом вы, конечно, правы — тренд именно такой.

Кстати, много лет назад, когда бесхендловый UI ещё делали на Триденте (IE ocx), была такая утилита, которая в одном месте собирала управление всеми его инстансами — точно помню, что с её помощью можно было смотреть UI-код всех приложений, использовавших осла. Можно или нет было управлять DOM'ом — не помню. Всё хочу посмотреть, как с этим делом в Chromium-based приложениях сейчас.
Неизвестно каким образом корпорация собирается изменить дефолтный интерфейс Windows, ведь исходники ОС закрыты для широкой публики.

Это делается относительно легко безо всяких исходников. Spy++, хуки, внедрение в процесс, вот это всё. Лет 12-15 назад мы делали комбайны-всемогуторы для автонавигаторов — собирали в одну оболочку и оформляли в одном стиле кастомный софт пяти разных производителей, включая нас, Microsoft, дядю Ляо и т.п. До десятки принципы UI сильно не менялись, а дальше не знаю.

Винды в этом плане вообще довольно прозрачно устроены.
А по теме: мне давно кажется, что в индексе TIOBE на четвёртом месте находится не C++, как там написано, а совершенно другой язык — C/C++. Допустим, мне понадобился SQL-движок с максимально шустрыми кастомными агрегирующими функциями. Я беру SQLite. При этом, в обвязочном коде используются и классы, и шаблоны, и ещё кой-чего, и в целом получается, что модуль написан на C++. Но на самом деле меня интересовал способ воспользоваться чисто сишной библиотекой, а эту архитектурную астронавтику из chrono оставьте себе, спасибо.

Ещё мне кажется, C++-ные пуристы со своими наездами не понимают, до какой степени их язык паразитирует на сишном фундаменте. Убери его — и язык из топа быстро скатится на дно рейтинга. Рядом есть другие языки и у них стандартные библиотеки не такие упоротые.
Используете функции из <time.h> вместо std::chrono.

Сразу вспомнил вот эту картинку:

image

Заговорили про акустику и сразу вспомнил Эвана Добсона.

Эван! Журнал Rolling Stone не внесёт тебя в Топ-10, но для меня ты насегда останешься лучшим гитаристом мира, сумевшим не просто сыграть транс на акустике, но и сыграть (и написать) <i>хороший<i/> транс:

https://youtube.com/watch?v=eXqPYte8tvc

Для такого мощного сарказма я маленькая и недостойная цель ) В основном потому, что ни на что не претендую и легко могу объяснить, откуда берутся те или иные идеи.

В данном случае, всё просто. В 90-е у нас у всех был «Договор типовой универсальный номер 1». На куплю, продажу, охрану, поставку, растаможку, заказные убийства и так далее. Все его друг у друга передирали слово в слово. И вот что-то не припоминаю я никаких поползновений по защите. Ни одно РАО до этого не додумалось. Отсюда и вопрос, и неявно стоящее за ним предположение.
Хорошо, мне надо было уточнить, а не полагаться на контекст.

Про договора частных лиц я просто понятия не имею. Но это тоже интересный (для меня) вопрос. Они защищены авторским правом?
А ведь я сразу написал:

Раньше был простой и понятный перевод с американского Copyright Law, а сейчас в этой 4-й части ГК сам чёрт ногу сломит

За спасибо насиловать свою душу, читая ГК-4, я не буду. Чтобы михалковы потом всю ночь снились?

Написанное выше просьба считать жалким оправданием того, что вместо цитирования законов я процитирую Википедию:

Не являются объектами авторского права:

* официальные документы государственных органов и органов местного самоуправления (законы, другие нормативные акты, судебные решения, иные материалы законодательного, административного и судебного характера), официальные документы международных организаций, а также их официальные переводы;

Вот мне кажется, что Минцифра — государственный орган [исполнительной власти, как любое министерство]. А публикуемая им лицензия — официальный документ, получается, государственного органа.

Если моё правосознание (или Википедия) меня обманули — буду рад любым объяснениям.

Спасибо ;)
Про ГитХаб беру назад. Я решил, что «Microsoft… ограничила возможность оставления комментариев в обсуждении» было административным произволом владельца.
Я не юрист, но мне это логичным не кажется. Законы, договора, нормативные документы — на всё это копирайт обычно не распространяется. Текст лицензии кажется мне чем-то из той же оперы.
«А кто не будет брать — отключим газ Интернет»

А модерация комментов, про которую написано в новостной заметке?

Это не та фича, которая ещё чуть ли не в VC6 была? (Или 7.1). Чего-то-там-Continue. Кстати, и тогда не помню, чтоб народ от неё прям кипятком писался. Лично я попробовал пару раз — мне не зашло.

Интересно другое. Как в принципе можно изъять код из open source? Там же все лицензии системы Ниппель: добавить да, удалить нет (только за ненужность). Иногда люди это плохо понимают в вики-проектах: написали статью, потом обиделись и стёрли, а их забанили и отправили читать текст, под которым они подписались при коммите. Но Microsoft? У них там своя лицензионная атмосфэра?

Ну и Гитхаб показал свой звериный оскал. Само слово всегда казалось мне оксюмороном. «Децентрализованный хаб». Надеюсь, все это надолго запомнят.

First and foremost, we want to apologize.

По крайней мере, реагируют они быстро и правильно.

Information

Rating
Does not participate
Registered
Activity