Где срачь про то, как C# порвал C++ (и все остальные языки)?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 24.11.17 13:01
Оценка: 2 (1) +1 :))) :)
Я почти год не писал код на C# и внезапно решил освежить знания .NET и C#.
Внезапно уже C# 7.2 в котором:
1) Есть локальные функции (привет всем функциональным языкам)
2) Есть кортежи и деконструкция (привет всем функциональным языкам)
3) Есть паттерн-матчинг (привет всем функциональным языкам)
4) Есть передача структур по ссылке (ref locals) и передача "констант" по ссылке (readonly ref) (привет C++)
5) Есть типы Span и Memory для безопасной работы с блоками памяти (массивами, строками) без аллокаций (привет C++)

Ну и для тех кто ранние версии не видел:
6) async (привет Go и вообще всем языкам)
7) Тип dynamic (привет всем динамическим языкам)
8) Linq (привет python, haskell и другим языкам с list comprehension)
9) generics (привет Go)

Есть вообще хоть один язык, который превосходит C# не по отдельным фичам, а по совокупности?

ЗЫ. Про кроссплатформенность не надо, C# гораздо более кроссплатформенный, чем многие другие языки.
Отредактировано 24.11.2017 13:23 gandjustas . Предыдущая версия . Еще …
Отредактировано 24.11.2017 13:23 gandjustas . Предыдущая версия .
Re: Где срачь про то, как C# порвал C++ (и все остальные языки)?
От: Sharov Россия  
Дата: 24.11.17 13:05
Оценка: +3 -3
Здравствуйте, gandjustas, Вы писали:

И? Кому все это нужно, если кроме венды платформа толком нигде не работает. А сколько там венды в мобайле?
Кодом людям нужно помогать!
Re[2]: Где срачь про то, как C# порвал C++ (и все остальные
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 24.11.17 13:07
Оценка: +1 -1
Здравствуйте, Sharov, Вы писали:

S>Здравствуйте, gandjustas, Вы писали:


S>И? Кому все это нужно, если кроме венды платформа толком нигде не работает. А сколько там венды в мобайле?

У меня сейчас проект asp.net core крутится на линуксовом сервере, а прототип мобильного приложения (Xamarin\C#) запускается на ведроиде и ios.
Единственное где не работает C# — фронтэнд, там typescript заруливает.
Отредактировано 24.11.2017 13:08 gandjustas . Предыдущая версия .
Re: Где срачь про то, как C# порвал C++ (и все остальные языки)?
От: AlexRK  
Дата: 24.11.17 13:20
Оценка: +1 :)
Здравствуйте, gandjustas, Вы писали:

G>Внезапно уже C# 7.2 в котором:

G>1) Есть локальные функции (привет всем функциональным языкам)
G>2) Есть кортежи и деконструкция (привет всем функциональным языкам)
G>3) Есть паттерн-матчинг (привет всем функциональным языкам)
G>4) Есть передача структур по ссылке (ref locals) и передача "констант" по ссылке (readonly ref) (привет C++)
G>5) Есть типы Span и Memory для безопасной работы с блоками памяти (массивами, строками) без аллокаций (привет C++)

G>Ну и для тех кто ранние версии не видел:

G>5) async (привет Go и вообще всем языкам)
G>6) Тип dynamic (привет всем динамическим языкам)
G>7) Linq (привет python, haskell и другим языкам с list comprehension)
G>8) generics (привет Go)

G>Есть вообще хоть один язык, который превосходит C# не по отдельным фичам, а по совокупности?


Ц++ превосходит, я думаю. Я не большой его знаток, насколько я помню: нет пунктов 2, 3, 5, 7, зато есть кроссплатформенность, семантика перемещения, выполнение функций во время компиляции, гораздо более мощные шаблоны — это все _гораздо_ круче. Конечно, и мусора там овер-дохрена, но это уже другой вопрос.
Re[2]: Где срачь про то, как C# порвал C++ (и все остальные языки)?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 24.11.17 13:22
Оценка: :))) :))) :))) :))) :))
Здравствуйте, AlexRK, Вы писали:

ARK>зато есть кроссплатформенность

Кроссплатформенность в .NET уже давно есть, C# гораздо более кроссплатформенный язык, чем C++
Re[3]: Где срачь про то, как C# порвал C++ (и все остальные
От: Sharov Россия  
Дата: 24.11.17 13:26
Оценка: +1 -1
Здравствуйте, gandjustas, Вы писали:

G>У меня сейчас проект asp.net core крутится на линуксовом сервере, а прототип мобильного приложения (Xamarin\C#) запускается на ведроиде и ios.


Не самая большая выборка, согласитесь.
Кодом людям нужно помогать!
Re[2]: Где срачь про то, как C# порвал C++ (и все остальные
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 24.11.17 13:27
Оценка:
Здравствуйте, AlexRK, Вы писали:

ARK>семантика перемещения, выполнение функций во время компиляции

Они не добавляют выразительности языку, все что можно написать на C++ можно написать и без constexpr и std::move, но некоторые вещи могут тормозить чуть больше.


ARK>гораздо более мощные шаблоны — это все _гораздо_ круче

Это мощность для писателей библиотек, но не для программиста приложений.
Отредактировано 24.11.2017 13:30 gandjustas . Предыдущая версия .
Re[4]: Где срачь про то, как C# порвал C++ (и все остальные
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 24.11.17 13:30
Оценка: +1
Здравствуйте, Sharov, Вы писали:

S>Здравствуйте, gandjustas, Вы писали:


G>>У меня сейчас проект asp.net core крутится на линуксовом сервере, а прототип мобильного приложения (Xamarin\C#) запускается на ведроиде и ios.

S>Не самая большая выборка, согласитесь.

А мы все еще про возможности языка или про людей, которые их используют?
Или ты считаешь что программисты на C++ поголовно кроссплатформенный код пишут? Скорее наоборот.
Re[2]: Где срачь про то, как C# порвал C++ (и все остальные языки)?
От: QrystaL Украина  
Дата: 24.11.17 13:31
Оценка:
Здравствуйте, Sharov, Вы писали:
S>кроме венды платформа толком нигде не работает.
Даже на телевизорах уже работает: https://developer.tizen.org/development/tizen-.net-preview/introduction/roadmap
Re: Где срачь про то, как C# порвал C++ (и все остальные языки)?
От: Ведмедь Россия  
Дата: 24.11.17 13:37
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Я почти год не писал код на C# и внезапно решил освежить знания .NET и C#.


G>Есть вообще хоть один язык, который превосходит C# не по отдельным фичам, а по совокупности?


G>ЗЫ. Про кроссплатформенность не надо, C# гораздо более кроссплатформенный, чем многие другие языки.


Не хватает хвостовой рекурсии (или я пропустил ее появление?)
Да пребудет с тобой Великий Джа
Re[3]: Где срачь про то, как C# порвал C++ (и все остальные языки)?
От: AlexRK  
Дата: 24.11.17 13:37
Оценка: :)
Здравствуйте, gandjustas, Вы писали:

ARK>>зато есть кроссплатформенность

G>Кроссплатформенность в .NET уже давно есть, C# гораздо более кроссплатформенный язык, чем C++

Не уверен.
Re[3]: Где срачь про то, как C# порвал C++ (и все остальные
От: AlexRK  
Дата: 24.11.17 13:39
Оценка:
Здравствуйте, gandjustas, Вы писали:

ARK>>семантика перемещения, выполнение функций во время компиляции

G>Они не добавляют выразительности языку, все что можно написать на C++ можно написать и без constexpr и std::move, но некоторые вещи могут тормозить чуть больше.

Про выразительность языка речи не было, речь шла про важные фичи, если я правильно понял.

ARK>>гораздо более мощные шаблоны — это все _гораздо_ круче

G>Это мощность для писателей библиотек, но не для программиста приложений.

Про программистов приложений вроде тоже речи не было.
Re[3]: Где срачь про то, как C# порвал C++ (и все остальные языки)?
От: Sheridan Россия  
Дата: 24.11.17 13:40
Оценка: -6 :)
Здравствуйте, gandjustas, Вы писали:

G>Кроссплатформенность в .NET уже давно есть, C# гораздо более кроссплатформенный язык, чем C++


Да, безусловно, если под кросплатформенностью понимать окноплатформу плюс тепличные условия (с ограничениями в коде) на остальных.
Matrix has you...
Re[2]: Где срачь про то, как C# порвал C++ (и все остальные языки)?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 24.11.17 13:42
Оценка:
Здравствуйте, Ведмедь, Вы писали:

В>Не хватает хвостовой рекурсии (или я пропустил ее появление?)

При наличии циклов не сильно нужна.
Re[5]: Где срачь про то, как C# порвал C++ (и все остальные
От: Sharov Россия  
Дата: 24.11.17 13:49
Оценка: +2
Здравствуйте, gandjustas, Вы писали:

G>А мы все еще про возможности языка или про людей, которые их используют?


Язык отличный, и наверное лучший в мире, но стратегические ошибки, допущенные ранее при развити платформы, могут все это обнулить.
Кодом людям нужно помогать!
Re[4]: Где срачь про то, как C# порвал C++ (и все остальные языки)?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 24.11.17 13:50
Оценка: 3 (1)
Здравствуйте, Sheridan, Вы писали:

S>Здравствуйте, gandjustas, Вы писали:


G>>Кроссплатформенность в .NET уже давно есть, C# гораздо более кроссплатформенный язык, чем C++


S>Да, безусловно, если под кросплатформенностью понимать окноплатформу плюс тепличные условия (с ограничениями в коде) на остальных.

Ты наверное не в курсе:
1) Довольно давно появился .NET Core, который запускается под mac, *nix и windows без ограничений.
2) Довольно давно появился Xamarin, в котором код на C# запускается под windows phone, ios и android
3) Относительно недавно появился .NET Standard с которым ты можешь написать dll на .net и подключить эту dll (без перекомпиляции) к веб-приложению на asp.net core, которое работает на ubuntu и к мобильному приложению на iOS.
4) C electron.net довольно легко сделать кроссплатформенное десктопное приложение на dotnetcore.
Re[4]: Где срачь про то, как C# порвал C++ (и все остальные
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 24.11.17 13:53
Оценка:
Здравствуйте, AlexRK, Вы писали:

ARK>Здравствуйте, gandjustas, Вы писали:


ARK>>>семантика перемещения, выполнение функций во время компиляции

G>>Они не добавляют выразительности языку, все что можно написать на C++ можно написать и без constexpr и std::move, но некоторые вещи могут тормозить чуть больше.
ARK>Про выразительность языка речи не было, речь шла про важные фичи, если я правильно понял.
А что ты счиаешь важными фичами?
ИМХО Важные фичи — которые помогают приложения делать. Меньше кода писать и меньше думать для достижения результата.

ARK>>>гораздо более мощные шаблоны — это все _гораздо_ круче

G>>Это мощность для писателей библиотек, но не для программиста приложений.
ARK>Про программистов приложений вроде тоже речи не было.
Любой язык в первую очередь нужен для разработки приложений.
Re[2]: Где срачь про то, как C# порвал C++ (и все остальные языки)?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 24.11.17 13:55
Оценка: +1
Здравствуйте, Ведмедь, Вы писали:

В>Здравствуйте, gandjustas, Вы писали:


G>>Я почти год не писал код на C# и внезапно решил освежить знания .NET и C#.


G>>Есть вообще хоть один язык, который превосходит C# не по отдельным фичам, а по совокупности?


G>>ЗЫ. Про кроссплатформенность не надо, C# гораздо более кроссплатформенный, чем многие другие языки.


В>Не хватает хвостовой рекурсии (или я пропустил ее появление?)

Вообще в CLR хвостовая рекусрия всегда была. Некоторые компиляторы C# даже использовали, но текущая версия, насколько я знаю, таким не занимается.
Re[3]: Где срачь про то, как C# порвал C++ (и все остальные языки)?
От: Ведмедь Россия  
Дата: 24.11.17 13:57
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Здравствуйте, Ведмедь, Вы писали:


В>>Не хватает хвостовой рекурсии (или я пропустил ее появление?)

G>При наличии циклов не сильно нужна.

Понятно, что можно переделать на циклы, но рекурсия во многих случаях упрощает код и его понимание.
Почти весь список можно заменить(linq, патерн матчинг т.д.), но менее удобно и наглядно
Да пребудет с тобой Великий Джа
Re[5]: Где срачь про то, как C# порвал C++ (и все остальные языки)?
От: Sheridan Россия  
Дата: 24.11.17 13:59
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>>>Кроссплатформенность в .NET уже давно есть, C# гораздо более кроссплатформенный язык, чем C++


S>>Да, безусловно, если под кросплатформенностью понимать окноплатформу плюс тепличные условия (с ограничениями в коде) на остальных.

G>Ты наверное не в курсе:
Пока еще не встречал софта на дотнете под линухом. Ну, кроме жутко тормозящего KeePass (который только стартует секунд 30 на моём i7 с 16Г и ссд). Где же софт, где? В энтерпрайзе? Ну, в энтерпрайзе можно и на брейнфаке, там можно любые условия (в том числе и тепличные) в договоре написать, лишь бы заказчик согласился и платил.
Matrix has you...
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.