Re[13]: О ниасиливших Clojure
От: Hobbes Россия  
Дата: 18.07.19 17:35
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Старый добрый STATIC_ASSERT


Так, чтобы проверить отрицательный кейс, но при этом компилировалось
Re[28]: О ниасиливших Clojure
От: CreatorCray  
Дата: 18.07.19 19:50
Оценка:
Здравствуйте, $$, Вы писали:

$>О чём говорить в подсчёте битов?
Хехе

$> Это странная, не совсем алгоритмическая задача, у которой есть 1 оптимальный ответ.
У неё много ответов, как оптимальных так и не очень.
Меня интересует способность кандидата находить решения.

$> Да, она отсечет мимопроходивших кто в биты не может.
Если человек "не может в биты" чего он вообще к нам пришёл?

$>PS ненавижу эта андроидная клавиатура правит слова.
Так выключи исправлялку
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Re[29]: О ниасиливших Clojure
От: CreatorCray  
Дата: 18.07.19 19:50
Оценка: 5 (1)
Здравствуйте, AleksandrN, Вы писали:

AN>1 оптимальный ответ — тот, который написан в книге Генри Уоррена "Алгоритмические трюки для программистов"?

Это там где жонглируем magic numbers? Назвавший его получит небольшой плюсик за эрудицию но не больше.

Смотря что считать оптимальным. Например на x86 asm решение будет вообще в одну команду:
popcnt


Но это не интересное решение для целей интервью.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Re[14]: О ниасиливших Clojure
От: Cyberax Марс  
Дата: 18.07.19 22:39
Оценка:
Здравствуйте, Hobbes, Вы писали:

C>>Старый добрый STATIC_ASSERT

H>Так, чтобы проверить отрицательный кейс, но при этом компилировалось
Я в своё время делал это в системе сборки.
Sapienti sat!
Re[26]: О ниасиливших Clojure
От: 0xCAFEDEAD  
Дата: 19.07.19 04:42
Оценка:
Здравствуйте, $$, Вы писали:

$>Здравствуйте, 0xCAFEDEAD, Вы писали:


CAF>>Ну тебе лучше знать чего ты хочешь от кандидата


$>Способности думать.

Интересно, конечно. А как переворот строки этому поможет? Это скорее вопрос не программирование, а не на умение думать.
Re[16]: О ниасиливших Clojure
От: 0xCAFEDEAD  
Дата: 19.07.19 04:43
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, 0xCAFEDEAD, Вы писали:

CAF>>Ну если тебе нравится писать на пхп, то оставайся Кстати, а как вообще в Испании с ИТ? Громких имен я не слышал, да и вообще не особо популярная в ИТ страна.
S>Так себе в Испании с ИТ.
S>Хорошо, что я не в Испании.

Не понял, наверно туп. А где же ты?
Re[14]: О ниасиливших Clojure
От: PM  
Дата: 19.07.19 05:50
Оценка:
Здравствуйте, Hobbes, Вы писали:

C>>Старый добрый STATIC_ASSERT


H>Так, чтобы проверить отрицательный кейс, но при этом компилировалось


На этапе компиляции никак, CMake умеет: https://cmake.org/cmake/help/v3.7/module/CheckCXXSourceCompiles.html

Ну или описать набор положительных случаев, а остальные считать недействительными, все равно компилятор про них сообщит.
Re[17]: О ниасиливших Clojure
От: Sinclair Россия https://github.com/evilguest/
Дата: 19.07.19 05:58
Оценка:
Здравствуйте, 0xCAFEDEAD, Вы писали:
CAF>Не понял, наверно туп. А где же ты?
Я — в Новосибирске.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[18]: О ниасиливших Clojure
От: 0xCAFEDEAD  
Дата: 19.07.19 06:07
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, 0xCAFEDEAD, Вы писали:

CAF>>Не понял, наверно туп. А где же ты?
S>Я — в Новосибирске.

Ну там должно быть полно хорошей работы.
Re[19]: О ниасиливших Clojure
От: PM  
Дата: 19.07.19 06:09
Оценка:
Здравствуйте, $$, Вы писали:

PM>>Похоже, это хороший способ узнать уровень владения современным С++ у собеседуемого, насколько профессионально человек развивается, следит ли он за развитием языка. Просто спросить, что использовал кандидат для форматирования строк в последнем проекте. Наверно этот подход также применим и к вопросам про другие типичные задачи, типа что использовали для сетей или логирования, и почему.


$>Вы гордитесь перечислением велосипедов на то, что в других языках из коробки.

Где выше вы увидели перечисление велосипедов? И почему вы решили, что я этим горжусь?

PM>>Так что, если в 2019 году не будет упомянута fmtlib, asio, то человек последние несколько лет не использовал или не интересовался С++

$>Я работал с автором asio Но писал на жаве.

А я знаком с Биллом Гейтсом, но через 5 рукопожатий.


PM>>Вот у тебя, $$, странная ссылка на boost.format, как первая попавшаяся из выдачи гугла "Мне повезет".

$>Да, воспользовался гуглом. Это плохо? C++ до сих пор- хождение по граблям?

Это говорит о том, что вы получили эту информацию совсем недавно при поиске ответа на вопрос, а не применяли хоть раз в реальном проекте.

PM>> Тот, кто хоть раз пытался воспользоваться бустом, должен был скомпилировать его. После этого такой человек обычно знает наизусть адрес boost.org

$>OMG. Знак качества C++ программиста- скомпилировал ли он буст. Ну компилил я его, только очень давно. Потом перешел на жаву.

Да, получается что так. К сожалению, в С++ существует зоопарк библиотек, систем сборок, и проблемы с управлением зависимостями. И С++ программист, который ни разу не сталкивался с проблемой сборки сторонней библиотеки, это юниор.

Про жаву не готов обсуждать — я в ней юниор, умею запускать только ant.

PM>>И если человек пишет на С++ не в бункере, то он скорее всего читает hackernews, reddit/r/cpp. Так что про fmtlib и ее очень вероятное включение в С++20 скорее всего слышал.


PM>>Иначе, получается что перед нами очередной кандидат, нахватавшийся по верхам поисковой выдачи ответов на часто задаваемые вопросы интервью.

$>Считаю, спрашивать на интервью бмблиотеки форматирования- неправильно. Алгоритмы, немножко гномиков- самое то.

Ок, а я считаю, что интервью — это не спец.олимпиада с единственно правильным ответом. Открытый вопрос про использованные сторонние библиотеки в предыдущих проектах может дать информацию о реальном опыте кандидата.
Re[19]: О ниасиливших Clojure
От: PM  
Дата: 19.07.19 06:24
Оценка: +2
Здравствуйте, CreatorCray, Вы писали:

CC>У меня такое мнение почти про весь буст.

CC>Слишком понакручено там всё.

Буст очень неравномерный и в 2019 новый проект с ним начинать навряд ли стоит. Но благодаря ему в стандартной библиотеке С++ сейчас есть много всего полезного.

PM>>Так что про fmtlib и ее очень вероятное включение в С++20 скорее всего слышал.

CC>После того как самостоятельно сделал лучше на это поделие смотреть уже не хочется:
CC>Re[7]: Что вижу я
Автор: CreatorCray
Дата: 27.10.17


В процессе стандартизации fmtlib сильно причесали, ну и новые возможности языка позволили хорошо упростить код. По быстродействию основное требование к библиотеке форматирования у меня — она должна быть не сильно хуже sprintf, а выжиманием последних наносекунд пусть Facebook занимается.

Для чисел в С++17 добавили https://en.cppreference.com/w/cpp/utility/to_chars который не использует локаль языка. Обещает быть быстрым https://www.reddit.com/r/cpp/comments/a2mpaj/how_to_use_the_newest_c_string_conversion/eazo82q/
Re[20]: О ниасиливших Clojure
От: CreatorCray  
Дата: 19.07.19 09:36
Оценка:
Здравствуйте, PM, Вы писали:

PM>В процессе стандартизации fmtlib сильно причесали, ну и новые возможности языка позволили хорошо упростить код. По быстродействию основное требование к библиотеке форматирования у меня — она должна быть не сильно хуже sprintf, а выжиманием последних наносекунд пусть Facebook занимается.


А самое смешное что я вообще ничего не старался выжимать: просто пришла в голову идея, я её реализовал как POC.
Получилось удобно, поэтому чутка причесал в плане оформления и комментов и добавил в свою персональную либу, которую юзаю для своих проектов. Ну а поскольку к ней есть regression и performance tests то заодно добавил новую функциональность в них, скорее ради regression testing чем ради performance.

И только тут выяснилось что она заметно быстрее sprintf, с которым я сравнимал корректность форматирования, поскольку была идея заменить все *printf в коде на новый фугкционал простым rename.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Re: О ниасиливших Clojure
От: mrTwister Россия  
Дата: 19.07.19 09:39
Оценка:
Здравствуйте, $$, Вы писали:

$>Пока я внедрял State Chart паттерн в UI, очередной ниасиливший клоюру деятель заменил код на жаву на бекенде.
$>С одной стороны, это было неизбежно. С другой- бесит.

Ну вот смотри, по твоим словам выходит, что программер Clojure ниасилил, но backend переписал, то есть осилил. Значит, язык программирования сложнее, чем решаемая задача. То есть ради решения простой задачи зачем-то использовали очень сложное решение. Может там и не нужен был Clojure?
лэт ми спик фром май харт
Re[2]: О ниасиливших Clojure
От: $$ Австралия жж
Дата: 19.07.19 10:09
Оценка:
Здравствуйте, mrTwister, Вы писали:


T>Ну вот смотри, по твоим словам выходит, что программер Clojure ниасилил, но backend переписал, то есть осилил. Значит, язык программирования сложнее, чем решаемая задача. То есть ради решения простой задачи зачем-то использовали очень сложное решение. Может там и не нужен был Clojure?


Он сначала скопировал старый код из старой репы, до Clojure
Re[30]: О ниасиливших Clojure
От: AleksandrN Россия  
Дата: 19.07.19 14:22
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Здравствуйте, AleksandrN, Вы писали:


AN>>1 оптимальный ответ — тот, который написан в книге Генри Уоррена "Алгоритмические трюки для программистов"?

CC>Это там где жонглируем magic numbers? Назвавший его получит небольшой плюсик за эрудицию но не больше.

Да. В какой-то из тем, про собеседования этот код привели. Я тогда стал вспоминать, где я этот код видел и вспомнил про книгу.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.