Re[6]: Java проще C++?
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 23.07.13 11:37
Оценка:
Здравствуйте, Hard_Club, Вы писали:

H_C>Встречный вопрос: можно ли за год перескочить из Senior C++ в Senior Java/C#?


Наверное вопрос не ко мне. Последнее время меня больше экспертиза выручала, а не детали языков.
Re[5]: Java проще C++?
От: Pavel Dvorkin Россия  
Дата: 23.07.13 13:05
Оценка: +2
Здравствуйте, Mystic, Вы писали:


M>Неправда. После C++ я пытался пытался перейти на C#. Было жутко неудобно, неуютно, некомфортно, и я забросил это занятие.


У каждого свой опыт и свои впечатления
With best regards
Pavel Dvorkin
Re: Java проще C++?
От: Denys V. Украина http://ua.linkedin.com/in/dvalchuk
Дата: 23.07.13 13:28
Оценка: :))) :)))
Здравствуйте, Hard_Club, Вы писали:

H_C>Собираюсь учить Java после повышения на C++ senior. Причины: C++ обошел стороной мои любимые AI и NLP.


H_C>У кого есть опыт. Проще ли будет его выучить?


H_C>Почитал — http://habrahabr.ru/post/111189/, и охренел.


шутка по теме.
С уважением Denys Valchuk

IMHO чем больше мнений тем оптимальней выбор варианта... :)
Re: Java проще C++?
От: Аноним  
Дата: 23.07.13 20:51
Оценка:
Здравствуйте, Hard_Club, Вы писали:

Создатели джавы пошли по пути переупрощений, из-за этого в языке существует некоторое количество косостей, а другие "странности" стандартны для языков с аналогичными конструкциями.

В целом, конечно, все не так легко, как бывалый сиплюсплюсник мог бы ожидать, халявы не будет, и стандарт придется помусолить, но C++ все равно гораздо страшнее.
Re[2]: Java проще C++?
От: Hard_Club  
Дата: 24.07.13 11:28
Оценка:
А>Создатели джавы пошли по пути переупрощений, из-за этого в языке существует некоторое количество косостей, а другие "странности" стандартны для языков с аналогичными конструкциями.

А можно пару примеров странностей?
Re: Java проще C++?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 24.07.13 11:38
Оценка: 2 (1) +2
Здравствуйте, Hard_Club, Вы писали:

H_C>У кого есть опыт. Проще ли будет его выучить?


Я переходил с C++ на Java в добровольно-принудительном порядке (сейчас вернулся назад, но переходу рад, помогло несколько переосмыслить взгляд на разработку ПО). Как это сделать быстро и безболезнено я описал тут. Выучить Java не проще, т.к. язык проще, но сопутствующих технологий ощутимо больше.

H_C>Почитал — http://habrahabr.ru/post/111189/, и охренел.


Сам понимаешь, надергать похожего про плюсы можно куда как масштабнее
Re[3]: Java проще C++?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 24.07.13 11:40
Оценка: +1
Здравствуйте, Hard_Club, Вы писали:

H_C>А можно пару примеров странностей?


На шаблоны в Java без слез смотреть нельзя.
Код обвешаный соплями try/catch, мягко говоря, не очень удобно читать.
Re[6]: Java проще C++?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 24.07.13 11:41
Оценка:
Здравствуйте, Hard_Club, Вы писали:

H_C>Встречный вопрос: можно ли за год перескочить из Senior C++ в Senior Java/C#?


Без смены предметной области можно за несколько часов, которые уйдут на собеседование.
Re[4]: Java проще C++?
От: 31415926 Россия  
Дата: 24.07.13 11:54
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>На шаблоны в Java без слез смотреть нельзя.

Вы, очевидно, имеете в виде generics. Признаю — не самая элегантная фича. Но, во-первых, у авторов не было другого выбора, т.к. необходимо было сохранить совместимость с огромным объемом уже существовавшего на тот момент кода. А во-вторых, если не смотреть, а пользоваться, но весьма полезная вещь, меня, во всяком случае, на слезу не прошибает.

KP>Код обвешаный соплями try/catch, мягко говоря, не очень удобно читать.

Да любой код читать не так "удобно", как Агату Кристи. Но на Java пишутся огромные приложения, так что exceptions — весьма полезный механизм. Время от времени читаю рассуждения о том, что checked exceptions — это зло. По моему опыту это не так, причем сильно не так, т.к. избавляет от многих ошибок уже на стадии компиляции, а с современными IDE — уже на этапе печатанья.
Re[5]: Java проще C++?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 24.07.13 12:01
Оценка:
Здравствуйте, 31415926, Вы писали:

3>Вы, очевидно, имеете в виде generics. Признаю — не самая элегантная фича. Но, во-первых, у авторов не было другого выбора, т.к. необходимо было сохранить совместимость с огромным объемом уже существовавшего на тот момент кода. А во-вторых, если не смотреть, а пользоваться, но весьма полезная вещь, меня, во всяком случае, на слезу не прошибает.


Java — вообще язык компромиссов. Если на него переходишь после C++, то он кажется чудовищно недоразвитым, особенно в области метапрограммирования. Потом, когда привыкнешь, всей его недоразвитости не замечаешь.
Re[6]: Java проще C++?
От: 31415926 Россия  
Дата: 24.07.13 12:30
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Java — вообще язык компромиссов. Если на него переходишь после C++, то он кажется чудовищно недоразвитым, особенно в области метапрограммирования. Потом, когда привыкнешь, всей его недоразвитости не замечаешь.


Да любой язык программирования (кроме сугубо академических) грешит компромиссами. Просто Java используется в другого типа проектах, нежели C++. Я с ужасом представляю себе проект на несколько миллионов строк, который развивался в течение десятка лет под давлением бизнеса сменяющимися командами (зачастую — с сомнительной квалификацией) и написанный при этом на языке с развитыми средствами метапрограммирования. Ровно из тех же соображений я крайне скептически отношусь к перспективам Scala, хотя сам язык мне нравится, и с удовольствием бы на нем попрограммировал, особенно после того, как автор угомонится и начнет всерьез заботиться о совместимости последовательных версий (на что, судя по всему, надежды мало).
Re[7]: Java проще C++?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 24.07.13 12:35
Оценка:
Здравствуйте, 31415926, Вы писали:

3>Да любой язык программирования (кроме сугубо академических) грешит компромиссами. Просто Java используется в другого типа проектах, нежели C++. Я с ужасом представляю себе проект на несколько миллионов строк, который развивался в течение десятка лет под давлением бизнеса сменяющимися командами (зачастую — с сомнительной квалификацией) и написанный при этом на языке с развитыми средствами метапрограммирования.


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

3> Ровно из тех же соображений я крайне скептически отношусь к перспективам Scala, хотя сам язык мне нравится, и с удовольствием бы на нем попрограммировал, особенно после того, как автор угомонится и начнет всерьез заботиться о совместимости последовательных версий (на что, судя по всему, надежды мало).


Да, я посмотрел на Scala и мне подумалось, что нагородить на ней можно еще похлеще чем на C++, хотя, язык приятный во всех отношениях, но требования к разработчикам должны быть очень высокие.
Re[6]: Java проще C++?
От: omgOnoz  
Дата: 24.07.13 12:59
Оценка: :)))
Как по мне Java это С++ из которого выкинули все лишнее и добавили кучу полезных фич — к стати фичи C++ потихоньку перенимает у Java в последнее время.

Перешел на Java с С++, теперь без слез не могу смотреть на С++
Re[4]: Java проще C++?
От: elmal  
Дата: 24.07.13 13:54
Оценка: :)
Здравствуйте, kaa.python, Вы писали:

KP>Код обвешаный соплями try/catch, мягко говоря, не очень удобно читать.

А не надо городить сопли с try catch, и все хорошо будет . При некоторым опыте, когда стараешься код держать в приемлемом состоянии, обходишься практически без соплей. А сопли максимум в пределах метода один раз. А часто используемые обработчики можно аспектами на аннотациях разрулить, весьма читабельно получается. Соответственно если уметь готовить их, то исключения практически не напрягают. По крайней мере они не хуже исключений в плюсах, питоне, шарпе.
Re[7]: Java проще C++?
От: Evgeny.Panasyuk Россия  
Дата: 25.07.13 02:24
Оценка:
Здравствуйте, omgOnoz, Вы писали:

O>Как по мне Java это С++ из которого выкинули все лишнее и добавили кучу полезных фич — к стати фичи C++ потихоньку перенимает у Java в последнее время.


это ты про generic'и, try-with-resources, val, и когда уж там они наконец появятсялямбды?
Re[3]: Java проще C++?
От: Sinclair Россия https://github.com/evilguest/
Дата: 25.07.13 07:46
Оценка:
Здравствуйте, Hard_Club, Вы писали:

H_C>1.Если f1 и f2 оба представляют Float.NaN, тогда метод equals возвращает true, в то время как Float.NaN==Float.NaN принимает значение false.

В целом, в Java оператор == почти что бесполезен для reference-типов. Это вбивается в девелоперов на уровне подкорки: всегда пишите if("Vasya".equals(customerName)), и никак иначе.

H_C>2.Если f1 содержит +0.0f в то время как f2 содержит -0.0f, метод equal возвращает false, в то время как 0.0f==-0.0f возвращает true.

Это уже особенность реализации compile-time вычислений. С ними почти во всех языках засада — компилятор устроен не совсем так, как рантайм, и иногда делает всякие неожиданные вещи.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[5]: Java проще C++?
От: alzt  
Дата: 25.07.13 12:21
Оценка:
Здравствуйте, elmal, Вы писали:

KP>>Код обвешаный соплями try/catch, мягко говоря, не очень удобно читать.

E>А не надо городить сопли с try catch, и все хорошо будет . При некоторым опыте, когда стараешься код держать в приемлемом состоянии, обходишься практически без соплей. А сопли максимум в пределах метода один раз. А часто используемые обработчики можно аспектами на аннотациях разрулить, весьма читабельно получается. Соответственно если уметь готовить их, то исключения практически не напрягают. По крайней мере они не хуже исключений в плюсах, питоне, шарпе.
Как без лишних try/catch открыть файл и записать в него что-нибудь?
Re[6]: Java проще C++?
От: omgOnoz  
Дата: 25.07.13 12:25
Оценка:
A>Как без лишних try/catch открыть файл и записать в него что-нибудь?
что значит лишние?
Re[6]: Java проще C++?
От: elmal  
Дата: 25.07.13 12:30
Оценка:
Здравствуйте, alzt, Вы писали:

A>Как без лишних try/catch открыть файл и записать в него что-нибудь?

MyFileUtils.saveToFile(file, "Hello, file").
Которое кидает нужное тебе исключение, которое ты обрабатываешь на самом высоком уровне. А то и вообще рантаймовое.
Или еще вариант, в случае проблем эта утилита кидает эвент, а листерен соотвествующего эвента делает то, что нужно, запишет в лог, отобразит уведомление для юзера, поставит операцию записи в очередь, которая попробует повторить операцию.
Короче вариантов до черта, и зависит это от того, что конкретно надо делать в случае ошибки.
Re[4]: Java проще C++?
От: elmal  
Дата: 25.07.13 12:41
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Это уже особенность реализации compile-time вычислений. С ними почти во всех языках засада — компилятор устроен не совсем так, как рантайм, и иногда делает всякие неожиданные вещи.

Тем более, что с плавающей запятой никто вменяемый, представляющий как это работает внутри хотя бы отдаленно, никогда никаких == и equals не использует — всегда сравнение разности с дельтой.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.