Мозаичный форум

Мозаичный форум (http://project.megarulez.ru/forums/index.php)
-   Цифровые технологии, программирование и сайтостроительство (http://project.megarulez.ru/forums/forumdisplay.php?f=210)
-   -   Java (http://project.megarulez.ru/forums/showthread.php?t=28059)

Modus 05.06.2018 14:29

Java
 
На прошлой неделе у меня в жизни произошёл очередной рубеж - я впервые провёл курс в группе по Java.

Язык программирования C++ - довольно старый, многие неудачные решения тянутся там со старых времён, а отменить всё это нельзя, ибо совместимость. Казалось бы, Java - более молодой язык, в котором учтены ошибки C++, но у меня стойкое ощущение, что из трёх языков, которые я преподаю (C++, Java, C#), самым кривым и неудобным является Java, а не C++. В C++ лямбда-выражения сделаны даже лучше, чем в самом молодом C# (хотя это объяснимо, в C# они появились в 2008 году, а в C++ в 2011), а в Java из-за отсутствия ссылок на переменную замыкания в лямбдах выглядят как откровенные костыли. Стирание обобщённых типов тоже, наверное, не пнул только ленивый. А GUI на Java? Это же адский ад! Почему ни с одной библиотекой под C++ (QT, wxWidgets, С++ Builder) у меня не было таких проблем с размещением элементов управления на окне, как в Java (Swing)? В C# тоже всё красиво, удобно, понятно. Почему Java - самый популярный язык в мире, если она и работает вдвое медленнее, чем C++, и по удобству работы недотягивает? C#, по крайней мере, действительно отличается удобством и продуманностью (хотя с делегатами разработчики всё-таки немного накосячили), за которое можно заплатить производительностью; в частности, удобство языка позволяет легче отладить более эффективный алгоритм, и в ряде случаев C#-программа будет благодаря этому работать быстрее аналогичной C++-программы. Примерно такие же впечатления у меня от синтезатора Massive - почему синтезатор, в котором на первый взгляд всё просто, но нарулить звук приемлемого качества очень сложно, так популярен?

Afa 05.06.2018 14:43

люди традиционно, при наличии нескольких решений - выбирают самое уродское, гарантирующее максимум работы в будущем. "Right things не выживают"

Zab 05.06.2018 14:50

Странно, что ты сравниваешь Яву с С++. По области применения они не пересекаются почти. Ява для более прикладных задач, для менее квалифицированных программистов, которые обычно не способны работать на С++. И платить им можно втрое меньше.
Конечно, в 2000м году С++ применяли и для прикладных задач тоже, его вообще везде применяли, но сейчас не двухтысячный, научились экономить и не используют тяжелую артиллерию там, где без нее все хорошо получается.

Если коротко, из С++ можно сделать почти любой язык и потом на нем программировать. Делать из него яву нет смысла, ибо есть ява, есть C#. Но если тебе нужна какая-то другая механика - вот тебе "конструктор языков". Но чтобы на нем программировать - надо четко понимать как комп будет твою программу исполнять, на яве это понимать не обязательно, ткнули - получилось - значит правильно. Совсем иная степень дружественности.

Modus 05.06.2018 16:34

Насколько я знаю, с зарплатами всё с точностью до наоборот: C++ программисты получают меньше всего, Java-программисты больше всего.

BOBA 05.06.2018 17:39

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

Modus 05.06.2018 18:14

Можно подумать, что для программирования на C++ не нужен технологический стек.

BOBA 05.06.2018 18:21

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

А какие сейчас вилки у джуниора -джависта? в средней полосе?


Часовой пояс GMT +4, время: 14:16.

Работает на vBulletin® версия 3.8.9 Beta 3.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot