Как стать автором
Обновить
21
0

Пользователь

Отправить сообщение
Насчет последних 2-х лет. Все правильно. Ты — это твои последние 2 года

Только в том случае, если у тебя разброс опята от ассемблера до php. А если расти в одной области (например, JVM), то ты это последние 10 лет минимум.

Пристроиться разработчиком PHP не получилось, двадцатилетние HR действительно отбрасывают такие резюме. Пришлось устраиваться на 1С, как ни противно было.

Но ведь во фрилансе и удаленке на российском рынке полно вакансий на PHP? А ни там, ни там возраст никого не интересует. Ну и кто мешает выкинуть строку возраст из своего резюме и оставит только последние 5-10 лет опыта (чтобы, наверняка, можно убрать годы обучения в универе)? А во многих странах, писать возраст в резюме вообще не принято.
Ну девушки/выпивки/игрушки в 25 могут занимать даже больше свободного времени чем семья в 35. К тому же семья может быть неплохим мотиватором, одному человеку нужно не так много денег, отсюда лень выходит из зоны комфорта (например, с не сильно оплаченной работы, но где можно резаться в комп.игрушки полдня на работе), а семья, дом, машина, возраст вполне себе мотиватор учится и развиваться.
IT всегда была сферой молодежи.


Когда всегда? В эру перфокарт и больших компьютеров IT была сферой математиков, в том числе трясущихся старичнов-профессоров. А большинство молодежи просто не пустили бы к терминалу.

Сферой молодежи она стала только в 90-x когда у детей массово появились дома персональные компы. И сейчас мало стариков просто потому что у стариков в детстве не было персональных компьютеров, а опыт на майнфреймах уже мало кому нужен.
Не думаю что на основании одного отказа можно говорить о тенденции. Есть много причин почему резюме не прошло HR и даже не дошло до тех.специалистов:
1. HR сделали поиск по соц.сетям и им не понравился псих.портрет,
2. Резюме составлено неправильно и они просто не поняли что у вас есть нужные навыки,
3. У вас частые смены работы,
4. У вас переквалификация, когда они ищут работника на более низкий уровень (и соотвественно зар.плату),
5. У них скучная однотипная работа, а вы в резюме написали что главное для вас развитие,
6. Они уже нашли или практически нашли специалиста на эту вакансию,
7. HR встал не с той ноги,
Уточните это включая JVM Java 8 или нет? Если да, то учитывая что её минимум 128 Mb (как я говорил выше) это вполне ожидаемо.
почему же никто не использует это в промышленных масштабах? Да потому что в наше время кроссплатформенность и человеческий ресурс сильно важнее железа. Железо всегда можно докупить.

У сервера есть несколько узких мест:
1. Максимальное количество открытых соединений,
2. Скорость записи на диск (базы данных, файлы),
3. Скорость обмены с другими серверами (удаленный базы данных, микросервисы),
4. Память (читай кэши),
5. Канал трафика,
6. Процессор,

Так вот использование низкоуровневого языка влияет только на процессор, на память он виляет слабо, исходный код это меньшая часть памяти, большая часть съедают структуры данных и кэши (кэши вебсерверов, кэши баз данных, объекты бизнес логики и т.п.). А современное железо достаточно производительно, и в типовом бекеэнде веб приложений процессор редко бывает узким местом. Ускорять код, когда процессор и так никогда не бывает загружен даже на 50%, можно, но это мало чем поможет если пользователи уперлись в трафик или скорость записи на диск. Отсюда огромную экономию низкоуровеневые языки в вебе дают редко (и обычно проще переписать только кричиный код на таком языке).
Другой вопрос, что платить за эту абстрактную производительность никто не готов. Но «экономически не целесообразна» и «не нужна» — всё же разные вещи.

Иногда не нужна. При типичном бекэнде веб приложения количество одновременных соединений с серверу ограничено, сервер имеет ограниченную скорость записи/чтения на диск, то есть работа с базой данных, записью файлов не может быть быстрее скорости работы с жестким диском, а канал связи с инетом тоже не безлимитный. Производительность кода на ресурсы сервера для веб бека может не влият практически никак, так как сервер 100% времени будет заниматься записью/чтением с диска, а процы будут загружены на 10-20%. Либо он упрется в трафик или количество открытых соединений. Смысл супер оптимизировать код, если процы и так не работают в полную силу и лимит достигнут совсем в другом?
Я, например, не поленился скачать виртуалку с Томкатом и посмотреть, например.

И ваши результаты?
Все ещё веселее, количество одновременных TCP соединений к серверу весьма ограничено. То есть, если код не лезет в базу, не работает по сети, а только отдает некоторые данные из памяти, то почти любой язык будет работать быстрее чем к серверу будут приходит запросы. А если активно лазить в базу, сеть, читать/писать файлы то основное время сервер будет занят записью на диск, скорость кода большой роли не сыграет. Другими словами, на любом более-менее серьезном языке при работе с вебом и прямых руках узким горлышком окажется не скорость кода, а либо работа базы данных, либо количество одновременных соединений, либо работа с файлами и сетью.
Поэтому переписав все на асме получится практически та же стоимость сервера, хорошо если выигрыш будет 25-30%.
чистых независимых вычислениях на нагружённом сервере

У нас был подобный проект, когда не было ни бд, ни шаблонов, просто очень быстрый код, который должен давать очень быстрый ответ на множество запросов «клиентов» из веба. В общем, несмотря на то что код был на Java, мы в первую очередь уткнулись в максимально возможное кол-во одновременных соединений по TCP к серверу, а переходит на UDP было слишком сложно. Скорость кода тут оказалось делом десятым, от перехода к C или ассемблеру мы ничего бы не выиграли.
Да, если требовалось много сложных вычислений, то С++ или С нам бы помогли, но это не имеет отношения в вебу, достаточно переписать только критичную часть.
Угу, демагогия прием «ad hominem» — переход на личности.

Задача элементарная, но все эти «сделай бенчмарк», дай отчет об «использовании памяти» в Инете всегда заканчивается одним и тем же: это неправильный отчет/ты исправил цифры в блокноте/ты померил не то и не там/ты запустил на Linux, а надо было на Windows, не на 32 битном процессоре, а на 64битном, не в включенном Compressed Oops, а с выключенном/твоя конфигурация слишком минимальна. И вообще твой Hello World слишком простой, давай сразу форум как у автора напиши.

Не хочу заниматься сомнительной игрой «Докажи, что не верблюд» и тратить время на установку и настройку Tomcat 6/7 в минимальной конфигурации. Плюс если делать исследование по уму, то любой элементарный бенчмарк требует учитывать много моментов и проверять его работу на разном железе/операционках. Если мне нужно будет засунуть tomcat или Jetty в хостинг с минимальными характеристиками, тогда проведу полноценное исследование и напишу статью, но на это придется потратить пару дней, если делать все по уму.

Если у вас есть реальный интерес, а не просто холивары разводить — подскажу на сайте tomcat'а море работающих примеров, скачиваете tomcat, примеры и тестируйте сами.
Это вопрос терминологии, но важен тот факт что рефлексия в Java часто используется для получения данных об объектах, но редко для изменения кода. Более того некоторые из реализаций Java (например, Java в Android) вообще не имеют возможности изменения байт кода. Поэтому рефлексия в Java не мешает реализации машинной компиляции.
Тот же сайт Эксельсиора честно пишет — что с класслоадером используется обычная JIT-технология.

Ещё раз какое отношение ClassLoader имеет к Reflection API? Это никак не связанные в Java вещи. ClassLoader служит для загрузки новых классов, Reflection для изменения объектов существующих классов. Они вообще не связаны. Кастомные ClassLoader в Java используются редко, так это крайне небезопасно и вообще сильный хак.
Эээ, вы правда считаете что мне больше в жизни делать нечего? Продемонстрировать в состоянии, но тратит свое время на это не собираюсь. Мне, в принципе, все равно верите мне или нет. Если вам это важно, гугл в помощь.
ею, я надеюсь, занимается бэкенд — а про бизнес-логику.

Ооо, а что такое, по вашему, бэкенд? Где у вас живет бизнес логика в классической трехзвенке? Во фроненде или базе данных?
Так и в случае с java и .net — это можно назвать «виртуальной компиляцией». Напомню, что виртуальный — значит «Возможный; условный, кажущийся». Кажется, что это компиляция. Но на самом деле нет.

Выше уже несколько раз сказано, что есть компиляторы в машинный код с этих языков. Есть и вполне реальные существующие процессоры (и их можно купить и использовать) для байткода Java. Java это только спецификация, а JVM может быть на любых принципах…
А что есть html? Строки. Что есть json и xml? Строки. Что есть sql запросы? Cтроки. Что есть деньги? Целочисленный тип, так как типы с плавающей точкой не подходят для хранения денежных сумм. Вычисления с плавающей точкой в бизнес логике тоже встречаются, но их редко бывает очень много.
Но почему то дефолтная установка Tomcat 8 прописана с Xms256Mb.

Дефолтная установка и минимальная установка это совсем разные вещи. Дефолтная установка не предполагает экономию памяти и вообще предназначена для больших EE приложений, то есть она прописана с огромным запасом (там принцип — память дешевле процессора, поэтому лучше сожрать больше памяти, но работать чуть быстрее).
К тому же я говорил про Tomcat 6/7, они едят чуть меньше памяти чем 8. По дефолту Java приложение съест столько памяти сколько ей «хочется», но можно заставить работать её с и меньшим кол-вом памяти. Тем более если там не будет ничего серьезного вроде транзакций, а простейшие сервлеты, вида сгенерировать html из строк и простых jdbc запросов к базе.
Да нет, не спутал

Рефлексия в Java не меняет байт код, она меняет объекты классов. Объекты классов лежат в памяти и представляют обычные структуры данных. В терминах Си она сохраняет указатели на поля и методы объектов классов и позволяет обратиться в полю или методу по указателю. Ничего такого что нельзя было сделать на чистом С++.

По вашей ссылки на вики видно что рефлексия прекрасно существует и в компилированных языках.

Вы это пробовали лично?

Был опыт использования Эксельсиор'а
И где там .NET?

По С# не специалист, но вроде технология NET Native, описана в MSDN

Про экселсиор я забыл, но там ценник…

Это уже совсем другой вопрос. Технологии есть, а бесплатно или нет — не принципиально. Тот же Delphi никогда не был полностью бесллатен (не в курсе что сейчас с оплатой .Net студии, когда с ней работал она тоже стоило прилично для нашей фирмы).

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность