Мастера DELPHI, Delphi programming community Рейтинг@Mail.ru Титульная страница Поиск, карта сайта Написать письмо 
| Новости |
Новости сайта
Поиск |
Поиск по лучшим сайтам о Delphi
FAQ |
Огромная база часто задаваемых вопросов и, конечно же, ответы к ним ;)
Статьи |
Подборка статей на самые разные темы. Все о DELPHI
Книги |
Новинки книжного рынка
Новости VCL
Обзор свежих компонент со всего мира, по-русски!
|
| Форумы
Здесь вы можете задать свой вопрос и наверняка получите ответ
| ЧАТ |
Место для общения :)
Орешник |
Коллекция курьезных вопросов из форумов
KOL и MCK |
KOL и MCK - Компактные программы на Delphi
Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / rsdn.org

 
Чтобы не потерять эту дискуссию, сделайте закладку « предыдущая ветвь | форум | следующая ветвь »

Переход с Delphi на C#


Kel ©   (21.06.18 12:55

Насколько сложно/легко перейти с 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]


> Kerk


https://naukatv.ru/video/490


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]

Удалено модератором


версия для печати

Написать ответ

Ваше имя (регистрация  E-mail 







Разрешается использование тегов форматирования текста:
<b>жирный</b> <i>наклонный</i> <u>подчеркнутый</u>,
а для выделения текста программ, используйте <code> ... </code>
и не забывайте закрывать теги! </b></i></u></code> :)


Наверх

  Рейтинг@Mail.ru     Титульная страница Поиск, карта сайта Написать письмо