если честно, для меня приоритетней «ничего не ставить» чем «лишний мегабайт бинаря»
Подход «ничего не ставить» подходит для очень ограниченного круга простых задач… Для мало-мальски сложного клиентского приложения всё равно придётся делать инсталлятор/деинсталлятор, из которого уже не проблема установить всё что нужно, если это отсутствует.
В конечном итоге, использование виртуальных машин и разделяемых библиотек позволяет сократить место суммарно занимаемое всеми установленными программами. Обратный пример можно видеть на примере Electron, где каждое приложение встраивает в себя под 100 Mb браузерного движка, вместо того, чтобы устанавливать его отдельно и единоразово.
Если использовать библиотеку, которая обновится и функция станет возвращать void,
то это как раз тот случай, когда лучше показать даже не ворнинг, а ошибку. Ведь если вызывающий код использовал значение, которое возвращала функция, то он никак не ожидает настолько кардинальной смены логики работы этой самой функции. Прикинуться валенком и продолжать работать — это худшее что может сделать интерпретатор в такой ситуации.
Как бы то ни было, но helloworld должен занимать несколько десятков байт, не более. На любой архитектуре, любой ОС и в любом году.
На правах человека, который для прикола реально писал программу, размером меньше 1 кб, замечу, что Вы несёте чушь…
Для примера возьмём Windows, как наиболее распространённую ОС… Даже если взять 32-битную версию, то есть определённый формат исполняемых файлов, есть импорт kernel32.dll, чтобы хоть что-то осмысленное сделать… есть длина строки и имени вызываемой функции в конце концов. Всё это занимает гораздо больше нескольких десятков байт. Даже если насиловать компилятор кастомными размерами секций, то меньше 512 байт у Вас небитый exe-файл сделать не получится. А helloworld будет занимать уже не меньше 768 байт. А если прибавить к этому размер самой kernel32.dll, то уже на мегабайты счёт пойдёт.
Вы про паттерны, как про фреймворки рассуждаете… Или Вы реально их используете, только когда в описании задачи написано «вот тут используй паттерн Proxy, а вот тут Decorator»?
Таких языков очень много, Smalltalk, Self, Io, etc. Однако, Ruby, как и C#, не является чистым ООЯП, т.к. поддерживает и другие парадигмы «из коробки».
Зачем мне работать в таком месте, когда я могу пойти туда, где коллеги будут тянуть не назад, а вперед.
Ну, это просто утрированный случай… На практике сложно найти работу, где все коллеги будут тянуть вперёд… Точнее, в начале карьеры несложно, но чем больше опыта, тем чаще приходится самому кого-то тянуть )))
Языки разные знать надо… Нельзя себя только одним типом языков ограничивать, даже джуниорам. Есть общие критерии, по которым можно представить себе язык даже если ты его никогда раньше не видел:
Если эти критерии сами по себе понятны, то от языка понадобится только синтаксис и стандартная библиотека. Для ещё более хорошего описания список критериев можно слегка расширить простыми пунктами типа: мутабельность данных, мономорфность операторов и т.п.
Иногда проекту как бы не нужна эта польза. Трудно ее приносить, когда вокруг тебя одни просиживающие штаны дядьки, сидящие на этом рабочем месте по N-дцать лет.
Так это, на мой взгляд, идеальная ситуация для проверки той самой состоятельности… Тут либо конформистское поведение возмёт верх, либо профессиональная этика. Всегда есть выбор: делать как коллеги (как начальство сказало, как «быстрее») или исходя из своего представления как должно быть. Иногда эти варианты могут и совпадать, но далеко не всегда.
Так что я думаю, что человек состоялся, как программист тогда, когда он сам для себе это решил
О, это ощущение обычно бывает ещё в первый год… потом, правда, у адекватных людей проходит на значительное время )
Платформы разные. Но в принципе платформ ограниченное количество (и гораздо меньше, чем языков). Так что, при желании, хоть в какой-то мере можно с каждой ознакомиться… Но это конечно уже не про джуниоров, да и вообще холиварная тема вглубь vs вширь.
В данном контексте можно такой: «забыл про PHP, как про страшный сон» :-)
А если серьёзно, то на мой взгляд состоявшемуся программисту должно быть не суть важно какой язык или стек, он причинит проекту пользу в любом случае )))
Разница, конечно, есть. Но в идеале программист не должен сильно быть привязан к какому-то конкретному языку программирования. Опыт естественно набирается в основном на 2-3 языках, но это не блокирует возможность программировать на любом другом.
В конечном итоге, использование виртуальных машин и разделяемых библиотек позволяет сократить место суммарно занимаемое всеми установленными программами. Обратный пример можно видеть на примере 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% народа в любой профессии… куда ж без них?
А можно пример?
Ну, это просто утрированный случай… На практике сложно найти работу, где все коллеги будут тянуть вперёд… Точнее, в начале карьеры несложно, но чем больше опыта, тем чаще приходится самому кого-то тянуть )))
Языки разные знать надо… Нельзя себя только одним типом языков ограничивать, даже джуниорам. Есть общие критерии, по которым можно представить себе язык даже если ты его никогда раньше не видел:
Если эти критерии сами по себе понятны, то от языка понадобится только синтаксис и стандартная библиотека. Для ещё более хорошего описания список критериев можно слегка расширить простыми пунктами типа: мутабельность данных, мономорфность операторов и т.п.
О, это ощущение обычно бывает ещё в первый год… потом, правда, у адекватных людей проходит на значительное время )
А если серьёзно, то на мой взгляд состоявшемуся программисту должно быть не суть важно какой язык или стек, он причинит проекту пользу в любом случае )))