LINUX.ORG.RU
ФорумTalks

Почему все учат Python, мне он не нравится. Мне нравится C#

 , , ,


0

1

Почему все учат Python, мне он не нравится. Мне нравится C#, но все учат Python, логично предположить, что в дальнейшем на нем будут написаны тонны говнокода которые придётся кому-то поддерживать, что сделает Python второй Джавой, т.е без работы не останусь. Но мне нравится .NET с Blazor. Почему для веба все тащатся от Джанго, когда там фронт один фиг надо на реакте каком-нибудь бахать. MVC уже никому не продашь.

Перемещено Zhbert из web-development


Ответ на: комментарий от Neresar

freebasic норм тема, у него компилятор на самом себе написан

IMHO лучше все же Mercury, у него больше таргетов:

https://www.elementscompiler.com/elements/mercury/

Write VB-compatible Code, for Any Platform

With Mercury, you will be able to build your existing VB.NET projects, and leverage your Visual Basic™ language experience to write code for any modern target platform. That includes:

.NET, .NET Core, Mono and ASP.NET Core

The Java VM and any device that runs Java code.

Android, both the Java-based SDK and the CPU-native NDK

iOS, macOS, tvOS and watchOS (Cocoa, CPU-native)

Windows (CPU-native)

Linux (CPU-native)

WebAssembly, for web browsers and Node.js

sanyo1234
()

Вот и еще один говнокодер подрос. Вообще-то инструмент (ЯП) подбирается под задачу. А не наоборот, сначала берут отвертку (ЯП), а потом пытаются натянуть сову закрутить гвоздь (сморят на задачу).

anc ★★★★★
()
Ответ на: комментарий от anc

Взаимозаменяемых отверток не бывает? А универсальных языков программирования?

Например, один дотнет язык относительно легко заменяется на другой.

Например, можно написать что-то на C#, а потом переписать или заюзать тоже самое на VB.NET или на IronPython, причем есть даже автоматические конвертаторы для некоторых DotNet языков.

И без разницы из какого языка рулить классическими питонячими либами через интерфейс:

https://libraries.io/nuget/pythonnet_netstandard_py39_linux

из C# или из IronPython, разницы нет.

Вероятно со временем появится (если его еще нет) автоматический конвертатор кода C# <-> IronPython, - это на случай, если на DotNet будут разрабатывать люди, которые уже знакомы с классическим Питоном и им захочется что-то конвертировать из C# и немного переделать для себя или наоборот шарпистам захочется переделать какой-то кастом например IaC код, написанный на IronPython.

А вот для GO уже есть пара вариантов преобразования в DotNet:

https://github.com/GridProtectionAlliance/go2cs

https://docs.elementscompiler.com/Gold/

sanyo1234
()
Последнее исправление: sanyo1234 (всего исправлений: 1)
Ответ на: комментарий от mxfm

А у меня немного другое мнение - фреймворки его тянут. Анализировать задачу/данные быстрее чем на питоне ну никак не получается. Чисто на статистический анализ R лучше, но R вещь в себе. А питон при этом универсальнее. На Java/Scala вроде есть хорошие инструменты, но писать медленнее чем на питоне. А в ML (особенно в случае Research) важно отработать за одно и то же время как можно больше гипотез, чтобы потом сделать продукт который будет адекватно работать. И если у нас на Research, включая очистку и обработку данных уходит больше 50% времени, то питон оправдан. А обычно у нас уходит 90% времени на возню с самими данными и их анализом и только 10% на говнокодинг проды.

peregrine ★★★★★
()
Ответ на: комментарий от sanyo1234

Взаимозаменяемых отверток не бывает?

Бывает.

А универсальных языков программирования?

Не бывает.

anc ★★★★★
()
Ответ на: комментарий от anc

А универсальных языков программирования?

Не бывает.

Хотя бы для своей кастом скриптоты?

На Python ведь много чего делают, и вовсе не потому, что он является хорошим языком программирования, а потому что его активно проталкивают в различные проекты, потому что на нем много кодеров и он якобы простой для изучения?

Значит Python универсальный в области кастом скриптинга?

А чем C# хуже для данной области применения?

Смотрим заодним на:

https://www.cs-script.net/

https://dotnet-shell.github.io/

IMHO для меня синтаксис Python выглядит корявым, и даже намного корявее чем Perl5.

sanyo1234
()
Последнее исправление: sanyo1234 (всего исправлений: 5)
Ответ на: комментарий от mxfm

на ошибках типа ‘pip install: error…’

Учитывая качество некоторых python библиотек для ML, особенно отечественного производства (кто сказал DeepPavlov, Natasha, PyMorphy2 и PyMystem3) для NLP с русским языком, ничего удивительного. Там вполне себе квест найти на какой версии питона и ОС будет нормально работать либа1, либа2 и либа3 чтобы писать код. При том одна библиотека распространяется через pip, другая через conda а третья через Docker. И чтобы было совсем хорошо надо ещё поддержку CUDA в Linux-ах к этому прикрутить, когда 2 библиотеки её цепляют, а третья не хочет.

peregrine ★★★★★
()
Ответ на: комментарий от mxfm

В рассылке python (и других форумах) куча программистов ML и айтишников, которые не знают, как установить библиотеку, почему в «их версии Python нет модуля XXX» и прочих подобных запросов, которые хорошо характеризуют значимость экспертного мнения «большинства людей в ML».

Такого даже в ПХП нет.

Спасибо.

fernandos ★★★
()
Ответ на: комментарий от WitcherGeralt

ЛОРчую. Да и батарейки в питон в узкое место никто не отменял.

peregrine ★★★★★
()
Ответ на: комментарий от fernandos

Все таки IMHO Python lib hell - это еще не самое страшное, потому что отчасти решается с помощью Docker.

Но ужасен синтаксис этого языка :( Т.е. он просто неприятный для кодинга и чтения готового чужого кода IMHO .

sanyo1234
()
Последнее исправление: sanyo1234 (всего исправлений: 1)
Ответ на: комментарий от mxfm

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

peregrine ★★★★★
()
Ответ на: комментарий от sanyo1234

А универсальных языков программирования?

Не бывает.

Хотя бы для скриптоты?

«Скриптота» это не задача. Но раз уж вы заговорили про «сприптоту» вот вам немного её :) https://www.youtube.com/playlist?list=PLdvB7n7RN2UCVb7GnKQu_R-fbQ-laLtkZ

anc ★★★★★
()
Ответ на: комментарий от anc

Я не любитель всей этой абракадабры типа sed, awk и т.п.

RegEx - норм, остальное подобное как-то не очень ...

Мне больше нравится C подобный синтаксис, а так же Clipper/Xbase/VB.NET .

К Bash еще пришлось привыкнуть, тоже терпимо с натяжкой ...

Под скриптотой подразумевается часть задач автоматизации админства и DevOps, IaC и т.п.

sanyo1234
()
Последнее исправление: sanyo1234 (всего исправлений: 2)
Ответ на: комментарий от sanyo1234

Но ужасен синтаксис этого языка :( Т.е. он просто неприятный для кодинга и чтения готового чужого кода IMHO .

Такое, я, как человек, который питон не знает, +- могу разобраться в нём, хотя отступы немного смущают.

fernandos ★★★
()
Ответ на: комментарий от sanyo1234

Он же не полностью состоит из такого. Решили резервировать все имена методов, обрамленные подчёркиванием.

fernandos ★★★
()
Ответ на: комментарий от fernandos

Он же не полностью состоит из такого. Решили резервировать все имена методов, обрамленные подчёркиванием.

Не только лишь всем нравится отсчитывать отступы и количество подчеркиваний ... LOL

Хватит с нас и YAML-а :)

sanyo1234
()
Последнее исправление: sanyo1234 (всего исправлений: 1)
Ответ на: комментарий от sanyo1234

IMHO Python - образцово показательный пример неприятного языка программирования, того, как делать ненадо.

Он «прекрасен» во всем: синтаксис, deploy (lib hell)

К сожалению кроме своей искусственно навязанной сверху популярности и поэтому обилия готовых либ, в которые уже вбуханы $отни нефти :(

sanyo1234
()
Ответ на: комментарий от anc

В мире много всякого ненужно. Но это не повод это ненужно использовать.

По крайне мере синтаксис XSharp менее отвратительный, чем у Python.

sanyo1234
()
Ответ на: комментарий от sanyo1234

Вы сравниваете не сравниваемое. А синтаксис... мальчик девочка, какая в попу разница. Например VBA угробищное уробище, но вовсе не из-за синтаксиса же.

anc ★★★★★
()
Ответ на: комментарий от anc

Вы сравниваете не сравниваемое. ...

Например VBA угробищное уробище, но вовсе не из-за синтаксиса же.

Новый прекрасный мир троллей, которые нахаляву рекламируют продукты Microsoft за счет таких борцов за здравый смысл, как я :) хотя бы в выборе языка программирования с приятным синтаксисом.

VBA не развивается уже 20 лет и при этом, судя по рейтингам, его популярность до сих пор растет ...

VB.NET (особенно RemObjects Mercury) - это более современный язык, и он по своим возможностям мало чем отличается от C# хотя бы 2015-2017 года, но по своей простоте, логичности и самое главное удобству использования выглядит намного более выгодным, чем Python.

А синтаксис... мальчик девочка, какая в попу разница.

Тогда может быть, вам лучше зайдет вот это:

https://en.wikipedia.org/wiki/Brainfuck

???

-,+[ Read first character and start outer character reading loop -[ Skip forward if character is 0 >>++++[>++++++++<-] Set up divisor (32) for division loop (MEMORY LAYOUT: dividend copy remainder divisor quotient zero zero) <+<-[ Set up dividend (x minus 1) and enter division loop >+>+>-[>>>] Increase copy and remainder / reduce divisor / Normal case: skip forward <[[>+<-]>>+>] Special case: move remainder back to divisor and increase quotient <<<<<- Decrement dividend ] End division loop ]>>>[-]+ End skip loop; zero former divisor and reuse space for a flag >--[-[<->+++[-]]]<[ Zero that flag unless quotient was 2 or 3; zero quotient; check flag ++++++++++++<[ If flag then set up divisor (13) for second division loop (MEMORY LAYOUT: zero copy dividend divisor remainder quotient zero zero) >-[>+>>] Reduce divisor; Normal case: increase remainder >[+[<+>-]>+>>] Special case: increase remainder / move it back to divisor / increase quotient <<<<<- Decrease dividend ] End division loop >>[<+>-] Add remainder back to divisor to get a useful 13 >[ Skip forward if quotient was 0 -[ Decrement quotient and skip forward if quotient was 1 -<<[-]>> Zero quotient and divisor if quotient was 2 ]<<[<<->>-]>> Zero divisor and subtract 13 from copy if quotient was 1 ]<<[<<+>>-] Zero divisor and add 13 to copy if quotient was 0 ] End outer skip loop (jump to here if ((character minus 1)/32) was not 2 or 3) <[-] Clear remainder from first division if second division was skipped <.[-] Output ROT13ed character from copy and clear it <-,+ Read next character ] End character reading loop

sanyo1234
()
Последнее исправление: sanyo1234 (всего исправлений: 7)
Ответ на: комментарий от sanyo1234

VBA не развивается уже 20 лет

От уж 4.2

Тогда может быть, вам лучше зайдет вот это:

Пока не попадались задачи для него.

anc ★★★★★
()
Ответ на: комментарий от anc

От уж 4.2

https://en.wikipedia.org/wiki/Visual_Basic_for_Applications#Version_history

Version history

    VBA was first launched with MS Excel 5.0 in 1993. It became an instant success among developers to create corporate solutions using Excel. Inclusion of VBA with Microsoft Project, Access and Word replacing AccessBASIC and WordBASIC respectively made it more popular.
    VBA 4.0 is the next famous release with a totally upgraded version compared to previous one. Released in 1996, it is written in C++ and became an object oriented language.
    VBA 5.0 was launched in 1997 along with all of MS Office 97 products. The only exception for this was Outlook 97 which used VBScript.
    VBA 6.0 and VBA 6.1 were launched in 1999, notably with support for COM add-ins in Office 2000. VBA 6.2 was released alongside Office 2000 SR-1.
    VBA 6.3 was released after Office XP, VBA 6.4 followed Office 2003 and VBA 6.5 was released with Office 2007.
    Office 2010 includes VBA 7.0. There are no new features in VBA 7 for developers compared to VBA 6.5 except for 64-bit support. However, after VBA 6.5/Office 2007, Microsoft stopped licensing VBA for other applications.
    Office 2013, Office 2016, and Office 2019 include VBA 7.1.

Позвольте узнать, что такого нового появилось в синтаксисе VBA 6.3 - 7.x ? И когда был выпущен предыдущий релиз 6.0 ?

sanyo1234
()
Последнее исправление: sanyo1234 (всего исправлений: 1)
Ответ на: комментарий от anc

Пока не попадались задачи для него.

Партия сказала надо, - anc начал брейнфачить :)

Очень мило ...

Галеры - они такие :(

sanyo1234
()
Последнее исправление: sanyo1234 (всего исправлений: 2)
Ответ на: комментарий от sanyo1234

Позвольте узнать, что такого нового появилось в синтаксисе VBA 6.3 - 7.x ?

Пагадите, вы про синтаксис или про развитие?

anc ★★★★★
()
Ответ на: комментарий от anc

Пагадите, вы про синтаксис или про развитие?

Все же развитие языка подразумевает развитие языковых возможностей, а не только добавление совместимости с новым оборудованием с большим объемом памяти и интеграцию в новые версии MS Office.

Иначе такое «развитие» VBA походило бы на интеграцию версии Bash 20 летней давности во все новые дистрибутивы *nix подобных систем, это развитие по вашему?

sanyo1234
()
Последнее исправление: sanyo1234 (всего исправлений: 2)
Ответ на: комментарий от Nervous

Индусско-легионерский не читают, а сразу переписывают, видимо.

WitcherGeralt ★★
()
Ответ на: комментарий от WitcherGeralt

Ага, все дружно пересели на троллейбус из хлебушка и поехали в закат.

Копайте дальше на своем удаве, солнце еще высоко, а мы будем вас использовать из DotNet языков.

sanyo1234
()
Последнее исправление: sanyo1234 (всего исправлений: 1)
Ответ на: комментарий от sanyo1234

IMHO для меня синтаксис Python выглядит корявым, и даже намного корявее чем Perl5.

Очень субъективно. Perl5 вообще-то совершенно нечитаемый язык.

Помню времена популярности Perl. Какое же счастье, что его популярность закатилась очень быстро. У danluu в блоге где-то было про то, как он в Perl программе вставил новую функцию между двух существующих, и они перестали работать. Facepalm.

Python во время Perl5 (версии 1.5.2-2.2) был вообще неотличим от псевдокода. Это сейчас он стал несколько тяжелее восприниматься.

Ну а возвращаясь к вашей любимой теме: C# и вся эта экосистема всегда будет вторичной по отношению к экосистеме, которую они скопировали. Причём и Java и C# были созданы прежде всего ради одной цели: попытаться подмять весь мир под себя, чтобы качать быбло пользуясь монопольным положением. Не получилось ни в том, ни в другом случае, и хорошо.

Заметьте, кроме вас не нашлось ни одного другого энтузиаста всех этих микро-технологий.

emorozov
()
Ответ на: комментарий от anonymous

Это вишфул тхинкинг эксля из пузыря «экосистемы» жабы, привязанной к левой пятке дяди Ларри. Висеть на кукане оракла по мнению эксля лучше чем на кукане майков ;)

slackwarrior ★★★★★
()
Ответ на: комментарий от emorozov

Причём и Java и C# были созданы прежде всего ради одной цели: попытаться подмять весь мир под себя, чтобы качать быбло пользуясь монопольным положением

Санки значит так зохватывали мир... но Билл Джой невовремя дилера сменил и было ему знамение... и словил он бэд трип, и понял что все суета, и сбросил трип-репорт в «Wired», и ушол спасаццо в скит. А Ларри все еще в счастливом неведеньи, что все, приплыли, будущего нет... только тепловая смерть и больцмановский моск. Надо бы ему рассказать, раскрыть глаза, но... он аналитиков лора не читает

Заметьте, кроме вас не нашлось ни одного другого энтузиаста всех этих микро-технологий.

Ты на посты exl посмотри ИТТ :) может, перестанешь «еморозить» из другого пузыря

slackwarrior ★★★★★
()
Последнее исправление: slackwarrior (всего исправлений: 2)
Ответ на: комментарий от WitcherGeralt

Как писатель, владеющий словом, умеющий выражаться кратко и ёмко

«Стараюсь быть кратким - становлюсь непонятным!» (С) кто-то из античных классиков, которых ты не читал (упоминается Тарасом Бульбой у другого классика, попозже :) потом еще благодарные потомки афоризмов нарвали из контекстов, которые все повторяют как попугаи (и про краткость и емкость), не владея предметом, не зная исторического контекста и окончаний «крылатых фраз», которые разворачивают смысл на 180 градусов.

slackwarrior ★★★★★
()
Последнее исправление: slackwarrior (всего исправлений: 1)
Ответ на: комментарий от EXL

Поэтому C# в долгосрочной перспективе проиграет

В долгосрочной перспективе владельцы получают доступ к более сложным веществам или взламывают свою допаминовую петлю подкрепления без костылей и продают все это на распродаже все по $10 следующему мальчику из хорошей семьи, который конечно всего долбился сам. И так покругу :)

slackwarrior ★★★★★
()

Почему все учат Python, мне он не нравится.

Никто его не учит. Ну то есть им пользуются многие, но в целом не то чтоб он прям впереди планеты всей.

Мне нравится C#

Потому что ты болен. Шарп это плюсы современности, такое же рандомное говно для трехруких четырехглазых задротов, только еще и моноплатформенное.

Igron ★★★★★
()
Ответ на: комментарий от emorozov

Заметьте, кроме вас не нашлось ни одного другого энтузиаста всех этих микро-технологий.

У C# почти треть поклонников от количества программистов в целом:

https://insights.stackoverflow.com/survey/2021#section-most-popular-technolog...

Но энтузиаст один я ... Кстати мне VB.NET нравится больше, чем C# так-то.

sanyo1234
()
Ответ на: комментарий от sanyo1234

ого круто!большое спасибо!не слышал про такой

Neresar ★★
()
Ответ на: комментарий от sanyo1234

Но энтузиаст один я … Кстати мне VB.NET нравится больше, чем C# так-то.

Я имел в виду на этом форуме. :)

Потому что тащить всё это безобразие в Linux — зачем? Как по мне, так есть гораздо более интересные и подходящие для платформы альтернативы.

У меня установлено только одно приложение на C# — GUI для VPN, да и то настолько корявое и инородно выглядящее, что хочется настроить однажды OpenVPN или WireGuard, да выбросить его.

emorozov
()
Ответ на: комментарий от Igron

шапка давно уже трижды продалась, прогнила и умерла

А ты напялил ее на себя, здоров ли ты?

sanyo1234
()
Ответ на: комментарий от emorozov

У меня установлено только одно приложение на C# — GUI для VPN, да и то настолько корявое и инородно выглядящее, что хочется настроить однажды OpenVPN или WireGuard, да выбросить его.

Это лишь показатель того, что ты громе г**на ничего из мира DotNet не видел и не знаешь, т.е. узость твоего кругозора.

sanyo1234
()
Ответ на: комментарий от emorozov

Потому что тащить всё это безобразие в Linux — зачем?

DotNet - безобразие? Почему?

Тащить нужно, потому что безобразием является Windows, а не DotNet, нужно конфетку DotNet отделить от мух Шиндоуз.

sanyo1234
()
Последнее исправление: sanyo1234 (всего исправлений: 2)

C# умеет запускаться напрямую из исходника без явного процесса компиляции/сборки?

X512 ★★★★★
()
Ответ на: комментарий от X512

C# умеет запускаться напрямую из исходника без явного процесса компиляции/сборки?

Судя по:

https://en.wikipedia.org/wiki/Comparison_of_application_virtualization_software

умеет по крайне мере в Mono.

sanyo1234
()
Последнее исправление: sanyo1234 (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.