Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2010.10.17;
Скачать: [xml.tar.bz2];

Вниз

Прикладное программирование на C#.   Найти похожие ветки 

 
И. Павел ©   (2010-07-13 13:42) [0]

Здравствуйте.

На работе я пишу программы, в основном, самостоятельно, т.е. почти нет коллективной разработки. Большинство программ рассчитаны на запуск пользователями и доступ к удаленной (например, SQL SERVER) или локальной (например, Access) базе. Хотя есть и программы, работающие с WinAPI и сетью. Сейчас я пишу на  Delphi.

Я часто слышу/читаю мнения людей, считающих, что С# хорош в прикладной области, а не только в работе с сетью. Вот и подумал – может быть попробовать его? Конечно, параллельно с Delphi, т.к. эта среда мне нравится.

C# (Или .Net, не знаю, насколько правильно путать эти понятия) действительно может оказаться удобным в программировании пользовательских приложений под Windows?

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

И еще: насколько сложно ставить свои программы на машины пользователей. Что из чужого софта придется предустанавливать? Насколько это проблематично?

PS: Я не сравниваю и не требую сравнивать Delphi и C#, т.е. это не холивар. Мне интересно знать – может ли C# оказаться удобным в моей сфере? Просто как альтернатива.

Заранее спасибо.


 
stas ©   (2010-07-13 14:09) [1]

Как по мне так C# для ASP.NET приложений нравится.
А для написания десктоп приложений не очень (не сам C# а подход MS Visual studio)
Минусы
1. Приложение получается медленее
2. Нужно таскать NET на клиента
3. Если используешь компоненты или dll .NET, то они должны устанавливаться в специальную папку, либо должны лежать в папке с программой.

Плюсы
1. Можно использовать не визуальную библиотеку как в ASP.NET так и десктоп прилдожениях
2. Есть компилятор по x64 платформу

Ну и декомпилируется приложение очень легко незнаю это + или - )))


 
И. Павел ©   (2010-07-13 14:22) [2]

stas © Ясно, спасибо.


 
stas ©   (2010-07-13 14:57) [3]

И. Павел ©   (13.07.10 14:22) [2]
Ну, это мое виденье. Может кто видит еще какие-то +


 
jack128_   (2010-07-13 15:22) [4]


> Если используешь компоненты или dll .NET, то они должны
> устанавливаться в специальную папку, либо должны лежать
> в папке с программой.

а для приложений написаных на дельфи это не так??


 
stas ©   (2010-07-13 15:24) [5]

jack128_   (13.07.10 15:22) [4]
Ну, я использую DevExpress в Delphi, они компилятся в проект. А в студии нужно таскать DLL.
Если я использую DLL она может лежать не строго в папке с программой, а по определенному пути.


 
stas ©   (2010-07-13 15:25) [6]

2-е имеется ввиду если проект откомпилин с помощью Delphi.


 
Petr V. Abramov ©   (2010-07-13 15:28) [7]

программа на .Net - это как программа на Delphi с рантайм-пакетами, .Net-framework - это  считайи есть рантайм пакеты, только об их совместимости с текущей ОС и сервиспаком голова болит у Microsoft, а не у тебя. Это большой плюс. Очень хорошо реализован reflection, не всем это надо, но тоже большой плюс лично для меня.
с точки зрения языка и среды разработки - одна фигня, где-то лучше где-то хуже.


 
Anatoly Podgoretsky ©   (2010-07-13 15:53) [8]

> Petr V. Abramov  (13.07.2010 15:28:07)  [7]

> .Net - это как программа на Delphi с рантайм-пакетами,

Лучше, я могу изменить исходник и оно перекомпилируется, при том выборочно,
а не весь проект.
Я использую ASP.NET с VB.NET, мне удобнее чем c#
Cудя по папке winSxS в висте, приложений очень много, у меня 13 000 папок и
50000 файлов там. И это почти все .NET


 
jack128_   (2010-07-13 16:02) [9]


> Ну, я использую DevExpress в Delphi, они компилятся в проект.
>  А в студии нужно таскать DLL.

Ну наверно в студии нужно таскать длл, потому что ТЫ скомпилировал длл. При наличии сорцов, ничего не мешает тебе вкомпилить девэкспресы в свой экзешник.


> Если я использую DLL она может лежать не строго в папке
> с программой, а по определенному пути.


> 2-е имеется ввиду если проект откомпилин с помощью Delphi.

ну и если программа скомпилированная в .NET, то длл тоже может лежать "по определенному пути". Отличий от дельфи - нет.


 
jack128_   (2010-07-13 16:07) [10]


> с точки зрения языка и среды разработки - одна фигня, где-
> то лучше где-то хуже.

Кстати, с точки зрения среды - что лучше у дельфи??


 
stas ©   (2010-07-13 16:13) [11]

jack128_   (13.07.10 16:02) [9]
>ну и если программа скомпилированная в .NET, то длл тоже может лежать "по >определенному пути". Отличий от дельфи - нет.
Программа и dll скомпилированы в .NET. Приложение не найдет DLL если она не лежит в папке с программой или не в определенной microsoft"om папке.


 
jack128_   (2010-07-13 16:17) [12]


> Программа и dll скомпилированы в .NET. Приложение не найдет
> DLL если она не лежит в папке с программой или не в определенной
> microsoft"om папке.

программа и dll скомпилированы в delphi. Приложение не найдет dll если она не лежит в папке с программой или не в определенных в переменной PATH папках.

В чем разница то?


 
Alkid ©   (2010-07-13 16:17) [13]

Автор, .NET + С# очень хорош для десктопных приложений. Единстенное, что Framework 3 и выше весят ну очень неприличные размеры, так что если надо многим ставить, то лучше писать под второй фреймфорк. Он сейчас есть почти везде.


 
jack128_   (2010-07-13 16:26) [14]


> Единстенное, что Framework 3 и выше весят ну очень неприличные
> размеры

Ну клиентский профиль FW4 в районе 40 метров занимает. Для простого десктоп приложения там вроде все есть..


 
jack128_   (2010-07-13 16:27) [15]

а вот на FW2 писать - значит выкинуть linq и сопутствующие плюшки. Не хорошо..


 
stas ©   (2010-07-13 16:32) [16]

jack128_   (13.07.10 16:17) [12]
в delphi я могу в программе указать путь к dll.
Допустим есть у меня 3-программы, которые юзают 1 dll.
В варианте с delphi я помещу ее в корневую папку, а для акждой программы сделаю по отдельной папке и все программы будут обращаться по определенному пути к dll.
В случае с .NET мне нужно для этого писать инсталятор, который скопирует dll куда нужно либо дублировать dll в каждую папку.

Или я не прав?

Еще немогу понять почему .NET Framework не заменяется следующей версией?
Даже сервиспаки дополнительно ставятся
Для того чтобы писать программы на VS 2008 нужно иметь на компе и NET 2.0 и NET 3.0 и NET 3.5.

И если я писал проект на VS 2005, потом установил себе 2008 по каким-либо причинам, написал еще 1 приложение отдал заказчику, то ему тоже придется из-за 1-го приложения тянуть .NET который весит более 100мб или в этом районе.

В Delphi я меняю себе версии пишу проекты и не заморачиваю заказчика апдейтом софта 100 мб. пакетами.

С моей точки зрения все же чего-то в .NET не додумано. Либо до меня не дошел весь великий смысл .NET


 
jack128_   (2010-07-13 17:17) [17]


>
> Или я не прав?

не прав. в .NET можно сделать аналогично.


> Еще немогу понять почему .NET Framework не заменяется следующей
> версией?

это очередная попытка избавится от dll hell. Ситуации, когда программа, которая нормально работает с dll версии 1 - вдруг перестает работать с dll версии 2.


> С моей точки зрения все же чего-то в .NET не додумано.

додумано. Просто ПОКА разработчикам блокнотов и тому подобных мелких утилит, дот нетом не удобно пользоваться. И то - это пока, через пару лет windows7 займет большую часть  рынка - это страх перед большим размером framework"a  уйдет.


 
stas ©   (2010-07-13 17:25) [18]

jack128_   (13.07.10 17:17) [17]
>не прав. в .NET можно сделать аналогично.
как если не секрет?

>одумано...
Да но к тому времени будет framwork 5, который будет весить 1ГБ :)


 
jack128_   (2010-07-13 17:36) [19]


> как если не секрет?

так же как и в дельфи, динамической загрузкой сборок (dll).


 
М. Береговой   (2010-07-13 19:18) [20]

В .NET есть такое пространство называется Global Assembly Cache (GAC). Там регистрируются и хранятся все расшаренные dll. Это вот чтобы не таскать часто используемые dll в папке программы, а достаточно указать всего-лишь ссылке на сборку.


 
stas ©   (2010-07-13 21:07) [21]

jack128_   (13.07.10 17:36) [19]
т.е. dll из которой я использую объекты я ее могу динамически подгрузить?


 
И. Павел ©   (2010-07-14 08:10) [22]

stas ©, jack128_, Petr V. Abramov ©, Anatoly Podgoretsky ©, Alkid ©, М. Береговой
Всем спасибо.
Ближайшие задачи тогда пока решу на Delphi, а потом посмотрю - может быть и c C# попробую. Тем более что раз это продукт Microsoft, то, наверное, скоро он будет поддерживаться системами на все 100.
Но уже хотелось бы попробовать C# хотя бы ради интереса. Порекомендуйте, пожалуйста, какой-нибудь русский самоучитель по нему (не на уровне справочника а желательно что-то вроде пошагового учебника с примерами и т.д.).


 
DVM ©   (2010-07-14 10:06) [23]


> И. Павел ©   (14.07.10 08:10) [22]


> Тем более что раз это продукт Microsoft, то, наверное, скоро
> он будет поддерживаться системами на все 100.

Ага, уже 10 лет прошло, а поддержка есть нормальная только для Windows.
Да и не будет по другому.

А скорее всего будет далее вот что: MS изобретет другую супер-пупер технологию которую объявит панацеей, а все прошлое устаревшим.

Это было уже столько раз, что просто можно не сомневаться в повторении ситуации.


 
Anatoly Podgoretsky ©   (2010-07-14 13:58) [24]

> stas  (13.07.2010 16:32:16)  [16]

Твое предположение неверно, на компьютере у тебя только .NET 2.0 и к нему
дополнения, а не отдельные NET.
Говоришь не заморачиваешь, а ведь можешь если согласен с идеей рантайм
библиотек (dll/bpl) и точно также все будет, а по размеру не проблема и
переплюнуть, дело то не хитрое.

Только основная разницы, что в Дельфи наследование пойдет от Дельфи
компонент, а с .NET по сути от системы, которые независимы от программ.


 
Anatoly Podgoretsky ©   (2010-07-14 14:00) [25]

> jack128_  (13.07.2010 17:17:17)  [17]

Проблему dll hell, они решили шире и кардинальнее, с помощью WinSxS
Так давно уже нет страха, те кто боится те посылают подальше, на сайт
Микрософт (отлаженый процесс).


 
Anatoly Podgoretsky ©   (2010-07-14 14:01) [26]

> stas  (13.07.2010 17:25:18)  [18]

Да какая разница, это ведь не расчитано на Зимбабве и прочих стран
четвертого и третьего миров.


 
Anatoly Podgoretsky ©   (2010-07-14 14:03) [27]

> DVM  (14.07.2010 10:06:23)  [23]

А ничего страшного, кроме как программистам, старое никуда не девается,
продолжает работать и поддерживаться.


 
Сочувствующий   (2010-07-14 20:30) [28]


> А ничего страшного, кроме как программистам, старое никуда
> не девается, продолжает работать и поддерживаться.


Программистам останется же творческий онанизм.


 
stas ©   (2010-07-15 10:17) [29]

Последние продукты Microsoft меня все больше удивляют...
Установмл себе win 7 x64, суперстабильная и защищенная система, на вид красивая.
После тестирования одной не хитрой программы винда перестала загружаться, но предложила мне меню восстановления системы.
После запуска начала что-то делать долго че-то делала... И написала невозможно восстановить и т.д. Но предложила кучу бесполезных инструментов, которые в итоге мне ни чем не помогли.
Решил установить систему поверх этой с диска, выбрал пункт "обновить"(там все расписано понятно даже для чайника, выбирите обновить и у Вас сохраниятся все настройки и т.д.), после чего мне винда заявляет, для обновления загрузитесь из той копии системы которую вы хотите обновить...
После долгих мучений нашел среди всех бесполезных инструментов командную строку и смог восстановить систему, но эти все телодвижения далеко не для рядового пользователя.
Загрузился...
Винда заявляет что неправильно работает переустановите.
Ну, тут решил нет проблем уже загрузился, сейчас выбиру обновить и все будет гуд.
Запускаю выбираю нужный пункт, начинается разная диагностика, проверка совместимости.
Открывается отчет неудалось обновить... куча всякого текста и один из пунктов надо 12ГБ свободного места на целевом диске...
Удаляю часть ПО освобождаю 12ГБ, запускаю...
Требует 18Гиг, ок освобождаю еще место, запускаю...
Предлагает удалить список программ, как раз почти все что остались на диске Delphi,VisualStudio и т.д.
Перегружаюсь, загружаюсь с установочного диска выбираю форматировать диск C:\, Установить новую копию -УРА!
Вобщем вывод такой если с виндой проблемы, то делаем полную переустановку. И это 7 версия windows... Думаю .NET скоро станет подобным гемороем для программистов.


 
Anatoly Podgoretsky ©   (2010-07-15 10:33) [30]

> stas  (15.07.2010 10:17:29)  [29]

Страсти какие рассказываешь, кроме того и немного непрофессионализма.
Ну а чистая переустановка это самый быстрый и самый качественный путь,
независимо от ОС
Я с 7х64 не работал, но с другими версиями я таких гемороев никогда не имел
А то что ты запустил стоит опубликовать на сайтах антивирусников, как
злобный троян.
Любую систему можно вывести из строя путем замены/удаления некоторых файлов,
то есть делая штатные действия.
Ломать то не строить.


 
Anatoly Podgoretsky ©   (2010-07-15 10:34) [31]

> Сочувствующий  (14.07.2010 20:30:28)  [28]

Ну если кому то нравится дрочить, то это его карма.


 
stas ©   (2010-07-15 10:41) [32]

То что вывел из строя это ладно, программа запускалась под правами админа.
А вот восстановить неполучилось.
Ну, на троян программа не тянет, она не размножается и не пытается попасть на чужой комп скрываясь под другой программой ).


 
Anatoly Podgoretsky ©   (2010-07-15 13:34) [33]

> stas  (15.07.2010 10:41:32)  [32]

Для трояна это не является обязательным условием, обязателен только конь со
спрартанцами.



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2010.10.17;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.55 MB
Время: 0.004 c
2-1280119066
Spot
2010-07-26 08:37
2010.10.17
Ошибка в Locate


15-1279030179
Я
2010-07-13 18:09
2010.10.17
asm to pascal


15-1279321281
_Eraser
2010-07-17 03:01
2010.10.17
Администрации. Опять проблемы с анкетами


15-1279120336
xayam
2010-07-14 19:12
2010.10.17
Изучаем Java


6-1227511222
Валигози
2008-11-24 10:20
2010.10.17
Передача данных по SCP/SFTP





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский