C# vs Python
От: qwp Россия  
Дата: 06.03.18 14:02
Оценка: 1 (1) :))
Кратко:
1) Шарп – строго типизированный элегантный с-образный язык, предназначенный для объектно-ориентированного программирования. Не в рамках этого боя, но чтобы было понятно мое мировоззрение, скажу, что, на мой взгляд, С++ не столь элегантно, как Java или С# выглядит через призму объектно-ориентированного подхода.
2) Пайтон – язык с динамической типизацией и кучей удобных фишек.

На пайтоне цель зачастую достигается за меньшее количество букв, чем на C#.
Пример1. получение серии целых из строки ввода.
            Console.Write("Input series of numbers: ");
            string s=Console.ReadLine();
            string[] token = s.Split();
            inp = Array.ConvertAll(token, int.Parse);

аналогично:
print("Input series of numbers: ")
inp=list(map(int,input().split()))



Пример2. Вычисление одинаковых (с первым) элементов в массиве
int cnt = myarr.Count(p => p == myarr[0]);


аналогично
myarr.count(myarr [0])


далее
Хотя пайтон язык интерпретируемый, делать на нем отладку намного геморнее, чем на C#, языке компилируемом. Нельзя во время выполнения программы поменять код пайтона и продолжить выполнение программы дальше. На C# можно. По аналогии с VB (интерпретатор) я ожидал, что на пайтоне все будет удобнее, чем на C#, но был не прав.

Пока мое мнение таково, что для групповой разработки крупных проектов C# предпочтительнее пайтона.
Для спортивного программирования пайтон подходит лучше, чем C#

Можно писать и дальше, но пока хватит, хотелось бы узнать ваше мнение.
Буду благодарен, если аргументировано подправите мое мировоззрение.
Re: C# vs Python
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 06.03.18 14:19
Оценка: +1
Здравствуйте, qwp, Вы писали:

qwp>Можно писать и дальше, но пока хватит, хотелось бы узнать ваше мнение.

qwp>Буду благодарен, если аргументировано подправите мое мировоззрение.

1. На Питоне здорово писать функциональные тесты.
2. Питон значительно потеснил Матлаб в области научных вычислений.
Re: C# vs Python
От: neFormal Россия  
Дата: 06.03.18 14:45
Оценка: -4 :)
Здравствуйте, qwp, Вы писали:

qwp>Хотя пайтон язык интерпретируемый, делать на нем отладку намного геморнее, чем на C#, языке компилируемом.


пользоваться дебаггером — это вообще геморрой.

qwp>Нельзя во время выполнения программы поменять код пайтона и продолжить выполнение программы дальше.


можно. это ж интерпретатор.

qwp>Пока мое мнение таково, что для групповой разработки крупных проектов C# предпочтительнее пайтона.


для разных проектов разные языки.
питон проще, наглядней, позволяет делать элегантные решения. шарпы — это абстракции и фабрики абстрактных фабрик.

qwp>Для спортивного программирования пайтон подходит лучше, чем C#


скорее, наоборот. в спорте решает скорость.
...coding for chaos...
Re: C# vs Python
От: Privalov  
Дата: 06.03.18 14:46
Оценка:
Здравствуйте, qwp, Вы писали:

qwp>Буду благодарен, если аргументировано подправите мое мировоззрение.


Десять лет назад мнение одного коллеги было таким:

Что я могу сказать... В печку

Интересно, изменилось ли оно.
Re[2]: C# vs Python
От: qwp Россия  
Дата: 06.03.18 15:49
Оценка:
Здравствуйте, neFormal, Вы писали:

qwp>>Нельзя во время выполнения программы поменять код пайтона и продолжить выполнение программы дальше.

F>можно. это ж интерпретатор.

А можно поподробней? В Пичарме я такой возможности не нашел.

qwp>>Для спортивного программирования пайтон подходит лучше, чем C#

F>скорее, наоборот. в спорте решает скорость.

Да скорость, но не интерпретатора, а программиста. А для программиста скорость — это количество буков в минуту.
Отредактировано 06.03.2018 15:51 qwp . Предыдущая версия .
Re[3]: C# vs Python
От: neFormal Россия  
Дата: 06.03.18 15:52
Оценка:
Здравствуйте, qwp, Вы писали:

qwp>>>Нельзя во время выполнения программы поменять код пайтона и продолжить выполнение программы дальше.

F>>можно. это ж интерпретатор.
qwp>А можно поподробней? В Пичарме я такой возможности не нашел.

а я хз, есть ли там.
а так у питона есть средства для правки байткода.

qwp>>>Для спортивного программирования пайтон подходит лучше, чем C#

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

это уже не спорт, а соревнования машинисток.
в рамках спортивного погромирования выгода по скорости выполнения будет полезней.
...coding for chaos...
Re: C# vs Python
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 06.03.18 16:01
Оценка: -8 :)
Python — это язык здорового человека, а
C# — приверженца микрософт

Re[2]: C# vs Python
От: qwp Россия  
Дата: 06.03.18 16:10
Оценка:
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>Python — это язык здорового человека, а

ЭФ>C# — приверженца микрософт

ЭФ>Image: p1882hgu03nbp10i2jlt1bl72am9.jpg


Шарп и под пингвином работает. Хотя, конечно, непонятно, зачем
А пайтон вообще вездеосен, и даже в кино снимался:

…Святой Аттила поднял гранату и сказал: «Господь, благослови эту Гранату, которая может по Твоей милости разнести врагов Твоих на кусочки!» И Господь усмехнулся. И люди пировали, вкушая барашков и ленивцев, и карпов, и анчоусы, и орангутангов, и крыланов, и… И Господь сказал: «Прежде всего выдерни священную чеку, затем сосчитай до трех, не больше и не меньше. Три есть число, до которого ты должен сосчитать, и это число должно быть три. До четырех ты не должен считать, и до двух тоже, если только ты не считаешь до трех. До пяти считать не надо. Когда число „три“, являющееся третьим числом, будет достигнуто, ты должен бросить эту Священную Гранату в своих врагов, и все они после этого тут же сгинут.

Re[4]: C# vs Python
От: qwp Россия  
Дата: 06.03.18 16:12
Оценка:
Здравствуйте, neFormal, Вы писали:

F>а я хз, есть ли там.

F>а так у питона есть средства для правки байткода.

байткода?!
Re[3]: C# vs Python
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 06.03.18 16:22
Оценка:
qwp>Шарп и под пингвином работает.

Только лицензий на половину системных библиотек нет. На System.AddIn например...
Re[3]: C# vs Python
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 06.03.18 16:41
Оценка:
Здравствуйте, qwp, Вы писали:

qwp>Шарп и под пингвином работает. Хотя, конечно, непонятно, зачем

Ажуры, докеры под пингвинов
и солнце б утром не вставало, когда бы не было меня
Re: C# vs Python
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 06.03.18 16:49
Оценка: +2
Здравствуйте, qwp, Вы писали:

qwp>Кратко:

qwp>1) Шарп – строго типизированный элегантный с-образный язык, предназначенный для объектно-ориентированного программирования. Не в рамках этого боя, но чтобы было понятно мое мировоззрение, скажу, что, на мой взгляд, С++ не столь элегантно, как Java или С# выглядит через призму объектно-ориентированного подхода.
qwp>2) Пайтон – язык с динамической типизацией и кучей удобных фишек.

qwp>На пайтоне цель зачастую достигается за меньшее количество букв, чем на C#.

qwp>Пример1. получение серии целых из строки ввода.
qwp>
qwp>            Console.Write("Input series of numbers: ");
qwp>            string s=Console.ReadLine();
qwp>            string[] token = s.Split();
qwp>            inp = Array.ConvertAll(token, int.Parse);
qwp>



s.Split().Select(s=>int.Parse(s)).ToArray();


Можно прикрутить кучу расширений и получить
inp=list(map(int,input().split()))


Это не проблема
и солнце б утром не вставало, когда бы не было меня
Re[4]: C# vs Python
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 06.03.18 16:50
Оценка: +1
Здравствуйте, neFormal, Вы писали:

F>это уже не спорт, а соревнования машинисток.

F>в рамках спортивного погромирования выгода по скорости выполнения будет полезней.

В Питоне есть numpy, scipy, pandas, matplotlib. Что явно ускорит работу и программиста и решения.
Re: C# vs Python
От: AlexRK  
Дата: 06.03.18 16:57
Оценка:
Здравствуйте, qwp, Вы писали:

qwp>На пайтоне цель зачастую достигается за меньшее количество букв, чем на C#.


Скорее именно букв, но не значимых лексем.

qwp>Пример1. получение серии целых из строки ввода.


    Console.Write("Input series of numbers: ");
    var inp = Console.ReadLine().Split().Select(int.Parse).ToArray();


qwp>Пример2. Вычисление одинаковых (с первым) элементов в массиве

qwp>аналогично
qwp>
qwp>myarr.count(myarr [0])
qwp>


А как на питоне будет, если надо количество отличных от первого элементов?
Re[2]: C# vs Python
От: hi_octane Беларусь  
Дата: 06.03.18 17:01
Оценка: +2
S>
S>s.Split().Select(int.Parse).ToList();
S>


Если, как в телеграммах, каждый символ стоит денег, то можно ещё пяток убрать
Re[4]: C# vs Python
От: hi_octane Беларусь  
Дата: 06.03.18 17:06
Оценка:
ЭФ>Только лицензий на половину системных библиотек нет. На System.AddIn например...
А ею кто-то реально пользовался? А то столько лет в C# просидел, а всё что было нужно узнал о ней из поста Sinix'a
Автор: Sinix
Дата: 30.05.16
Re[5]: C# vs Python
От: neFormal Россия  
Дата: 06.03.18 17:45
Оценка:
Здравствуйте, qwp, Вы писали:

F>>а я хз, есть ли там.

F>>а так у питона есть средства для правки байткода.
qwp>байткода?!

сюрпрайз!
...coding for chaos...
Re[5]: C# vs Python
От: neFormal Россия  
Дата: 06.03.18 17:46
Оценка:
Здравствуйте, Nuzhny, Вы писали:

F>>это уже не спорт, а соревнования машинисток.

F>>в рамках спортивного погромирования выгода по скорости выполнения будет полезней.
N>В Питоне есть numpy, scipy, pandas, matplotlib. Что явно ускорит работу и программиста и решения.

да, я в курсе.
но это опять же мало про спорт. да и в других языках тоже есть библиотеки.
...coding for chaos...
Re[6]: C# vs Python
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 06.03.18 18:03
Оценка:
Здравствуйте, neFormal, Вы писали:

F>да, я в курсе.

F>но это опять же мало про спорт. да и в других языках тоже есть библиотеки.

В других — есть. В шарпе — нет.
Re[2]: C# vs Python
От: qwp Россия  
Дата: 06.03.18 18:07
Оценка:
Здравствуйте, AlexRK, Вы писали:
ARK>А как на питоне будет, если надо количество отличных от первого элементов?
если неуникальных, то от длины массива отнять цифру из топика, если уникальных, то
len(set(myarr))-1
Отредактировано 06.03.2018 18:15 qwp . Предыдущая версия .
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.