C java что проще

Что лучше изучать новичку — Java или C++?

В университете на 3 курс перехожу, надо думать о работе, а нам давали на изучение только С и ассемблер. Теперь собираюсь самостоятельно учить либо С++, либо Java. Не знаю с чего начать, т.к универ не дал никакого понимания что именно хочу, что востребованные и т.д. Хочу спросить совета на этот счёт, а также, где и как лучше изучать язык? (Планировала очные курсы при универе, но все закрыто в связи с вирусом). Я в растерянности :/

Два курса профильного ВУЗа, C и Ассемблер Вы уже не новичок. Вам изучить как C++ так и Java не должно быть никаких проблем. Наверное на Вашем уровне уже лучше делать это самому. Заодно получите очень важный программисту навык без которого никуда. Самостоятельное изучение языков программирования. Которых Вам придется изучить еще много. Зачастую в условиях жесткой нехватки времени и необходимости чуть ли не сразу писать реальный рабочий код на пока мало знакомом Вам языке. Добро пожаловать в реалии нашей работы, коллега 🙂

Вам лучше присматриваться к поиску работы программиста. Пока Вы не поймете с какой отрасли программирования хотите начать, все советы какие языки учить будут ну отвлеченными теориями. В ВУЗах теоретики учат теории. Пока не начнете работать практически, теоретиком будете и Вы. У нас немало ребят сразу после школы работают. А у Вас уже 2 курса ВУЗа.

Конкретный ответ на конкретный вопрос. После C более логичный следующий шаг C++ который по сути является объектно-ориентированным надмножеством C. Но больше небольших проектов на которые берут разработчиков без опыта на java благодаря андроид-разработке. А совсем коротко — оба варианта хорошие.

Ну вы же не новичок, а уже знаете Си и даже ассемблер. Считайте, вы уже по теоретической подготовке в верхних 50% стада претендентов на работу программиста. Из такой позиции вам проще будет изучить на начальном уровне C++, который является развитием Си. Хотя вообще-то тут нет противопоставления, то и другое небесполезно.

Полно книжек по этим языкам программирования.

Надо понимать уровень входа. Коммерческие сообщества, мало того, что редко по-русски доступны, так еще и через чур заносчивы. Никто вам в сети не объяснит элементарных вещей, потому что — очевидно, что всем известно, как это делать. Лично мне приятнее Java. Сейчас современные особенности массово популяризуется, пробуйте по книжкам. Если же специализация последних двух. Читать далее

Источник

Насколько сложнее C++ чем Java?

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

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

Читайте также:  Html scroll no scrolls

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

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

Простой 2 комментария

Вообще-то C++ и Java из разных весовых категорий по целям задач. Вам нужно для начала определиться, что именно будете писать. Не понятно ещё, почему присобачили в тегах C#, Swift и Objective-C.

sim3x

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

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

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

devalone, Я про то, что вам всё-равно надо знать как работает память, сколько и где она выделяется и когда она освободится, даже если это делается автоматически.

Джава — переносной ящик с инструментами неизвестного производителя. Плюсы — старый советский металлический лего-конструктор с болтиками и шайбами, к каждой из которой приклеен дробовик. Оба работают всюду. Но в плюсах прежде чем забить гвоздь тут нужно вырезать рукоять молотка, выплавить/вырезать боек, слепить все это вместе — а потом забить один-единстенный гвоздь. Или расколоть материк.
А если короче — в джаве автоматизировано 90% того, что в плюсах считается обычным делом пилить вручную. Да, это круче, но в разы дольше в разработке. Хотя, опять же, смотря с какой стороны, ибо Джава с ее BufferedReader reader = new BufferedReader(InputStreamReader(System.in)) тоже хороша.
О себе: начинал с JS -> Java -> C++ -> Python. Сейчас согласен с великой цитатой гугла: «Python — где можем, C++ — где должны».

Nerevar86

Добрый день, знаю некропост, но всё же спрошу, изучаю принципы ООП выбрал Java, потом планирую перейти на C++, вообще насколько тяжело может дасться такой переход? Интересно услышать мнение опытного программиста

Чистый Си намного проще чем Java, а C++ сложнее чисто из-за метапрограммирования (шаблоны). Да шаблоны — очень мутная и сложная тема имхо. В плюсах (особенно в STL) их пихают везде где можно (даже где не нужно). Плюс всякие копирующие и move семантики тоже добавляют сложности. И да, про память — насколько я знаю (я не плюсовик, но немного знаком) в плюсах не особо много ручной работы с памятью. Там как и в других языках есть коллекции (типа std::vector и пр.) которые избавляют от ручного выделения памяти, а если все-же понадобилось выделять память самому — есть всякие там умные указатели (shared_ptr и т.п.) которые сами ее освобождают.

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

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

Читайте также:  There is no php closing tag in this file

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

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

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

В первый раз слышу что у g++ есть плагины , вообще любая разработка под Linux гораздо проще чем под мастдай, любая библиотека установленная в систему очень легко доступна для ваших проектов, не надо ничего качать, ставить и собирать ручками как в винде, просто используете свой пакетный менеджер для установки пакетов и систему подключения оных в вашей системе сборки.

Источник

Как сделать правильный выбор между C# и Java?

Здравствуйте.
В далеком прошлом, я занимался пустой тратой времени. А именно — выбором языков программирования.
Но со временем я выбрал для себя 4 языка программирования. C++/C#/PHP/Python.
C# и Python стояли важнее всех.
Сейчас у меня стали появляться новые задачи, и я задумался над тем, стоит ли продолжать изучать C#, может, выбрать вместо него Java, или изучать 2 одновременно.
В начале хочу сказать, что думаю об этих двух языках.
C# как по мнению многих попытка Microsoft создать собственный Java.
По синтаксису эти языки программирования очень схожи. Но в C# есть преимущества на мой взгляд, делегаты, события, свойства.
Но, к сожалению, стек технологий у Java шире и больше, по сравнению с C#. Простому разработчику, наверное, все равно, но разработчику, который в будущем будет искать работу.
Просмотрев вакансии я понял, что от C# джуниора требуют меньше, чем от Java джуниора.
На википедии есть статья сравнение C# и Java, и там есть очень хорошая цитата.
Кик Рэдек из Microsoft считает С# более сложным языком, чем Java. По его мнению, «язык Java был построен таким образом, чтобы уберечь разработчика от стрельбы себе в ногу» (англ. «Java was built to keep a developer from shooting himself in the foot»), а «С# был построен так, чтобы дать разработчику пистолет, но оставить его на предохранителе» (англ. «C# was built to give the developer a gun but leave the safety turned on»).
На Кворо 1 из разработчиков писал, что Java более многословен, а C# более точен и менее многословен.
В целом, C# мне нравится больше, чем Java. С C# я начал, C# изучал, много практиковался, даже разрабатывал какие-то полезные вещи. Java более многословен, и все таки это другой язык программирования.
Изначально, у меня были следующие цели и задачи:
Разработка настольных приложений, разработка клиент-серверных приложений, разработка игр.
Все бы ничего, C# способен решать эти задачи. Но сейчас появились новые:
Работа с робототехникой (Для этого, в основном, изучаю C++ и Python);
Программирование под Android;
Разработка различных устройств. К примеру, недавно, был в ГМС (в Украине) и делал паспорт. Там был сенсор, куда прикладываешь пальцы, а он сканирует отпечатки и пробивает по базе. Также была специальная ручка, которой ведешь по сенсору свою роспись, а он записывает ее в базу.
Ладно, робототехнику можно опустить, так как C++ и Python подходят для этого лучше.
Программирование под Android. Есть Xamarin. Но на столько же ли это эффективно, как Java?
Разработка таких штук с сенсорами. Вряд ли это можно реализовать на C#.
Что я потеряю, изучая C#, что потеряю, изучая Java?
Как сделать правильный выбор между этими двумя языками программирования, или изучать оба?
Возможно ли в принципе изучение двух этих языков одновременно, и на сколько это эффективно в моем случаи?
Заранее благодарен за ответ!

Читайте также:  Javascript dom parse html

Sputterspark

MalkovVladimir73

Как человек, который 1.5 года учился java, а потом вышел работать с C# — точно могу сказать, разница несущественна. Специалисту всё равно какой инструмент он использует. Хотите наиболее производительное мобильное приложение — используете java, хотите desktop windows, вэб бэкенд, игры — C# (имхо). ML — python. Микроконтроллеры — C (C++). Хотите делать качественное ПО для всего вышеперечисленного, тогда я вам огорчу, серебряной пули нет придется использовать разные инструменты, но с опытом, вы поймёте, что различия весьма преувеличены.

Источник

Оцените статью