Pull to refresh
102
0.2
Роман Смирнов@Source

Head of Elixir at Ecom.tech

Send message
И? Вы не считаете такую архитектуру извращением?
Пока весь остальной мир идёт по пути унификации обработки веб-запросов (см. WSGI, Rack, Clack, Plug, WAI, etc.), Вы предлагаете из роутера передавать управление к разнородным функциям, которые хз что возвращают?
Ну, ok… ¯\_(ツ)_/¯
С разными типами возврата? Ну, право слово, PHP не обязательно использовать для извращений.
Просто у меня дух противоречия бурлит, и не нравится идея таскания большого рантайма вслед за крохотным приложением.
Так в том то и дело, что ни .NET, ни JVM не таскают большой рантайм за крохотных приложением. Рантайм ставится системно, а не в рамках приложения. Сравните, например, с Electron-based приложениями, вот там действительно рантайм засунут в приложения. И если Вам нужно 5 приложений на Electron, то Вы 5 раз вынуждены будете скачать рантайм и иметь в системе 5 его копий.
А как же Вы, простите, собираетесь Windows Update без интернета организовать?
А причём тут это? .NET можно и напрямую поставить…

P.S. Вас кто-то из программистов, использующих .NET, обидел что-ли?
Разъёмы залиты, ethernet-доступа нет, интернета нет… Ну достаньте HDD из этого несчастного компа, подключите его к нормальному и скопируйте туда эти 67 Mb (именно столько занимает инсталлятор .NET 4.5.2) xD
Подсказка
Там в середине текста есть восклицание «Увидим!» ;-)
Ещё из условия очевидно, что a = 1, так что решается в уме очень быстро.
А комменты мне напомнили «Записки невесты программиста», эпизод подготовки приглашений
Поменяйте строки арта местами так, чтобы стало красиво.
Небольшая подсказка для 25-го
Там в середине текста есть восклицание «Увидим!» ;-)
Надо строчки местами поменять… получится так
Нужно изучать мать-часть
Можно начать с изучения того, что означает слово «матчасть»
Зачем записывать в переменную значение возвращаемое функцией, если оно всегда было NULL? А если оно не всегда возвращало NULL, а теперь возвращает void, то логика поменялась, а вызывающий код получил мину замедленного действия в виде отсутствия явной ошибки.
Видимо, в Мухосранске до сих пор сидят на Windows XP, но при заказе разработки забыли об этом упомянуть… CD/DVD-приводов и USB-разъёмов на местных компах тоже сроду не водилось, поэтому доставка ПО возможна только через интернет и только с оплатой за трафик 2 руб/Мб или сколько там оно было 10 лет тому назад…

С++ хорош
Это C хорош, а не С++, не путайте )))
ЁМНИП какая версия dotnet стоит на win7sp1?
Из коробки 3.5, остальные должны были приехать с обновлениями, если Windows Update не отключён.

В моём субъективном понимании — C# любят те, кто не понял С++.
Вы знаете о существовании только двух языков программирования? По-моему у C# и C++ из общего только буква C в названии. В остальном, языки из разных групп, с разной областью применения и т.п.
первый выкаченный билд не запускался у некоторых потому, что требовал MSVCR какой-то там версии, которая стояла не у всех.
С MSVCR я тоже не понимаю смысла отдельно его устанавливать, особенно для игр, которые сами по себе порядка Гб занимают… Подозреваю, что там какие-то лицензионные заморочки от MS.

KIS17. Перед тем как поставиться на Win7 он попросил Дотнет45. И пойдет качать много мегабайт. А потом его ставить. А зачем там нужен дотнет?
Ну и в чём проблема? 1 раз установится Дотнет45 и всё на этом, остальные программы уже не будут его качать.

P.S. Вы ещё про JRE забыли ;-)
если честно, для меня приоритетней «ничего не ставить» чем «лишний мегабайт бинаря»
Подход «ничего не ставить» подходит для очень ограниченного круга простых задач… Для мало-мальски сложного клиентского приложения всё равно придётся делать инсталлятор/деинсталлятор, из которого уже не проблема установить всё что нужно, если это отсутствует.
В конечном итоге, использование виртуальных машин и разделяемых библиотек позволяет сократить место суммарно занимаемое всеми установленными программами. Обратный пример можно видеть на примере Electron, где каждое приложение встраивает в себя под 100 Mb браузерного движка, вместо того, чтобы устанавливать его отдельно и единоразово.
Если использовать библиотеку, которая обновится и функция станет возвращать void,
то это как раз тот случай, когда лучше показать даже не ворнинг, а ошибку. Ведь если вызывающий код использовал значение, которое возвращала функция, то он никак не ожидает настолько кардинальной смены логики работы этой самой функции. Прикинуться валенком и продолжать работать — это худшее что может сделать интерпретатор в такой ситуации.
Так, справедливости ради, дотнет стоит по умолчанию на свежей системе, начиная с Windows 7 SP1, емнип.
Как бы то ни было, но helloworld должен занимать несколько десятков байт, не более. На любой архитектуре, любой ОС и в любом году.
На правах человека, который для прикола реально писал программу, размером меньше 1 кб, замечу, что Вы несёте чушь…
Для примера возьмём Windows, как наиболее распространённую ОС… Даже если взять 32-битную версию, то есть определённый формат исполняемых файлов, есть импорт kernel32.dll, чтобы хоть что-то осмысленное сделать… есть длина строки и имени вызываемой функции в конце концов. Всё это занимает гораздо больше нескольких десятков байт. Даже если насиловать компилятор кастомными размерами секций, то меньше 512 байт у Вас небитый exe-файл сделать не получится. А helloworld будет занимать уже не меньше 768 байт. А если прибавить к этому размер самой kernel32.dll, то уже на мегабайты счёт пойдёт.
Вы про паттерны, как про фреймворки рассуждаете… Или Вы реально их используете, только когда в описании задачи написано «вот тут используй паттерн Proxy, а вот тут Decorator»?
Таких языков очень много, Smalltalk, Self, Io, etc. Однако, Ruby, как и C#, не является чистым ООЯП, т.к. поддерживает и другие парадигмы «из коробки».

Information

Rating
3,141-st
Location
Россия
Works in
Registered
Activity