Re[2]: как определить используемый код
От: sergey2b ЮАР  
Дата: 17.04.20 06:26
Оценка:
Здравствуйте, rg45, Вы писали:


R>Я позволю себе слегка отклониться от прямого ответа на прямой вопрос. Нужно иметь в виду, что тот факт, что какой-либо библиотечный код не используется в каком-либо конкретном приложении, не обязательно означает, что данный код бесполезен. Ведь такова природа бибилиотек — служить хранилищем всякой всячины, более или мене полезной, которая когда-нибудь где-нибудь может пригодиться. Линкер сам разберется, что нужно взять из библиотеки для того или иного приложения. Если библиотека нормально структурирована (разбита на объектные модули), то никаких проблем с избыточным размером бинарей не возникает, как правило.



проблемма не в размере
а в том что я портирую приложение с win на linux
и уже понятно что если я буду портировать все в сроки я не уложусь
Re[3]: как определить используемый код
От: rg45 СССР  
Дата: 17.04.20 06:30
Оценка:
Здравствуйте, sergey2b, Вы писали:

S>проблемма не в размере

S>а в том что я портирую приложение с win на linux
S>и уже понятно что если я буду портировать все в сроки я не уложусь

Да, я понял задачу. Просто наскольно это будет правильно — сделать фильтрацию библиотечного кода на основании лишь использования/неиспользования в одном отдельно взятом приложении? Это набор библиотек создавался только для этого приложения?
--
Не можешь достичь желаемого — пожелай достигнутого.
Re[4]: как определить используемый код
От: sergey2b ЮАР  
Дата: 17.04.20 06:33
Оценка:
Здравствуйте, rg45, Вы писали:

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


S>>проблемма не в размере

S>>а в том что я портирую приложение с win на linux
S>>и уже понятно что если я буду портировать все в сроки я не уложусь

R>Да, я понял задачу. Просто наскольно это будет правильно — сделать фильтрацию библиотечного кода на основании лишь использования/неиспользования в одном отдельно взятом приложении? Это набор библиотек создавался только для этого приложения?



нет 10+ приложений которые мне же придеться портировать
я понимаю вы правы, но реальная жизнь не идеальна

я и так завяз с переписыванием некоторых функций которые писались в расете на винду
Re[6]: как определить используемый код
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 17.04.20 08:45
Оценка: 4 (1)
Здравствуйте, rg45, Вы писали:

R>А тут невольно вспоминается другой афоризм — про бабушку и бороду.


Ну давайте так: подпишетесь под утверждением, будто любой писатель, востребованный не самой маргинальной частью населения, способен быстро и грамотно анализировать чужие литературные произведения, независимо от их стиля и объема? То есть, сможет, бегло пробежавшись по тексту, выписать характеры персонажей, отметить возможные противоречия, нарисовать граф сюжетных линий, опять же выделив возможные нестыковки, очертить блоки повествования, классифицировать произведение по стилям и т.п.

Ну и до кучи: сможет ли любой успешный террорист без дополнительной подготовки столь же хорошо выполнять контртеррористическую работу?
Re[7]: как определить используемый код
От: rg45 СССР  
Дата: 17.04.20 09:15
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Ну давайте так: подпишетесь под утверждением, будто любой писатель, востребованный не самой маргинальной частью населения, способен быстро и грамотно анализировать чужие литературные произведения, независимо от их стиля и объема?


А зачем мне подписываться под твоими фантазиями? В метафоре про чукчу речь идет об умении читать и только. На то она и метафора.
--
Не можешь достичь желаемого — пожелай достигнутого.
Отредактировано 17.04.2020 9:15 rg45 . Предыдущая версия .
Re[8]: как определить используемый код
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 17.04.20 09:18
Оценка:
Здравствуйте, rg45, Вы писали:

R>В метафоре про чукчу речь идет об умении читать и только. На то она и метафора.


Тогда и не стоило ее развивать с двусмысленными намеками.
Re[9]: как определить используемый код
От: rg45 СССР  
Дата: 17.04.20 09:22
Оценка: +4
Здравствуйте, Евгений Музыченко, Вы писали:


R>>В метафоре про чукчу речь идет об умении читать и только. На то она и метафора.


ЕМ>Тогда и не стоило ее развивать с двусмысленными намеками.


Это почему? По моему скромному мнению, программист, не умеющий анализировать чужой код, очень похож на чукчу из известного анектода. Я же могу выразить свое мнение?
--
Не можешь достичь желаемого — пожелай достигнутого.
Отредактировано 20.04.2020 6:36 rg45 . Предыдущая версия . Еще …
Отредактировано 17.04.2020 9:23 rg45 . Предыдущая версия .
Re[7]: как определить используемый код
От: reversecode google
Дата: 17.04.20 09:31
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Здравствуйте, rg45, Вы писали:


R>>А тут невольно вспоминается другой афоризм — про бабушку и бороду.


ЕМ>Ну давайте так: подпишетесь под утверждением, будто любой писатель, востребованный не самой маргинальной частью населения, способен быстро и грамотно анализировать чужие литературные произведения, независимо от их стиля и объема? То есть, сможет, бегло пробежавшись по тексту, выписать характеры персонажей, отметить возможные противоречия, нарисовать граф сюжетных линий, опять же выделив возможные нестыковки, очертить блоки повествования, классифицировать произведение по стилям и т.п.


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


ЕМ>Ну и до кучи: сможет ли любой успешный террорист без дополнительной подготовки столь же хорошо выполнять контртеррористическую работу?


у вас есть террорестический опыт ?

уверен что тоже нет
а то что делаете вы это уводите тему в сторону да еще и не удачными примерами

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

ну и как вы говорите до кучи
git ls-files | xargs cat | wc -l
что бы каждый смог оценить свои и другие проекты что бы иметь представление сколько же это 100kloc
Re[10]: как определить используемый код
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 17.04.20 09:56
Оценка:
Здравствуйте, rg45, Вы писали:

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


Совсем не умеющий — похож. Так или иначе анализировать способен любой программист. Однако, делать это на уровне "как дышать" (ну, или как читать запоем тот же роман) — далеко не каждый. Для этого нужно иметь определенным образом устроенный мозг, а не только знания и опыт.
Re[8]: как определить используемый код
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 17.04.20 10:08
Оценка: +1
Здравствуйте, reversecode, Вы писали:

R>у вас есть в друзьях такие проф писатели ?


Прямо, чтоб в друзьях — нет, но общаться приходилось. Равно как и со множеством разного рода людей, занимающихся как синтезом, так и анализом. Совершенно очевидно, что эти способности не являются двунаправленными, симметричными. У наиболее успешных они и перекрываются наиболее полно, однако далеко не все, кто способен интересно и увлекательно хоть писать, хоть рассказывать, имеют сколько-нибудь выдающиеся способности к анализу.

R>у вас есть террорестический опыт ?


Чтобы понимать основы, не нужно личного опыта. Вы никогда не задумывались о том, почему в армии тех, кто способен установить и замаскировать мину, минимум на порядок больше, чем тех, кто способен ее найти и обезвредить?

R>а то что делаете вы это уводите тему в сторону да еще и не удачными примерами


Так давайте же удачных примеров. Или, по-Вашему, программирование — совершенно уникальная сфера деятельности, не имеющая себе аналогов?

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


Я уже рассказал, что умение "сочинять вообще" не предполагает равного ему умения "разбираться вообще". В этих занятиях задействованы разные свойства мозга. У кого-то мозги "симметричные", и они одинаково легко как сочиняют, так и разбираются, а у кого-то эти свойства сдвинуты в одну сторону, причем достаточно сильно.
Re[2]: как определить используемый код
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 17.04.20 10:16
Оценка: :)
Здравствуйте, IID, Вы писали:

S>>есть ли какая либо возможность определить какой код реально используеться в приложении


IID>Возьми код, который ТОЧНО используется (main и далее). И подключай сорцы по сообщениям линкера. Если совсем перфекционист — в подключенном сорце комментируй всё, кроме нужной функции. А потом раскомментируй по мере продвижения.


За пару лет управится
Маньяк Робокряк колесит по городу
Re[11]: как определить используемый код
От: rg45 СССР  
Дата: 17.04.20 13:56
Оценка: :)
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Совсем не умеющий — похож. Так или иначе анализировать способен любой программист. Однако, делать это на уровне "как дышать" (ну, или как читать запоем тот же роман) — далеко не каждый. Для этого нужно иметь определенным образом устроенный мозг, а не только знания и опыт.


Моя младшенькая бьет меня иногда моим же оружием: "Папа, помоги — вот в этом месте какая-то фигня". Смотрю код, а там — ни в сказке сказать, ни пером описать. Смотрю, смотрю... В конце концов не выдерживаю: "а ты что сделать хотела, вообще?" Так она мне в ответ: "учись читать чужой код!"
--
Не можешь достичь желаемого — пожелай достигнутого.
Отредактировано 17.04.2020 14:11 rg45 . Предыдущая версия . Еще …
Отредактировано 17.04.2020 14:02 rg45 . Предыдущая версия .
Отредактировано 17.04.2020 14:01 rg45 . Предыдущая версия .
Re[3]: как определить используемый код
От: Bill Baklushi СССР  
Дата: 17.04.20 15:01
Оценка: +1 -1
Евгений Музыченко:

ЕМ>Для программиста, независимо от стажа, способность анализировать чужой код, за пределами самого общего понимания, вообще не является профессиональной необходимостью. Профессиональная функция программиста — создавать код, а не "разматывать" его.


Неумение читать код, это профнепригодность. Дали тебе задачу передвинуть кнопку на форме, и ты сядешь всё с нуля переписывать?
Модератор-националист Kerk преследует оппонентов по политическим мотивам.
Re[4]: как определить используемый код
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 17.04.20 16:23
Оценка: -1
Здравствуйте, Bill Baklushi, Вы писали:

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


BB>Неумение читать код, это профнепригодность.


А неумение понять разницу между "читать" и "анализировать за пределами самого общего понимания" — это глупость?
Re[3]: как определить используемый код
От: rg45 СССР  
Дата: 17.04.20 17:25
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Для программиста, независимо от стажа, способность анализировать чужой код, за пределами самого общего понимания, вообще не является профессиональной необходимостью. Профессиональная функция программиста — создавать код, а не "разматывать" его. То есть, если программист способен создать код в рамках заданных условий (задача, время, стоимость, надежность и т.п.) — он однозначно полностью профпригоден. Умение копаться в чужом коде и переделывать его — сугубо дополнительные способности.


А поддержка программного продукта это чья функция — не программиста? Кто должен разгребать баги с продакшена?
--
Не можешь достичь желаемого — пожелай достигнутого.
Отредактировано 17.04.2020 17:26 rg45 . Предыдущая версия .
Re[3]: как определить используемый код
От: IID Россия  
Дата: 17.04.20 17:40
Оценка: 1 (1)
Здравствуйте, Marty, Вы писали:

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


S>>>есть ли какая либо возможность определить какой код реально используеться в приложении


IID>>Возьми код, который ТОЧНО используется (main и далее). И подключай сорцы по сообщениям линкера. Если совсем перфекционист — в подключенном сорце комментируй всё, кроме нужной функции. А потом раскомментируй по мере продвижения.


M>За пару лет управится


Отставить панику.
Лично портировал 5,8мб исходников (плюс либы типа OpenSSL, Jpeg и т.д.) с Lin на Win. Точнее добавлял ещё одну платформу для запуска.
ХЗ сколько там строк. Наверное раза в 2 побольше чем 100к.
Приложение под Linux Box, с кучей UI на OpenGL.
Очень повезло что:
— приложение уже содержало 2 платформы: Desktop и Embedded Linux. И было поделено на слои. Для GL/GLES сущностей существовали обёртки. Пришлось только часть Posix вызовов проэмулировать с помощью Win32, причём для некритических я сильно не заморачивался.
— в консоль Win10 завезли флаг поддержки Escape последовательностей VT100 — логи в терминале раскрасились сами собой. А логирования там просто дохрена.

Справился где-то за неделю. Получил возможность собирать, запускать и отлаживать прямо из студии.
kalsarikännit
Re[4]: как определить используемый код
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 17.04.20 18:07
Оценка:
Здравствуйте, IID, Вы писали:


M>>За пару лет управится


IID>Отставить панику.





IID>Лично портировал 5,8мб исходников (плюс либы типа OpenSSL, Jpeg и т.д.) с Lin на Win. Точнее добавлял ещё одну платформу для запуска.

IID>ХЗ сколько там строк. Наверное раза в 2 побольше чем 100к.
IID>Приложение под Linux Box, с кучей UI на OpenGL.

Уже под Linux — +1

IID>Очень повезло что:


Да, повезло

IID>- приложение уже содержало 2 платформы: Desktop и Embedded Linux. И было поделено на слои. Для GL/GLES сущностей существовали обёртки. Пришлось только часть Posix вызовов проэмулировать с помощью Win32, причём для некритических я сильно не заморачивался.


Вооот, уже 1) платформозависимый код выделили в отдельные подсистемы до тебя; 2) Posix прост как валенок по сравнению с богатством виндовых API => порт Posix->Win32 на порядок проще, чем порт Win32->Posix


IID>- в консоль Win10 завезли флаг поддержки Escape последовательностей VT100 — логи в терминале раскрасились сами собой. А логирования там просто дохрена.


О, а это интересно. Я себе делал вывод сообщений в консоль, для вывода в виндовую консоль использовал виндовые функции работы с цветами консоли, а для MinGW-шного баша использовал Escape последовательности.
Хотя у меня под любой виндой работает, но пришлось поискать, из под какого процесса меня запускали.

А десяточная консоль вообще без приседаний понимает escape'ы?
Кстати, раз зашла речь про Escape последовательности — может в курсе, как там в линупсе, при перенаправлении в файл кто их стрипает? Я сделал проверкой, является ли консольный хэндл файловым, или как-то так, и в зависимости от этого раскрашиваю или нет. Так себе решение, но работает.
И призовой вопрос — почему под виндой если я в MinGW-баше запускаю гит, то он вывод раскрашивает, а если я из своей проги запускаю гит, и свою прогу запускаю под тем же башем, то вывод выдается унылый одноцветный?

IID>Справился где-то за неделю. Получил возможность собирать, запускать и отлаживать прямо из студии.


Обратная задача посложнее, на мой взгляд. Конечно, зависит от сложности системы в целом и от того, насколько Win API использовано по полной, но имхо раз в несколько будет посложнее
Маньяк Робокряк колесит по городу
Re[8]: как определить используемый код
От: sergey2b ЮАР  
Дата: 17.04.20 18:09
Оценка:
Здравствуйте, reversecode, Вы писали:

R>ну и как вы говорите до кучи

R>git ls-files | xargs cat | wc -l
R>что бы каждый смог оценить свои и другие проекты что бы иметь представление сколько же это 100kloc

я некогда не задумывался сколько там кода на самом деле, тк код на stl портируеться легко
порция на эту неделю которую я еще не завершил 2319182 строк (сколько то можно вычисть make files)
Re[12]: как определить используемый код
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 17.04.20 18:09
Оценка: :)
Здравствуйте, rg45, Вы писали:

R>Моя младшенькая бьет меня иногда моим же оружием: "Папа, помоги — вот в этом месте какая-то фигня". Смотрю код, а там — ни в сказке сказать, ни пером описать. Смотрю, смотрю... В конце концов не выдерживаю: "а ты что сделать хотела, вообще?" Так она мне в ответ: "учись читать чужой код!"


Ну, сказал бы: "лапа, этот трэш я просто перепишу заново"
Маньяк Робокряк колесит по городу
Re[4]: как определить используемый код
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 17.04.20 18:14
Оценка:
Здравствуйте, Bill Baklushi, Вы писали:

ЕМ>>Для программиста, независимо от стажа, способность анализировать чужой код, за пределами самого общего понимания, вообще не является профессиональной необходимостью. Профессиональная функция программиста — создавать код, а не "разматывать" его.


BB>Неумение читать код, это профнепригодность. Дали тебе задачу передвинуть кнопку на форме, и ты сядешь всё с нуля переписывать?


Есть код, который проще переписать, чем понять, что он делает. У нас чел уволился из другого отдела, полтора года прошивку писал, под линупсом, в эклипсе. А у нас в отделе все технологии под кейл заточены, и под винду все, включая кучу полезного технологического софта. Это гавно на меня скинули, ну и отправили меня в командировку в Феодосию по этой теме. Так вот я там, сидя в горящем танке и положив ноут на сапоги убитого друга, переписал всё за две недели, прошерстив схемоту и пообщавшись с наладчиками системы
Маньяк Робокряк колесит по городу
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.