Ещё из условия очевидно, что a = 1, так что решается в уме очень быстро.
А комменты мне напомнили «Записки невесты программиста», эпизод подготовки приглашений
Зачем записывать в переменную значение возвращаемое функцией, если оно всегда было NULL? А если оно не всегда возвращало NULL, а теперь возвращает void, то логика поменялась, а вызывающий код получил мину замедленного действия в виде отсутствия явной ошибки.
Видимо, в Мухосранске до сих пор сидят на Windows XP, но при заказе разработки забыли об этом упомянуть… CD/DVD-приводов и USB-разъёмов на местных компах тоже сроду не водилось, поэтому доставка ПО возможна только через интернет и только с оплатой за трафик 2 руб/Мб или сколько там оно было 10 лет тому назад…
Из коробки 3.5, остальные должны были приехать с обновлениями, если Windows Update не отключён.
В моём субъективном понимании — C# любят те, кто не понял С++.
Вы знаете о существовании только двух языков программирования? По-моему у C# и C++ из общего только буква C в названии. В остальном, языки из разных групп, с разной областью применения и т.п.
первый выкаченный билд не запускался у некоторых потому, что требовал MSVCR какой-то там версии, которая стояла не у всех.
С MSVCR я тоже не понимаю смысла отдельно его устанавливать, особенно для игр, которые сами по себе порядка Гб занимают… Подозреваю, что там какие-то лицензионные заморочки от MS.
KIS17. Перед тем как поставиться на Win7 он попросил Дотнет45. И пойдет качать много мегабайт. А потом его ставить. А зачем там нужен дотнет?
Ну и в чём проблема? 1 раз установится Дотнет45 и всё на этом, остальные программы уже не будут его качать.
если честно, для меня приоритетней «ничего не ставить» чем «лишний мегабайт бинаря»
Подход «ничего не ставить» подходит для очень ограниченного круга простых задач… Для мало-мальски сложного клиентского приложения всё равно придётся делать инсталлятор/деинсталлятор, из которого уже не проблема установить всё что нужно, если это отсутствует.
В конечном итоге, использование виртуальных машин и разделяемых библиотек позволяет сократить место суммарно занимаемое всеми установленными программами. Обратный пример можно видеть на примере Electron, где каждое приложение встраивает в себя под 100 Mb браузерного движка, вместо того, чтобы устанавливать его отдельно и единоразово.
Если использовать библиотеку, которая обновится и функция станет возвращать void,
то это как раз тот случай, когда лучше показать даже не ворнинг, а ошибку. Ведь если вызывающий код использовал значение, которое возвращала функция, то он никак не ожидает настолько кардинальной смены логики работы этой самой функции. Прикинуться валенком и продолжать работать — это худшее что может сделать интерпретатор в такой ситуации.
Как бы то ни было, но helloworld должен занимать несколько десятков байт, не более. На любой архитектуре, любой ОС и в любом году.
На правах человека, который для прикола реально писал программу, размером меньше 1 кб, замечу, что Вы несёте чушь…
Для примера возьмём Windows, как наиболее распространённую ОС… Даже если взять 32-битную версию, то есть определённый формат исполняемых файлов, есть импорт kernel32.dll, чтобы хоть что-то осмысленное сделать… есть длина строки и имени вызываемой функции в конце концов. Всё это занимает гораздо больше нескольких десятков байт. Даже если насиловать компилятор кастомными размерами секций, то меньше 512 байт у Вас небитый exe-файл сделать не получится. А helloworld будет занимать уже не меньше 768 байт. А если прибавить к этому размер самой kernel32.dll, то уже на мегабайты счёт пойдёт.
Вы про паттерны, как про фреймворки рассуждаете… Или Вы реально их используете, только когда в описании задачи написано «вот тут используй паттерн Proxy, а вот тут Decorator»?
Таких языков очень много, Smalltalk, Self, Io, etc. Однако, Ruby, как и C#, не является чистым ООЯП, т.к. поддерживает и другие парадигмы «из коробки».
А комменты мне напомнили «Записки невесты программиста», эпизод подготовки приглашений
Это C хорош, а не С++, не путайте )))
Вы знаете о существовании только двух языков программирования? По-моему у C# и C++ из общего только буква C в названии. В остальном, языки из разных групп, с разной областью применения и т.п.
Ну и в чём проблема? 1 раз установится Дотнет45 и всё на этом, остальные программы уже не будут его качать.
P.S. Вы ещё про JRE забыли ;-)
В конечном итоге, использование виртуальных машин и разделяемых библиотек позволяет сократить место суммарно занимаемое всеми установленными программами. Обратный пример можно видеть на примере Electron, где каждое приложение встраивает в себя под 100 Mb браузерного движка, вместо того, чтобы устанавливать его отдельно и единоразово.
Для примера возьмём Windows, как наиболее распространённую ОС… Даже если взять 32-битную версию, то есть определённый формат исполняемых файлов, есть импорт kernel32.dll, чтобы хоть что-то осмысленное сделать… есть длина строки и имени вызываемой функции в конце концов. Всё это занимает гораздо больше нескольких десятков байт. Даже если насиловать компилятор кастомными размерами секций, то меньше 512 байт у Вас небитый exe-файл сделать не получится. А helloworld будет занимать уже не меньше 768 байт. А если прибавить к этому размер самой kernel32.dll, то уже на мегабайты счёт пойдёт.
Ссылка на Web Archive: http://web.archive.org/web/20060208020139/http://msdn.microsoft.com/vcsharp/art/csharp_team.gif
Хм, даже интересно стало увидеть ваше определение чистого ООЯП и какой же ещё 1 язык под него подпадает?
ну, имхо, это 80% народа в любой профессии… куда ж без них?