Крылатый
Правда, некоторым не нравится(
Крылатый
«Это для шаблоном придумали, юзайте только с decltype»!
Крылатый
auto main() -> decltype(declval(int)) {}
Крылатый
Вот те на!
🦥Alex Fails
auto main() -> decltype(declval(int)) {}
а вот это точно надо спереть в цитатник
Крылатый
Зато всё согласно букве закона стандарта разработки, кек.)
Алдар
Крылатый
C++11 тоже прожовывается.
Stanislav
вот это уже С++14?
да это все в 11 было уж
Vladislav
лучше про яндекс и ок расскажи)
что именно рассказать?)
Крылатый
Хотя не оч и работает) http://melpon.org/wandbox/permlink/ljFcWsXk1JJOzUWY
Крылатый
На main, т.е.
Kirill
что именно рассказать?)
как оно, вероятность пойти туда работать гораздо выше чем релокация в фб)
Крылатый
ага, тоже хотел сказать
Можно просто auto писать без типа, если C++14
Крылатый
И оно валидно, штандартно.
Алдар
auto main() -> auto {};
Крылатый
auto auto auto
🦥Alex Fails
auto main() -> auto {};
#шуткапро_auto_auto
Stanislav
Можно просто auto писать без типа, если C++14
ну не, идешки на таком шкварятся немножко
Vladislav
а в яндексе я был питерском, маркете и тоже ява) и недолго
Kirill
я думал ты там плюсил) (я про янедкс)
Vladislav
в поиске - да
Kirill
в общем везде ява, яснопонятно)
Vladislav
неудивительно, учитывая что до фб я писал в основном на яве)
Aidar
Эммм
Aidar
Хреново
Aidar
Значит джава всё-таки нужна
Stanislav
Значит джава всё-таки нужна
не такая уж она и сложная
Aidar
Она самый лёгкий язык ваще
Aidar
Но библиотека стандартная дичь
🦥Alex Fails
обмазаться декораторами
🦥Alex Fails
ща мы сюда дмсола призовем 😂
Алдар
знал джависта который перешел на плюсы и говорил что продуктивность резко упала
Stanislav
че нашел) https://github.com/cucumber/cucumber-cpp/
Kirill
Люди, которые привыкли к сборке мусора, не хотят сами его собирать.
Berkus
unique_ptr<> shared_ptr<>
🦥Alex Fails
да, они прекрасны
Kirill
Помню, на последнем курсе сдавал курсовую "REST на c++". Препод так удивился, что это возможно... 😂
Kirill
unique_ptr<> shared_ptr<>
Да, но ты по сути говоришь, что хочишь обеспечить уборку этого мусора. Полуавтомат такой.
Kirill
сырцы в студию!
Там ничего интересного. libhttpserver
Berkus
ну по современным рекомендациям ты должен всегда вместо new/delete использовать make_unique/make_shared
Berkus
ничем не отличается от вечного v = new V() в жабе
Kirill
Там ничего интересного. libhttpserver
И это только потому, что c++11 не разрешен был.
Kirill
Еще джавистов бесят все эти ссылки, указатели, значения
Berkus
ну у них тоже объекты всегда указатели, так что про указатели им знать все равно нужно
Berkus
примитивные типы - values, а еще большая гора boxing/unboxing
Berkus
сложнее плюсов!
Kirill
Да они об этом не задумываются так. А у нас при объявлении любой функции нужно думать, как именно принимать параметры.
🦥Alex Fails
где-т была статейка по поводу классификации передачи параметров по значению/рефу
Kirill
И из джавистов только самые лучшие занимвются оптимизацией. Остальные предпочитают покупать новый сервер.
Kirill
Во-во
Kirill
А потом они просто приносят свой проект, например, чувакам их Яндекса, и просят переписать так, чтобы было быстро.
Kirill
Мне чувак на собеседовании рассказал
Kirill
Скажите джависту "таблица ыиртувльных функций" - он в осадок выпадет.
Kirill
У них же там все функции, кроме final, виртуальные
Dr. Friedrich
У них же там все функции, кроме final, виртуальные
Я бы не хотел разводить лишний раз, но это не вполне точно. Виртуальная функция в Java-коде и виртуальная функция в реально выполняющемся машинном коде — две большие разницы. Иначе говоря, настоящий компилятор JVM умеет развиртуаливать вызовы, и делает это неплохо.
Dr. Friedrich
на самом деле, JIT умеет делать методы невиртуальными там, где виртуальность не нужна. Скорее в c++ разделение на виртуальные и невиртуальные методы - костыль
Возможность эффективно это делать, как мне кажется, связана с деоптимизацией в случае, если JIT "не угадал". В C++ такой механизм не представлен, и потому виртуальные функции всё-таки костылём не назовёшь. Ну а если ты реально написал virtual, но нигде не переопределил — тогда компилятор волен её заинлайнить и не виртуалить; с этой точки зрения всё ок.
Berkus
WPO
Dr. Friedrich
Есть несколько источников для такого рода знания: - если он знает точный тип объекта - LTO
Dr. Friedrich
Если компилятор этого наверняка не знает — тогда, конечно, упс, и JIT может потенциально выиграть. Сами знаете какой ценой.
Vladislav
http://hubicka.blogspot.cz/2014/01/devirtualization-in-c-part-1.html http://hubicka.blogspot.ca/2014/01/devirtualization-in-c-part-2-low-level.html http://hubicka.blogspot.ca/2014/02/devirtualization-in-c-part-3-building.html http://hubicka.blogspot.ca/2014/02/devirtualization-in-c-part-4-analyzing.html http://hubicka.blogspot.ca/2014/04/devirtualization-in-c-part-5-feedback.html http://hubicka.blogspot.ca/2014/08/devirtualization-in-c-part-5-asking.html http://hubicka.blogspot.ca/2014/09/devirtualization-in-c-part-6-enforcing.html
Vladislav
очень крутая серия постов на эту тему
babysitter
джава — это уже давно не медленный язык. все преременилось. раньше говорили, что у плюсов сложный синтаксис, высокий порог вхождения, но вот есть джава, она вас спасет. сейчас джава уже достаточно быстрая, но при этом народ перестает на ней писать потому что.. сложный синтаксис, высокий порог вхождения
Kirill
https://habrahabr.ru/company/abbyy/blog/248429/
Kirill
вот тоже статья мне нравится
🦥Alex Fails
копию на ссылку
🦥Alex Fails
скажем так