Чем лучшее С++ от JAVA ? Стоит ли учить JAVA или C++ лучшее?
№ | Пользователь | Рейтинг |
---|---|---|
1 | tourist | 4009 |
2 | jiangly | 3823 |
3 | Benq | 3738 |
4 | Radewoosh | 3633 |
5 | jqdai0815 | 3620 |
6 | orzdevinwang | 3529 |
7 | ecnerwala | 3446 |
8 | Um_nik | 3396 |
9 | ksun48 | 3390 |
10 | gamegame | 3386 |
Страны | Города | Организации | Всё → |
№ | Пользователь | Вклад |
---|---|---|
1 | cry | 167 |
2 | Um_nik | 163 |
3 | maomao90 | 162 |
3 | atcoder_official | 162 |
5 | adamant | 159 |
6 | -is-this-fft- | 158 |
7 | awoo | 157 |
8 | TheScrasse | 154 |
9 | Dominater069 | 153 |
9 | nor | 153 |
Название |
---|
Знать второй язык несомненно полезно, но регулярно использовать 2 разных языка имхо ужасно непрактично, знать один язык идеально гораздо лучше чем 2 по-немногу
В лицеях еще быть может знают чем отличается функция от процедуры. Всё.
Вообще тайм-лимит рассчитывается так, что можно решить задачу на любом языке. Просто иногда C++ники умудряются запихивать неверные с точки зрения жюри решения (т.е. о которых жюри думало, что точно TLE будет).
Ну и еще в C++ куда больше возможностей выстрелить себе в ногу.
Смотри: на джаве код проверяется на ошибки по ходу написания, на джаве нельзя написать что-нибудь вроде if (a=0), у джавы хорошая стандартная библиотека. Ну и когда вырастешь, скорее всего будешь прогать на джаве или C#.
Зато работает медленнее и объем кода в 2 раза больше.
Но в студии же не подчеркиваются? В Саратове и Питере вот студия стоит.
Я просто уже давно джаву выбрал для себя и не интересовался особо, что в другом лагере творится.
первом местехотя бы в десятке, если не считать задачи которые решили лишь несколько кодфорсесчанJava:
if (map.containsKey(key)) {
map.put(key, map.get(key) + delta);
} else {
map.put(key, delta);
}
C++:
map[key] += delta;
Правда, теряется где-то секунд 15 всего. Не очень и критично.
#define для for тоже сюда.
И да, для ввода/вывода надо шаблон набить.
Мне нравится С++ за его возможности работать на разных уровнях абстракции и быстро переключаться между ними.
По теме, Java или C# стоит учить в любом случае. C и С++ на свое усмотрение.
Уж как я недолюбливаю java, но длинную арифметику приходилось писать на ней... А остальное на плюсах.
С++ великолепен тем, что на нем можно такую чушь в ТЛ загнать, что никаким явам и не снилась. И код, конечно, значительно лаконичней.
А что по жизни больше пригодится это уж как сложится. Плюсы и java, на мой взгляд, уже фактически устарели и будущее за языками типа питона или vala для низкого уровня. А вообще, как говорится, хороший программист должен писать на всем что шевелится =)
UPD: Что-то я про С# забыл, но это потому что я не от мира windows, а не потому что язык плохой.
Ну, это мое мнение и мои надежды, да и примеры привел из мира gnome.
Про хаскель, я, кажется, ничего не говорил. Хаскель прелестен для общего развития, но всерьез писать на нем я бы постремался =) А питон вполне себе императивный язык, хотя и с зачатками функциональных фишек. И дебажить его - одно удовольствие =)
А С++ вот именно что между. Т.е. язык максимум среднего уровня а никак не высокого по современным меркам. И еще он фактически несовместим в обратную сторону с С. Собственно, из-за совместимости я и написал vala, хотя хз еще что из нее выйдет. А под виндой эту роль, похоже, и дальше будет выполнять C/C++.
Что касается тормознутости, то для олимпиадного программирования это проблема, а так по жизни в 90% случаев - нет. Где-то на эту тему видел замечательную фразу "use python where you can, use c where you must", хотя она не только про скорость.
Имхо, во многом именно из-за таких мыслей современные программы жрут намного больше ресурсов, чем заслуживают.
Ну, а с другой стороны, без таких мыслей эти программы, может быть, вообще бы не появились на свет. К тому же ресурсы современных копьютеров растут неслабыми такими темпами и вполне позволяют некоторые вольности.
Хотя, конечно, любую здравую мысль можно опошлить до безобразия =) Но, в принципе, если понимать откуда ноги растут и палку не перегибать, то нет особой разницы на С написана программа или на питоне, если все ее времязатратные места используют библотечные вызовы и расширения, написанные на том же самом С.
Если же суть вопроса и об обыденном программировании, то советую познакомиться как с C++, так и с Java, C# и некоторыми другими. Несмотря на синтаксическую схожесть и объектно-ориентированность языки на самом деле очень разные. В то же время ни один из них по сравнению друг с другом не является революционным, не увеличивает производительность программиста и качество разрабатываемого ПО.