|
55 / 13 / 2
Регистрация: 26.10.2014
Сообщений: 1,107
|
|
C# vs Java в 2020. Что выбрать?22.04.2020, 11:10. Показов 25255. Ответов 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. Что выбрать для олимпиадного программирования новичку? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки
Правым кликом по серверу -> отладочная информация -> edit
Заменить "net": "raw", на "net": "tcp",
Нажать кнопку reload.
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера 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) активировать флаг. . .
|