С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
2 / 3 / 1
Регистрация: 17.12.2015
Сообщений: 168
1
.NET 4.x

Необходимость во Framework'e

21.12.2015, 17:27. Показов 735. Ответов 19
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!

Я в самом начале изучения C# (ровно как и С++), поэтому прошу сильно на меня не злиться за глупые вопросы, которые касаются основ.

Вчера сел создавать проект на WinForms и мне понадобился банальный Chart. И каково же было мое недоумение, когда я узнал, что этот контрол поддерживается лишь с 4-ой версии Framework'а. Тут я задумался... Для функционирования данного приложения на клиенте должен быть установлен Framework 4+. Т.е. столь малое приложение носит за собой необходимость в установке целой "виртуальной машины"! В том же Билдере (версии от 2000 года) на С++ я могу написать аналогичное приложение, которое гарантированно будет работать на Win 2K - Win 10, но при этом она не будет требовать столь здорового "хвоста". А текущее, приложение, кстати, на Win 2K вообще не запустится, т.к. Framework 4 туда никаким образом не встанет.

Я явно что-то не так понимаю, поэтому большая просьба вправить мне мозги. В чем же преимущество .NET? На своём примере я увидел лишь минусы...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.12.2015, 17:27
Ответы с готовыми решениями:

Необходимость переноса с 1С 7.7 на 8.2
Всем привет! Только устроилась в жкх программистом, в разговоре с директором высказалась, что 1с...

Необходимость геттера
Добрый день, форумчане! Изучаю программирование и в этом деле я нубик. В данный момент изучаю...

Необходимость в лицензии Qt
У меня вопрос насчет лицензии Qt. Ну например у меня есть программа использующая для GUI Qt, и она...

Есть необходимость?
Везде рекомендуют создавать класс (любой элемент) в ".h" файлах, а описывать уже непосредственно в...

19
Эксперт .NET
6510 / 4086 / 1606
Регистрация: 09.05.2015
Сообщений: 9,553
21.12.2015, 17:35 2
Забудьте про Win2k, WinXP и прочий хлам и проблема решится сама собой.
1
2 / 3 / 1
Регистрация: 17.12.2015
Сообщений: 168
21.12.2015, 17:40  [ТС] 3
Someone007, с 2К я может и погорячился, но ХР, хоть и не поддерживается, но всё ещё живет.

А вообще я всё правильно понял?

Но хотелось бы получить ответ на вопрос:
Цитата Сообщение от UnityMan Посмотреть сообщение
Т.е. столь малое приложение носит за собой необходимость в установке целой "виртуальной машины"! В том же Билдере (версии от 2000 года) на С++ я могу написать аналогичное приложение, которое гарантированно будет работать на Win 2K - Win 10, но при этом она не будет требовать столь здорового "хвоста".

В чем же преимущество .NET?
0
484 / 439 / 123
Регистрация: 05.01.2010
Сообщений: 1,848
21.12.2015, 17:41 4
UnityMan, 4-я версия .NET Framework, насколько я помню, ставится на XP
1
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
21.12.2015, 17:42 5
Цитата Сообщение от Someone007 Посмотреть сообщение
Забудьте про Win2k, WinXP и прочий хлам и проблема решится сама собой.
В марте 2015 года доля ХР на рынке составляла почти 30%. Так-что совместимость с ней соблюдать очень даже надо.
1
141 / 117 / 26
Регистрация: 07.12.2014
Сообщений: 371
21.12.2015, 17:44 6
UnityMan, очень странно, что в конце 2015 года во времена Win 7-Win10 и .Net 4.6.2/ .Net Core люди задаются вопросом, как писать приложения для WinXP и ниже. Это какое-то особенное требование к ПО или нежелание использовать современные технологии? В чём преимущество .Net? Попробуйте написать какое-нибудь серьёзное приложение и сравните скорость разработки и ясность кода между C++ версией и C#. Можно конечно заявить что C++ более гибок и даёт больший контроль чем C# но в коммерческой разработке думаю всё таки выиграет скорость и простота поддержки нежели офигительно крутая гибкость плюсов
1
2 / 3 / 1
Регистрация: 17.12.2015
Сообщений: 168
21.12.2015, 17:44  [ТС] 7
valera_21, это так. Но вопрос о, так сказать, "весе" полного комплекта для функционирования ПО. Чем то наличие этой здоровой "виртуальной машины" должно же компенсироваться?
0
Эксперт .NET
6510 / 4086 / 1606
Регистрация: 09.05.2015
Сообщений: 9,553
21.12.2015, 17:48 8
Цитата Сообщение от aquaMakc Посмотреть сообщение
В марте 2015 года доля ХР на рынке составляла почти 30%
Сейчас уже меньше 10% и продолжает снижаться.

Добавлено через 1 минуту
Цитата Сообщение от UnityMan Посмотреть сообщение
Но вопрос о, так сказать, "весе" полного комплекта для функционирования ПО. Чем то наличие этой здоровой "виртуальной машины" должно же компенсироваться?
Почему вас беспокоит то, что является частью операционной системы по умолчанию?
1
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
21.12.2015, 17:49 9
Цитата Сообщение от UnityMan Посмотреть сообщение
В чем же преимущество .NET
В максимальном сокращении возможности отстрелить себе ногу )).
Плюс по сравнению с плюсами проще синтаксис и архитектура. Плюс заточенная под язык IDE со всякими фичами типа Nuget. Плюс огромное количество уже реализованных классов, структур, перечислений, технологий и т.д.
1
2 / 3 / 1
Регистрация: 17.12.2015
Сообщений: 168
21.12.2015, 17:51  [ТС] 10
Vigelforts,
Цитата Сообщение от Vigelforts Посмотреть сообщение
Попробуйте написать какое-нибудь серьёзное приложение и сравните скорость разработки и ясность кода между C++ версией и C#.
А если не брать во внимание серьезное приложение? Тогда этот груз в виде Framework'а едва ли компенсируется...

Где-то я видел, что программа, написанная на C# .NET, гарантированно запустится на любой архитектуре, в отличие от C++. К сожалению, сейчас не могу найти точную фразу по этому поводу? Кто-нибудь что-нибудь про это знает?


aquaMakc,
Цитата Сообщение от aquaMakc Посмотреть сообщение
Плюс по сравнению с плюсами проще синтаксис и архитектура. Плюс заточенная под язык IDE со всякими фичами типа Nuget. Плюс огромное количество уже реализованных классов, структур, перечислений, технологий и т.д.
Я всё понял


Someone007,
Цитата Сообщение от Someone007 Посмотреть сообщение
Почему вас беспокоит то, что является частью операционной системы по умолчанию?
4-ый FW не является частью XP - а она ещё живёт и точка
0
484 / 397 / 68
Регистрация: 14.02.2014
Сообщений: 1,930
21.12.2015, 17:51 11
Цитата Сообщение от Someone007 Посмотреть сообщение
Сейчас уже меньше 10% и продолжает снижаться.
Во многих организациях, куда ставится наш софт всё-ещё стоят XP и менять их никто не собирается, собственно, как и компьютеры, которым уже по 5-6 лет.
1
Эксперт .NET
6510 / 4086 / 1606
Регистрация: 09.05.2015
Сообщений: 9,553
21.12.2015, 18:03 12
Цитата Сообщение от UnityMan Посмотреть сообщение
4-ый FW не является частью XP - а она ещё живёт и точка
В любом случае, размер инсталятора .NET Framework 4.0 составляет 48.1 МБ (включает в себя две платформы x86 и x64), а инсталяторы Visual C++ Redistributable для Visual Studio 2015 соответственно 13.9 MB x64 + 13.1 MB x86, так что разница не велика.
1
2 / 3 / 1
Регистрация: 17.12.2015
Сообщений: 168
21.12.2015, 18:05  [ТС] 13
Someone007, я там выше в пример приводил Билдер. Ему не нужен Visual C++ Redistributable или что-то подобное, насколько я знаю.
0
141 / 117 / 26
Регистрация: 07.12.2014
Сообщений: 371
21.12.2015, 18:19 14
Someone007, да никто не мешает писать вам на плюсах и радоваться тому что будет такое портируемое приложение. Это преимущство плюсов. А шарп даёт огромное кол-во языковых конструкций, очень богатую стандартную библиотеку. А что касается несерьёзного приложения. Да хоть несерьёзное. Попробуйте и сравните)
1
2 / 3 / 1
Регистрация: 17.12.2015
Сообщений: 168
21.12.2015, 18:22  [ТС] 15
Vigelforts, видимо, это Вы ко мне обращались

Цитата Сообщение от UnityMan Посмотреть сообщение
Где-то я видел, что программа, написанная на C# .NET, гарантированно запустится на любой архитектуре, в отличие от C++. К сожалению, сейчас не могу найти точную фразу по этому поводу? Кто-нибудь что-нибудь про это знает?
Вот может кто-то знающий ещё по этом поводу что-то подскажет.
0
Эксперт .NET
6510 / 4086 / 1606
Регистрация: 09.05.2015
Сообщений: 9,553
21.12.2015, 18:24 16
Цитата Сообщение от UnityMan Посмотреть сообщение
я там выше в пример приводил Билдер. Ему не нужен Visual C++ Redistributable или что-то подобное, насколько я знаю.
Это смотря как компилировать, в С++ же есть dynamic linking и static linking.
1
141 / 117 / 26
Регистрация: 07.12.2014
Сообщений: 371
21.12.2015, 18:27 17
UnityMan, да) промахнулся. По поводу архитектуры. Всё что касается .Net Framework компилируется не в машинных код а в CLI, который независим от архитектуры. И уже в процессе выполнения это в рантайме компилируется в машинный код. Вообще, я бы рекомендовал Вам сначала изучать оба языка и только потом делать выводы о преимущствах одного над другим. Вам не хватает знаний даже самих азов)

Не по теме:

Давайте писать на ассемблере. Вообще библиотеки тащить не надо будет :)

1
2 / 3 / 1
Регистрация: 17.12.2015
Сообщений: 168
21.12.2015, 18:38  [ТС] 18
Someone007,
Цитата Сообщение от Someone007 Посмотреть сообщение
в С++ же есть dynamic linking и static linking.
Эо не то же самое, что и Visual C++ Redistributable / Framework


Vigelforts,
Цитата Сообщение от Vigelforts Посмотреть сообщение
Всё что касается .Net Framework компилируется не в машинных код а в CLI, который независим от архитектуры. И уже в процессе выполнения это в рантайме компилируется в машинный код.
Про это я в курсе. Мне непонятно в каких случаях С++ "проиграет". Но это надо мучать плюсеров уже.

Цитата Сообщение от Vigelforts Посмотреть сообщение
Вообще, я бы рекомендовал Вам сначала изучать оба языка и только потом делать выводы о преимущствах одного над другим.
Логичнее для начала узнать какие последствия имеет тот или иной язык, чем я собственно и занимаюсь

Ладно, пойду разбираться с плюсами, искать их слабые места. Всем большое спасибо за участие!

Не по теме:

Цитата Сообщение от Vigelforts Посмотреть сообщение
Давайте писать на ассемблере.
Отличный план! :)

0
Эксперт С++
8483 / 6150 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
22.12.2015, 02:03 19
Цитата Сообщение от UnityMan Посмотреть сообщение
Someone007, я там выше в пример приводил Билдер. Ему не нужен Visual C++ Redistributable или что-то подобное, насколько я знаю.
Билдер не использует NET (Windows Forms) по этому и зависимостей нет.
Вы можете писать программы на С++ используя MFC или WinApi или Qt и они не будут требовать NET.

Цитата Сообщение от UnityMan Посмотреть сообщение
Где-то я видел, что программа, написанная на C# .NET, гарантированно запустится на любой архитектуре, в отличие от C++. К сожалению, сейчас не могу найти точную фразу по этому поводу? Кто-нибудь что-нибудь про это знает?
Вот может кто-то знающий ещё по этом поводу что-то подскажет.
64 битное приложение не сможет запустится под x32 машиной, если вы про это.

Цитата Сообщение от UnityMan Посмотреть сообщение
искать их слабые места.
Слабое место необходимость знания многих тонкостей и нюансов, дисциплина при написании кода.
Без этого можно долго отлаживать код и как следствие низкая скорость разработки кода.
1
2 / 3 / 1
Регистрация: 17.12.2015
Сообщений: 168
22.12.2015, 03:26  [ТС] 20
К сожалению, цитаты мне найти так и не удалось, но вспомнил о чем речь. Классические Win-32 приложения представляют из себя набор инструкций процессора, заточенных под определенные архитектуры. Но был приведен пример процессорной архитектуры, где приложение, написанное на С++, не сработало, а С#-приложение успешно выполнилось из-за наличия IL-кода.

Такое же возможно?
0
22.12.2015, 03:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.12.2015, 03:26
Помогаю со студенческими работами здесь

Есть ли необходимость в trim
Есть ли необходимость использовать trim когда пробелы удаляю через str_replace(' ','', ' f s ')

STM32F4 - необходимость Vdda
Вечер добрый, господа! Образовалась каша в голове, есть девайс, у него есть цифровое питание,...

Необходимость в классе QAplication
Зачем нужен?Это чета типа iostream в c++,где находятся основные функции,кнопки qt и тд?...

Возникла необходимость восстановить ОС
Здравствуйте! Ноутбук. Со слов владельца, на нем стояла Windows 10 Home. При этом наклейке мелким...

ключевые слова и их необходимость
Ключевые слова ,нужен ли тег "ключевые слова" в коде сайта? что это дает при ранжировании ?я думал...

Функции в пайтон и их необходимость
Я изучаю пайтон на протяжении нескольких месяцев и до сих пор меня терзает один вопрос - зачем мне...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru