Форум программистов, компьютерный форум, киберфорум
Священные войны
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.98/64: Рейтинг темы: голосов - 64, средняя оценка - 4.98
0 / 1 / 0
Регистрация: 24.06.2019
Сообщений: 23

C# vs Java в 2019

01.07.2019, 21:48. Показов 12834. Ответов 79
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
В 2019 году тема "C# vs Java" более и более популярна. И C#, и Java имеют преимущества.
Мой основной язык программирования на данный момент - Python. Но есть задачи, которые решать с Python не эффективно. Например, клиент-серверные приложения.
Я выбираю между Java и C#.
В C# мне нравится синтаксис.
Как я знаю, C# более производителен, чем Java.
C# возможно использовать для Android. Но Java используется для этого больше.
Java возможно использовать для встраиваемых систем. C# нет.
Как сделать правильный выбор?
Заранее благодарен!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.07.2019, 21:48
Ответы с готовыми решениями:

Java 2019
Нашел статью, где Oracle написали, что вроде как они будут поддерживать Java 8 до декабря 2019. А потом я так понял она будет...

LNK 2019 в QT
Создаю проект в QT Creator. По умолчанию создаются файлы main.cpp, mylistview.cpp и mylistview.h. Пока все нормально, компиляция запуск -...

Тестовая windows 2019
Доброго времени суток! Кто нибудь устанавливал данную версию windows на VMware Workstation Pro? У меня просит ключ я его не ввожу потом...

79
Модератор
 Аватар для Curry
5165 / 3527 / 536
Регистрация: 01.06.2013
Сообщений: 7,676
Записей в блоге: 9
07.08.2019, 13:58
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Usaga Посмотреть сообщение
JS не ASM. Это высокоуровневый ЯП. Только с недостатками.
Ну так не нужно его рекламировать и писать что он "мощный". JS сейчас выступает во фронтенде как асм на нативе, в него многие языки компилируются, не только TS. Кстати, как js "через TS просачивается"? В чём это выражается?
Цитата Сообщение от Usaga Посмотреть сообщение
Вообще-то, все эти вещи перечисленные не из интерфейса вытекают, а из под капота.
Разумеется. Где я написал обратное?
0
Эксперт .NET
 Аватар для Usaga
14731 / 9505 / 1363
Регистрация: 21.01.2016
Сообщений: 35,856
07.08.2019, 14:08
Цитата Сообщение от Curry Посмотреть сообщение
Ну так не нужно его рекламировать и писать что он "мощный". JS сейчас выступает во фронтенде как асм на нативе, в него многие языки компилируются, не только TS. Кстати, как js "через TS просачивается"? В чём это выражается?
А он не мощный? Он динамический, что является недостатком. Но это ни разу не аналог ASM'а. А просачивается тем, что типы существуют только на этапе транспиляции и во время исполнения вы всё равно можете творить любую дичь, достаточно TS'у сказать "any!" и понеслась. Ну и правила языка со всякими чудесами вида 2 + '2' == '22' вместе с плавающими контекстами - всё это никуда не девается.

Цитата Сообщение от Curry Посмотреть сообщение
Разумеется. Где я написал обратное?
Вот это:
Цитата Сообщение от Curry Посмотреть сообщение
IDE состоит не только из интерфейса пользователя, но и из логики управления проектом, анализа кода на лету, отладчика и т.д. VS от VS Code могла бы отличаться только интерфейсом пользователя. Но перенести все возможности виндового интерфейса пользователя в веб-интерфейс не смогли.
Меньшая функциональность VS Code упирается в то, что не всё смогли в UI протолкнуть? Что именно не смогли и почему?
0
Модератор
 Аватар для Curry
5165 / 3527 / 536
Регистрация: 01.06.2013
Сообщений: 7,676
Записей в блоге: 9
07.08.2019, 15:23
Цитата Сообщение от Usaga Посмотреть сообщение
А он не мощный?
Что значит мощный? Я думаю, что мощный язык позволяет удобно работать с ним используя разные парадигмы, позволяет писать, по возможности, безопасный код, который легко отлаживать. Способствует уменьшению времени отладки и кол-ву ошибок. Это не про js.
js выступает в роли машинного кода для фронтенда. Как С/pascal/... компилируются в машкод, так и ts/elm/Haskell/... компилируются (транспилируются) в js, понятно, за неимением других вариантов для веб-интерфейса.
Цитата Сообщение от Usaga Посмотреть сообщение
Меньшая функциональность VS Code упирается в то, что не всё смогли в UI протолкнуть?
Не знаю. Имеем факт. Я сейчас открыл VS Code, обновил, закрыл окно редактора и получил вначале одну ошибку (виноват, не заскриншотил), зато теперь висит

Может я чего не понял, но в VS code нужно открывать пустые окна, потом сохранять их как (как, например, .cs), в созданную папку, потом эту папку добавить в ворксейс. Никаких визардов. Никакого автоматического управления проектом, как и, собственно, раздела меню "Project", подразумевается редактирование настроек запуска приложений, зависимостей и прочего в текстовых файлах.
0
Software Engineer
 Аватар для Custos
338 / 342 / 55
Регистрация: 23.09.2014
Сообщений: 1,050
07.08.2019, 19:09
Цитата Сообщение от Usaga Посмотреть сообщение
А просачивается тем, что типы существуют только на этапе транспиляции и во время исполнения вы всё равно можете творить любую дичь, достаточно TS'у сказать "any!" и понеслась.
Не думаю, что повсеместное использование any является хорошим решением.
Раз уж решились все типизировать, то нужно выжимать с этого максимум.
Использование any можно оправдать лишь в крайних случаях. Например, когда нет возможности расширить описание типов для уже существующий библиотеки, или для библиотеки вообще нет описания типов (а писать их самому очень долго).

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

К примеру, я использую TS для ноды. Для валидации приходящих от пользователя данных мне хорошо подошла библиотека https://www.npmjs.com/package/typescript-is , которая позволяет генерировать рантайм проверки исходя из необходимого интерфейса (и не только).
0
Эксперт .NET
 Аватар для Usaga
14731 / 9505 / 1363
Регистрация: 21.01.2016
Сообщений: 35,856
09.08.2019, 06:00
Цитата Сообщение от Curry Посмотреть сообщение
Что значит мощный?
Значит позволяющий реализовывать достаточно сложные вещи. То, что он при этом с динамической типизацией мощи не убавляет (на самом деле только прибавляет, но страшной ценой).

Цитата Сообщение от Curry Посмотреть сообщение
js выступает в роли машинного кода для фронтенда.
Нет. Очень многие проекты (особенно новые) спокойно пишутся на чистом JS. Особенно, кто не использует завязанные на TS вещи типа Angular. Это самостоятельный язык. Ничего общего с ASM.

Цитата Сообщение от Curry Посмотреть сообщение
Имеем факт. Я сейчас открыл VS Code, обновил, закрыл окно редактора и получил вначале одну ошибку (виноват, не заскриншотил), зато теперь висит
Я не знаю, что это за факт и что он доказывает. Вы на какой косяк нарвались? Что это доказывает?

Цитата Сообщение от Curry Посмотреть сообщение
Никакого автоматического управления проектом, как и, собственно, раздела меню "Project"
VS Code разрабатывался в основном под .NET Core или проекты типа пакетов NPM. В обоих случаях всё содержимое директории проекта считается входящим в состав проекта. Не нужен никакой визард, чтобы в такой проект что-то добавить. В этом прикол. Но если что-то такое нужно, то в магазине расширений их просто уйма на каждый чих.

Цитата Сообщение от Custos Посмотреть сообщение
Не думаю, что повсеместное использование any является хорошим решением.
Конечно. Это для примера. Речь о том, что "типизация" - только этап на стадии транспиляции в рантайме легко обходится, умышленно или случайно.
0
Software Engineer
 Аватар для Custos
338 / 342 / 55
Регистрация: 23.09.2014
Сообщений: 1,050
09.08.2019, 11:20
Цитата Сообщение от Usaga Посмотреть сообщение
Речь о том, что "типизация" - только этап на стадии транспиляции в рантайме легко обходится, умышленно или случайно.
Ну это понятно. Умышленно можно сломать не только TS
Считайте, что это zero cost abstractions, как у раста
0
Модератор
 Аватар для Curry
5165 / 3527 / 536
Регистрация: 01.06.2013
Сообщений: 7,676
Записей в блоге: 9
09.08.2019, 12:06
Цитата Сообщение от Usaga Посмотреть сообщение
Очень многие проекты (особенно новые) спокойно пишутся на чистом JS.
Скорее, особенно старые. Пишут на нём, конечно. Тех кого обучили языку с динамической типизацией и они в преимущество статической въехать не могут.
Цитата Сообщение от Usaga Посмотреть сообщение
Что это доказывает?
Мы несколько отклонились от обсуждения возможностей Web-интерфейса. Напомню.
Я утверждаю что Web-интерфейс ограничен по сравнению с возможностями графического интерфейса ОС в которой выполняется браузер (вроде бы очевидно). Разумеется, при этом можно получить бОльшую универсальность если ещё и использовать какой ни будь фреймвёк который спрячет нюансы вызванные "войной браузеров". Но гуй всё равно оказывается ограничен. Если пользователь на всё согласный и речь не про сложные интерфейсы вроде инвентора или игр с "наворочненным" интерфейсом использующих по полной возможности графкарточек, то и ладно. А если клиент не подписывается за то что согласен на веб-интерфейс и в любой момент может захотеть то, чего вебом не сделать, то веб интерфейс неприемлем.
Цитата Сообщение от Usaga Посмотреть сообщение
Речь о том, что "типизация" - только этап на стадии транспиляции в рантайме легко обходится
Типизация во время транспиляции вполне может быть полноценной (кроме потерь скорости в рантайме, конечно).
Статически типизированные языки компилируемые в js
Например, посмотрите на http://www.purescript.org .
0
Эксперт .NET
 Аватар для Usaga
14731 / 9505 / 1363
Регистрация: 21.01.2016
Сообщений: 35,856
14.08.2019, 09:10
Цитата Сообщение от Curry Посмотреть сообщение
Я утверждаю что Web-интерфейс ограничен по сравнению с возможностями графического интерфейса ОС
И это ограничение выражается в невозможности создания отдельных окон, вставки своей иконки в task bar и своих пунктов в контекстное меню в файловом менеджере. А теперь взвесьте насколько это действительно нужные вещи, насколько сильно они распространены. Этого пока браузеры не могут, да. Но насколько это существенные вещи? Я считаю, что это может потребоваться только в отдельных случаях. Т.е. не везде. А значит и махать этим флагом не стоит, как аргумент против веб-приложений оно слишком слабо.
0
Модератор
 Аватар для Curry
5165 / 3527 / 536
Регистрация: 01.06.2013
Сообщений: 7,676
Записей в блоге: 9
14.08.2019, 11:01
Usaga, я не утверждаю что web приложений не должно быть. Большинство из них, это формочки для заполнения, веб интерфейс годится.
Но если заказчик не подписывался что на веб согласен, и захотеть могут всякого, то лучше себя не ограничивать.
0
Эксперт .NET
 Аватар для Usaga
14731 / 9505 / 1363
Регистрация: 21.01.2016
Сообщений: 35,856
14.08.2019, 11:37
Curry, ну это уже вопрос желаний заказчика, если он у вас заказывает, или вашего, если вы свой продукт создаёте. Основная-то мысль была в том, что на базе веба можно делать многое из того, что раньше делалось только для десктопа.
0
14 / 14 / 0
Регистрация: 27.07.2018
Сообщений: 482
13.09.2019, 23:14
Dimitri2016, так начни его использовать, кто или что тебе мешает? Стереотипы про Microsoft? Так Core открыт и создан для сообщества. Бери на гите улучшай и ставь на линукс. Не вижу никаких проблем. Начиная с версии 2.0 работает стабильно. Сейчас уже куча проектов на нём пишутся или переписываются. Вакансий на hh куча. Даже джависты на него переходят.
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
13.09.2019, 23:17
Цитата Сообщение от sergeyilyin1984 Посмотреть сообщение
Даже джависты на него переходят.
Нет.
0
Модератор
 Аватар для Curry
5165 / 3527 / 536
Регистрация: 01.06.2013
Сообщений: 7,676
Записей в блоге: 9
13.09.2019, 23:59
Цитата Сообщение от korvin_ Посмотреть сообщение
Нет.
Откуда такая уверенность? Всех джавистов знаете?

И напрашивающийся вопрос: много ли шарпеев переходит на джаву?
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
14.09.2019, 00:21
Цитата Сообщение от Curry Посмотреть сообщение
Откуда такая уверенность?
Почему бы тебе не задать этот же вопрос пользователю sergeyilyin1984 на его тезис «Даже джависты на него переходят»?

Цитата Сообщение от Curry Посмотреть сообщение
Всех джавистов знаете?
Ага, до единого.

Цитата Сообщение от Curry Посмотреть сообщение
И напрашивающийся вопрос: много ли шарпеев переходит на джаву?
Этот вопрос ко мне? Или так, в пустоту? Если ко мне, то не веду такую статистику, в отличие от sergeyilyin1984, видимо.

Ну, один знакомый раньше писал на шарпе, сейчас — на джаве. Впрочем, для него это не был вопрос перехода с одного языка на другой.
0
Модератор
 Аватар для Curry
5165 / 3527 / 536
Регистрация: 01.06.2013
Сообщений: 7,676
Записей в блоге: 9
14.09.2019, 00:25
Цитата Сообщение от korvin_ Посмотреть сообщение
Если ко мне, то не веду такую статистику
Тогда зачем отвечать "нет".
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
14.09.2019, 00:39
Цитата Сообщение от Curry Посмотреть сообщение
Тогда зачем отвечать "нет".
А зачем отвечать «нет» на фразу «между Землей и Марсом вокруг Солнца по эллиптической орбите вращается фарфоровый чайник»?

Добавлено через 1 минуту
И я же написал, что не знаю, «много ли шарпеев переходит на джаву?», а «нет» я отвечал на «Даже джависты на Шарп переходят». У тебя проблемы с логикой? Или чтением?
0
Модератор
 Аватар для Curry
5165 / 3527 / 536
Регистрация: 01.06.2013
Сообщений: 7,676
Записей в блоге: 9
14.09.2019, 00:49
Цитата Сообщение от korvin_ Посмотреть сообщение
А зачем отвечать «нет» на фразу «между Землей и Марсом вокруг Солнца по эллиптической орбите вращается фарфоровый чайник»?
И зачем же вы на неё ответили?
Цитата Сообщение от korvin_ Посмотреть сообщение
а «нет» я отвечал на «Даже джависты на Шарп переходят».
То есть вы уверены что никто не переходит? Вероятность то побольше будет чем с чайником.
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
14.09.2019, 00:55
Цитата Сообщение от Curry Посмотреть сообщение
И зачем же вы на неё ответили?
Затем, что это ложь.

Цитата Сообщение от Curry Посмотреть сообщение
То есть вы уверены что никто не переходит?
Я уверен, что количество перешедших и переходящих никак не позволяет обобщить это до фразы «Джависты переходят на Сишарп».

Цитата Сообщение от Curry Посмотреть сообщение
Вероятность то побольше будет чем с чайником.
Ага, и побольше чем вероятность использования Хаскелла кем-либо в production.
0
14 / 14 / 0
Регистрация: 27.07.2018
Сообщений: 482
14.09.2019, 11:54
korvin_, какую - то бредятину пишете, вместо того, чтобы привести стоящие аргументы. Я лично знаю джависта, который перешёл на Core только потому что на нём проще и быстрее разрабатывать web api в связке с Angular. Банально вбейте в гугле нужную тему. Вот ссылка на очередное обсуждение и цитата.
Давно перелез с жабки на .NET Core, ощущалось это как глоток воздуха. Правда в последнее время меня из языков на нем больше всего интересует F#, в плане инфраструктуры пока что он гораздо удобнее Haskell.

Добавлено через 4 минуты
korvin_, и да, включите ЛОГИКУ. Даже джависты переходят на Core - это не значит ВСЕ. Это значит, что джависты переходят на Core, то - есть кто - то из них переходит.
0
 Аватар для Luca Brasi
892 / 204 / 55
Регистрация: 06.11.2015
Сообщений: 2,288
Записей в блоге: 2
02.10.2019, 08:03
Я вот делал на Java и Python десктопные приложения. Все тешил себя полноценный большим бэк-эндом, и вот он грядет большой проект а все только ASP юзают. Истинной причины я не знаю, но догадываюсь что проще будет...
До этого я был свято убежден, что бэк-энд enterprisa все валят на Java.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.10.2019, 08:03

Установка SolidWorks 2019
Доброго времени суток. При установке SW выдаёт ошибку(система windows 10):

ЕГЭ 2019 задача 27
Здравствуйте, уважаемые форумчане! Нужна помощь. Задачка из егэ, номер 27, пишу на C++. Возник диссонанс при выборе "коробки" для...

Выбор монитора в 2019
Всем привет. Хочу купить монитор для игр и для учебы (для работы с текстовыми документами, в основном) Full HD, 144 Гц. Диагональ...

Ошибка LINKER 2019
Здравствуйте, изучаю OpenGL по "СуперКниге", хочу сделать что-нить типа SphereWorld,. Написал я такой код для передвижения камеры: ...

Ошибка Lnk 2019
mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include "MyClass.h" namespace Ui { class...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
80
Ответ Создать тему
Новые блоги и статьи
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru