Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
|
|||
|---|---|---|---|
|
#18+
Есть достаточно крупная библиотека (порядка 300- 500 различных классов), написанная на С#. Я хочу использовать небольшой кусок ее функциональности в своей программе на С++. Поэтому сейчас мне видится такое решение: понять библиотеку и преобразовать нужный мне код в С++. Первое что я должен сделать- изучить отличия C# от С++. Есть какие- то книжки или видосики от корпорации зла "как С++ программисту перейти на темную сторону к С#"? Должны же они были как-то первых адептов рекрутировать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2017, 22:35 |
|
||
|
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
|
|||
|---|---|---|---|
|
#18+
AlekseySQL, у вас цель несколько другая, у них все книжки о том как всё будет круто если вы будете использовать наш C# основные моменты: мусорят дофигамусорят, на первых порах пользуйся смартами везде где можешь бери проект и вырезай пока не останется минимум того что нужно веди консольное приложение для теста на C# и аналог на C++ что бы можно было отлаживать на однотипных данных увидишь какие free-lock контейнеры, сразу переводи в блокирующие варианты ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2017, 22:53 |
|
||
|
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
|
|||
|---|---|---|---|
|
#18+
автора я изучал только С++ сумлеваюсь, на троечку сдал максимум. кроме пары парадигм (ГЦ и юзинг) - переписывается почти в лоб (в эту сторону) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2017, 23:25 |
|
||
|
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
|
|||
|---|---|---|---|
|
#18+
Из книжек почитай Рихтера " CLR via C# " При переписывании главная проблема будет в сборке мусора, которой нет в С++. Возможно попадутся какие-нибудь классы .NET, которым нет аналогов в С++. PS Код на C# можно вызывать из кода на С++. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 08:46 |
|
||
|
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
|
|||
|---|---|---|---|
|
#18+
Siemarglсумлеваюсь, на троечку сдал максимум. Cтараюсь :) Siemarglкроме пары парадигм (ГЦ и юзинг) - переписывается почти в лоб (в эту сторону) Что значит "в лоб"? Значит мало логических отличий, поэтому одни конструкции просто заменяются на другие? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 09:35 |
|
||
|
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
|
|||
|---|---|---|---|
|
#18+
Dima TПри переписывании главная проблема будет в сборке мусора, которой нет в С++. Возможно попадутся какие-нибудь классы .NET, которым нет аналогов в С++. Никогда не понимал проблем со сборкой мусора: если объекты создавать на том уровне процедурного стека, где они реально нужны, то они автоматически умрут при выходе из функции. Если же у нас объекты создаются где-то ниже по стеку и "выпрыгивают" вверх как черт из табакерки, то это код- лапша: программу невозможно разделить на слои и каждый из них читать отдельно. Другими словами, надо просто соблюдать очевидные паттерны программирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 10:13 |
|
||
|
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
|
|||
|---|---|---|---|
|
#18+
AlekseySQL, Объекты не только на стеке размещаются но и в куче. В c# - все в куче ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 10:20 |
|
||
|
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
|
|||
|---|---|---|---|
|
#18+
ИзопропилAlekseySQL, Объекты не только на стеке размещаются но и в куче. В c# - все в куче А зачем вы их в куче размещаете? Если у вас объекты создаются на том уровне стека, где они реально начинают использоваться, то вниз по стеку они отлично ссылками передаются. Если у вас редкий случай, когда ниже по стеку вы меняете сам объект целиком (а не значения его полей) и поэтому используете указатели, то в этом редком случае можно вызвать delete в конце функции (где этот объект был создан). Но это бывает о-о-очень редко при использовании правильных паттернов программирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 10:41 |
|
||
|
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
|
|||
|---|---|---|---|
|
#18+
На просторах инета нашел забавное видео: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 10:52 |
|
||
|
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
|
|||
|---|---|---|---|
|
#18+
AlekseySQLИзопропилAlekseySQL, Объекты не только на стеке размещаются но и в куче. В c# - все в куче А зачем вы их в куче размещаете? Если у вас объекты создаются на том уровне стека, где они реально начинают использоваться, то вниз по стеку они отлично ссылками передаются. Если у вас редкий случай, когда ниже по стеку вы меняете сам объект целиком (а не значения его полей) и поэтому используете указатели, то в этом редком случае можно вызвать delete в конце функции (где этот объект был создан). Но это бывает о-о-очень редко при использовании правильных паттернов программирования.ага, редко ... - первое же более-менее серьзное ГУИ с кучей объектов или многопоточка покажет вам почём фунт лиха ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 10:53 |
|
||
|
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan)ага, редко ... - первое же более-менее серьзное ГУИ с кучей объектов или многопоточка покажет вам почём фунт лиха У меня многопоточное приложение с GUI на Qt. Никакого зоопарка указателей не встречал. Разумеется я их использую (например, написал свой двумерный вектор), но вся работа с указателями идет внутри классов, а основная задача (где разворачивается процедурный стек) использует ссылки. Такой простой паттерн программирования полностью снимает вопросы работы с памятью. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 11:11 |
|
||
|
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
|
|||
|---|---|---|---|
|
#18+
AlekseySQLkealon(Ruslan)ага, редко ... - первое же более-менее серьзное ГУИ с кучей объектов или многопоточка покажет вам почём фунт лиха У меня многопоточное приложение с GUI на Qt. Никакого зоопарка указателей не встречал. Разумеется я их использую (например, написал свой двумерный вектор), но вся работа с указателями идет внутри классов, а основная задача (где разворачивается процедурный стек) использует ссылки. Такой простой паттерн программирования полностью снимает вопросы работы с памятью. все верно, но вот в дНЕТе так не всегда работает - после конца функции недетерминировано время зачистки локальных объектов это советую почитать - про всякие диспозы, юзинги ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 11:42 |
|
||
|
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
|
|||
|---|---|---|---|
|
#18+
AlekseySQL, ты вроде готовый код портировать собрался. Если так, то какой смысл обсуждать где объекты создавать? Как там написано, с тем и придется разбираться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 11:42 |
|
||
|
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
|
|||
|---|---|---|---|
|
#18+
Dima TAlekseySQL, ты вроде готовый код портировать собрался. Если так, то какой смысл обсуждать где объекты создавать? Как там написано, с тем и придется разбираться. Голова у меня не только чтобы в нее кушать. Кстати, нашел интересную статью из Хохляндии с разными рейтингами языков программирования: https://dou.ua/lenta/articles/language-rating-jan-2017/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 14:29 |
|
||
|
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
|
|||
|---|---|---|---|
|
#18+
AlekseySQLКстати, нашел интересную статью из Хохляндии с разными рейтингами языков программирования какое отношение рейтинги имеют к вашей задаче? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 15:06 |
|
||
|
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
|
|||
|---|---|---|---|
|
#18+
ИзопропилAlekseySQLКстати, нашел интересную статью из Хохляндии с разными рейтингами языков программирования какое отношение рейтинги имеют к вашей задаче? Расширяют кругозор, конечно же! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 15:15 |
|
||
|
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
|
|||
|---|---|---|---|
|
#18+
Вам надо для начало понять суть функционала, и что он делает - изучить его механику, и понять чем дышал автор когда его писал. О всём остальном, только вы должны позаботиться, та и к тому - же. Никто не отменял такие такие технологии как DOTNET COM OBJECT ... Это даже в PHP есть, что бы использовать библиотеки NET http://php.net/manual/ru/class.dotnet.php ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 16:54 |
|
||
|
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
|
|||
|---|---|---|---|
|
#18+
Не вижу никакой проблемы разобраться с библиотекой на другом ЯП. Когда-то давно, когда знал только Delphi (и чуток С) пришлось разбираться с библиотекой на С++. Никаких проблем не возникло. Если нужно понять готовое , то не вижу причины для сомнений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 20:01 |
|
||
|
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
|
|||
|---|---|---|---|
|
#18+
Addxкогда знал только Delphi (и чуток С) пришлось разбираться с библиотекой на С++. Никаких проблем не возникло Это несколько другое. У c++ кроме синтаксиса и чуть большего (в чем-то - чуть меньшего) кол-ва фич в ООП и еще кое в чём фактически нет принципиальных отличий от дельфи. Ну и объекты можно в стеке, это наверно основное. Если про язык. А там - только классы, всё - только объекты. Непонятно (как минимум начинающим) когда удаляющиеся (и удаляющиеся ли). Тихий ужас. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 20:43 |
|
||
|
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
|
|||
|---|---|---|---|
|
#18+
YuRockТихий ужас. не вижу проблем если хотя бы минимально понимать работу мусоросборщика ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 20:55 |
|
||
|
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
|
|||
|---|---|---|---|
|
#18+
Изопропилне вижу проблем если хотя бы минимально понимать работу мусоросборщика Начинать программировать на C# - да. Проблем нет. А вот переводить код на C# на язык с ручным управлением памятью - это и программисту, имеющему опыт работы и с C# и с C++, напряжно будет. Тупо очень много внимания потребуется. А если что-то из этого в глаза не видел - то еще труднее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 21:01 |
|
||
|
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
|
|||
|---|---|---|---|
|
#18+
можно прокладку на управляемом c++ написать или целиком библиотеку на управляемый с++ перенести, но беда та же - понимать что делаешь нужно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 21:06 |
|
||
|
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
|
|||
|---|---|---|---|
|
#18+
>AlekseySQL, вчера, 22:35 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1281168&msg=21064896][21064896] >...Первое что я должен сделать- изучить отличия C# от С++. Посмотри здесь (внизу ещё статья) и в дальнейшем здесь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2017, 21:51 |
|
||
|
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
|
|||
|---|---|---|---|
|
#18+
AlekseySQLDima TAlekseySQL, ты вроде готовый код портировать собрался. Если так, то какой смысл обсуждать где объекты создавать? Как там написано, с тем и придется разбираться. Голова у меня не только чтобы в нее кушать. Кстати, нашел интересную статью из Хохляндии с разными рейтингами языков программирования: https://dou.ua/lenta/articles/language-rating-jan-2017/ зачем читать надписи на заборах, рейтинг лучше смотреть используя TIOBE, а отдельно взятая страна не самый хороший показатель AlekseySQL Есть достаточно крупная библиотека (порядка 300- 500 различных классов), написанная на С#. Я хочу использовать небольшой кусок ее функциональности в своей программе на С++. Поэтому сейчас мне видится такое решение: понять библиотеку и преобразовать нужный мне код в С++. Скорее всего, это не самое хорошее решение, поскольку высока вероятность того, что потери по времени будут значительно выше ожидаемого результата. Лучше поймите её и напишите заново. Кстати, почему вы не хотите дописать API к библиотеке на C# ? Вам нужен слишком малый кусок или она работает не так быстро, как вы бы хотели? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2017, 02:09 |
|
||
|
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2017, 09:16 |
|
||
|
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
|
|||
|---|---|---|---|
|
#18+
автор Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться? Такая же проблема. Есть пару плагинов к Notepad++ написанных на шарпе. Хотелось бы переписать и дописать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2017, 10:40 |
|
||
|
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
|
|||
|---|---|---|---|
|
#18+
trdm_автор Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться? Такая же проблема. Есть пару плагинов к Notepad++ написанных на шарпе. Хотелось бы переписать и дописать А кто препятствует? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2017, 11:23 |
|
||
|
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
|
|||
|---|---|---|---|
|
#18+
ВМоисеевПосмотри здесь (внизу ещё статья) и в дальнейшем здесь Спасибо! То, что доктор прописал! Я, кстати, остановился на карманном справочнике С# от O'reilly. Там всего 250 маленьких страниц, так что получается сжатая, и в тоже время полная справка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2017, 22:08 |
|
||
|
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
|
|||
|---|---|---|---|
|
#18+
SashaMercuryзачем читать надписи на заборах, рейтинг лучше смотреть используя TIOBE, а отдельно взятая страна не самый хороший показатель Очень спорный рейтинг. Навскидку несколько факторов, изменяющих реальные данные: 1. Если язык сложный, то в рейтинге он будет завышен. 2. Если язык используют начинающие, то в рейтинге он будет завышен (не все начавшие программировать остаются в этой отрасли). 3. Если язык используют в учебных заведениях, то рейтинг будет завышен. 4. Если язык малоизвестен, то его будут активно изучать и рейтинг будет завышен. и т.д. SashaMercuryКстати, почему вы не хотите дописать API к библиотеке на C# ? Вам нужен слишком малый кусок или она работает не так быстро, как вы бы хотели? Потому что мне нужна маленькая часть библиотеки и не хочется таскать с собой кучу хлама только потому, что не разобрался что нужно, а что нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2017, 22:17 |
|
||
|
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
|
|||
|---|---|---|---|
|
#18+
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 Конечно это шутка, возможно тот рейтинг полезен, тем более, что изначально я не заметил анализ всех собранных данных от пользователей по нему ниже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2017, 15:11 |
|
||
|
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
|
|||
|---|---|---|---|
|
#18+
offtopic SashaMercuryСмущает текст, в котором языки С и 1С перечислены с использованием союза "и". А почему в разделе "На каком языке вы пишите для работы сейчас?" они не могут стоять вместе? Первый практически невозможно использовать для написания современного ПО, для второго создана отдельная прослойка фирм- франчайзи, занимающихся внедрением продукта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2017, 15:50 |
|
||
|
Попался мне исходный код на С#, а я изучал только С++. Есть быстрый способ врубиться?
|
|||
|---|---|---|---|
|
#18+
AlekseySQLЕсть быстрый способ врубиться?Нету. Я тут пару месяцев работал на шарпе, правда в Xamarin, но не сильно меняет суть. Многие вещи надо просто изучать. Не получится так что, сделать быстро шаблон приложения в визарде, а потом (умея работать с С++) заполнить его по надобности. Шарперы отталкивались от Java, но потом накрутили много своего, что сильно отличает шарп даже от явы, молчу уже про плюсы. Тем не менее, человек, пишущий на плюсах, всегда сможет разобраться и вникнуть за разумное время. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2017, 22:02 |
|
||
|
|

start [/forum/topic.php?all=1&fid=57&tid=2018009]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
74ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 268ms |
| total: | 446ms |

| 0 / 0 |
