Но вот если надо будет хотя бы на полшишечки какую фичу запилить - в читаемом коде проще и пофиксить былое и запилить новое.
Вот не факт. Возьми почти любой скрипт из init.d или autotools. Там жуткий говнокод и вагон копипасты. Но именно это позволяет быстро поправить в нужном месте, не раскручивая исходники кучи библиотек.
А нынешний красивый код — это когда в том месте, где он реально выполняется, написано что-то вроде application->module_lor->doit(...), а этот doit является указателем и определяется в совсем другом месте, где этот указатель вычисляется на основании какого-то XML, пропущенного через интерпретатор. И вместо того, чтобы быстро поправить пару строк, полдня ищешь, где же поправить.
Зато, если у тебя вся документация по проекту, тогда действительно часто вместо sed по всем файлам можно поправить в одном месте. Когда постоянно работаешь с одним проектом, удобно.
Верно. Но почему я должен знать откуда это вообще и что делает? Если язык позволяет избежать применения внешних утилит, то зачем они в коде? В питоне можно же без ls -al, или нельзя?
Это я, не программист, могу себе это позволить, например, stat вместо встроенных возможностей:
ЛОР можно поздравить. Он довольно удачно мутировал … в форум программистов и людей, интересующихся программированием
Правда, почти все сильные и интересные программеры с ЛОРа за это время ушли, а в Development теперь месяцами пустота.
Если бы там действительно было интересно, то можно было бы заинтересоваться, но тут кто хочет тому по рукам бьют, а кто не хочет тот не хочет. Я на официальном форуме по своему языку получаю на 2 порядка больше идей.
Естественно, что конечный заказчик всегда некомпетентен. Он обычный владелец квартиры, он не может разбираться во всем ремонте. Исключения бывают, но их так мало, что можно пренебречь.
А для плиточника, если он получил за эту работу деньги, положительный отзыв, а через три года уже переехал в другой город, очень успешно.
Успешно, не успешно, это не суть, главное, что он не компетентен. Ну или намеренно так положил.
А про остальных 80% все знают, что те не работают, и работодатель их не может выгнать? Не верю. Синекур 10-20%, но никак не 80%.
:) Я тоже в шоке, но это как-то работает. За всю самостройку я не видел ни одного компетентного профессионала. На рядовых галерах (типа ЕПАМа) картина не сильно лучше.
Это к компетентности отношения не имеет. Для «сдачи на разряд» от меня требовали знать, как реанимировать человека, упавшего с высоты, какой размер капель у огнетушителя, сколько песка надо для защиты электростанции от огня и с какой периодичностью надо проходить эту сдачу на разряд.
Смешал коней и людей.
А по профессиональной части написать алгоритм сортировки и перечислить критерии ООП. Разумеется, из ответов на эти вопросы определить, компетентен ли программист (будет ли он писать хорошие программы) невозможно.
По моему мнению, если заперев программиста в комнате на часок-другой он не родит пузырек, то да, он не компетентен.
Я считаю, что написание скриптов, это не программирование. Мой первый ответ на голосование. Просто люди реагируют, видимо примеряют на себя мое личное мнение.
Если я написал скрипт, который использует metaflac для обработки метаданных, sox для прослушивания, feh для показа обложек, less для вывода отформатированных статистических данных, то это скрипт и есть. Вся его задача вызывать ту или иную функцию, обрабатывать аргументы, формировать плейлист, запускать фоновые задачи и возвращать данные из фона, при этом не занимать консольный хост. Т.е. скрипт, это диспетчер. Но его никак не назовешь приложением. Иначе он обрашался бы к апи библиотек, а не к утилитам.
Иначе он обрашался бы к апи библиотек, а не к утилитам
А в чём разница? Вызвать утилиту, чтобы та вызвала API или вызвать API? Сейчас вызвать через прокладку не такая уж и страшная вещь, некоторые даже пишут прокладки.
Вспомнилось тут ещё. Я не особо великий собеседун, но провел с полсотни собеседований на позицию Жаба-разработчика. Соискатели вплоть до резюме с позицией типа Team Lead или Architect. Так вот. Из этих 50 человек всего лишь 2 или 3 знали что такое volatile. И это при том, что это ключевое слово в Жабе, используется в половине проектов, почти вся многопоточная Жаба на нем построена и и т.д.
Естественно, что конечный заказчик всегда некомпетентен. Он обычный владелец квартиры, он не может разбираться во всем ремонте. Исключения бывают, но их так мало, что можно пренебречь.
Поэтому конечный заказчик обычно нанимает не исполнителя, работу которого он не может оценить, а организацию, в договоре с которой прописана гарантия на результат. А уже организация контролирует работу своих сотрудников и подрядчиков.
За всю самостройку я не видел ни одного компетентного профессионала. На рядовых галерах (типа ЕПАМа) картина не сильно лучше.
Тот, кто им платит, считает их профессионалами? Или платит, потому что эти работники чьи-то родственники? Или платит ниже стоимости нормальной работы, но его устраивает именно такой результат?
Смешал коней и людей.
Так все эти «проверки знаний» к компетентности имеют именно такое отношение. Я всегда кандидатам на работу даю задание из той области, для работы в которой их нанимаю. Условно, если мне нужен человек, который может править отчёты на Javascript/HTML (кстати, это программист или ещё нет?), то выдам отчёт и задание поправить.
По моему мнению, если заперев программиста в комнате на часок-другой он не родит пузырек, то да, он не компетентен.
Если работодателю нужен программист, изобретающий по памяти типовые алгоритмы, то это хороший тест. Если нужен программист, например, для написания текстового редактора, то умение вспомнить пузырьковую сортировку ничего не говорит о том, сможет ли он квалифицированно написать текстовый редактор.
Примерно как в древнем Китае чиновников набирали по умению сочинять стихотворения и знанию цитат Конфуция. И также считали, что если заперев чиновника в комнате на часок-другой он не родит стихотворение, то да, он не компетентен.
И это при том, что это ключевое слово в Жабе, используется в половине проектов, почти вся многопоточная Жаба на нем построена и и т.д.
То есть, если соискатели не разрабатывали многопоточное приложение, могли ни разу в жизни с ним не встретится (кроме как в учебнике). Если позиция Жаба-разработчика, на которую они собеседуются, не имеет в описании разработки многопоточных приложений, то, в общем, им это слово и не надо.
Если водитель легкового автомобиля не помнит правила буксировки другого транспортного средства и правила движения колонн гужевых повозок, вы будете считать его некомпетентным?
Скрипт — это разновидность приложения. Выделение скриптов в отдельную сущность имело хоть какой-то смысл в Windows, где «скрипты» очень сильно урезаны в правах по сравнению с «приложениями», чтобы глупые пользователи не запускали малварь, но в UNIX это разделение вообще лишено смысла.
«состоять в отношениях» имеет несколько значений в русском языке, но ни одно из них не укладывается в понятие «я этим только и зарабатываю». это лысенковщина какая-то.
Я о том, что слова «состоять» нет в вопросе или посте, а не в языке. Причём тут «жопа есть, а слова нет».
Родной язык надо чувствовать и понимать самостоятельно, а не гуглить отдельные словосочетания. Если загуглить «состоять в отношениях», то найдёшь в основном значения для устойчивого оборота, в котором отношения имеются в виду достаточно конкретные, а не любые. А в принципе отношения бывают далеко не только романтические или половые, а бывают трудовые, дружеские, деловые, и многие другие — и это только между людьми. Между неодушевлёнными объектами отношения могут быть в принципе любые, например одно множество может включать в себя другое. Между человеком и неодушевлённым объектом тоже может быть множество разных отношений, в том числе и «я этим деньги зарабатываю».
CrX★★★★★ ()автор топика
Последнее исправление: CrX
(всего
исправлений: 2)
при том, что в «отношениях» можно состоять или не состоять.
Верно. Но русский язык устроен сложно, именно потому что в нём есть устойчивые выражения. Если спросить женщину «Вы находитесь в положении?» — это один вопрос, а «В каком положении вы находитесь (сидя, лёжа, стоя…)?» — это совсем другой вопрос, о другом. Потому что есть устойчивые сочетания, в которых подразумевается что-то более конкретное, чем в более общем вопросе. Точно так же вопрос «Состоите ли вы в отношениях с гражданином X?» подразумевает романтические, половые, или супружеские отношения, а вопрос «Каковы ваши отношения с гражданином X?» уже помимо этих трёх вариантов и отрицательного также предполагает и другие ответы: деловые, соседские, дружеские, политические, являемся членами одного и того же кружка любителей выжигания по дереву. Вот так и тут, вопрос именно о том, каковы твои отношения с программированием, и «я им деньги зарабатываю» — это валидный ответ, и естественно это отношение, потому что субъект имеет какое-то отношение к объекту, а объект, соответственно, имеет какое-то отношение к субъекту.
я не вступаю в отношения (посмотри по словарю даля) с моей профессиональной деятельностью. я ей занимаюсь.
у меня по русскому языку была четверка, но даже я понимаю разницу между «вступать в отношения» и «заниматься».
цитата: «В «Толковом словаре живого великорусского языка» В.И. Даля выражение «вступать в отношения» напрямую не фиксируется как устойчивая идиома. Однако, через родственные слова, понятие раскрывается как «союзиться», «вступать в союз», «искать союза» или «считаться, знаться». Акцент делается на установление связи, союза или дела.»
так шта… я могу быть совсем неправ. хотя, как можно союзиться с работой? можно союзиться с конкретным работодателем, а союзиться с профессией - это как?
я не вступаю в отношения (посмотри по словарю даля) с моей профессиональной деятельностью. я ей занимаюсь.
В словаре Даля вообще «см. относить». Там довольно неполные и устаревшие примеры, но есть в том числе и нужный — про связь.
Твоя фраза звучит примерно как «я его не трогал, только ударил». Оксюморон. Невозможно чем-то заниматься и не иметь к этому отношения.
Если без книжек прям настолько никак, то вот их Большой российской энциклопедии:
ОТНОШЕ́НИЕ, 1) качественно определённая связь между двумя или более объектами, явлениями или их свойствами.
В психологии – устойчивая готовность субъекта воспринимать конкретный объект и действовать по отношению к нему определённым образом. О. формируется в индивидуальном опыте под влиянием актуальных потребностей, ценностей и целей и характеризует избирательность психики и поведения. В психологию личности понятие «О.» введено А. Ф. Лазурским и стало центральным в концепции его ученика В. Н. Мясищева, который определял психологию как «науку о человеке в его отношениях к действительности» и рассматривал личность как систему значимых субъективно-оценочных отношений. В ряде подходов для объяснения специфич. избирательных О. субъекта используется понятие «личностный смысл».
Но судя по твоим загонам, ты будешь по аналогии говорить «я не вступал в связь с профессией, я ей занимаюсь».
CrX★★★★★ ()автор топика
Последнее исправление: CrX
(всего
исправлений: 1)
я не настолько «либерален», чтобы вступать в связь с профессией - это ты в 10 попал. можно «заниматься профессиональной деятельностью». ты ощущаешь разницу?
Да нет разницы. Но вопрос «Каково ваше отношение к программированию?» был бы понят как раз неправильно и другими, потому что в такой формулировке обычно имеется в виду мнение о объекте.
я не настолько «либерален», чтобы вступать в связь с профессией - это ты в 10 попал. можно «заниматься профессиональной деятельностью». ты ощущаешь разницу?
Ощущаю. Отношение — это более широкое понятие, чем «заниматься». Одно включает в себя другое, но не ограничивается им.
ЛОР можно поздравить. Он довольно удачно мутировал из общелинуксового ресурса, не очень удачно совмещённого с «логовом троллей» в конце 90-х в форум программистов
Это не ЛОР мутировал, это программисты пришли в Линукс.
Потому что массовое программирование давно сменило парадигму с подоконного формошлепства на сервисы и приложения, для разработки которых винды на хрен не нужны, и эту раздражающе самоуверенную и пересыпанную костылями и заплатками систему можно просто выкинуть и работать на нормальной, управляемой и послушной.
Занимаюсь чип-дизайном, весь профессиональный софт изначально существовал под UNIX, но довольно рано начал мигрировать на Linux. Начинал работать в конце нулевых, ещё довелось посидеть под Solaris. Раньше писал много скриптов с регулярными выражениями, чтобы результаты из одного текстового формата перетащить в другой, или собрать красивую табличку по результатам моделирования. Сейчас это замечательно делает простая версия ChatGPT или Gemini.
Много пишу на Verilog-AMS, SystemVerilog и Matlab (здесь вижу тенденцию у молодёжи заменять его python), не совсем уверен, что это можно назвать программированием, скорее моделированием.
Поэтому конечный заказчик обычно нанимает не исполнителя, работу которого он не может оценить, а организацию, в договоре с которой прописана гарантия на результат. А уже организация контролирует работу своих сотрудников и подрядчиков.
Если ты думаешь, что с организациями у нас/вас ситуация другая, то ты сильно ошибаешься.
Тот, кто им платит, считает их профессионалами? Или платит, потому что эти работники чьи-то родственники? Или платит ниже стоимости нормальной работы, но его устраивает именно такой результат?
Это никак не влияет. Смотри, открываем определение слова «компетентный», там ни слова про деньги.
competens — подходящий, соответствующий, надлежащий, способный, знающий) — качество человека, обладающего всесторонними знаниями в какой-либо области и мнение которого поэтому является веским, авторитетным.
Так все эти «проверки знаний» к компетентности имеют именно такое отношение. Я всегда кандидатам на работу даю задание из той области, для работы в которой их нанимаю. Условно, если мне нужен человек, который может править отчёты на Javascript/HTML (кстати, это программист или ещё нет?), то выдам отчёт и задание поправить.
Я тоже. Нанимаю программиста — прошу его написать небольшую (на 10 стррок) функцию.
Если работодателю нужен программист, изобретающий по памяти типовые алгоритмы, то это хороший тест. Если нужен программист, например, для написания текстового редактора, то умение вспомнить пузырьковую сортировку ничего не говорит о том, сможет ли он квалифицированно написать текстовый редактор.
Этвуд хорошо про ФиззБазз сказал — это не что-то супер-дупер, что нужно изобретать. В это и фундаментальная ошибка. Это как повару почистить картошку — тут не нужно помнить никаких рецептов, достаточно просто уметь правильно пользоваться ножом. Ты бы нанял повара, который ножом пользоваться не умеет, но может тебе на память рассказать рецепт борща?
Примерно как в древнем Китае чиновников набирали по умению сочинять стихотворения и знанию цитат Конфуция. И также считали, что если заперев чиновника в комнате на часок-другой он не родит стихотворение, то да, он не компетентен.
И судя по всему это отлично работало. Говорят, больших высот та цивилизация достигла.
Картина совершенно другая: многопоточность есть в 99.999% жаба-приложениях на рынке. Любое веб-приложение на Спринге это многопоточность, в нем куча всего делится между потоками, от подключений к БД и до разных кешей. Все пользовательские бины (@Service) вызываются из нескольких потоков.
Если водитель легкового автомобиля не помнит правила буксировки другого транспортного средства и правила движения колонн гужевых повозок, вы будете считать его некомпетентным?
Ты искажаешь мой тезис. Я тебе говорю о фундаментальных вещах. Важность volatile не сравнить с буксировкой.
Но да, если это водитель-профессионал (дальнобой, рейсового автобуса) и не знает как буксировать, то его компетенция стремится к компетенции блондинки из соседнего подъезда. Она тоже успешно ездит и даже штрафы не получает. Правда, нужно понимать, что 100% информации знать почти нереально, но если человек не знает половины «ядра» своей профессии, инструментов то он явно не компетентен. Это по определению самого термина «компетентность».