Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > каверза


Автор: YahоО 24.4.2021, 14:18
С++ явно типизированный язык что как бы является его особым преимуществом. 
В то же время с этим преимуществом, те кто работает с этим яп, постоянно борются, используют приведение типов, натыкаются на ошибки, иногда могут их обнаружить понять исправить, плюс отладка, в целом волокита та еще, усложняется и код и его восприятие, и что немаловажно время на его разработку.
В языках с неявной типизацией задачу по указанию типов перекладывают на компилятор/интерпретатор, но это уже другие языки и соответственно другое все, и подход и результат.
И собственно сам вопрос. Всякие улучшители и дополнители возможностей С++, может какие то библиотеки, или компиляторы какие особые имеются, чтобы и С++ остался и типов в нем уже не было?

Автор: SVN74 26.4.2021, 23:53
Цитата(YahоО @  24.4.2021,  14:18 Найти цитируемый пост)
чтобы и С++ остался и типов в нем уже не было?

Без строгой типизации С++ теряет всякий смысл, с таким же успехом можно использовать старый добрый Basic   smile

Автор: YahоО 27.4.2021, 14:51
Не совсем точно написал в вопросе - не так чтобы уж совсем оставить С++ без типов )),  пусть себе будут, раз это изюминка С++ и в том его сила,
но можно ли как то обойти эти типы. Т.е. в яп типы конечно же имеются, но пользоваться ними при написании программ и каждый раз их описывать не обязательно, (js: let a="a"+1000+(b-d)+e.l*g[0];function f(a,b,c,d,e){...} )
Достаточно того что компилятор должен быть настолько умный чтобы их различать вполне самостоятельно, так как это есть в других яп, 
и соответственно соображать в помощь программисту, ведь есть же всякие у него приемчики такие как перегрузка, вот и пусть себе перебирает все типы и САМ подставляет те что ему симпатичны smile 
если иное не оговорено в коде специально. Ну должен же он понимать что 1+2 это по идее 3 без всяких пояснений.

Автор: SVN74 29.4.2021, 23:05
Цитата(YahоО @  27.4.2021,  14:51 Найти цитируемый пост)
 (js: let a="a"+1000+(b-d)+e.l*g[0];function f(a,b,c,d,e){...} )

Подобное поведение вполне можно реализовать шаблонами практически на любом яп.
Цитата(YahоО @  27.4.2021,  14:51 Найти цитируемый пост)
Достаточно того что компилятор должен быть настолько умный чтобы их различать вполне самостоятельно, так как это есть в других яп, 

Это вам к Python, Basic...  Но учтите, при таком подходе можете забыть о стабильном коде, даже у же при относительно небольшом объеме кода у вас будет твориться каша как в голове так и в тексте программы, программа будет "крашиться" и обнаружить ошибки будет очень сложно. Поэтому строгая типизация жизненно необходима для четкого понимания всех процессов внутри кода.  
---------------------
Другое дело не использовать яп в которых есть указатели на память,  - это целым мир "крашей"  smile ... Поэтому и придумали Java как альтернативу С++, немногим уступая в скорости, тем самым вы будете защищены от системных "крашей" .
Одним словом Java - это обвертка над C++, - лучшее что было достигнуто в IT за все годы. smile 

Автор: _zorn_ 1.5.2021, 19:45
golang посмотрите. Вроде как типизация есть, но не сильно напрягает, а только "оберегает" и вроде как раз то что вы хотите.

Добавлено через 3 минуты и 35 секунд
Цитата(SVN74 @  30.4.2021,  06:05 Найти цитируемый пост)
Одним словом Java - это обвертка над C++, - лучшее что было достигнуто в IT за все годы. 

NullPointerException вам в зубы  smile 

Автор: YahоО 3.5.2021, 13:41
Неее, кажется я начинаю уже привыкать к типам ))  
Но! как выясняется.... уж слишком много чего нужно изучить, и типы в этом случае отступают на второй план, и их неприятие  притупляется - человек ко всему говорят привыкает ((

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

golang - наверно это хорошо, но распыляться преждевременно, надо еще "подолбить" С + ++ )), и наверно потом, если энтузиазма хватит, то может и Go, чтобы каши не было. Тем более если Вы говорите что С все равно есть основа, а не обвертка.


--------------------
Не всех слушателей пк мне удалось отключить, остался и постоянно присутствует среди статистики активных сетевых подключений со значком ESTABLISHED некоторый ip принадлежащий Microsoft Corporation, а зачем ему меня слушать постоянно, ну послушал бы при включении компа и достаточно, так нет же весь день висит, в любое время, зачем все это? и как его потушить?

Автор: _zorn_ 12.5.2021, 20:34
Цитата(YahоО @  3.5.2021,  20:41 Найти цитируемый пост)
Не всех слушателей пк мне удалось отключить


Просто переходите на линукс smile 
Для виндовых прог есть wine. Для игрух например PortProton или PlayOnLinux.

Там хотя бы можно узнать кто что и зачем слушает ) 
Ну и отрубить если напрягает (в винде тоже можно, но гиморней)

Автор: YahоО 14.5.2021, 17:32
_zorn_, благодарю! По всей видимости мне рановато, и с, и с++, а еще и линукс, многовато для начала, но Вы определенно меня заинтриговали словом "зачем" слушают smile

Автор: _zorn_ 14.5.2021, 20:01
Цитата(YahоО @  15.5.2021,  00:32 Найти цитируемый пост)
словом "зачем" слушают


Исходники открыты же  smile (дичь типа софта с закрытыми исходниками не рассматривается для домашнего компа)
Не переживайте, в них рытся не придется, просто в поисковике более вероятно кто то уже задавался тем же вопросом )
Ну а если приступ паранойи, то почему бы и самому не глянуть ? )

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)