Что сложнее c или java

Что сложнее c или java

Начало

Естественно, я пошел на tiobe — посмотреть, что же сейчас востребованно.

Уже не помню, что там тогда было в топе, но после нехитрых манипуляций на калькуляторе остались только трое — C++, C#, Java. Первый отпал быстро — такого монстра я быстро не освою, а работать ведь надо.
Двое встретились в схватке…

Первым делом надо что-то небольшое реализовать на том и другом. Что такое маленькое и быстро реализуемое? Я выбрал консольную «игрушку» «Быки».

После Delphi в Visual Studio было даже удобно. А вот в случае с Java я промучился. Во-первых, час убил на всякие системные переменные, загрузки, гугление — но, видимо, из непривычки (да, после Delphi с C# работать привычнее — чувствуется влияние Хейлсберга) Код набивал в Sublime Text 2 — тоже студии не конкурент. Собственно, это привело меня к C#.

Но это еще не конец

Да, студия довольно удобна. До поры до времени. Почему-то на моем ноутбуке она нехило тормозит.
C# как язык тоже ничего. Но после Delphi кое-чего не хватает. Не буду говорить, чего — это уже не раз на хабре обсуждалось. Я пытался переломать свой мозг. Честно. Но как же много всякого ненужного хлама синтаксического сахара! Просто диву даюсь. Java в этом отношении проще и «прямее». Если взять чистый язык в вакууме, то между Java и C# мое предпочтение будет на стороне первого.
Пару недель ответственно изучал C#. За подготовкой к экзаменам это трудно, я продвинулся не очень много. Все же эти две недели мне многое прояснили. В сумме эти факторы заставили меня перейти на темную сторону джавы (да-да, я буду java-джедаем).

Хочешь писать на C# — плати. Неважно кому: дядюшке Майкрософту, JetBrains или кому-то еще. Express студия меня расстроила. Это как Turbo Delphi Explorer, только Visual Studio© Ничего нельзя, а то, что можна — это очень мало.

Читайте также:  Vba обновить сводную таблицу

Неясная политика Microsoft — Windows RT, где C# был одним из основных языков уже прикрыли. Что им мешает завтра объявить о выходе новой ОС Doors и языка Hb с Python-подобным синтаксисом? Ничего.

Самое главное — мне предложили работу на Java. Да-да, у нас в городке открыли студию разработки. Вместо C# там используют Delphi (!), а вот Java не нашли, чем заменить. Ждут меня. Надеюсь.

Вывод

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.

Понимаю что вопрос не совсем корректный так как области применения языков очень широки. Программирование на C++
в определенной области может быть намного легче чем на Java в какой то другой.

Вопрос состоит в том насколько сложнее стать разработчиком на C++ чем на Java, правда ли что работа с памятью на больших проектах это что то сверх сложное ?

Еще C++ ругают на Linux из за того что много неразберихи с плагинами на g++ что не дает нормально собрать собрать программу.

Интересует мнение эмигрировавших или использующих два языка одновременно.

  • Вопрос задан более двух лет назад
  • 2462 просмотра

Еще C++ ругают на Linux из за того что много неразберихи с плагинами на g++ что не дает нормально собрать собрать программу.

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

Да шаблоны — очень мутная и сложная тема имхо. В плюсах (особенно в STL) их пихают везде где можно (даже где не нужно).

С++ сложнее джавы в плане метапрограммирования.

Читайте также:  Как делать игры на qsp

Все эти разговоры про сложность управления памятью — крупное преувеличение, само по себе управление памятью вещь весьма простая — нужно просто не забывать что её нужно освобождать. Хоть в джаве и есть сборщик мусора (т.е. в принципе джава течь как С++ не может) по факту плохо использующая память программа на джаве может жрать память как не в себя и постоянно вставать на очистку мусора, как по мне — никакой разницы с С++ программой которая будет течь и падать, С++ хотя бы падать будет быстрее, что поможет при отладке 🙂

Метапрограммирование в С++ это уже отдельная тема, там довольно много правил выведения типов, нет отладчика шаблонов и сообщения о простых ошибках могут быть очень многословны.

В далеком прошлом, я занимался пустой тратой времени. А именно — выбором языков программирования.

Сформулируйте ещё раз задачу. Например зачем вам вообще изучать какой-то ЯП? Разработка только под Винду и вы уже знаете с#? Так продолжайте, если это ваша работа. Если хочется чего-то нового в этой сфере, попробуйте .Net. Java тут явно лишняя, она не очень хорошо подходит для десктопных программ, как и python или не дай бог php. Не спорю их можно писать на этих языках, но согласитесь это legacy, у .net или c# как минимум больше Профит в этом.
Если вдруг встанет вопрос о кроссплатформености GUI приложения, то я бы рекомендовал Qt, там под капотом c++, можно конечно и python опять же через Легаси костыли типа pyqt, а pygtk так себе.

А вот на c# сделать веб приложение будет проблема, в отличие от рнр или python, да даже на java будет легче 🙂 и главное кроссплатформенность, но сейчас не об этом.

Читайте также:  Выбор беспроводных наушников 4pda

Вам нужно выбрать свою нишу деятельности, отсюда язык сам выберется.
Микроконтроллеры это c и c++ тут без вариантов, как бонус для развития ассемблер можете изучать.
Под андройды конечно же java, как бонус kotlin.
Но учтите мобилки и контроллеры это 2 разных направления, а десктопные ещё и под Винду это вообще 3 направление развития.

Скорее наоборот, на java можно сделать то, чего нельзя на C#. Например кроссплатформенное десктопное приложение или Andro >
Если рассматривать windows как платформу под которую разрабатывать, то лучше брать нативные решения — .Net, C#, C++ конечно же с применением winapi, все другие языки будут аутсайдерами.

С другой стороны, если взглянуть на таких гигантов как IDEA и его производных, то можно сделать вывод, что GUI на java это не так уж и плохо.

Кстати, если хочется какой-то язык с перспективой на Web разработку, то можно выбрать js, тем более хайповая штука, пиример гуёвого приложения — Atom, там кажись фреймворк Electron, но честно не уверен, что там чистый js.

Есть еще golang кстати 🙂

То, что ты написал — это жуткий трешак.

А то, что ты 4 языка параллельно изучаешь. От того, что ты можешь написать hello world на 10 языках, тебя никто на работу не возьмёт. Только если в вуз преподавать за 20к.

Вообще ответ очевиден, C# больше всего нужен только в экосистеме майкрософта, и на нем только корпоративная фигня.

А у Java есть JVM, мобилки, 90% автоматизации тестирования ведётся на Java, да и Scala с Kotlin есть. Ну и куда же без Spring

C# больше всего нужен только в экосистеме майкрософта

Ссылка на основную публикацию
Adblock detector