- 1
https://habrahabr.ru/post/347688/
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1
https://habrahabr.ru/post/347688/
Ученые выяснили, что плюсы медленнее си.
g0cTb 28.01.2018 15:40 # +3
Antervis 28.01.2018 17:57 # 0
g0_1494089156986 28.01.2018 18:05 # −1
Dummy00001 30.01.2018 15:54 # +3
если хочешь пользоватся крестами - то классы это обязательно. и наследование вынуждают кресты тоже использовать. и еще надо операторов перегруженых вхуячить. самое главное - все объекты выделять динамически с new. потом сделать драму из исключений, потому что мы их не поддерживаем.
"какой говняный язык, не будем им пользоватся." - почти буквальная цитата.
bormand 30.01.2018 17:33 # +1
Antervis 30.01.2018 22:30 # +3
bormand 02.02.2018 07:08 # +1
SemaReal 03.03.2018 06:08 # 0
хм, это точно сишник в кресты пришел а не джавист или пхпшник?:)
а вы кстати знаете, что в джаву хотят завести объекты, живущие на стеке?
Dummy00001 22.03.2018 17:08 # 0
ходят кучи книжек/этц как раз рекламирующие кресты в встроенщине.
с другой стороны, какие зеленые выпускники каких курсов скорее все ничего кроме такого стиля и не видели.
> а вы кстати знаете, что в джаву хотят завести объекты, живущие на стеке?
лучше 20 лет поздно - чем никогда.
SemaReal 23.03.2018 03:01 # +1
Теперь жабоёбы будут ломать голову над вопросом: "а где же мне разместить этот объект"?
Dummy00001 23.03.2018 12:20 # +1
SemaReal 23.03.2018 13:28 # 0
Dummy00001 23.03.2018 14:14 # 0
... а блин, может быть. я думал просто вечный дроч со стороковыми операциями, что бы в гц лишнего не сорить. а строки то там (как и крестовый стринг) динамические их на стек не положишь. или в жабу какую shortstring завезли уже?
SemaReal 23.03.2018 15:55 # 0
Строки в жабе, если я верно помню, это честная обёртка вокруг массива char.
Массивы в джаве имеют информацию о размере (они не null terminated, там физически есть инфа).
Так что теоретически строку тоже можно сложить на стек, но это implementation details, программист про это думать не должен наверное
bormand 23.03.2018 16:01 # 0
SemaReal 23.03.2018 16:06 # 0
Но это вообще не вопрос строк: это вопрос стека и кучи, имхо. Если я знаю что нечто будет расти до неебических размеров то я ложу это на кучу, даже в няшненькой.
А вот
тут-то зачем pitux на кучу класть?
bormand 23.03.2018 16:15 # 0
SemaReal 23.03.2018 16:19 # 0
Но вообще я фантазирую, конечно: надо читать сырцы jdk, а мне лень.
В принципе это известный факт что иногда некоторые объекты jit может покласть на стек если сможет доказать что ссыль на них никуда не утечет.Делает-лион это для примера выше я хз
bormand 23.03.2018 16:24 # 0
SemaReal 23.03.2018 16:32 # 0
>> char buf[] = new char[33];
>> return new String(buf, charPos, (33 - charPos));
bormand 24.03.2018 06:56 # 0
Код написан сишником, который решил оставить место под нолик?
З.Ы. А, тьфу, это под знак.
1024-- 23.03.2018 17:38 # 0
И это хорошо, что в местах, где сейчас нужна производительность, был впилен такой язык (тормозной по определению, с низким порогом вхождения). За счёт этого мы теперь имеем отличные движки с хитрожопейшими системами оптимизации опередившими своё время и внутренним компилятором, который из исходников готовит рабочий код за доли секунды (привет шаблонам C++).
Наконец с программой пердолится и выжимает все соки не человек, а другая программа. Никто из авторов движков не надеется, что на JS напишут хороший быстрый код, и не нагружают программиста деталями реализации.
А если позволять пользователю раскладывать переменные туда, куда он хочет их положить, придётся либо попрощаться с пирфомансом, либо мириться со временем и стоимостью разработки, ибо то же самое, что напишет на JS неумеха оператор шаблонизатора за час, дорогой опытный сишный оператор памяти выдаст за 100500 часов, а результат тот же.
Если уж такое делать, то стоит оставлять это как директивы компилятора (потом, когда все начнут писать на всякий случай какие-нибудь традиционные или устаревшие директивы, не слушать их по умолчанию и добавить второй комплект, третий, чётвёртый - как в GCC с inline), и чтобы без них всё работало автоматически.
g0cTb 30.01.2018 22:42 # +4
bormand 31.01.2018 00:17 # +3
SemaReal 23.03.2018 16:15 # 0
bormand 28.01.2018 20:37 # 0
Ну в общем-то логично. Плюсы - язык более высокого уровня.
CaptainPlastid 23.02.2018 19:38 # 0
roman-kashitsyn 28.01.2018 21:08 # +1
bormand 28.01.2018 21:09 # 0
Soul_re@ver 28.01.2018 21:10 # +3
roman-kashitsyn 28.01.2018 22:03 # +3
разумеется
g0_1494089156986 29.01.2018 11:57 # −1