Вход | Регистрация

  1  2  3  4  5  6   

И снова Java

↓ [длинная ветка, 14.09.16 - 23:49]
И снова Java
Я
   Одинесю
 
07.09.16 - 21:40
Добрый вечер, ребятушки. Так случилось, что то, что учил и то, что нравилось не востребовано теперь. Может возраст. Сижу, читаю джаву, яву, ну как там ее. Захватило, интересно. Вижу многое сходство с 1С. Ну, это так - лирика. Вспомнил, что заводили тему о создании ветки по Я(Джа)ве, но не увидел. Хотел спросить знающих - по каким материалам лучше учиться. Прочитал (почти) Философия Явы, но там как-то сухо, применения не акцентируются. Подскажите, кто как выходил на сие чудо?
 
 
   Loky9
 
301 - 12.09.16 - 14:05
TensorFlow
C++ 44.0% Python 40.1% Jupyter Notebook 6.4% HTML 4.2% TypeScript 2.3% Shell 0.9% Other 2.1%
   Jija Grenkov
 
302 - 12.09.16 - 14:07
(297) >> Так ведь и casandra c hbase не всем нужна - читайте юзкейсы.
Вот вроде бы вы взрослый человек. Вы из контекста не уловили, что мы базы данных для больших данных рассматриваем? Все 3 БД имеют одинаковое назначение (hypertable, hbase, casandra)

>> Есть у вас кластер с gpu, обрабатывающий сверточные нейросети, допустим, или любой другой массовый параллелизм, впилите сюда яву!
Впиливаю для вас
http://www.jcuda.org/
http://deeplearning4j.org/spark-gpus
https://github.com/IBMSparkGPU/CUDA-MLlib

К стати давайте представим что у вас есть кластер в 1000 нод, на чем вы свои таски стартовать планируете? Какой фреймворк будет обеспечивать перезапуск тасок и планирование?

(298) Не значительно, но медленне. В скале из за синтаксического сахара очень много классов создается.
(300) вы наверное забыли, что мы обсуждаем. Мы обсуждаем производительность программ на разных языках
   Loky9
 
303 - 12.09.16 - 14:12
(302)
https://github.com/IBMSparkGPU/CUDA-MLlib
Cuda 57.2% C 31.2% C++ 6.9% Shell 2.7% Makefile 2.0%
У других тоже между явой и гпу прослойка найдётся.

"вы наверное забыли, что мы обсуждаем. Мы обсуждаем производительность программ на разных языках"
Вас сразу к результатам Java vs C++ попросить? Пока напомню, что речь шла и о симбиозе языков.
   Loky9
 
304 - 12.09.16 - 14:15
(302) "Вот вроде бы вы взрослый человек. Вы из контекста не уловили, что мы базы данных для больших данных рассматриваем? Все 3 БД имеют одинаковое назначение (hypertable, hbase, casandra)"
А вы понимаете, что не все параллельные вычисления, которыми занимаются MPI, имеют отношение к большим данным?
   Loky9
 
305 - 12.09.16 - 14:52
Есть D. Компилируется в нативный код и имеет GC. Вполне может заменить яву и шарп, в перспективе.
http://dlang.org/areas-of-d-usage.html
   Serginio1
 
306 - 12.09.16 - 15:07
(305) Ничего он не заменит. Слишком большое сообщество у явы и шарпа. Скорее .Net Native похоронит D
   Serginio1
 
307 - 12.09.16 - 15:10
Я к чему. Есть в .Net прекрасный язык Nemerle.
Там есть то чего в C# нет до сих пор. Но его популярность слишком мала. Кто стоит за C# и кто стоит за Nemerle.
Так же и с D.
   Loky9
 
308 - 12.09.16 - 15:16
(306) У С# тенденция самому переродиться в D. NET не нужен.
   Serginio1
 
309 - 12.09.16 - 15:29
(308) Ну судя по развитию C# то развивается достаточно быстро и берет многое из функциональщины, динамиков.

.Net не нужен кому? Живет и процветает и становится кроссплатформенным.  Его хоронят с самого его появления.

А вот кому D нужен? Пока за ним не будет стоять крупная контора никому, он мало интересен.
   Loky9
 
310 - 12.09.16 - 15:31
(309) Там по ссылке всё сказано. Например " Remedy Entertainment has successfully shipped the first AAA game to use D code for XBox One and Windows 10."
 
 Рекламное место пустует
   Jija Grenkov
 
311 - 12.09.16 - 15:37
(303) все что я написал отлично иллюстрирует, что на С++ сложно написать большое приложение. И по факут на это уйдет больше времени а выхлопа не будет и функционал будет скуднее.
Естественно сам драйвер для CUDA лучше написать на С/С++. Я наоборот утверждаю, что удел плюсов вот такие низкоуровневые программы.
(304) в моем случае с точностью до наоборот. В Hadoop и Spark не используется MPI.
(305) Так джава тоже в нативный код очень быстро компилируется. Я пока не слышал, о популярности D. На много больше разговоров о GO
   Jija Grenkov
 
312 - 12.09.16 - 15:40
(303) http://www.javaworld.com/article/2076593/performance-tests-show-java-as-fast-as-c--.html?page=2
Вот тест где джава компилится jit компилятором
   Gary417
 
313 - 12.09.16 - 15:45
(312) 98 год и java 1.2 ;))

Особенно забавно когда читаешь современную книгу по яве инженера разрабатывавшего яву (Блох), и он пишет что старые версии платформы имели серьёзные проблемы с производительностью
   Jija Grenkov
 
314 - 12.09.16 - 15:49
(313) Там очень простые кейсы в тестах, наверняка они давно максимально оптимизированы. Все вычисления в стеке
   Loky9
 
315 - 12.09.16 - 15:55
(312) Даже не знаю что и сказать
http://benchmarksgame.alioth.debian.org/u64q/compare.php?lang=java&lang2=gpp
(314) А как тогда дела с суперскалярностью были?
   Jija Grenkov
 
316 - 12.09.16 - 16:03
(315) Есть опция -server которая говорить JVM что код нужно побыстрее копилить, а не интерпритировать. На тестах где 1 и тот же код выполняется много раз - это дает значительный прирост. А в реальной системе на сервере, весь часто используемый код будет скомпилин в нативный
   Serginio1
 
317 - 12.09.16 - 16:05
   Loky9
 
318 - 12.09.16 - 16:08
(317) Это всё майковые зазывалочки. Никто там ничего серьёзного не делает.
   Serginio1
 
319 - 12.09.16 - 16:51
(318) А на D?
   Serginio1
 
320 - 12.09.16 - 16:59
   Serginio1
 
321 - 12.09.16 - 17:01
Unity3D 482 вакансии
C# 859 вакансий
Java 1 436 вакансий

1C 11 245 вакансий
   Бертыш
 
322 - 12.09.16 - 17:05
Была хорошая вакансия в сети знакомств badoo. Меня очень воодушевили их характеристики 300+ лямов пользователей более миллиарда динамических реквестов в сутки.
   Бертыш
 
323 - 12.09.16 - 17:07
А по jave возьмите себе навырост книжицу http://www.books.ru/books/java-native-interface-1354084/
   Gary417
 
324 - 12.09.16 - 17:11
(321) 1С - там половина вакансий это "Менеджер по работе с клиентами" "Ассистент отдела продаж"
   Serginio1
 
325 - 12.09.16 - 17:16
(324) Если задать Программист 1С
То всего 600
   Gary417
 
326 - 12.09.16 - 17:18
(325) а вот C# и Java - все настоящие вакансии

в 1С есть ещё Администратор 1С
   Serginio1
 
327 - 12.09.16 - 17:19
Да и по Unity3D лоханулся
71 вакансия
   Loky9
 
328 - 12.09.16 - 20:42
(319) Если сделать скидку на разные весовые категории в данной дисциплине, то примерно поровну)
(320) Для мобильных девайсов на юнити много чего делается.
   Jija Grenkov
 
329 - 12.09.16 - 20:54
В джава .больше специализаций, то есть даже синьер будет вынужден отбросить половину вакансий из потенциальных
   Одинесю
 
330 - 13.09.16 - 12:19
И фсе? А как практически применять, деньги зарабатывать, как учиться - что-то ЯваРаш немного отстойно выглядит, чисто синтаксис, "Философия Ява" круче и полезней, но и она не дает применения, как применить-то?
   Azxcvbn
 
331 - 13.09.16 - 12:24
Вам же говорят на рынке тупо Java Core ни кому не нужен, даже Джуниоров просят что бы они знали J2EE.
Т.е. ООП паттерны, сервлеты там, ant/maven, spring, Hibernate. Конечно не просят полностью знать, а хотя бы что это и для чего это нужно, плюс желателен опыт работы с этими технологиями.
   Одинесю
 
332 - 13.09.16 - 12:25
(331) А как идти к этому?
   Одинесю
 
333 - 13.09.16 - 12:30
И интересна область применения - драйвера, веб, андроид, еще что-то... Синтаксиса полно, описание библиотек тоже можно найти, пусть на английском, а как с этим работать??? К примеру классы, я так думаю, что и как в 1с, все уже есть, надо изучать просто, написание прог на Яве к чему сводится? К изучению тому, что уже сделали? Кто-то вообще использует свое?
 
 
   Gary417
 
334 - 13.09.16 - 12:35
(332) брать и идти, я вот сам для себя большой проект пилю. (333) драйвера - это не про яву, это про C/CPP и ассемблер.
<написание прог на Яве к чему сводится>

к программированию, в 1С вы же можете написать свою конфу? вот и в яве также
   Метранпаж
 
335 - 13.09.16 - 12:36
(331) А что, для коры паттерны и гибернейт не нужны?
   Torquader
 
336 - 13.09.16 - 12:38
(334) На Java, наверное, даже проще, чем на 1С - там многопоточность из коробки и синхронизация без проблем.
   Azxcvbn
 
337 - 13.09.16 - 12:39
(335) Ну под корой имеется ввиду ООП, JDK и голый синтаксис. (336) ха ха ха
   Gary417
 
338 - 13.09.16 - 12:39
(336) Это в яве синхронизация без проблем и многопоточность из коробки?
   Одинесю
 
339 - 13.09.16 - 12:39
ок, кто сколько учился? И что там основное в учебе, повторяю, синтаксис - сутки, что дальше?
   Torquader
 
340 - 13.09.16 - 12:41
(338) Ну, по крайней мере, я тестовый пример для обмена данными между потоками написал и запустил - и, надо сказать, что работает и не тормозит.
   Одинесю
 
341 - 13.09.16 - 12:41
Реальное небольшое задание и осуждение, если понадобится вглубь - я не против, мне суть понять
   Azxcvbn
 
342 - 13.09.16 - 12:42
(340) что то на уровне, я написал

Сообщить("Привет мир!");

все работает и без проблем
   Gary417
 
343 - 13.09.16 - 12:42
(339) Я нисколько не учился, появилась задача пару лет назад андройд приложение написать, за месяц написал..

год назад решил свой проект запилить, до сих пор пилю (по вечерам, времени особо нет, да и очень глобально)
а если думать про "учёбу" то по яве я первую книжку прочитал два месяца назад (философию) и то после того как мне предложили в программерский отдел перейти...просто решил для себя теорию подтянуть
   Torquader
 
344 - 13.09.16 - 12:44
(342) Ну примерно так, только в нескольких потоках.
Понятно, что если копнуть глубже, то будут подводные камни - но, есть языки, где и несколько потоков для Hello World не сразу запускаются.
   Gary417
 
345 - 13.09.16 - 12:46
(340) а я вот написал приложение с плагинами и кучами потоков в каждом, работает, залил в железку, пошёл тестить...виснет с пустого места... начал ковырять блин там такой геморрой с синхронизацией на самом деле а после того как книжку почитал так вообще тёмный лес...одним synchronized дело не обходится
   Одинесю
 
346 - 13.09.16 - 12:48
(344) Не умничай) Напиши реально заработать прогом, мне все равно что учить, там учить нечего, как применить?
   Torquader
 
347 - 13.09.16 - 12:48
(345) Так я же про объекты "atomic" - они гарантируют синхронизацию на уровне процессора.
А synchronized - это просто гарантия, что в одни ворота все сразу не зайдут.
   Torquader
 
348 - 13.09.16 - 12:48
(346) Тогда учи всё - по крайней мере - сможешь для каждого задания выбрать оптимальное решение.
   Starhan
 
349 - 13.09.16 - 12:49
(346) у нас в Челябинске вакухи джва джун - 40 мидл 80 сеньор 120.
 
 Рекламное место пустует
   Jija Grenkov
 
350 - 13.09.16 - 12:53
(345)  Конкурентная многопоточность в целом сложная область, но в джаве много инструментов для синхронизации.
   Jija Grenkov
 
351 - 13.09.16 - 12:54
(347) так атомики только для примитивов
   Gary417
 
352 - 13.09.16 - 12:55
(350) Я и говорю что "многопоточность из коробки" - это набор инструментов и пара инструкций по которым можно собрать чтото работающее... но глючить всёравно будет если не вникать в подробности не описанные в документации
   Azxcvbn
 
353 - 13.09.16 - 12:56
(346) Вот тебе задача, сделай на java два документа приход и расход, ну и плюс регистр накопления остатки. Это будет веб приложение, поднимешь на tomcat, используй бд MySQL, попробуй через хибернейт. Т.е. будет трёхзвенное клиент-серверное приложение. Вьюшку можешь сделать на jsp(правда он мертв), ну или JSF хотя бы.
Реально по ходу дела разберешься с основными технологиями и паттернами ООП.
   Garykom
 
354 - 13.09.16 - 13:00
(353) Для вьюшки любой из готовых фреймворков java>js их сча море.
Самый удобный/гибкий для меня показался https://www.zkoss.org/product/zk.
   Одинесю
 
355 - 13.09.16 - 13:00
(351) А на русском можно? Ну серьезно, ничего не понятно, зачем многопоточность? Нафига? Я хочу язык зарабатывающий, а не искузы
   Jija Grenkov
 
356 - 13.09.16 - 13:01
(352) С документацией все совпадает. В коробке на много больше чем пара инструментов для синхронизации. Я даже и не видел, что бы кто-то внешние синхронизаторы подключал
   Garykom
 
357 - 13.09.16 - 13:01
(355) Затем что без многопоточности нажал кнопку "выполнить" и привет. Ой я не то нажал как бы прервать? - Никак!
   Torquader
 
358 - 13.09.16 - 13:01
(351) Так обычно и нужны только примитивы - через них всё делается - просто - объекты упрутся в синхронизацию потоков на уровне операционной системы - а не все системы (особенно железные) это хорошо умеют.
   Garykom
 
359 - 13.09.16 - 13:02
(356) +1 Если понять сам принцип работы многопоточности то никаких проблем хоть вручную на семафорах сделать.
   Jija Grenkov
 
360 - 13.09.16 - 13:02
(355) Не заморачивайся о многопоточности на первых этапах. Если говорить о вэб программировании на джаве, то там многопоточность очень редко нужна и в самых простых реализация используется
   Torquader
 
361 - 13.09.16 - 13:02
(357) Да-да, как раз последняя 1С - очень показывает, как не нужно делать.
   Torquader
 
362 - 13.09.16 - 13:03
(360) Для Web-а многопоточность  - зло. Там отмена задания будет делаться уже другим запросом.
   Jija Grenkov
 
363 - 13.09.16 - 13:06
(358) к примеру у вас обработка состоит из 3-х независимых этапов. Затем есть 4-й этап который можно начать только по завершению 3-х. Как вы будете на атомиках извращаться?
   Jija Grenkov
 
364 - 13.09.16 - 13:07
(362) Вам нужно просчитать сумму числе в очень большой матрицы загруженной с UI. Почему бы не сделать это в несколько потоков?
   Gary417
 
365 - 13.09.16 - 13:07
(362) ну прям зло, а если например "внутри" делается штук 5 запросов в разные системы, каждый из которых по 15 секунд отрабатывает? а потом ответ надо в один слить и клиенту отдать
   Garykom
 
366 - 13.09.16 - 13:16
(365) Асинхронность, nodejs...
   Gary417
 
367 - 13.09.16 - 13:17
(366) так это и есть разновидность многозадачности
   Одинесю
 
368 - 13.09.16 - 13:17
Ребят, ну вы не изголяйтесь, я понимаю о чем Вы, эта многопоточность, но зачем? И чем она в Джаве лучше С++, мне кажется Вы слишком копаете, все снаружи - Выучил синтаксис, понял определения классов, что дальше? Вы говорите сейчас на неизвестном языке, что дальше?
   Loky9
 
369 - 13.09.16 - 13:18
(353) Хочу позанудствовать. У ООП нет паттернов.
   Starhan
 
370 - 13.09.16 - 13:19
(368) знакомиться с популярными фреймворками и прочими помогающими вещами.

Стек нужных технологий вытащи просмотром вакух.

Потом идешь и ищешь позицию джуна
   Garykom
 
371 - 13.09.16 - 13:19
(367) Ага причем очень простая и удобная когда в нее въедешь. Классическая многозадачность явы для меня была проще для понимания, но юзать сложнее.

(368) Выучил основы - идешь в джуны и 3-5 лет пашешь до мидла/регуляра. Станешь ли сеньором это еще вопрос.
   Одинесю
 
372 - 13.09.16 - 13:21
(370) Вооот, уже дело, я так и думал, по вакухам посмотреть, но их задачи какие, ну, в основном...
   Starhan
 
373 - 13.09.16 - 13:24
(372) сейчас популярны веб-игры (у многих бэк на джаве), игры на андроиде и различные бизнес-приложения. В основном студии (куда берут джунов) этим занимаются.
   Starhan
 
374 - 13.09.16 - 13:29
(373) Возможно еще студия специализируется на западных заказчиках. Или западная компания набирает подешевле прогов у нас. Там есть возможность проявить себя и перебраться заграницу работать.
   Azxcvbn
 
375 - 13.09.16 - 13:41
(369) я лох, признаюсь, паттерны проектирования*
Просто ко мне они пришли вместе с ООП, и я их связываю, что в корне неверно
   Jija Grenkov
 
376 - 13.09.16 - 13:54
(372) Тогда слушай.
Даже внутри джавы нужно выбрать специализацию. Самое ширпотребное - это Spring / Hibernate.
Spring - Самое важное Dependency Injection, MVC (можно ограничится RESTом), Spring Data (Spring jdbc, spring data jpa)
Hibernate - Тут не нужно пытаться воспроизвести поведение 1с (не делайте никаких регистров, используйте плоские таблицы). Понимать как делаются джоины, индексы. Посмотреть criteria api и H(JP)QL
В теории почитать про сервлеты. Можно попробовать сделать что-то простое.
Посмотреть что такое JPA, JSF, GWT. Что бы на собесе сказать, что читал знаешь что такое и зачем и готов углубиться, если надо.
Поверхностно посмотреть JS (Angular, jquery)
В джава кор часто спрашивают про ООП , Коллекции (иерархия, реализация, алгоритмическая сложность операций), Исключения (чекед, анчекед, иерархия), дженерики, базовая многопоточность(монитор, синхронизационный блок/метод, атомики, конкурентные коллекции), базовые паттерны
Делать свой проект который заливать на гитхаб(обязательно просить просмотреть код шарящих людей). Проект не нужно выбирать алгоритмически сложный, главное что бы цеплял по больше из вышеперечисленного (Зоопарк, Интернет магазин)
Ходить на собесы, вначале на не ценные для тебя, просто потренироваться.

Не отвлекаться на всякие С++, NodeJS. Поле базовых скилов джавы можно качать JS для фронта.
   Jija Grenkov
 
377 - 13.09.16 - 13:55
и не пытаться реализовывать иерархические списки
   Jija Grenkov
 
378 - 13.09.16 - 13:57
PS. Я уволился с работы и 2.5 месяца учил джаву. После чего сразу наше работу.
   Starhan
 
379 - 13.09.16 - 14:03
(378) учил джаву, тоже хотел соскочить, но повысили до нач. отдела.
   Torquader
 
380 - 13.09.16 - 14:33
(377) Чем вам иерархия не подошла ?
   cViper
 
381 - 13.09.16 - 16:02
(331) Java Core очень даже нужна на рынке и платят за нее даже больше чем за энтерпрайз. Только уровень нужен соответствующий. Надо очень глубоко знать concurrency.
   NorthWind
 
382 - 13.09.16 - 16:11
(333) драйвера нет. Андроид да. Но основное применение, как я понимаю - сложные распределенные системы, такие как ЕГАИС, к примеру.
   kiruha
 
383 - 13.09.16 - 16:18
(376)
А Swing, tomcat ?
   NorthWind
 
384 - 13.09.16 - 16:18
А так в принципе можно делать почти все, кроме прямой работы с железом а-ля драйвера. Десктопные приложения можно и т.п.
   NorthWind
 
385 - 13.09.16 - 16:20
(383) Swing еще жив?
   NorthWind
 
386 - 13.09.16 - 16:20
tomcat осваивается в куче с сервлетами. По крайней мере, я их на нем как раз гонять пробовал
   NorthWind
 
387 - 13.09.16 - 16:22
(376) спасибо. Последний раз джавой занимался довольно давно, теперь знаю, в каком направлении смотреть для освежения навыков
   Jija Grenkov
 
388 - 13.09.16 - 16:44
(380) Что бы не тратил время, у него это не спросят и с высокой вероятностью пропустят мимо при просмотре кода.
(383) Десктопные приложения на джаве пишутся редко. Я бы не рекомендовал даже тратить время на ознакомление со Swing. Лучше это время потратить на web ui технологии. А томкат для начала достаточно знать, что это такое. Как деплоить приложение, но там все предельно просто.
   cViper
 
389 - 13.09.16 - 16:53
(388) Intellij Idea написана на swing
   Garykom
 
390 - 13.09.16 - 16:55
(389) И что? Устроиться на работу по написанию IntelliJ IDEA или аналогов не очень реально ))
   Метранпаж
 
391 - 13.09.16 - 16:56
(390) ну не знаю, меня около 8 лет назад туда звали...
   Garykom
 
392 - 13.09.16 - 17:02
(391) Вот сравни с кол-вом общим вакансий по java и сколько там требований Swing. Суть да можно найти работу и по JavaSE/Swing но уже сложно.
   Метранпаж
 
393 - 13.09.16 - 17:04
(392) Меня пока жаба не интересует.
Когда станет - буду сравнивать.
   Метранпаж
 
394 - 13.09.16 - 17:05
   kiruha
 
395 - 13.09.16 - 17:07
(394)
Там в комментариях указали что  Java EE, а не  Java в целом.
   Метранпаж
 
396 - 13.09.16 - 17:09
(395) А теперь представь себе заявление КАМАЗа "мы больше не будем выпускать грузовики, а только ОКу".
смысл утрирован, но похож. Ибо жаба нужна в ЕЕ и на мобилах. А на декстопе - не упёрлась и во что.
   Gary417
 
397 - 13.09.16 - 17:16
(396) сложно судить, но сейчас получается так что J2EE не спользуется по факту, все юзают фреймворки которые являются надстройкаой над ней... т.е. получается они перестали тянуть мертвую технологию
   Encode
 
398 - 13.09.16 - 17:17
(394) Ох как одна желтая статейка на хабре может промыть людям голову.
1) Oracle уже подтвердила выход Java EE8
2) Java EE это всеголишь набор спецификаций
3) Java-Enterprise приложения в основном сейчас пишутся не на Java EE!
   Gary417
 
399 - 13.09.16 - 17:17
(396) на декстопе уже давно много чего не упёрлось...я вот задумался что за последний год, кроме пары игр только одну единственную софтину установил (кроме программерских) - чтобы DVD сконвертить
   Gary417
 
400 - 13.09.16 - 17:18
imho прошло время написания софта для десктопов
  1  2  3  4  5  6   

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует