|
55 / 13 / 2
Регистрация: 26.10.2014
Сообщений: 1,107
|
|
C# vs Java в 2020. Что выбрать?22.04.2020, 11:10. Показов 24797. Ответов 191
Метки нет (Все метки)
Приветствую.
Учусь на 1 курсе технического вуза. На 1 курсе у нас C. Я на него забил, просто написал программу на C++, предъявил преподу, мол я шарю, и все. Для работы избрал Python/Django. Интересует удаленка, желательно на Европейского или Американского работодателя. Под собственные задачи не хватает нормального языка программирования. Что значит нормального? Python держится на библиотеках. Динамическая типизация просто? Увольте. Я не рискнул бы писать крупный (не веб) проект на Python. Почему? Потому что большинство ошибок вылавливаются во время работы самого кода. Вот вам и динамическая типизация, и интерпретация. Посмотрите, как используется язык. В веб проектах, потому что Django надежен. Как по мне Python+Django много лучше PHP, да хотя бы и из-за Django Rest. Но кроме веба, Big data, машинного обучения и автоматизации, Python нигде не применяется. Игры, крупные приложения, как правило, Python страхует C++. А скорее, он работает внутри него. Ладно, окей, под Windows игру написать можно. Но вдруг пришла идея запрограммировать что-то под Android. Смотрим. Kivy. Пробуем и убеждаемся, что тут и выходит, молотком вкручиваем лампочку, никак иначе. В общем, нужен второй язык. Язык, где якобы больше кода и т.д, но который по факту надежнее, и работать будет производительнее, и ошибки отдавать на компиляции. Понятно, что C++/C#/Java. Иного не дано. Посидев, повздыхав, я выкинул C++ в помойку. Причины: 1) Когда делал на C++ работу для универа, 6 часов убабахал на это. На установку VS, на подключение QT, на изучение возможностей для написания простого текстового редактора с менюшкой, где открыть, сохранить и выход, потом еще это не компилировалось из-за ошибок, связанных с библиотекой... В общем, 6 часов. Если такое будет каждый раз с новой библиотекой... 2) Пообщался с C++ разработчиками. Если проект, который на C#/Java пишется за неделю/две, на C++ я буду пилить 3 месяца... 3) Удовольствие от разработки самого алгоритма программы. Логики программы. Но никак не от работы с памятью и прочими заморочками на низком уровне. Пусть компилятор сделает, как надо, нежели я где-то допущу ошибку, в одном месте, а потом из-за нее будет ошибка на несколько окон, и за ней многочасовой поиск места с ошибкой. В итоге, C# vs Java. Учитывая, что ранее я работал с C#, начал читать всякие статьи "C# vs Java". На форумы тоже писал, если кто помнит. Но моя главная цель была заработок. Сейчас же разработка приложений по моим интересам. Почитав понял, что никакого четкого вывода нет. Прошло время, когда C# был лишь под Windows. С одной стороны, C# круче. Развивается, Microsoft кидают туда все, что нужно и не нужно. С другой стороны. Давайте посмотрим правде в глаза. Где сейчас применяется C#? Под Windows. Все сервера на Windows Server. Какие приложения (не игры) разработаны под Android с C#? Я не знаю таковых. Исследуя рынок понимаем, что по Java и вакансий больше, и зарплаты выше. Естественно, зарплаты то у синьоров. У джунов и мидлов примерно одинаково, но Java таки немного выше. А открывая вакансии я понимаю, что меня не ожидает с C# карьера. Ибо не сдался мне ASP.NET, если я уже на Django. Других вакансий нет. У Java тут все, что хочешь. И веб, и сервера, и приложения под Android. Но есть еще 2 момента: 1) .NET Foundation. Кроме того, планируется объединить .NET и .NET Core. Выстрелит ли это? Возможно. Но я не думаю, что все сразу бросятся переписывать сервера с Java на .NET, а кто сидел на Windows Server будут переписывать под Linux; 2) Kotlin. Всей душенькой ненавижу этот язык, и не спрашивайте, почему. А сейчас много где его используют наравне с Java, и вместо Java. Открываем сравнения производительности, и понимаем, что по производительностью C# давно обогнал Java. В общем. Уважаемые девелоперы. Желательно те, кто знаком и с той и с той технологией. Озвучьте пожалуйста ваше мнение по вопросу "C# vs Java в 2020. Что выбрать?". Как следует делать выбор? На что ориентироваться? На что обратить внимание? В общем все возможное и не возможное по этой теме. C# и Java очень и очень схожи, но хочется для себя провести между ними различие, дабы выбрать нужный инструмент. Заранее благодарен!
0
|
|
| 22.04.2020, 11:10 | |
|
Ответы с готовыми решениями:
191
C++ vs Java - что выбрать? Что выбрать Java или C++? Что выбрать: Java или Objective-C? |
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||||
| 23.04.2020, 22:55 | |||||
|
Хотя конечно в данном применении возможностью получения адреса объемлющего объекта стоило бы озаботится на уровне ядра языка. Добавлено через 1 минуту Добавлено через 9 минут Добавлено через 8 минут Добавлено через 10 минут Curry, Вообще проще один раз таки освоить указатели чем к примеру костылить их индексами в массиве как это приходилось делать в УК-НЦ Бейсике. При этом один раз освоить быстрее чем один раз скостылить (хотя конечно указатели осваивал уже после таких костылений так что уже понимал чего не хватает аки воздуха).
0
|
|||||
|
55 / 13 / 2
Регистрация: 26.10.2014
Сообщений: 1,107
|
||||
| 24.04.2020, 10:38 [ТС] | ||||
|
Цитату в студию! Где это я говорил такое про GUI? Добавлено через 21 минуту А зачем? Зачем изучать указатели, зачем лезть в эти недри низкого уровня. Ведь в чем плюс CLR и JIT компиляции? Они все сделают правильно. Но когда уже нужен неуправляемый код, тут трудно. И выбора, по сути, нет. C++... Хотя в C++ есть умные указатели... В общем. Я не знаю как в программисткой среде, но я делю для себя 2 понятия. Программист и Разработчик (Programmer and Developer). Первые, действительно программируют. Смотрел тут видео, как парень программировал игровой движок. Так он и в линейной алгебре и в мат анализе шарил, все это рассчитывал. Вот это программирование. Вторые же, разрабатывают, пользуясь готовыми инструментами. Что мне мешает разработать хорошую игру с игровым движком? Ничего не мешает. Программирование логики. И поверьте. Что-то C#, Java и Python разработчики не сильно жалуются... Так и зачем мне указатели, если я могу доверить это компилятору, который сделает все правильно, а не я, у которого человеческий фактор? C++ программисты поймут. Где из-за одной ошибки ошибка на 800 строчек, а потом сиди пол дня, ищи то самое единое место с ошибкой... В общем, я бы использовал C++ по надобности. Но увы, такая надобность все ярче проявляется в моей жизни... Добавлено через 8 минут Когда перед тобой становятся задачи типа разработки кросс-платформенного динамического API, тут увы, не Java и не тем более не C#, если хочешь юзать API под все языки. В общем, есть задачи, где C++ обязателен. Потому дополнительное изучение C++ никогда не будет лишним. Но другое дело, когда ты ненавидешь всю эту низкоуровневую муть, когда тебя воротит, когда ты занимаешься быдлокодерством... Варианта 3: 1) Нанять программиста, который тебе правильно все сделает; 2) Замутить Open source; 3) Делать самому. Как вы думаете, сколько вариантов остается у бедного недо девелопера?... Но вы правы, это синдром профессионального разработчика сработал...
0
|
||||
|
282 / 485 / 12
Регистрация: 21.06.2019
Сообщений: 3,020
|
||||||
| 24.04.2020, 10:54 | ||||||
|
Добавлено через 3 минуты Добавлено через 6 минут
0
|
||||||
| 24.04.2020, 16:38 | ||||
|
0
|
||||
|
55 / 13 / 2
Регистрация: 26.10.2014
Сообщений: 1,107
|
|
| 24.04.2020, 16:47 [ТС] | |
|
IamLost, вот вам 2 ссылочки:
https://www.youtube.com/watch?v=i0IvgmBMFMw Создание Open source игрового движка для аудио и видео игр! По второй ссылке. Вы знаете язык, кроме C++, на котором можно создать кросс-платформенный API, который можно использовать и на C++, и на C#, и на Java, и на Python? Интересно!
0
|
|
| 24.04.2020, 16:56 | ||
|
0
|
||
|
55 / 13 / 2
Регистрация: 26.10.2014
Сообщений: 1,107
|
|
| 24.04.2020, 18:35 [ТС] | |
|
IamLost, Как зачем, чтобы я мог разрабатывать игры и под Windows, и под Linux, и под MacOS, и под Android, и под IOS.
0
|
|
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||||
| 25.04.2020, 00:21 | ||||
|
Добавлено через 50 секунд Добавлено через 33 минуты Добавлено через 2 часа 35 минут jonikster, Игры - это софт "мягкого" реального времени. Т.е. от "жесткого" реалтайма отличается только тем что отказ софта не ведет к катастрофическим последствиям. Из всех перечисленных вами языков противопоказаний к реалтайму не имеет опять же только С++. Добавлено через 11 минут jonikster, Мало того - если у вас задача игры то GUI вам нужен внутриигровой - т.е. с отрисовкой внутри 3D сцены средствами OpenGL/Direct3D. Ни один из искоробочных GUI-фреймверки перечисленных вами языков ничего подобного не умеют и близко, так же как и GUI-фреймверки общего назначения для С++. Если это где то и есть доступное из готовых - только в рамках опенсорсных игровых движков, а они в своем подавляющем большинстве на С++ написаны и на использование с С++ и ориентированы. Добавлено через 9 минут jonikster, Ну и еще один такой момент - разработка GUI-фреймверка - прекраснейшая практическая задача при обучении ООП начинающих. А без выдраенного до блеска умения использовать ООП пытаться разрабатывать игры бессмысленно.
0
|
||||
| 25.04.2020, 08:12 | ||
|
0
|
||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||
| 25.04.2020, 09:19 | |||
|
Поэтому узкопрофильными специалисты в области разработки софта быть не могут по определению.
0
|
|||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
| 25.04.2020, 09:55 | |
|
IamLost, Любой квалифицированный программист может сделать и то и другое. Чтобы качественно сделать придется в обоих случаях придется хорошо покопать и бекграунд и требования к системе и т.д. И чем качественней требуется это сделать тем глубже копать надо. А это как раз то что квалифицированный разраб очень хорошо умеет делать, в отличии от околовсяческих неучей которые академиев не кончали.
0
|
|
| 25.04.2020, 10:06 | ||
Или вас кто-то будет на работе ждать, когда вы с написания компиляторов переучитесь на разработку PBR? Узкоспециализированных программистов у него не существует... Если он в своей жизни пишет проекты по 100 строк кода, то да - не существует.
0
|
||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|
| 25.04.2020, 10:08 | |
|
0
|
|
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||
| 25.04.2020, 10:31 | |||
|
Добавлено через 12 минут
0
|
|||
| 25.04.2020, 10:38 | ||||
Я этого даже не скрываю - достаточно посмотреть подпись. Ты то явно представляешь как эти штуки устроены внутри, раз думаешь, что один и тот же программист может разрабатывать их. Берём вакансию в интел:
![]() Жду ссылку на гит/блог человека, который одновременно специаилизировался бы и в разработке компиляторов и PBR. Ну или ты остаёшься обычным балаболом-профессиональным-разрабочтком комментариев на форуме.
0
|
||||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 25.04.2020, 10:55 | ||
|
IamLost, вы Job Duties там смотрели?
К примеру: Mentor and grow technical talent in the organization Т.е. это далеко не рядового разраба вакансии а ведущего спеца. И если речь идет о командной разработке то это вполне нормально. Основной часть именно раскопок будет на нем. Добавлено через 4 минуты Добавлено через 4 минуты IamLost, Вы похоже сути универа не поняли. Нет ни одного дипломированного специалиста который не реализовал бы свой графический API и свой рендер на нем на 2 курсе, и свой транслятор или компилятор на 3-ем.
0
|
||
| 25.04.2020, 11:02 | ||||
![]()
0
|
||||
|
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||||
| 25.04.2020, 11:13 | |||||
|
Добавлено через 6 минут
0
|
|||||
| 25.04.2020, 11:13 | |
|
Что выбрать Java или Python? Подскажите что выбрать C# java Delphi Python Xamarin or Java + Android SDK что выбрать? С#, Java, Python, . ? Что выбрать для написания кроссплаформеноого ПО? C++ vs Java vs python. Что выбрать для олимпиадного программирования новичку? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ
Основная суть и тезисы по измерениям:
0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема.
Объект не может перемещаться в 0D.
1D (Первое измерение):. . .
|
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek
ВВЕДЕНИЕ
Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
|