Конференция "Прочее" » Переход с Delphi на C#
 
  • Kel © (21.06.18 12:55) [0]
    Насколько сложно/легко перейти с Delphi на C#? Посоветуйте учебники или ресурсы, пожалуйста. Почему C# идет в связке с .Net?
  • icp © (21.06.18 15:42) [1]
    зависит от того, с какого по счету языка идет переход
    и не зависит от того, с какого языка на какой.

    с первого трудно.
    со второго легче.
    начиная с третьего уже пофик.
  • Dimka Maslov © (21.06.18 19:08) [2]
    Прямо как по Марку Твену «Перейти с Delphi на C# очень просто. Я сам делал это несколько раз».


    > Почему C# идет в связке с .Net?

    Вроде как изначально это был родной язык платформы (ответ мелкомягких солнечным, типа своя джава с этим и этими), а теперь он нигде больше и не используется, ибо вне платформы .net никому не нужен.
  • KilkennyCat © (22.06.18 10:16) [3]

    > ибо вне платформы .net никому не нужен.
    >

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

    а вообще,
    платформ уже давно несколько.


    > Kel ©   (21.06.18 12:55)
    > Насколько сложно/легко перейти с Delphi на C#?


    Очень легко. Недаром, там чувствуется рука бывшего одного из делфисоздателей.


    > Посоветуйте учебники или ресурсы, пожалуйста.


    VS 2017, и че-нить пишешь.
  • Тракторист © (22.06.18 11:04) [4]
    Трей Нэш. "C# 2010. Ускоренный курс для профессионалов".

    Адам Фримен, Джозеф Раттц-мл. "LINQ. Язык интегрированных запросов в С# 2010".

    Язык развивается, и в VS 2017 он ещё приятнее, чем в этих книгах.
    По мне, так вообще самый приятный язык.
  • Дмитрий Белькевич © (29.06.18 00:05) [5]
    Дотнета бы не было, было бы совсем хорошо :)
  • Тракторист © (29.06.18 20:42) [6]
    Дмитрий Белькевич ©   (29.06.18 00:05) [5]
    Дотнета бы не было, было бы совсем хорошо :)

    Ну нет. Дотнет инкапсулирует практически всю операционную систему.
    Писать сейчас стало очень просто. Задаёшь вопрос типа "Как в c# ловить
    изменения файла?" Сразу получаешь класс FileSystemWatcher.
    И наслаждаешься...

    Хочешь поработать с именованными каналами, пишешь "Как в c# работать с именованными каналами?" Получаешь два класса:
    NamedPipeServerStream и NamedPipeClientStream, -
    и вообще никаких проблем.

    Я бы сказал так: "Было бы совсем хорошо, если бы Дотнет инкапсулировал
    все существующие операционные системы".
  • KilkennyCat © (29.06.18 22:50) [7]

    > Тракторист ©   (29.06.18 20:42) [6]

    Верно. Переход меня в дотнет вызвало в первую очередь простота решений, связанных с USB, затем увидел, что и прочие задачи решаются легко.
  • Kerk © (30.06.18 23:46) [8]
    А раньше над "где взять компонент для ..." посмеивались :)
  • картман © (01.07.18 00:03) [9]
  • Kel © (16.07.18 15:42) [10]
    А есть книга или сайт что-то вроде таблицы соответствий между языками Delphi и C#?

    Допустим, в Delphi параметр с var - в C# параметр с ref
  • Кто б сомневался © (16.07.18 15:53) [11]
    Кому сейчас .net нужен? Он же под Win только.
  • KilkennyCat © (16.07.18 17:30) [12]

    > А есть книга или сайт что-то вроде таблицы соответствий
    > между языками Delphi и C#?

    это неправильный путь. не надо искать соответствий, это не разговорные языки
  • Kel © (16.07.18 19:17) [13]
    Кто б сомневался

    На C# в Visual Studio можно писать для Андроид
  • KilkennyCat © (16.07.18 22:10) [14]

    > На C# в Visual Studio можно писать для Андроид

    https://visualstudio.microsoft.com/ru/xamarin/
  • Kel © (18.07.18 20:19) [15]
    А объясните мне пожалуйста такую вещь. Я пока изучаю C# по учебникам, саму среду Visual Studio не устанавливал.

    Она похожа на Delphi? Там есть визуальные компоненты? (меню, кнопки, вкладки, статусбары, имиджи и проч.) Есть там удобный инспектор объектов, где на одной вкладке - свойства, а на другой - события? Сторонние компоненты подключаются?

    У формы есть события и такой же порядок? (OnCreate, OnShow, OnClose, OnDestroy)
  • Inovet © (18.07.18 20:23) [16]
    > [15] Kel ©   (18.07.18 20:19)

    Не проще ли установить и посмотреть чем ждать здесь ответов?
  • Плохиш © (19.07.18 11:13) [17]
    Что ж это за "учебники"-такие, где про среду ни слова нет?
  • Kel © (19.07.18 17:40) [18]

    > Плохиш ©   (19.07.18 11:13) [17]


    Синтаксис языка и консольные приложения.
  • Eraser © (20.07.18 00:16) [19]

    > Kel ©   (19.07.18 17:40) [18]

    если рассматривать современные языки с точки зрения синтаксиса языка и консоли - все очень похоже. даже C# и haskell, вроде бы противоположности, но порог входа один и тот же.
    все самое интересное начинается при взаимодействии с фреймворками, библиотеками и парадигмами построения GUI. вот hello world на UWP https://docs.microsoft.com/ru-ru/windows/uwp/get-started/create-a-hello-world-app-xaml-universal
    сравни с hello world на Делфи VCL.
  • kilkennycat © (22.07.18 13:35) [20]

    > саму среду Visual Studio не устанавливал.
    >

    ну установи SharpDevelop - он легче и проще. Но не лучше.
  • L_G © (22.07.18 22:42) [21]
    фоновая компиляция (с подчеркиванием ошибок красным) и подсказки (интеллисенс, в том числе варианты исправления указанной ошибки) среды визуал студио в разы облегчают новичку освоение синтаксиса языка и использование библиотек/фреймворка

    самая короткая книга - Albahari, Albahari - C# 7.0 Pocket Reference (или по более старой версии; не путать с "C# in a Nutshell")
  • L_G © (22.07.18 22:48) [22]
    p.s. Джозеф Албахари, Бен Албахари - C# 7.0. Карманный справочник
  • Kel © (23.07.18 08:39) [23]
    Это верно, что взломать (точнее, декомпилировать и получить исходный текст) программу на .Net легче, чем программу, написанную на Delphi?
  • icp © (23.07.18 09:26) [24]
    декомпилировать одинаково легко и то и другое.
    запустить декомпилятор и сказать ему какой файл надо декомпилировать.
    при этом устанешь ты одинаково в обоих случаях.

    а полный исходный текст ты не получишь тоже в обеих случаях.
  • Дмитрий Белькевич © (23.07.18 09:46) [25]
    >Это верно, что взломать (точнее, декомпилировать и получить исходный текст) программу на .Net легче, чем программу, написанную на Delphi?
    Насколько я знаю - существенно.
    Вот, например, обсуждение:
    https://stackoverflow.com/questions/413311/do-method-names-get-compiled-into-the-exe/413341
    С Java тоже самое, впрочем. С Delphi получите кашу из ассемблера, из которого восстановить что-либо непросто.
  • Дмитрий Белькевич © (23.07.18 09:50) [26]
    Декомпиляция .net, например, причастна к нашумевшему вирусу 'Петя':
    https://habr.com/post/357380/
  • Игорь Шевченко © (23.07.18 10:37) [27]

    > С Delphi получите кашу из ассемблера, из которого восстановить
    > что-либо непросто.


    Компилятор Delphi генерирует вполне себе детерминированный код
  • Плохиш © (23.07.18 10:44) [28]

    > Kel ©   (23.07.18 08:39) [23]
    >
    > Это верно, что взломать (точнее, декомпилировать и получить
    > исходный текст) программу на .Net легче, чем программу,
    > написанную на Delphi?

    Есть уже что скрывать?
  • Kel © (23.07.18 12:00) [29]

    > Плохиш ©   (23.07.18 10:44) [28]


    Это второй вопрос. Пока - нет. Но на Delphi было что защищать, ASProtect помогал
  • Дмитрий Белькевич © (23.07.18 22:13) [30]

    > Компилятор Delphi генерирует вполне себе детерминированный
    > код


    Кто-то будет в этих детерминантах разбираться? А для .net готовых декомпиляторов немало:
    https://www.google.com/search?q=.net+decompiler
  • KilkennyCat © (23.07.18 23:38) [31]

    > Кто-то будет в этих детерминантах разбираться?
    > А для .net готовых декомпиляторов немало:

    Кто-то будет разбираться после простенькой обфускации? Да даже без нее?
    Свой собственный код без комментариев нечитаем уже на следующий день, а тут чужая каша...


    > Kel ©   (23.07.18 12:00) [29]
    >  ASProtect помогал

    ...наивно спать спокойно. Не более.
  • kilkennycat © (23.07.18 23:40) [32]
    И кстати, использование ASProtect предполагает его знание, включая знание о том, что для .Net он тоже есть.
  • Eraser © (24.07.18 22:38) [33]

    > ASProtect

    удивительно, что он еще жив. действительно работающая защита, в наши дни, это VMProtect, в большинстве случаев, если это не мега популярное приложение или игра - ломать не будут.
    но есть оборотная сторона - реакция антивирусов. из-за этого мы, например, крипторы не используем вообще ни в каком виде.
  • Дмитрий Белькевич © (27.07.18 10:50) [34]

    > Кто-то будет разбираться после простенькой обфускации? Да
    > даже без нее?


    Понятно, что одна надежда на то, что софт - неуловимый Джо. Однако, в случае M.E.Doc это оказалось не так. И он оказался таки на .net, а не на нативном языке.
  • KilkennyCat © (27.07.18 19:14) [35]

    > И он оказался таки на .net, а не на нативном языке.

    а написанное на нативном и взломанное - практически отсутствует.
  • Кто б сомневался © (28.07.18 21:26) [36]

    > KilkennyCat ©   (16.07.18 22:10) [14]
    >
    > > На C# в Visual Studio можно писать для Андроид
    >
    > https://visualstudio.microsoft.com/ru/xamarin/


    Да я в курсе про Xamarin aka Mono. Те еще костыли. На Delphi под Android\iOS получиться и быстрее в плане производительности GUI и меньше времени будет затрачено (тк. формы универсальные для Android\iOS - только натягиваешь нужный стиль)
  • Игорь Шевченко © (28.07.18 22:02) [37]

    > На Delphi под Android\iOS получиться и быстрее


    Это даже не костыли. Такого слова еще не придумали, для Delphi под Android/iOS
  • KilkennyCat © (28.07.18 22:25) [38]

    > Игорь Шевченко ©   (28.07.18 22:02) [37]
    >

    ну слово-то есть ))  - унылое г. а ксамарин - это улыбающееся унылое г.

    а в результате имеем что? какое-нить тупейшее приложение а-ля фонарик требует новейший тормозящий гуглплэйсервис, доступ ко всему чему можно и мегабайт 200 места.
    потому как писалось в стиле "только натянуть нужный стиль"
  • Kel © (29.07.18 06:22) [39]
    Не ксамарин, а зэмарин
  • icp © (29.07.18 08:42) [40]
    На Delphi под Android\iOS получиться и быстрее

    все так думали и говорили.
    за день до переходя на android studio.
  • Dimka Maslov © (29.07.18 10:23) [41]

    > все так думали и говорили.
    > за день до переходя на android studio.


    Истинно так
  • KilkennyCat © (29.07.18 11:12) [42]

    > за день до переходя на android studio

    это счастливчики, некоторые плачут, колятся, но продолжают жрать кактус.


    > Kel ©   (29.07.18 06:22) [39]
    > Не ксамарин, а зэмарин

    пофиг. даже со второй э.
  • Кто б сомневался © (29.07.18 18:47) [43]
    Игорь Шевченко ©   (28.07.18 22:02) [37]

    > На Delphi под Android\iOS получиться и быстрее
    Это даже не костыли. Такого слова еще не придумали, для Delphi под Android/iOS

    С таким настроением вам нужно на ASM перебирать команды процессора.
    Вот там наверное все прекрасно.


    > KilkennyCat ©   (28.07.18 22:25) [38]
    >
    > а в результате имеем что? какое-нить тупейшее приложение
    > а-ля фонарик требует новейший тормозящий гуглплэйсервис,
    >  доступ ко всему чему можно и мегабайт 200 места.
    > потому как писалось в стиле "только натянуть нужный стиль"


    На Delphi APK не сказал бы что огромные получаются, около 8 мб пустое.
    У меня полностью рабочая программа, для термостата, с кучей кастомной анимации,  и кастомным дизайном, построением графиков погоды и статистикой по энергопотреблению получалась 11,4 мб.
  • Игорь Шевченко © (29.07.18 21:02) [44]
    Кто б сомневался ©   (29.07.18 18:47) [43]


    > С таким настроением вам нужно на ASM перебирать команды
    > процессора.


    Ну зачем же с больной головы на здоровую ? :)
  • kilkennycat © (29.07.18 23:39) [45]

    >  нужно на ASM перебирать команды процессора.

    а я уже видел "программистов", которые не знают, что внутре компа, и слово процессор для них как для меня "Елисейские поля" (был такой магазин в Питере, но мне кажется, изначально это не оно)
    И асм - это не круто. Круто - машкод.
  • xayam © (30.07.18 01:34) [46]

    > как для меня "Елисейские поля" (был такой магазин в Питере,
    >  но мне кажется, изначально это не оно)

    книжку читал пардайаны - там это где-то в париже :)
    проверил по вики - сходится
  • Германн © (30.07.18 02:25) [47]
    Удалено модератором
  • Германн © (30.07.18 02:58) [48]
    Удалено модератором
  • KilkennyCat © (30.07.18 08:36) [49]
    тогда уж не просто чтение и проверка, но и дырявление, а потом еще уронить и рассыпать )
    перфоленту вручную мне довелось дырявить.

    Вот же времена были... а сейчас народу столько возможностей дадено, а они еще больше хотят.
  • icp © (30.07.18 08:48) [50]
    перфоленту то можно было сидя в тепле за столом проверять и дырявить

    а вот вводить данные в "пламя рм", делая коротыши перемычками и сидя на карачках в  кунге ....
  • kilkennycat © (30.07.18 08:56) [51]

    > icp ©   (30.07.18 08:48) [50]

    да, пожалуй, это круче. а че это за девайс? мне не попадались, а гугл чет не нашел сходу
  • icp © (30.07.18 09:00) [52]
    это был такой шкаф бы для расчета задач бомбометания в авиации.
    но в более других войсках ее тоже применяли. например она решала задачу триангуляции.
  • megavoid © (30.07.18 10:37) [53]
    "Елисеевский" магазин назывался, по фамилии купца. Делил вход с Невского с театром.

    Я тоже уже встречал программистов, которые не то, что ассемблер не представляют, но и про процессор не всегда слыхали или понимают суть. И что интересно, у некоторых income гораздо больше моего :)))
  • KilkennyCat © (30.07.18 12:24) [54]

    > "Елисеевский" магазин назывался, по фамилии купца. Делил
    > вход с Невского с театром.

    Точно! Во, я даж название переврал, так что, аналогия с процессором еще лучше )
  • Германн © (31.07.18 02:43) [55]
    Удалено модератором
 
Конференция "Прочее" » Переход с Delphi на C#
Есть новые Нет новых   [118593   +1][b:0][p:0.001]