LINUX.ORG.RU

Python vs C#

 ,


0

6

Подскажите, что на ваш взгляд проще для изучения новичку Python или C#? А может вообще С++ (Чтобы раз ввязался, то на перспективу)? Цель, можно так сказать в параллель: реализация методик в программе и для тестирования программ. Читал, что именно для тестирования подходит Phyton, но если его применять для программ, то с окнами целый геморрой, замучаешься их описывать. Но при этом вроде как и С# используют.


Учитывая что твой интерес только денежный, то учи то что скажут учить на твоей стажировке.

MOPKOBKA ★★★★
()

Питон. С окнами там все нормально. С++ гораздо сложнее, более того - питон очень хорош именно в плане изучения ООП.

С# вообще ненужен:-)

AntonI ★★★★★
()

Чтобы раз ввязался, то на перспективу

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

Tark ★★
()

Если первый язык, то что угодно, главное не C# и не Java. Эти вызывают необратимые повреждения мозга, если выучены в качестве первого языка, и потом тебя будет чему-то ещё научить сложнее, чем совсем «нулевого» новичка. Вторым-третьим можно, но точно не первым. А вместо C++ присмотрись к C лучше. Он-то точно навека, а вот у C++ перспективы не столь уж прям и «наверняка». Там и Rust маячит, да и вообще… А главное, C уж явно намного проще выучить, чем кресты. Ну а Python в качестве чего попроще — да, вполне вариант.

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

Конечно, вот только онли jquery фронтендер это макака выкрикивающая непонятные слова, а реакт сейчас нужен только на поддержке легаси, а если выбирать между легаси фронтендом и тем чтобы тебе на спине вырезали мелкими буквами полное собрание сочинений Ленина, лучше выбрать второе, боль будет не настолько долгой и мучительной. И в отличие от легаси фронтенда оно действительно может пригодится в жизни.

Tark ★★
()
Последнее исправление: Tark (всего исправлений: 1)

новичку

С++

Плохой путь.

с окнами целый геморрой

Что имеется ввиду? Интерфейсы? Начинать программировать с окошек - такая себе идея. Если речь про ОС, то винда для программирования - тоже так себе затея.

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

Ничего плохого не вижу, главное что бы работы мало а денег много. Не всем интересны новые технологии. Вот ОП например явно просто ради денег хочет изучать языки.

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

а реакт сейчас нужен только на поддержке легаси

С ангуляром не перепутал?

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

Я ведь написал, что «пока». а там как пойдет. Благо есть основная работа. А это пока ради интереса. Но программистом вряд ли буду. Насчет Python ясно. Тогда на нем и остановлюсь.

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

Насчет Python ясно. Тогда на нем и остановлюсь

В самом деле, хороший выбор. Тем более если «программистом вряд ли буду», тогда точно не прогадаешь, а в итоге таки станешь

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от cobold

Что не так? Именно после питона зачастую у людей возникает понимание как именно шуршит ООП в плюсах, говорю как препод со стажем овер 20 лет.

Что касается шарпов - он актуален только для бывших лишперов вроде @lovesan у которых все когнитивные возможности внезапно ушли на попытки понять тайны вселенной путем просмотра научпоповских подкастов;-)

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

ООП в питоне чрезвычайно примитивен и ограничен, нет даже 5% всех фишек из C++. Мне приходилось страдать с кодом проектов, где ООП сиплюсплюсное врубали на 200%, по сравнению с таким ООП питона вообще похоже на struct с методами

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от CrX

у C++ перспективы не столь уж прям и «наверняка». Там и Rust маячит, да и вообще…

Вряд ли что то вышибет плюсы из его ниши, увы. Слишком обширная кодовая база, слишком много народу его знает (а раст не знает).

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

AntonI ★★★★★
()
Последнее исправление: AntonI (всего исправлений: 1)
Ответ на: комментарий от I-Love-Microsoft

Сам по себе питон очень гибкий ЯП, так что возможностей его ООП хватает за глаза и за уши.

И я говорю не про сравнение мощи ООП а про понимание того как это ООП под капотом работает. То что в плюсах скрыто в питоне лежит на поверхности, кроме того в питоне есть четкая разница между понятиями объект/экземпляр класса а в плюсах эта разница замылена по очевидным причинам.

AntonI ★★★★★
()
Последнее исправление: AntonI (всего исправлений: 1)

Если ты хочешь преподавать CS студентам, выбирай лучше C# - он больше похож на алгоритмы, написанные от руки, или блок-схемы и т.п.

Если для выгоды, пиши на том языке, какой больше подходит к задаче.

Я вот вообще не программист, а пришлось и питон, и c#, и c, и много чего осваивать.

Сейчас основные инструменты sql и питон, но всё равно пишу-то алгоритмы и работаю с множествами!

Shadow ★★★★★
()
Последнее исправление: Shadow (всего исправлений: 1)
Ответ на: комментарий от I-Love-Microsoft

Будто struct с методами не покрывает 90% задач ооп :)

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

Поживём увидим, как говорится.

Слишком обширная кодовая база, слишком много народу его знает

Так-то про Fortran и Cobol похожее говорили. В какой-то своей нише каждый из них до сих пор жив, конечно. Но всё же. Легази, ясное дело, никуда не денется, а вот насколько C++ в принципе будет востребован для новых проектов — видно будет. Мне кажется, сейчас его доля именно в новых проектах, медленно но верно снижается.

CrX ★★★★★
()

новичку

Я начинал с машкодов для РК86, потом ассемблер для Z80, затем васик, затем масм32, затем це, затем уже только шарп.

Chord ★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Мне приходилось страдать с кодом проектов, где ООП сиплюсплюсное врубали на 200%, по сравнению с таким ООП питона вообще похоже на struct с методами

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

Norgat ★★★★★
()

Python однозначно.

C# довольно сложен. А вот стандарт C++, объемом >2000 страниц, не влезет в голову даже Страуструпу. Плохой, негодный вариант :/

tr0_
()

ИМХО, лучше взять python. Самый низкий порог входа для новичка с точки зрения требований к пониманию что там внутри.

C# - это больше для задач, где ты хорошо понимаешь что ты хочешь и что это за инструмент (инструмент хороший сам по себе).

А может вообще С++ (Чтобы раз ввязался, то на перспективу)?

Сплюнь. C++ это язык для тех кто хорошо понимает что и зачем он хочет сделать, это лет 30 назад он был шагом вперед, но не сейчас.

То, что на python человек научится за месяц делать, на C# - за пару, а на C++ - ну за полгода-год.

Читал, что именно для тестирования подходит Phyton

Для тестирования REST API - да. Для тестирования фронтенда - нет.

PS Вообще, можно рассмотреть JavaScript. Он умеет все что нужно для старта и, в своей базе, очень прост и похож на Python. Но имеет более осязаемые результаты.

Norgat ★★★★★
()
Последнее исправление: Norgat (всего исправлений: 1)

если встаёт вопрос что учить Python или «другой_язык», то правильный ответ: сначала «другой_язык» потом уже питон.

в твоём варианте: учи C#

MKuznetsov ★★★★★
()

C# - это Windows. Немного неуместный вопрос. Шарп, конечно, красив, но есть в нем даже не ложка дегтя, а ушат говна в виде LINQ… Я могу и в питоне назвать много некрасивого, но попробуй все… Там решишь

rtxtxtrx ★★
()

Опиши цель точнее.

Шарп подходит для игр и вендософта. Пистон подходит для ml и с некоторой натяжкой веба. На пистоне проще писать но проще говнокодить. Шарп быстрее работает. В остальном один хрен

upcFrost ★★★★★
()

Цель, можно так сказать в параллель: реализация методик в программе и для тестирования программ

Если цель именно так сформулирована, то однозначно Python.

А если цель — устроиться на работу, то нужно отталкиваться от сферы деятельности. Упомянутые ЯП используются для разного, и тебе вряд ли попадётся вакансия, где нужны одновременно C# и python.

то с окнами целый геморрой, замучаешься их описывать

Всё зависит от используемого GUI тулкита. Как в прочем и с C#, только в питоне выбор намного богаче.

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

Шарп подходит для игр и вендософта.

Не только. В основном его используют для бэкэнда, в нише примерно эквивалетной Java, и уже давно всё нативно работает на Linux.

Игровой движок Unity используют не только для игр, но и для неигровых задач. У меня знакомый работал над беспилотными автомобилями, у них там Unity использовался.

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

Пистон подходит для ml

А если говорить точнее, то ML/Data Science/разного рода анатилитика. Тут есть ворох профессий с разным количеством матана и программирования.

и с некоторой натяжкой веба.

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

annulen ★★★★★
()

Для быстроденег - руби и питон. Кресты, шарп, ява итп слишком сложные, там мотивация нужна большая, нежели деньги.

skidphysic
()

С моей Т.з на самом деле C#

я сам его выучил одним из первых языков, м.б. после паскаля и сишки

он в базе реально простой и помогает понять много концепций современной разработки, ну там начиная с ООП и заканчивая там вообще всяким

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

name(нечто) ага

без паскаля|c С# достаточно большой что бы новичёк при самостоятельном изучение не научившись в базу(ака +/- ака императивщина и элементами апликативного ;) ) поражал окружающих вершинами прошлого(ака *///log/sqrt/exp ака ооп ling async etc) постоянно совершая +-1

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

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

fluorite ★★★★★
()

Цель, можно так сказать в параллель: реализация методик в программе и для тестирования программ.

Щито?

MoldAndLimeHoney
()

Если программировать под Windows и с Visual Studio, то C# - лучший выбор для создания ПО «с окнами», так как есть удобный редактор форм. В Linux, наверное, что-то близкое в Лазарусе есть. Для Qt тоже что-то есть, но не такое удобное (было так, когда я смотрел).

С другой стороны, программирование «окошек» текстом более гибкое и иногда даже более быстрое, когда окон много или когда наработки одного проекта переносите в другой. Соответственно, этот навык может пригодится. Но для развития такого навыка начинающему, вероятно, лучше начать с html + JavaScript, а не с Python или C#.

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

Пистон подходит для ml

А если говорить точнее, то ML/Data Science/разного рода анатилитика. Тут есть ворох профессий с разным количеством матана и программирования.

И мне вот интересно почему? Ощущение что:

  1. на питоне часто пишут интерфейс ко всяким числодробильным пакетам, т.е. исторически сложилось

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

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

Я пытался тыкать в шарп палочкой ровно один раз - коллегам надо было прикрутить наш плюсовый модуль к своему кадавру и я взял для этого SWIG. Мне активно не понравилось, больше всего поразило выделение отдельного файла под каждый чих в жёстко иерархичной структуре каталогов.

Ну и синтаксис конечно - странная помесь ужа с ежом а сверху бантики и рюшечки. Видно что делал MS с их любимыми преподвыпертами - а давайте слэш в другую сторону в баше загнем! - Зачем?! - А что бы не как в юникс!

Связка питона с плюсами закрывает почти все возможные задачи. Если хочется все делать в рамках одного ЯП и нет жёстких требований к производительности есть Ява. Куда тут можно втыкнуть шарпы ума не приложу:-)

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

Ну и синтаксис конечно - странная помесь ужа с ежом а сверху бантики и рюшечки.

В этом смысле C# не хуже Python или C++. Это не аргумент.

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

1.

python особливо с repl (ipython|bpython|ptpython....) и !-механикой истенаго unix-way - это убер комбо - тем более в том же ipython можно что бы по открытию в редакторе тот же code открывался что прям фул-хаус

2. при всех M$ практиках в вендорлокин и прочий EEE C# и лучше и честенее жабы больше чем гадюка честнее жабы

ибо жаба оказалась отличный cobol-эрзац что sun уже давно не солярис а жабка ещё как век будет причинять добро банкам - в отличии от этого успеха C# особливо в нонешней(ужо как лет 10 ) инкарнации dotnet - обычная платформа с возможностью однострочности :)

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

и да шарп не нужен

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

Почему? Уже лет шесть дотнет кросплатформенный. Плюс ещё сразу тебе крутейший ORM в виде Entity Framework, офигенный язык LINQ (им можно не пользоваться, а можно использовать его методы-расширения на любых IEnumerable).

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

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

Плюсовый синтаксис ужасен но является прямым следствием того что ЯП проектирования давно, имеет наследие С и в ЯП слишком много возможностей.

У шарпов же ни то ни сё. Вроде как плюсы со всеми их косяками, но вроде что то исправили, но косяки остались. Но при этом возможности и близко не плюсовые…

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

Питоновский синтаксис кристально прозрачен и минималистичен

Был. В третьей версии напихали «бантиков и рюшечек». Если все последние нововведения использовать, то будет страшнее, чем C#. А если не использовать, так и в C# можно какое-то подмножество синтаксиса использовать.

но вроде что то исправили, но косяки остались

Что осталось? Есть примеры?

Kogrom
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.