Re: C# vs Java
От: alex_public  
Дата: 06.09.19 00:59
Оценка:
Здравствуйте, Cicero, Вы писали:

C>Какой бы язык из ограниченного списка(C#/Java) Вы посоветовали бы выбрать для освоения молодому человеку(студент) который собирается профессионально заняться программированием и в ближайшие время(от полугода до года) начать устраиваться работать?

C>И для определенности 5 пунктов Вашего обоснования.

C>P.S. Понятно что вопрос вкуса. Но давайте немного абстагируемся от своих вкусов и ответим на вопрос обоснованно.

C>Спасибо.

Java.

Обоснование: у C# заметно лучше чем у Java сам язык. Всё остальное лучше у Java.

P.S. Моё мнение тут наверное одно из наиболее объективных, просто потому, что я сам не использую ни тот, ни другой язык. Хотя не плохо знаком с обоими.

P.P.S. А вообще список очень сомнительный — такое ещё нормально было услышать в 2000-ые, но не сейчас. Ну да ладно, что спросили, на то и ответили. )
Re[4]: C# vs Java
От: serb Россия  
Дата: 06.09.19 03:27
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Здравствуйте, ·, Вы писали:


S>>>Java "скурвилась" после того, как попала в руки алчного Эллисона. Там большие непонятки с лицензированием, появились форки и т.д. В общем — стало все плохо

S>·>Бред.

S>Введи в Goolge 2 слова и все поймешь:


Иногда лучше молчать
Re: C# vs Java
От: varenikAA  
Дата: 06.09.19 04:28
Оценка:
Здравствуйте, Cicero, Вы писали:

C>Какой бы язык из ограниченного списка(C#/Java) Вы посоветовали бы выбрать для освоения молодому человеку(студент) который собирается профессионально заняться программированием и в ближайшие время(от полугода до года) начать устраиваться работать?

C>И для определенности 5 пунктов Вашего обоснования.

C>P.S. Понятно что вопрос вкуса. Но давайте немного абстагируемся от своих вкусов и ответим на вопрос обоснованно.

C>Спасибо.

Clojure конечно. Ибо C# и java — это ООП, ОРМ и прочие черные ящики и ящики пандоры.

Вот пример из кложы:
(get [1 2 3] 1)
;;=> 2

(get [1 2 3] 5)
;;=> nil

(get [1 2 3] 5 100)
;;=> 100

(get {:a 1 :b 2} :b)
;;=> 2

(get {:a 1 :b 2} :z "missing")
;;=> "missing"
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[2]: C# vs Java
От: Cyberax Марс  
Дата: 06.09.19 05:20
Оценка: +1 -1 :))
Здравствуйте, varenikAA, Вы писали:

AA>Clojure конечно. Ибо C# и java — это ООП, ОРМ и прочие черные ящики и ящики пандоры.

AA>Вот пример из кложы:
Это из области любителей BDSM, да?
Sapienti sat!
Re[6]: C# vs Java
От: Farsight СССР  
Дата: 06.09.19 05:37
Оценка:
Здравствуйте, Anton Batenev, Вы писали:

AB>Почему C# — это не веб? Потому что современный веб — это php / node / python / java / golang / c++ (в упоротом хайлоаде) с редкими вкраплениями экзотики. Почему это не мобильные, где бал правит android и java/kotlin? Почему это не бигдата, где hadoop / hbase / spark / etc на java (или с++ типа ClickHouse)? Почему это не ынтырпрайз, где слова "java" и "кровавый" давно уже ассоциативны?


Сорян, я не сразу понял что ты просто потроллить решил.
</farsight>
Re[3]: C# vs Java
От: varenikAA  
Дата: 06.09.19 06:04
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Здравствуйте, varenikAA, Вы писали:


AA>>Clojure конечно. Ибо C# и java — это ООП, ОРМ и прочие черные ящики и ящики пандоры.

AA>>Вот пример из кложы:
C>Это из области любителей BDSM, да?

Если полиморфные функции(они же мультиметоды) — это извращение, то что такое копипаста в C# и java — богоугодные дела?
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[4]: C# vs Java
От: Cyberax Марс  
Дата: 06.09.19 07:41
Оценка:
Здравствуйте, varenikAA, Вы писали:

C>>Это из области любителей BDSM, да?

AA>Если полиморфные функции(они же мультиметоды) — это извращение, то что такое копипаста в C# и java — богоугодные дела?
Мультиметоды не нужны, как и вообще большая часть всего ООП.
Sapienti sat!
Re: C# vs Java
От: student__  
Дата: 06.09.19 07:56
Оценка:
Здравствуйте, Cicero, Вы писали:

C>молодому человеку(студент) который собирается профессионально заняться программированием и в ближайшие время(от полугода до года) начать устраиваться работать?

А самого этого молодого человека забанили в Интернет, что он не может задать этот вопрос самостоятельно? И по какой специальности учится? M.б. ему эти Java / C# как собаке пятая нога. Иначе (если все уже давно выбрано), нет предмета для обсуждения — просто ищется по ключевым словам на сайтах вакансий типа hh.ru , для какого языка вакансий больше, такой и выбирается для изучения. No brainer для человека, претендующего на получение в/o.
Re[4]: C# vs Java
От: vorona  
Дата: 06.09.19 07:56
Оценка:
Здравствуйте, varenikAA, Вы писали:

Мультиметоды есть в c#
Re: C# vs Java
От: MasterZiv СССР  
Дата: 06.09.19 08:38
Оценка:
Здравствуйте, Cicero, Вы писали:

C>Какой бы язык из ограниченного списка(C#/Java)


Python
Re[2]: C# vs Java
От: AlexGin Беларусь  
Дата: 06.09.19 10:52
Оценка:
Здравствуйте, Sharov, Вы писали:

S>Но. Если устраиваться на работу, и с нуля, то конечно ява. Больше предложений, ява вообще везде и всюду, начиная от облаков и кончая разработкой под мобильники, ведро.

S>Вроде даже пытается C# догонять по фичам. Кроссплатформенность из каропки.

Там выше указывалось, что в регионе, где проживает ТС — программирование на C# более популярно и вакансий больше именно на C#

P.S. ИМХО понимая C# изучить Java проще, нежели наоборот.
Re: C# vs Java
От: Calc Россия  
Дата: 06.09.19 16:11
Оценка: 1 (1) +1
Здравствуйте, Cicero, Вы писали:

C>Какой бы язык из ограниченного списка(C#/Java) Вы посоветовали бы выбрать для освоения молодому человеку(студент) который собирается профессионально заняться программированием и в ближайшие время(от полугода до года) начать устраиваться работать?

C>И для определенности 5 пунктов Вашего обоснования.

C>P.S. Понятно что вопрос вкуса. Но давайте немного абстагируемся от своих вкусов и ответим на вопрос обоснованно.

C>Спасибо.

C# это сразу привязка к платформе, кроссплатформы пока мало, доков мало. Т.е. есть вариант завязнуть на Windows и стать снобом как половина этого сайта.
А так язык интересный.

java — овердофига документации, статей, сфер применений с примерами. Простая как пробка (дженерики с первого раза никто не осваивает)
java7 даст базу. java8+ даст понимание кложуров и других штук, можно сразу в одном инструменте сравнить что и как.
после java очень легко уехать на kotlin (для надо всего 2-3 дня попрограмировать и всё)

всё что пишут про jvm вполне правда, но на старте это не проблемы программиста, не будет таких систем и таких запросов.
java очень хорошо структурирована, изучение java collections практически заменяет книгу Вирта по структурам данных.
java очень хорошо лечит перфекционизм — основная проблема современных разработчиков.
на java можно погрузиться сразу в разные направления
1) консоль
2) gui
3) сети (библиотек много очень хороших, netty, akka)
4) попробовать себя в мобильной разработке (android)
5) попробовать пощупать windows и linux без особых проблем
6) купить сервер за 100 рублей и запустить там код тоже реально
7) с тем же iis/apache CGI можно поиграть
8) IDE для java часто написаны на java. Нет пока лучше IDE чем IDE от JetBrains (Intellij IDEA). На первых этапах это очень хорошая помощь именно от IDE (есть еще atom, eclipse, но после idea другие не нужны)
т.е. с java есть проблемы, но свободы больше чем с C#

C# тоже всё это умеет, но как писали это привязка к Microsoft, т.е. к её политике и другим направлениям. За последние 10-15 лет много направлений умерло без рождения приемников, т.е. полученные знания оказались ненужными.
У больших компаний есть политика воспитывания разработчиков под себя. Часто дают те технологии, которые интересны маркетингу, а не it сообществу. (те же WinAPI, MFC и другие штуки сдохли, другие платформы так быстро не отказываются от своих технологий)
С кросплатформой и опенсорсом такое бывает реже. Прочитал ты про сигналы в unix системах, взял любую POSIX, и оно работает.

с java на C# всегда можно переехать, а вот с C# на java... (почитайте сами что тут понаписали адепты C#)
но быстрее будет переезд на kotlin.
Тот же Rx уже есть на java, можно пощупать Акторы (используются erlang). Причем это одинаково будет запускаться на любой ОС.

Кто то скажет, что C# и мобилки тоже совместимы, но рынок кросплатформенных мобилок то растет, то падает. Если года 4 назад был вал на кросплатформу, то сейчас идет обратная ситуация, старые приложения переводят на "натив".
Для создания MVP кросплатформа хорошо, но проще сделать прототип в вебе. Сейчас IOS и Android закручивают гайки, кроссплатформа часто не успевает за этими изменениями, плюс редко один человек может знать
различия IOS и Android и тонкости их использования.

Тут еще предлагали Python, но это как второй язык можно изучать, больше пользы будет, если его изучить вторым (или как второй язык).

PS. Для адептов C# повторяю, я не говорю что C# плохой, я говорю что C# хуже java из-за ограничений, накладываемых большой корпорацией и упоротостью некоторых личностей.
Re[2]: C# vs Java
От: Mystic Artifact  
Дата: 06.09.19 16:24
Оценка: +2
Здравствуйте, Calc, Вы писали:

Хорошо пишешь. Но интересно куда и када это WinAPI здохли?
Re: C# vs Java
От: Masterspline  
Дата: 08.09.19 00:02
Оценка:
C>Какой бы язык из ограниченного списка(C#/Java) Вы посоветовали бы выбрать для освоения молодому человеку(студент) который собирается профессионально заняться программированием и в ближайшие время(от полугода до года) начать устраиваться работать?

Kotlin.
  1. Он проще, чем Java.
  2. Код на нем короче. Возможностей у языка больше (корутины, например, которые радикально упрощают асинхронный код, например, когда нужно расчеты или загрузку по сети делать в одном потоке, а результаты использовать в другом, например, отрисовку загруженного контента).
  3. Есть как в варианте JRE (основная платформа), так и Native.
  4. Разработка под Android уже целиком перешла на Kotlin. Новые приложения практически только на Kotlin, Java только для уже существующих приложений, да и то, пока их постепенно на Kotlin не перепишут (в телеграм канале, где нанимают мобильных разработчиков за последние 2 недели при упоминании Android пока только сбербанк написал про Java, остальные либо Kotlin/Java, либо только Kotlin). Бэкенд пока больше под Java, но и там Kotlin используется, потому что код на нем проще, короче и подключить его к Java проекту очень просто.
  5. Очень похож на Swift, поэтому переход на него (для разработки под iOS) будет довольно прост.
Таким образом, начав с Kotlin (Android) довольно просто будет перейти (при желании или необходимости) к разработке бакендов или под iOS (как на Swift, так и на Kotlin Native под iOS). Java сейчас нужна в режиме ReadOnly, остальное пишется на Kotlin. Хотя, разумеется Java из энтерпрайза быстро не уйдет. И даже в небольших приложениях, где, большая часть кода использует какой нибудь специфичный для Java фреймворк, заменить этот код целиком быстро нет смысла, так что Java еще поживет какое-то время.
Re: Популярность не приемущество
От: igor-booch Россия  
Дата: 08.09.19 17:47
Оценка:
Тут пишут что Java более популярна и надо выбирать её. Но популярность может обернуться недостатком. Например одно время была популярны профессия юриста и экономиста. И что? Идут экономисты с высшем образованием работать менеджерами по продажам, юристы консультантами колл-ценстров. Java-программистов становится всё больше и вместе с ними становится всё больше и больше некачественного и legacy кода, потому-что идут в Java все кому не лень. Рынок перегревается. Скоро маятник качнётся в другую сторону.
Отвечайте на это сообщение, только если у Вас хорошее настроение и в Вашем ответе планируются только конструктивные вопросы и замечания
http://rsdn.ru/Info/rules.xml
Отредактировано 09.09.2019 9:50 igor-booch . Предыдущая версия .
Re[2]: C# vs Java
От: Mr.Delphist  
Дата: 11.09.19 16:13
Оценка: +2
Здравствуйте, Calc, Вы писали:

C>те же WinAPI, MFC и другие штуки сдохли, другие платформы так быстро не отказываются от своих технологий


Скажите это Андроид-разработчикам. Который там уже уровень API сегодня? Вроде их десятка три всего лишь


Торжество backward compatibility от Гугла:

https://developer.android.com/about/versions/pie/android-9.0-migration

However, there's another aspect to testing: Android 9 introduces changes to the Android platform that can affect your app's behavior or break the app altogether, even if you do not change your targetSdkVersion. For this reason, it is important that you review the key changes in table 1, and test any fixes that you implement to accommodate the changes.


А, ну это самый свежий андроид, там можно. Давайте посмотрим на торжество стабильности в предыдущих версиях:

https://developer.android.com/about/versions/oreo/android-8.0-changes

Along with new features and capabilities, Android 8.0 (API level 26) includes a variety of system and API behavior changes. This document highlights some of the key changes that you should understand and account for in your apps.
Most of these changes affect all apps, regardless of what version of Android they target. However, several changes only affect apps targeting Android 8.0. To maximize clarity, this page is divided into two sections: Changes for all apps and Changes for apps targeting Android 8.0.


Хмм, что-то опять не то. Видимо, раньше точно было лучше?

https://developer.android.com/about/versions/nougat/android-7.0-changes

When an app is running on Android 7.0, but targets a lower API level, and the user changes display size, the app process is killed. The app must be able to gracefully handle this scenario. Otherwise, it crashes when the user restores it from Recents.
You should test your app to ensure that this behavior does not occur. You can do so by causing an identical crash when killing the app manually via DDMS.
Apps targeting Android 7.0 (API level 24) and above are not automatically killed on density changes; however, they may still respond poorly to configuration changes.
...
Due to a bug in previous versions of Android, the system did not flag writing to a TCP socket on the main thread as a strict-mode violation. Android 7.0 fixes this bug. Apps that exhibit this behavior now throw an android.os.NetworkOnMainThreadException.
...
Many platform APIs have now started checking for large payloads being sent across Binder transactions, and the system now rethrows TransactionTooLargeExceptions as RuntimeExceptions, instead of silently logging or suppressing them.


Да что же это такое. И ты, Брут?

https://developer.android.com/about/versions/marshmallow/android-6.0-changes

Along with new features and capabilities, Android 6.0 (API level 23) includes a variety of system changes and API behavior changes. This document highlights some of the key changes that you should understand and account for in your apps.
If you have previously published an app for Android, be aware that these changes in the platform affect your app.


  Скрытый текст
Re: C# vs Java
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 11.09.19 17:24
Оценка:
Здравствуйте, Cicero, Вы писали:

C>Какой бы язык из ограниченного списка(C#/Java) Вы посоветовали бы выбрать для освоения молодому человеку(студент) который собирается профессионально заняться программированием и в ближайшие время(от полугода до года) начать устраиваться работать?


TypeScript/HTML5/CSS/React/Node/Express/Mongo/Redis/AWS
Re: C# vs Java
От: Vladek Россия Github
Дата: 12.09.19 12:02
Оценка:
Здравствуйте, Cicero, Вы писали:

C>И для определенности 5 пунктов Вашего обоснования.

C>P.S. Понятно что вопрос вкуса. Но давайте немного абстагируемся от своих вкусов и ответим на вопрос обоснованно.
C>Спасибо.

Оба, если возможно. Лично я выбрал C# и нужда пока не заставила меня от него отказаться, а просто так Java изучать лень.
Re[4]: C# vs Java
От: Pyromancer  
Дата: 12.09.19 14:08
Оценка:
Здравствуйте, varenikAA, Вы писали:

C>>Это из области любителей BDSM, да?


AA>Если полиморфные функции(они же мультиметоды) — это извращение, то что такое копипаста в C# и java — богоугодные дела?


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