Другие языки программирования и технологии

C# или java?

Какой язык проще и производительней? С чего лучше начать? Я знаю пайтон и чуть-чуть учил голэнг. Я хотел бы занимать тестированием или мобильной разработкой
Неправильная постановка вопроса. Выбор между этими языками зависит главным образом от платформы, с которой будешь работать. C# - это если собираешься иметь дело только с Микрософт. Java - весь остальной мир.

C#, конечно, номинально перенесён на другие платформы, но до полноценной работы на них ему, как до Луны пешком.

Производительность твоих программ зависит главным образом от асимптотики твоих алгоритмов, а не от языка, по крайней мере, пока речь идёт об этих двух. Язык влияет только на константные факторы. Оба языка исполняются виртуальной машиной (каждый - своей, JVM и .ΝΕΤ, соответственно). В части константных факторов производительности, JVM - более продвинутая вещь, чем .NET, т.к. её сообщество шире, в неё вложено больше мозгов, и на решения меньше влияли факторы корпоративной политики, чем у Мелкомягких. Заметим, что и реализаций JVM на рынке несколько ( https://en.wikipedia.org/wiki/List_of_Java_virtual_machines ), в т.ч. специализирующихся на высокой производительности в разных условиях. Биллу такое многообразие и не снилось, он сам изолировал свой сишарп.

Выбор Java, кроме того, открывает доступ к десятку популярных языков на jvm-платформе: Kotlin, Scala, Groovy, Jython (JVM-Python), Clojure (JVM-LISP), Frege (JVM-Haskell) и др. У Микрософта есть только F# с "единственно верными" решениями от Билла. Т.е. язык, обречённый на отставание, хотя, курс на функциональщину они в целом выбрали верно. Сама Java, как язык, конечно, тоже обречена: беспощадный дизайн комитета неуклонно превращает её в очередной Кобол, т.е. язык, битком набитый разрозненными и неортогональными фичами. Но благодаря тому, что язык отделён от среды исполнения, есть возможность писать на других JVM-языках, в т.ч. и значительно более высокоуровневых, при этом сохраняя доступ к библиотекам Java.
Soverjan Soverov
Soverjan Soverov
87 571
Лучший ответ
Производительность - идентичная.
Область использования - идентичная.
Сложность - C# сложнее в обучении и проще в написании кода, когда уже язык знаешь.

C# создавался Microsoft, чтобы вытеснить Java из Windows-разработки. Так что при создании C# учли недостатки Java, но C# при этом получился существенно больше.
c# производительный, сложный, java легкий, отсталый
Артемий.... . Что лучше для автотестов?
java легче на C# можно запарится