?

Log in

No account? Create an account

Java, изменение строки

Наткнулся на статейку http://www.skipy.ru/technics/strings.html#mutation

Там вполне грамотный чел рассказывает о возможности в Java изменить текст строки, даже не смотря на то, что строка объявлена неизменяемой (final).

Можно считать, что это очень хороший вопрос для собеседования.
В Джава есть множество подобных нюансов и список вопросов можно написать совсем не маленький.

В принципе так и делают многие компании, в нете также много онлайн тестов подобного характера.

И меня мучает один вопрос, как подобные знания применимы на практике?
Лично для меня это загадка.
Попросту потому, что нет никакой необходимости изменять таким образом текст строки в собственном проекте.
Более того, все эти хитрости в основном надуманные, мне незачем усложнять свой собственный код.
Оптимизация? А вам, к примеру, известно, что очень крупная торговая компания, пишет свои проекты в основном на 1C? Для этого она выделяет сервера с терабайтами оперативки и сетка между компьютерами там как минимум 1ГБит. Разработчики там получают по максимуму для нашего рынка.
Т.е. выигрыш в производительности после оптимизации кода на Java просто ничтожен, если сравнивать с продуктами писаными в той компании, а ведь там, судя по ЗП, программисты высшего уровня.

Да, можно сказать, что знание таких аспектов явно подчеркивает высокий уровень специалиста.
Можно было бы, если бы я лично не знал программистов с заученными шаблонами.
Ведь можно попросту начитаться книжек, если память хорошая. Но главное ли это свойство программиста?
Выходит, что да, для многих топовых компаний - хорошая память и начитанность - главное, за это и платят.

Лично мне это не нравится, хотя бы потому, что у меня очень плохая память, там попросту не хранится то, что мое подсознание считает не нужным или сомнительным. Возможно все дело в том, что я не программист, я разработчик, а правильней системотехник, я создаю системы, решения и т.п. мне незачем знать все нюансы Джава, мне достаточно знать хороший набор надежных инструментов и с их помощью творить.

В этом главное отличие. Как-то я спросил у одного программиста на фарпосте, который владел огромным багажом знаний(я там многих названий попросту не знал), сколько у него рабочих или завершенных проектов. В ответе он винил бардак в компании, количество проектов он не назвал, похоже попросту ни одного. При этом он просил ЗП что-то около 150 тыс. руб. в месяц.

А еще меня смущает мода. Меня как-то поправил студент которого спросили, как правильно  Ява или Джава?
Парнишке с умным видом было невдомек, что некоторые названия имеют русский вариант произношения, например Австралия, мы же не говорим Оустрэлия.

Короче все плохо, мало того, что сферу интенсивно занимают люди, чья главная особенность - хорошая память, так еще хуже то, что сделать они надежные решения не могут. Ведь приглядитесь, все глючит, глючит в элементарной логике, в базовой логике, зачастую ошибки лезут из-за отвратительно плохой логики взаимодействия узлов системы.
Я из того поколения, который юность провел без интернета, работая на ZX Spectrum, позже немного в MS-DOS.
Я отлично помню программы, достаточно сложные программы, которые не глючили и были интуитивно понятны, в том числе и игры. Сейчас такое ПО - большая редкость. И можно сказать, что современная разработка ПО находится где-то на дне. Плохо то, что сейчас тоже самое происходит и со схемотехникой, где, на мой взгляд, основной причиной выступает торговая марка Ардуино.

Comments

>> Выходит, что да, для многих топовых компаний - хорошая память и начитанность - главное, за это и платят.

Для компании важна унификация специалиста. Если он будет уникальной запчастью - это риск для компании при поломке одной запчасти развалить весь механизм.

1C берет наличием рынка запчастей (специалистов) и скоростью внедрения новых требований. Бизнес за это готов заплатить, потратившись на гигабайты и гигагерцы.
Только уникальный специалист может создать что-то стоящее.
Уникальный специалист должен передавать свои навыки другим специалистам (подмастерьям).

А армия шестеренок(негров) полезна толкьо там, где нужно поддерживать, тестировать или исправлять дефекты. Что то типа разницы между инженером и техником.
Так разработка в 1С это и есть техподдержка продукта. 1С программист - это не разработчик ПО, также как тестировщик пищущий скрипты - не программист.

В разработке нового - да, нужны таланты и уникумы, именно они создают ПРОДУКТ.
>> Плохо то, что сейчас тоже самое происходит и со схемотехникой, где, на мой взгляд, основной причиной выступает торговая марка Ардуино.

Согласен по поводу качества ардуиносообщества.

Но, ардуина привлекла в тему множество нубов. Они неплохо распаливают рынок и желания.

Те кто раньше и не задумывался об автоматизации загораются темой, коротают с запалом вечера с этой ардуиной - дешево ведь!, а еще можно самому сделать, круто, я - электронщик!

Армия таких уставших от ардуины оседает тысячами сообщений на форумах. Спрос родил новую профессию - ардуино-разработчик. Это такие "продвинутые" спецы, что способоны за деньги залить в ардуину говнокода с кучи "опенсурс проектов" или налабать "скетч" на 5 тысяч строк в одном файле.

Когда же вконец заебут эти глючащие скетчи/хуетчи - приходят к нормальным решениям, на которые ранее и не взглянули бы.
:) Хорошо сказано.

Но есть проблема, то, что они реализуют не исчезает в черной дыре.
Оно также оседает в продукции которую нам приходится потреблять.
Да тут-же сказка про трех поросят в тему...