powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
32 сообщений из 32, показаны все 2 страниц
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
    #39576419
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть достаточно крупная библиотека (порядка 300- 500 различных классов), написанная на С#. Я хочу использовать небольшой кусок ее функциональности в своей программе на С++. Поэтому сейчас мне видится такое решение: понять библиотеку и преобразовать нужный мне код в С++.

Первое что я должен сделать- изучить отличия C# от С++. Есть какие- то книжки или видосики от корпорации зла "как С++ программисту перейти на темную сторону к С#"? Должны же они были как-то первых адептов рекрутировать...
...
Рейтинг: 0 / 0
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
    #39576430
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQL,

у вас цель несколько другая, у них все книжки о том как всё будет круто если вы будете использовать наш C#

основные моменты:
мусорят

дофигамусорят, на первых порах пользуйся смартами везде где можешь

бери проект и вырезай пока не останется минимум того что нужно

веди консольное приложение для теста на C# и аналог на C++ что бы можно было отлаживать на однотипных данных

увидишь какие free-lock контейнеры, сразу переводи в блокирующие варианты
...
Рейтинг: 0 / 0
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
    #39576446
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автора я изучал только С++
сумлеваюсь, на троечку сдал максимум.

кроме пары парадигм (ГЦ и юзинг) - переписывается почти в лоб (в эту сторону)
...
Рейтинг: 0 / 0
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
    #39576518
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Из книжек почитай Рихтера " CLR via C# "

При переписывании главная проблема будет в сборке мусора, которой нет в С++. Возможно попадутся какие-нибудь классы .NET, которым нет аналогов в С++.

PS Код на C# можно вызывать из кода на С++.
...
Рейтинг: 0 / 0
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
    #39576545
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Siemarglсумлеваюсь, на троечку сдал максимум.

Cтараюсь :)

Siemarglкроме пары парадигм (ГЦ и юзинг) - переписывается почти в лоб (в эту сторону)

Что значит "в лоб"? Значит мало логических отличий, поэтому одни конструкции просто заменяются на другие?
...
Рейтинг: 0 / 0
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
    #39576576
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima TПри переписывании главная проблема будет в сборке мусора, которой нет в С++. Возможно попадутся какие-нибудь классы .NET, которым нет аналогов в С++.

Никогда не понимал проблем со сборкой мусора: если объекты создавать на том уровне процедурного стека, где они реально нужны, то они автоматически умрут при выходе из функции. Если же у нас объекты создаются где-то ниже по стеку и "выпрыгивают" вверх как черт из табакерки, то это код- лапша: программу невозможно разделить на слои и каждый из них читать отдельно. Другими словами, надо просто соблюдать очевидные паттерны программирования.
...
Рейтинг: 0 / 0
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
    #39576582
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQL,

Объекты не только на стеке размещаются но и в куче.
В c# - все в куче
...
Рейтинг: 0 / 0
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
    #39576605
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ИзопропилAlekseySQL,

Объекты не только на стеке размещаются но и в куче.
В c# - все в куче

А зачем вы их в куче размещаете? Если у вас объекты создаются на том уровне стека, где они реально начинают использоваться, то вниз по стеку они отлично ссылками передаются. Если у вас редкий случай, когда ниже по стеку вы меняете сам объект целиком (а не значения его полей) и поэтому используете указатели, то в этом редком случае можно вызвать delete в конце функции (где этот объект был создан). Но это бывает о-о-очень редко при использовании правильных паттернов программирования.
...
Рейтинг: 0 / 0
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
    #39576616
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На просторах инета нашел забавное видео:
YouTube Video
...
Рейтинг: 0 / 0
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
    #39576619
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQLИзопропилAlekseySQL,

Объекты не только на стеке размещаются но и в куче.
В c# - все в куче

А зачем вы их в куче размещаете? Если у вас объекты создаются на том уровне стека, где они реально начинают использоваться, то вниз по стеку они отлично ссылками передаются. Если у вас редкий случай, когда ниже по стеку вы меняете сам объект целиком (а не значения его полей) и поэтому используете указатели, то в этом редком случае можно вызвать delete в конце функции (где этот объект был создан). Но это бывает о-о-очень редко при использовании правильных паттернов программирования.ага, редко ... - первое же более-менее серьзное ГУИ с кучей объектов или многопоточка покажет вам почём фунт лиха
...
Рейтинг: 0 / 0
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
    #39576635
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kealon(Ruslan)ага, редко ... - первое же более-менее серьзное ГУИ с кучей объектов или многопоточка покажет вам почём фунт лиха

У меня многопоточное приложение с GUI на Qt. Никакого зоопарка указателей не встречал.

Разумеется я их использую (например, написал свой двумерный вектор), но вся работа с указателями идет внутри классов, а основная задача (где разворачивается процедурный стек) использует ссылки. Такой простой паттерн программирования полностью снимает вопросы работы с памятью.
...
Рейтинг: 0 / 0
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
    #39576673
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQLkealon(Ruslan)ага, редко ... - первое же более-менее серьзное ГУИ с кучей объектов или многопоточка покажет вам почём фунт лиха

У меня многопоточное приложение с GUI на Qt. Никакого зоопарка указателей не встречал.

Разумеется я их использую (например, написал свой двумерный вектор), но вся работа с указателями идет внутри классов, а основная задача (где разворачивается процедурный стек) использует ссылки. Такой простой паттерн программирования полностью снимает вопросы работы с памятью.
все верно, но вот в дНЕТе так не всегда работает - после конца функции недетерминировано время зачистки локальных объектов

это советую почитать - про всякие диспозы, юзинги
...
Рейтинг: 0 / 0
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
    #39576674
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQL, ты вроде готовый код портировать собрался. Если так, то какой смысл обсуждать где объекты создавать? Как там написано, с тем и придется разбираться.
...
Рейтинг: 0 / 0
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
    #39576853
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima TAlekseySQL, ты вроде готовый код портировать собрался. Если так, то какой смысл обсуждать где объекты создавать? Как там написано, с тем и придется разбираться.

Голова у меня не только чтобы в нее кушать.

Кстати, нашел интересную статью из Хохляндии с разными рейтингами языков программирования: https://dou.ua/lenta/articles/language-rating-jan-2017/
...
Рейтинг: 0 / 0
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
    #39576890
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQLКстати, нашел интересную статью из Хохляндии с разными рейтингами языков программирования
какое отношение рейтинги имеют к вашей задаче?
...
Рейтинг: 0 / 0
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
    #39576900
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ИзопропилAlekseySQLКстати, нашел интересную статью из Хохляндии с разными рейтингами языков программирования
какое отношение рейтинги имеют к вашей задаче?

Расширяют кругозор, конечно же!
...
Рейтинг: 0 / 0
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
    #39577008
Няшик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вам надо для начало понять суть функционала, и что он делает - изучить его механику, и понять чем дышал автор когда его писал.

О всём остальном, только вы должны позаботиться, та и к тому - же.

Никто не отменял такие такие технологии как DOTNET COM OBJECT ... Это даже в PHP есть, что бы использовать библиотеки NET

http://php.net/manual/ru/class.dotnet.php
...
Рейтинг: 0 / 0
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
    #39577106
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не вижу никакой проблемы разобраться с библиотекой на другом ЯП.
Когда-то давно, когда знал только Delphi (и чуток С) пришлось разбираться с библиотекой на С++. Никаких проблем не возникло.
Если нужно понять готовое , то не вижу причины для сомнений.
...
Рейтинг: 0 / 0
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
    #39577117
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Addxкогда знал только Delphi (и чуток С) пришлось разбираться с библиотекой на С++. Никаких проблем не возникло
Это несколько другое. У c++ кроме синтаксиса и чуть большего (в чем-то - чуть меньшего) кол-ва фич в ООП и еще кое в чём фактически нет принципиальных отличий от дельфи. Ну и объекты можно в стеке, это наверно основное. Если про язык.

А там - только классы, всё - только объекты. Непонятно (как минимум начинающим) когда удаляющиеся (и удаляющиеся ли). Тихий ужас.
...
Рейтинг: 0 / 0
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
    #39577122
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockТихий ужас.
не вижу проблем если хотя бы минимально понимать работу мусоросборщика
...
Рейтинг: 0 / 0
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
    #39577126
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилне вижу проблем если хотя бы минимально понимать работу мусоросборщика
Начинать программировать на C# - да. Проблем нет. А вот переводить код на C# на язык с ручным управлением памятью - это и программисту, имеющему опыт работы и с C# и с C++, напряжно будет. Тупо очень много внимания потребуется. А если что-то из этого в глаза не видел - то еще труднее.
...
Рейтинг: 0 / 0
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
    #39577129
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно прокладку на управляемом c++ написать или целиком библиотеку на управляемый с++ перенести,

но беда та же - понимать что делаешь нужно
...
Рейтинг: 0 / 0
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
    #39577148
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>AlekseySQL, вчера, 22:35 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1281168&msg=21064896][21064896]
>...Первое что я должен сделать- изучить отличия C# от С++.
Посмотри здесь (внизу ещё статья) и в дальнейшем здесь
...
Рейтинг: 0 / 0
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
    #39577183
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQLDima TAlekseySQL, ты вроде готовый код портировать собрался. Если так, то какой смысл обсуждать где объекты создавать? Как там написано, с тем и придется разбираться.

Голова у меня не только чтобы в нее кушать.

Кстати, нашел интересную статью из Хохляндии с разными рейтингами языков программирования: https://dou.ua/lenta/articles/language-rating-jan-2017/
зачем читать надписи на заборах, рейтинг лучше смотреть используя TIOBE, а отдельно взятая страна не самый хороший показатель

AlekseySQL Есть достаточно крупная библиотека (порядка 300- 500 различных классов), написанная на С#. Я хочу использовать небольшой кусок ее функциональности в своей программе на С++. Поэтому сейчас мне видится такое решение: понять библиотеку и преобразовать нужный мне код в С++.

Скорее всего, это не самое хорошее решение, поскольку высока вероятность того, что потери по времени будут значительно выше ожидаемого результата. Лучше поймите её и напишите заново. Кстати, почему вы не хотите дописать API к библиотеке на C# ? Вам нужен слишком малый кусок или она работает не так быстро, как вы бы хотели?
...
Рейтинг: 0 / 0
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
    #39577261
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
просто оставлю это здесь
MSCOREE.DLL
https://msdn.microsoft.com/en-us/library/9x0wh2z3.aspx
...
Рейтинг: 0 / 0
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
    #39577304
trdm_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
Такая же проблема.
Есть пару плагинов к Notepad++ написанных на шарпе. Хотелось бы переписать и дописать
...
Рейтинг: 0 / 0
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
    #39577318
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
trdm_автор Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
Такая же проблема.
Есть пару плагинов к Notepad++ написанных на шарпе. Хотелось бы переписать и дописать
А кто препятствует?
...
Рейтинг: 0 / 0
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
    #39577599
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВМоисеевПосмотри здесь (внизу ещё статья) и в дальнейшем здесь

Спасибо! То, что доктор прописал!
Я, кстати, остановился на карманном справочнике С# от O'reilly. Там всего 250 маленьких страниц, так что получается сжатая, и в тоже время полная справка.
...
Рейтинг: 0 / 0
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
    #39577602
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SashaMercuryзачем читать надписи на заборах, рейтинг лучше смотреть используя TIOBE, а отдельно взятая страна не самый хороший показатель


Очень спорный рейтинг. Навскидку несколько факторов, изменяющих реальные данные:
1. Если язык сложный, то в рейтинге он будет завышен.
2. Если язык используют начинающие, то в рейтинге он будет завышен (не все начавшие программировать остаются в этой отрасли).
3. Если язык используют в учебных заведениях, то рейтинг будет завышен.
4. Если язык малоизвестен, то его будут активно изучать и рейтинг будет завышен.
и т.д.

SashaMercuryКстати, почему вы не хотите дописать API к библиотеке на C# ? Вам нужен слишком малый кусок или она работает не так быстро, как вы бы хотели?

Потому что мне нужна маленькая часть библиотеки и не хочется таскать с собой кучу хлама только потому, что не разобрался что нужно, а что нет.
...
Рейтинг: 0 / 0
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
    #39577944
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offtopicAlekseySQLSashaMercuryзачем читать надписи на заборах, рейтинг лучше смотреть используя TIOBE, а отдельно взятая страна не самый хороший показатель


Очень спорный рейтинг. Навскидку несколько факторов, изменяющих реальные данные:
1. Если язык сложный, то в рейтинге он будет завышен
2. Если язык используют начинающие, то в рейтинге он будет завышен (не все начавшие программировать остаются в этой отрасли).
3. Если язык используют в учебных заведениях, то рейтинг будет завышен.
4. Если язык малоизвестен, то его будут активно изучать и рейтинг будет завышен.
и т.д.


1. Вы думаете, что количество запросов типа "Что такое концепты?" в сети выше чем "Как варить рис?" или "Как создать одномерный массив?" ;)
2,3. Эти агументы не доказывают истинность вашего тезиса выше.
4. 18 место TIOBE язык Scratch. Лично у меня нет никакого желания изучать его. Несмотря на то, что мне известно о нем довольно мало.

Ничего спорного, как вы говорите, в нем нет, он такой - какой есть.

https://www.tiobe.com/tiobe-index/programming-languages-definition/ The TIOBE Programming Community index is an indicator of the popularity of programming languages. The index is updated once a month. The ratings are based on the number of skilled engineers world-wide, courses and third party vendors. Popular search engines such as Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube and Baidu are used to calculate the ratings. It is important to note that the TIOBE index is not about the best programming language or the language in which most lines of code have been written.

The index can be used to check whether your programming skills are still up to date or to make a strategic decision about what programming language should be adopted when starting to build a new software system. The definition of the TIOBE index can be found here.


Цитирую статью, ссылку на которую вы указали выше
https://dou.ua/lenta/articles/language-rating-jan-2017/ Самым распространенным языком по-прежнему остается Java (23% рынка), JavaScript вышел на второе место (16%), незначительно опередив C# по популярности. На 4-ом месте, как и прежде, — PHP (13%) с большим отрывом от Python (7%). Программирование на C++ занимает 5% рынка, далее идут Ruby (4.5%), Swift и Objective-C. Замыкает десятку наиболее популярных языков — Scala (1.5 %), опередив C и 1C.

Смущает текст, в котором языки С и 1С перечислены с использованием союза "и". Помню, довольно давно предлагал переименовать Сообщество на С/С++. Был неправ, надо было просить переименовать на С/1С/С++ :D Конечно это шутка, возможно тот рейтинг полезен, тем более, что изначально я не заметил анализ всех собранных данных от пользователей по нему ниже.
...
Рейтинг: 0 / 0
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
    #39577968
AlekseySQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
offtopic
SashaMercuryСмущает текст, в котором языки С и 1С перечислены с использованием союза "и".


А почему в разделе "На каком языке вы пишите для работы сейчас?" они не могут стоять вместе? Первый практически невозможно использовать для написания современного ПО, для второго создана отдельная прослойка фирм- франчайзи, занимающихся внедрением продукта.
...
Рейтинг: 0 / 0
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
    #39578088
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlekseySQLЕсть быстрый способ врубиться?Нету. Я тут пару месяцев работал на шарпе, правда в Xamarin, но не сильно меняет суть. Многие вещи надо просто изучать. Не получится так что, сделать быстро шаблон приложения в визарде, а потом (умея работать с С++) заполнить его по надобности. Шарперы отталкивались от Java, но потом накрутили много своего, что сильно отличает шарп даже от явы, молчу уже про плюсы. Тем не менее, человек, пишущий на плюсах, всегда сможет разобраться и вникнуть за разумное время.
...
Рейтинг: 0 / 0
32 сообщений из 32, показаны все 2 страниц
Форумы / C++ [игнор отключен] [закрыт для гостей] / Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]