Показаны сообщения с ярлыком java. Показать все сообщения
Показаны сообщения с ярлыком java. Показать все сообщения

пятница, 24 апреля 2020 г.

пятница, 23 марта 2018 г.

Метки времени обманчивы

Несколько времени назад Oracle NetBeans стал называться Apache NetBeans. Под это дело, для знакомства, я решил его собрать из исходников. Когда-то давно я так уже делал, но протоколов не сохранилось.
В итоге ant отрапортовал мне, что:

Total time: 5742 minutes 15 seconds

Что, конечно же, должно возбудить сомнения, на каком железе я это собирал. Pentium I? На самом деле, конечно же, обман кроется в том, как считалось время. Дело в том, что я не собирал NetBeans непрерывно. Обычно, в течении рабочей недели, я пробуждаю компьютер на 15-20 минут для решения каких-то повседневных задач. Частенько он вообще находится в состоянии даже анабиоза (он же hibernate).
Одним словом по календарю, может, и прошло целых четыре дня. А по факту... кто ж его знает, наверное, порядка полутора часов.

Примерно так же и работает теория относительности.

пятница, 26 февраля 2016 г.

JetBrains C++ минус

По итогам JetBrains C++ Night - впечатление от мероприятия осталось странное, что я и вынес в заголовок.

Собственно, так или иначе C++ в продуктах JetBrains было посвящено только одно выступление - "Виртуозное использование юнит-тестирования в CLion" - да и то опосредованно: был явный перекос в сторону фреймворка от Google (Test и Mock), а сами возможности CLion и та самая виртуозность остались за кадром. Впрочем, было можно заметить, что CLion унаследовал от платформы IDEA достаточно пристойную юзабилити. По крайней мере, в написания юнит-тестов для упомянутого фреймворка и элементов управления проектом (использование только CMake аудиторию несколько обескуражило, но это, в принципе, можно пережить). Предполагаю, что люди, которые работают над CLion, как минимум думают в процессе своей работы. Тут ведь такое дело: если IDEA была написана на самой же IDEA, что сильно улучшало и ускоряло процесс разработки, то вот с CLion ситуация "как у всех", в смысле вряд ли CLion написан на C++ и потому нужны заметные потусторонние усилия, чтобы у команды было концентрированное понимание, а как вообще мы программируем в несферических условиях не в вакууме.
Само же мероприятие началось с "Оптимизация ReSharper C++". Тут вообще всё сложно. Понятно, что в среднем присутствовавшая публика так или иначе заинтересована в том, чтобы писать код на C++
(В качестве отступления. Если и были товарищи, которые только ещё думают в сторону C++ или пока только пытаются делать что-то осмысленное и может даже боевое,то  должны после этого вообще перестать так думать, ибо зачем нужен настолько сложный язык программирования, который в свою очередь требует сложных и дорогих инструментов для достижения сравнимой эффективности, скажем, с Java или .Net? Проще сразу в управдомы на Java и вообще уже мозг не морщить никогда.),
но далеко не всем интересны глубинные проблемы ReSharper C++ по работе с кодом на C++ же. По мне со времён Together C++ (а это, на минуточку, лет 10-15 как) мало что изменилось в этом смысле, разве что дельту парни из JetBrains поэффективнее научились пересчитывать,.. но тут задачи у продуктов отличные друг от друга (Together не был классической средой разработки, там можно было сэкономить кое в чём). А вот информации и примеров того, что (возможно) ReSharper C++ делает лучше или по-другому относительно той же Visual Studio категорически не хватило. Зато примеры гаденьких плюсовых фрагментов были хороши. Интересно, как с этим справляется CLion? - ибо докладчик нерешительно упомянул, что у продуктов кодовая база разная.
Вишенкой на торте показался третий и последний по счёту доклад про HPC (high performance computing). Хорош и по форме и по содержанию, так что в итоге вопросов к докладчику можно сказать не возникло вообще. Но и опять, на мой взгляд, несколько мимо ожидаемого по двум причинам. Во-первых, и C++ и JetBrains остались далеко за сценой. Во-вторых, HPC в представленных измерениях это такие вычисления, которые или надо ухитриться выполнить быстрее конкурентов, или очень надо завершить до момента кончины этой вселенной. Не то чтобы я прямо считал это каким-то маргинальным направлением, но я так считаю что-то мне подсказывает, что подобными вещами с воодушевлением занимаются очень и очень немногие. Основное поверье "давайте мы сейчас поставим Hadoop и кучу серверов и всё станет хорошо" вытравить из народных масс просто так не получится. А более приземлённые HPC... ну, какие-то практические штуки, как-то: уложить в real time какую-то могучую цифровую обработку сигналов, добавить в существующую систему кучу дополнительного функционала не поломав время отклика требуют и размышлений не таких глобальных и инструментов поприземлённее. Можно сидеть и профилировать код, поискав какие-то способы по-другому разбросать нагрузку по ядрам, подвигать память между быстрыми и медленныеми банками, купить новую железку (если клиент платит), где ядер/мегагерц/памяти побольше, или есть железная реализация нужного конвейера (скажем, быстрое преобразование фурье) или поискать закатившиеся под ковёр полезные интринсики от вендора. Вот где влияние правильной софтины для разработчика недооценить невозможно. Это я к тому, что в докладе смешались два разных направления за один час времени, и это немного порвало контекст.
Да, и что хочу сказать: так вот, сподвигся на то, чтобы наконец заглянуть в опции C/C++ компилятора для VS - а там есть готовые опции для распараллеливания кода. А я и не думал!

среда, 8 октября 2014 г.

Лёня

Заинтересовался CMS на Java (ещё интересны до сих пор CMS на Python, но на Django я уже смотрел довольно давно, даже сваял кое-что когда-то). Выкопал Apache Lenya. Нет, ну надо же! - без танцев с бубном не собрать, хотя сам продукт выглядит очень даже ничего:
- надо патчить Cocoon, в той версии, что можно скачать с архивом Lenya используются тайные ходы в Java (а именно: com.sun.image.*), которые нынче просто удалены из Java, я поначалу поправил сам, но потом нашёл проверенный патч в самом коконе;
- чтобы собрать с 1.7 или 1.8 надо явно указывать target и source опции для build.sh;
- нужно подправить sitemap для капчи

Запустил. Работает. Внутри себя использует Jetty, но где-то писали, что можно прикрутить и Tomcat.

вторник, 13 мая 2014 г.

Век живи

Про пул констант: Многие знают, что в каждом .class-файле есть замечательная структура данных, которая называется пулом констант. Но далеко не каждый Java-разработчик, глядя на исходник, сможет даже примерно оценить, сколько констант будет создано в пуле.

Вообще о таком никогда не думал. Вот оно что,.. выясняется.

четверг, 1 мая 2014 г.

Я русский не выучил...

Перечитываю книжку Блоха про Java. Переводчик книги явно страдал от недостатка грамотности: вся книга набита повелительным "пишити" вместо нейтрально-предположительного "пишете".
И да, слово перезагрузка режет глаз (это про функции).

вторник, 14 января 2014 г.

И ведь умный же дядька

Я вот (примазавшись, изображая специалиста:) согласен. Особенно, про NetBeans.

Джеймс Гослинг (James Gosling), создатель языка Java, оценил состояние развития технологий Sun Microsystems, спустя пять лет с момента их перехода в руки Oracle:
  • Состоянию Solaris поставлена оценка в единицу с минусом (индекс качества F-), так как проект оказался практически мёртв, отчасти из-за завышенной стоимости лицензии.
  • Java поставлена оценка 4+ (B+). Java находится в неожиданно хорошем состоянии, за исключением некоторых моментов, связанных с отношением к проблемам с безопасностью.
  • MySQL поставлена оценка 3 (C), так как проект пока остаётся на плаву, но не продвигается и быстро теряет свои позиции, вытесняемый сторонними форками и NoSQL-решениями.
  • В отношении SPARC оценка не поставлена, так как проблемы наблюдались ещё до поглощения Sun;
  • GlassFish поставлена оценка 4- (B-), проект продолжает развиваться, но сильно не продвигается.
  • NetBeans IDE поставлена оценка 4- (B-), проект продолжает развиваться, появляется поддержка новых технологий и API, но потенциал NetBeans по влиянию на сообщество явно недооценен Oracle.

четверг, 26 декабря 2013 г.

Простенький лайфхак

Один из способов доустановить себе необходимый джентльменский набор dev пакетов, это взять себе пару-тройку крупный проектов и попробовать сконфигурировать их. Доставить то, на что они ругаются и - voila! С высокой степенью вероятности потом будет куда как проще жить.
Это я по поводу статьи Hack OpenJDK with NetBeans IDE.
Решил, раз уж всё равно последнее время сам кода для души не пишу, так хоть посмотреть, что люди делают...

вторник, 24 декабря 2013 г.

Programming stuff: Критика книги Боба Мартина "Принципы, паттерны и м...

Programming stuff: Критика книги Боба Мартина "Принципы, паттерны и м...: Поскольку камрады выразили желание увидеть в одном месте все комментарии к столь известной и уважаемой книге, как "Принципы, паттерны...

Мне показалось интересным. Особенно в свете того, что у нас писания этого дядьки Боба превращают в священную корову.

Спутник взлетает. Первая ступень отработала.

 И, кажется, неплохо: Посмотрим, что будет когда отработает вторая.