Re[3]: kotlin всЁ?
От: Artifact  
Дата: 09.04.21 10:26
Оценка: +1 -1 :))
PJ>А вот если бы тебя позвали, то все было бы по-другому?

А почему ты так уверен, что нет?

PJ>Совершенно правильный вывод. Вывод, что во всем виноваты люди совершенно бесполезный. Так можно было и дальше ассемблера не ходить.


Все ошибки с памятью, которые можно допустить в C++, давно известны. Неужели так трудно научить своих сотрудников их не делать? Да, лучше, если компилятор будет бить по рукам, если делаешь, что-то нетак. Но в приведённой статье есть более интересный момент

For complex C/C++ code bases, often there are only a handful of people capable of developing and reviewing the fix, and even with a high amount of effort spent on fixing bugs, sometimes the fixes are incorrect.


complex C/C++ code bases — сложный C/C++ код.
there are only a handful of people capable of developing and reviewing the fix — немного людей, кто в состоянии устранить ошибку.

Иными словами гугл подтверждает, что в их коде чёрт ногу сломит.

Насколько мне известно, чтобы из сложного кода сделать код проще, требуется приложить определённые умственные усилия, а не просто поменять язык программирования.


Кстати, там есть интересная ссылка на найденный баг в гугловом коде https://googleprojectzero.blogspot.com/2015/09/stagefrightened.html

Прежде чем начать читать статью, я пробежал глазами по коду. Первое за что я зацепился было это
if ((size_t)(mDataSource->readAt(*offset, buffer + size, chunk_size))
            < chunk_size)


Зачем понадобился каст в size_t? Для любого опытного С++ программиста любой каст это сразу же намёк, что что-то тут нетак. Что возвращает mDataSource->readAt ? Это int? А если он вернёт -1, а мы это скастим в size_t, мы получим 18446744073709551615 (если это 64 битная платформа). Это точно то, чего добивался автор?

Это реально трудно заметить, или у меня дар божий?
__________________________________
Не ври себе.
Re: kotlin всЁ?
От: serj.e  
Дата: 09.04.21 10:32
Оценка: +1 :)
Блин (через "ять"). И откуда только такие дилетанты лезут? Очевидно же, даже не открывая текст статьи, что его добавили в NDK. Туда, где до этого безраздельно царили C и плюсы.

Перефразируя старый баян: Слоны идут на..., а Java и Kotlin живут этажом выше
Re[2]: kotlin всЁ?
От: serj.e  
Дата: 09.04.21 10:41
Оценка: -1 :)
A>Перевожу: большинство багов с памятью возникает в новом или недавно изменённом коде; примерно 50% багов находится в коде написанном один год назад.
A>Что это значит? Это значит, что в старом коде уже без поллитры не разберёшся, и разработчики, не поняв что к чему, делают ошибки.

Ото ж. Давайте, значит, посадим раст-о-манов с красными глазами, и сделаем старый код настолько write–only, чтобы разобраться нельзя было и без цистерны. Добавим побольше ломающих изменений между версиями. И сдобрим отсутствием консорциума, явно писаных стандартов, невменяемой документацией и шибзданутым сообществом, которое будет набигать с криками "так на расте писать нельзя!". Единственным выходом будет всё переписывать к Евгении Марковне, а не разбираться. И по метрикам всё отлично: меньше кода — меньше багов))

Писец, поколение анацефалов. Так помешались на этой безопасности, что, похоже, детей своих будут с рождения в бетон заливать. Чтобы не дай бог не ушиблись от падения, это же тааак опааасно. И жуткую короняяяку не подхватили ненароком, выбежав на улицу.
Re[12]: kotlin всЁ?
От: Skorodum Россия  
Дата: 09.04.21 10:49
Оценка: :)
Здравствуйте, CreatorCray, Вы писали:

CC>Собрать то можно чем угодно

Чем можно собрать студийный солюшн кроме студии и msbuild?

CC>а вот разработка в IDE на порядки удобнее.

Вот. Только IDE разные. У нас разработчики пользуются всеми основными: студией, Vim, CLion, QCreator, на всех трех платформах. И 5-6 разными компиляторами.
Re[14]: kotlin всЁ?
От: Skorodum Россия  
Дата: 09.04.21 10:55
Оценка: :)
Здравствуйте, CreatorCray, Вы писали:

CC>Нафига?

Потому что оно во всём лучше чем решение от МС

CC>А нахрена все эти навороты в зоопарке? KISS никто не отменял.

Потому что твое решение остается простым в очень ограниченном мире: одна платформа, один компилятор, одна IDE и никаких хитрых шагов при сборке. Любой мало-мальский шаг в сторону из этого уютного мирка заканчивается костылями в виде скриптов разной степени кривости.

CC>В новой студии стало хуже, в старой прекрасно было видно что поменялось, просто потому что XML там был человекочитаемый.

"человекочитаемый XML" это какой-то оксюморон. Прочитать-то можно, но нафиг не нужно.

CC>Да и в принципе даже старая вижуалка с ассистом кроет новый хэкод как бык овцу практически во всём касательно продуманности и удобства.

Об XCode вообще хороших отзывов мало
Re[16]: kotlin всЁ?
От: Skorodum Россия  
Дата: 09.04.21 11:15
Оценка: +1 -1 :)
Здравствуйте, CreatorCray, Вы писали:

CC>А нахрена?

А почему нет?
Причин и плюсов много, начиная от требований к продукту и не заканчивая простотой поиска сотрудников (т.к. нет ограничений по IDE и ОС для разработки, что для многих плюсовиков критично и ты сам отлично демонстрируешь).

S>>"Обычно" это если мир ограничен разработкой на одной платформе

CC>Что в большинстве случаев так.
А я говорю нет

CC>В таком мире как раз С++ приносит одно удовольствие

Никто не спорит с этим, только такого мало. С++ вообще мало, а такого и того меньше.

CC>Да вот как то нет.

CC>Пишется продукт, у продукта есть требования, в том числе по платформе. Просто так на многоплатформу писать — пустая трата Вилли стоя в гамаке на лыжах.
Ты мешаешь в кучу две разные проблемы: поддержка целевых платформ и поддержка платформ для разработки. Про первое без необходимости речь никто не ведет обычно. А второе в ЦПП мире есть из коробки если не завязываться на продукты МС.

S>>Тут разговор про то, что более стандартно (распространенно).

CC>Unknown definition
Ок.
Re[4]: kotlin всЁ?
От: Poopy Joe Бельгия  
Дата: 09.04.21 17:43
Оценка: +2
Здравствуйте, Artifact, Вы писали:

A>А почему ты так уверен, что нет?

Я уверен? Я спрашиваю. Где-то же этот идеальный программист должен существовать...

PJ>>Совершенно правильный вывод. Вывод, что во всем виноваты люди совершенно бесполезный. Так можно было и дальше ассемблера не ходить.

A>Все ошибки с памятью, которые можно допустить в C++, давно известны. Неужели так трудно научить своих сотрудников их не делать? Да, лучше, если компилятор будет бить по рукам, если делаешь, что-то нетак. Но в приведённой статье есть более интересный момент
Да чо уж там, вообще все ошибки давно известны. Надо только писать без них.

A>Иными словами гугл подтверждает, что в их коде чёрт ногу сломит.

Эх, жалко, что нельзя взглянуть на твой совершенный код.

A>Насколько мне известно, чтобы из сложного кода сделать код проще, требуется приложить определённые умственные усилия, а не просто поменять язык программирования.

Это если умственные усилия больше направить некуда. Так случается, что некоторые, еще не познавшие дзен, или которых он уже задолбал, желают не с языком бороться, решая задачи за компилятор, а наоборот — что бы компилятор им помогал.

A>Прежде чем начать читать статью, я пробежал глазами по коду. Первое за что я зацепился было это

Т.е. за какую-то левую фигню, возможно совершенно безопасную, а не за реальный баг, где опытному программисту зацепиться не за что было, там кастов нет...
Re[17]: kotlin всЁ?
От: CreatorCray  
Дата: 09.04.21 19:12
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>Чтобы не делать несколько конфигураций.

Какие конфигурации тут имеются в виду?

N> Кажется, что затачиваться под одну платформу чуть ли не сложнее, чем под несколько.

Отнюдь.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[17]: kotlin всЁ?
От: CreatorCray  
Дата: 09.04.21 19:12
Оценка: +1 :)
Здравствуйте, Skorodum, Вы писали:

CC>>А нахрена?

S>А почему нет?
Потому что KISS. Если нет в том реальной необходимости — нехрен париться.

S>Причин и плюсов много, начиная от требований к продукту

Что это за требования к продукту которые хотят чтоб его код можно было писать на зоопарке платформ и тулов?

S> (т.к. нет ограничений по IDE и ОС для разработки, что для многих плюсовиков критично и ты сам отлично демонстрируешь).

Сколько я раз видел случаев когда позволяли писать в чём хочется столько раз что проект что код превращался в говно.
Так что тут категорическое нет и диктатура с расстрелами. Есть единый dev environment, все пишут в нём.

S> А второе в ЦПП мире есть из коробки если не завязываться на продукты МС.

Если не завязываться на нормальные IDE ты хотел сказать. Не, ну можно врукопашную всё фигачить, и считать что этот аскетизм — норма.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[15]: kotlin всЁ?
От: CreatorCray  
Дата: 09.04.21 19:12
Оценка: :)
Здравствуйте, Skorodum, Вы писали:

CC>>Нафига?

S>Потому что оно во всём лучше чем решение от МС
А именно?

CC>>А нахрена все эти навороты в зоопарке? KISS никто не отменял.

S>Потому что твое решение остается простым в очень ограниченном мире: одна платформа, один компилятор, одна IDE и никаких хитрых шагов при сборке.
К этому следует стремиться.

S> Любой мало-мальский шаг в сторону из этого уютного мирка заканчивается костылями в виде скриптов разной степени кривости.

Или расстрелами тех, кто полез лепить что то странное.

CC>>В новой студии стало хуже, в старой прекрасно было видно что поменялось, просто потому что XML там был человекочитаемый.

S>"человекочитаемый XML" это какой-то оксюморон. Прочитать-то можно, но нафиг не нужно.
Нужно для того, чтобы понять по diff что поменялось. Именно для человека текстовые форматы и придумываются.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[13]: kotlin всЁ?
От: CreatorCray  
Дата: 09.04.21 19:12
Оценка: +2 :)
Здравствуйте, Skorodum, Вы писали:

CC>>Собрать то можно чем угодно

S>Чем можно собрать студийный солюшн кроме студии и msbuild?
Начнём с простого вопроса: зачем?

CC>>а вот разработка в IDE на порядки удобнее.

S>Вот. Только IDE разные. У нас разработчики пользуются всеми основными: студией, Vim, CLion, QCreator, на всех трех платформах. И 5-6 разными компиляторами.
Бардак!
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[4]: kotlin всЁ?
От: CreatorCray  
Дата: 09.04.21 19:12
Оценка: +3
Здравствуйте, Artifact, Вы писали:

A>Что возвращает mDataSource->readAt ? Это int?

Уже признак говнокода кстати.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[5]: kotlin всЁ?
От: Artifact  
Дата: 10.04.21 00:54
Оценка: +2
Здравствуйте, Poopy Joe, Вы писали:

Послушай, мне твой сарказм совсем неинтересен. Всё что я хочу, чтобы вещи называли своими именами. Последний раз я тут попытаюсь донести свою мысль. Если ваш код представляет из себя ребус, это ваша вина, а не языка программирования, на котором этот код написан. Люди, которые написали запутанный код на языке А, напишут такой же запутанный код и на языке В. Я считаю, что более правильным путём является повышение профессионального уровня разработчиков.
__________________________________
Не ври себе.
Отредактировано 10.04.2021 0:55 Artifact . Предыдущая версия .
Re[6]: kotlin всЁ?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 10.04.21 01:08
Оценка: 4 (2) +2
Здравствуйте, Artifact, Вы писали:

A>Послушай, мне твой сарказм совсем неинтересен. Всё что я хочу, чтобы вещи называли своими именами. Последний раз я тут попытаюсь донести свою мысль. Если ваш код представляет из себя ребус, это ваша вина, а не языка программирования, на котором этот код написан. Люди, которые написали запутанный код на языке А, напишут такой же запутанный код и на языке В. Я считаю, что более правильным путём является повышение профессионального уровня разработчиков.


О, я тоже так всегда считал до тех пор, пока не поработал в одной замечательной американской компании. Вот представь себе, есть команда, которая пишет на плюсах как в старые добрые времена 98 стандарта. К тестам относится приблизительно так же. Учиться не хочет, а уволить по причине "люди-то хорошие" нельзя. Команда, конечно, не вся такая, но изрядная её часть, причём самый активный чувак, взявший на себя роль архитектора, главный говнокодер. И всё было плохо до тех пор, пока не появился в команде один умный человек (этот человек не я, к сожалению) и не сказал "нахер плюсы, пишем на Го". И тут случилась ну просто магия! Язык на столько простой и позволяющий невероятно легко принудить к следованию тем не многим правилам что в нем есть, что команда даже начала писать нормальный код. Ну да, под присмотром, но теперь то почти основная часть этого присмотра автоматизировалась.

Так что, инструмент решает и те же люди что говнокодят на плюсах вполне могут выдать нормальный код на Го. Про Раст не уверен, очень уж сложный язык, тот же уровень сложности что и плюсы. Но так как контроль за соблюдением правил владения из коробки, может тоже хорошая опция. В особо сложных ситуациях, когда у команды руки явно из жопы растут, а машинный код без GC нужен, я бы рискнул, хуже не будет точно.
Re[18]: kotlin всЁ?
От: Cyberax Марс  
Дата: 10.04.21 06:22
Оценка: +2 :)
Здравствуйте, CreatorCray, Вы писали:

CC>Так что тут категорическое нет и диктатура с расстрелами. Есть единый dev environment, все пишут в нём.

Ein Volk, Ein Reich, Ein Führer.

В нормальных компаниях пофиг на чём разработчики пишут. Я уж не говорю о том, что для той же iOS приходится использовать вообще отдельное уродство для сборки.

S>> А второе в ЦПП мире есть из коробки если не завязываться на продукты МС.

CC>Если не завязываться на нормальные IDE ты хотел сказать.
А где у MS нормальные IDE? Единственная нормальная IDE для С++ — это CLion.
Sapienti sat!
Re[6]: kotlin всЁ?
От: Poopy Joe Бельгия  
Дата: 10.04.21 07:08
Оценка:
Здравствуйте, Artifact, Вы писали:

A>Здравствуйте, Poopy Joe, Вы писали:


A>Послушай, мне твой сарказм совсем неинтересен. Всё что я хочу, чтобы вещи называли своими именами.

О, не сомневаюсь. "Назвать" вещи своими именами любят многие. Но, как правило, они же, очень не любят выслушивать выслушивать подобное о себе.

A>Последний раз я тут попытаюсь донести свою мысль. Если ваш код представляет из себя ребус, это ваша вина, а не языка программирования, на котором этот код написан. Люди, которые написали запутанный код на языке А, напишут такой же запутанный код и на языке В. Я считаю, что более правильным путём является повышение профессионального уровня разработчиков.

Тебе надо перейти на брейнфак, ну чисто в целях повышения квалификации!
Re[19]: kotlin всЁ?
От: CreatorCray  
Дата: 10.04.21 07:24
Оценка: 3 (1) +1 -1 :)
Здравствуйте, Cyberax, Вы писали:

CC>>Так что тут категорическое нет и диктатура с расстрелами. Есть единый dev environment, все пишут в нём.

C>Ein Volk, Ein Reich, Ein Fuhrer.
Я смотрю Ватсон без зигования уже не может

C>В нормальных компаниях пофиг на чём разработчики пишут.

Это выражается в том, что ты можешь для себя лично заколхозить что угодно но всё равно всё должно работать через официальный путь. Как ты будешь это обеспечивать — твои проблемы, но компания не будет устраивать для тебя зоопарк.

C> Я уж не говорю о том, что для той же iOS приходится использовать вообще отдельное уродство для сборки.

Собираю что iOS что все остальные таргеты в одном и том же XCode

CC>>Если не завязываться на нормальные IDE ты хотел сказать.

C>А где у MS нормальные IDE?
Вижуалка, старая есессна.

C> Единственная нормальная IDE для С++ — это CLion.

... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[20]: kotlin всЁ?
От: Cyberax Марс  
Дата: 10.04.21 20:29
Оценка: +4 -1 :))
Здравствуйте, CreatorCray, Вы писали:

C>>В нормальных компаниях пофиг на чём разработчики пишут.

CC>Это выражается в том, что ты можешь для себя лично заколхозить что угодно но всё равно всё должно работать через официальный путь. Как ты будешь это обеспечивать — твои проблемы, но компания не будет устраивать для тебя зоопарк.
Нет. В нормальных компаниях официальный путь — это pull-requests в Github/Gitlab/whatever. Которые затем строятся через CI и тестируются. Сам CI может достаточно сильно отличаться от окружения разработчика.

А как конкретно формируются PR — это никого особо не интересует. Пусть хоть через модем насвистываются голосом.

C>> Я уж не говорю о том, что для той же iOS приходится использовать вообще отдельное уродство для сборки.

CC>Собираю что iOS что все остальные таргеты в одном и том же XCode
А, понятно. Xcode съел моск. Я знаю человека, который в XCode умудрялся собирать для Андроида кросс-билд, но это уже из области глубоких извращений.

CC>>>Если не завязываться на нормальные IDE ты хотел сказать.

C>>А где у MS нормальные IDE?
CC>Вижуалка, старая есессна.
Нет там ничего особо нормального для современных IDE. Кстати, а как на ней для iOS писать?
Sapienti sat!
Re[21]: kotlin всЁ?
От: CreatorCray  
Дата: 10.04.21 22:06
Оценка: 3 (1) +1
Здравствуйте, Cyberax, Вы писали:

C>А, понятно. Xcode съел моск.

Ты неотвратимо превращаешься в Артёмку — тот тоже фантазирует с разбросом в пару сотен миль от цели.
Сколько я уже раз тут писал что XCode говно и отстаёт даже от вижуалки 10летней давности, ан нет, чукча не читатель.

C>Нет там ничего особо нормального для современных IDE. Кстати, а как на ней для iOS писать?

А зачем на ней под iOS писать? Я на ней под винду пишу.
Гвозди забиваю молотком, шурупы закручиваю отвёрткой, сверлю сверлом, пилю пилой и в целом использую инструмент наиболее подходящий под задачу.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Отредактировано 12.04.2021 20:49 CreatorCray . Предыдущая версия .
Re[22]: kotlin всЁ?
От: Cyberax Марс  
Дата: 11.04.21 07:00
Оценка: +1 -1 :)
Здравствуйте, CreatorCray, Вы писали:

C>>А, понятно. Xcode съел моск.

CC> Ты неотвратимо превращаешься в Артёмку — тот тоже фантазирует с разбросом в пару сотню миль от цели.
CC>Сколько я уже раз тут писал что XCode говно и отстаёт даже от вижуалки 10летней давности, ан нет, чукча не читатель.
Ну так сам противоречишь себе. MSVS не работает на macOS и непригодна для iOS-проектов. Т.е. она невозможна в качестве Ein IDE. А в XCode нельзя писать код для Андроида.

Так что нужно мимнимум два окружения.
Sapienti sat!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.