|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
А вполне такой себе приличный язычок программирования, с которым можно жить... Closable, лямбды, потоки обработки, методы как объекты, отложенные вычисления, автоматическое распараллеливание и прочие вкусности, и вроде бы уже можно попрограммировать чего-то! Я сегодня написал программу подсчета частоты слов в тексте, заняла примерно 5 строк, и обработала первый том "Войны и мира" за что-то типа секунды. Прогресс налицо! Гай Стил, I love you! ---- Читал хинты оракла. Много думал... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 19:49 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
MasterZivА вполне такой себе приличный язычок программирования, с которым можно жить... Да, я ссылок на методы много лет ждал. Теперь появился новый способ переиспользовать код не плодя при этом тонны фигурных скобок. MasterZivClosable Since 1.5 :) AutoClosable - Since 1.7 MasterZivавтоматическое распараллеливание Ага. И при этом плохо управляемое. MasterZivЯ сегодня написал программу подсчета частоты слов в тексте, заняла примерно 5 строк, и обработала первый том "Войны и мира" за что-то типа секунды. Тоже тащусь уже несколько месяцев. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2016, 20:32 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
MasterZivЯ сегодня написал программу подсчета частоты слов в тексте, заняла примерно 5 строк, и обработала первый том "Войны и мира" за что-то типа секунды. А можно код увидеть ? Хочется проникнуться вместе с вами :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2016, 09:53 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
Я бы тоже хотел посмотреть. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2016, 10:06 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
MasterZiv, всё. Пропал Илья. Стал на скользкую дорожку... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2016, 10:41 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
korshun, JonnySKS, http://www.leveluplunch.com/java/examples/count-distinct-word-occurrences-in-file/ ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2016, 10:44 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
grasoff.netkorshun, JonnySKS, http://www.leveluplunch.com/java/examples/count-distinct-word-occurrences-in-file/ ps этот из гугла ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2016, 10:45 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
korshunMasterZivЯ сегодня написал программу подсчета частоты слов в тексте, заняла примерно 5 строк, и обработала первый том "Войны и мира" за что-то типа секунды. А можно код увидеть ? Хочется проникнуться вместе с вами :) пошою, конечно... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2016, 13:04 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
Обещаный код. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2016, 15:41 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
MasterZiv, Если уж использовать Java 8, то только на полную катушку Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2016, 16:20 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
Воинствующий во мне бюрократ не удержался и накатил патчик. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2016, 17:12 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
А пока писал кто-то уже опередил. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2016, 17:13 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
автоматическое распараллеливание Можно спросить - что под этим подразумевается ? Выполнение в несколько потоков? Выполнение на нескольких компьютерах ? В этом коде распараллеливание где-то происходит? В какой строке? На С++ та же задача вычисляется за то же время или быстрее/медленнее ? Понятно, что это тест, но на мой вкус, подсчет частоты слов - вообще для SQL сервера задача. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2016, 19:06 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
Наверное речь идёт о Collections.parallelStream и ему подобном API. Но у меня есть сомнения что это будет полезно для 99% софта. Он практически весь - последовательный по своей природе. А оставшийся один процент надо еще суметь правильно распараллелить. Старик Амдал хохочет над нами. Практически сегодня когда говорят о параллелизме в Java-development - подразумевают способность задачи прогружаться в контейнеры Hadoop или Spark. Со всеми вытекающими. Тоесть и датасорс тоже должен параллелиться. Лежать на специальных БД или в специальных ФС. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2016, 19:17 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
mayton, Спасибо, вот и я о том же подумал: "а как же данные?" а оно вон как оказывается - HDFS же :) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2016, 20:06 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
Нет. Чтоб гонять параллельные алгоритмы - HDFS не обязателен. Но если взять наш конкретный пример - чтение текста с подсчётом слов то ему опция параллелизма не даёт ничего. Пожалуй если мы "Войну и Мир.txt" прогрузим в heap - возможно и будет какой-то выигрыш но сам момент этой загрузки всё равно - последовательный и мы будем заниматься самообманом, рассказывая всем что сумели распараллелить задачу. P.S. Старый Джин помер 10 ноября 2015 года. И теперь смеётся над нами уже из могилы. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2016, 21:02 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
ART-CODEавтоматическое распараллеливание Можно спросить - что под этим подразумевается ? Выполнение в несколько потоков? Выполнение на нескольких компьютерах ? В этом коде распараллеливание где-то происходит? В какой строке? На С++ та же задача вычисляется за то же время или быстрее/медленнее ? Понятно, что это тест, но на мой вкус, подсчет частоты слов - вообще для SQL сервера задача. в этом уже нет параллельного вычисления. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 00:39 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
maytonНаверное речь идёт о Collections.parallelStream и ему подобном API. Но у меня есть сомнения что это будет полезно для 99% софта. Он практически весь - последовательный по своей природе. А оставшийся один процент надо еще суметь правильно распараллелить. Старик Амдал хохочет над нами. Практически сегодня когда говорят о параллелизме в Java-development - подразумевают способность задачи прогружаться в контейнеры Hadoop или Spark. Со всеми вытекающими. Тоесть и датасорс тоже должен параллелиться. Лежать на специальных БД или в специальных ФС. +- в том смысле, что "не совсем Java", как и С++ уже "не совсем C++" (А Хадуп, СПАРК и тп - это мимо кассы в данном моменте.) Амдал хохочет, это да, причем и громко и сочно. Но там где "зашитый" параллеллизм сейчас вьют, со всем уважением к Амдалу, думают об опечалившемся Муре - уперлась производительность транзисторов в 3 Мгц без водяного охлаждения и 5 Мгц с ним. Потому Мур теперь живет методом удвоения числа процессорных ядер. Это подстава, которую надо чем-то грузить, чтобы хоть как-то оправдать потраченные покупателем деньги на смартфона последней модели. Вот оно и прорастаем многоветочно, то в виде parallelStram, то в виде compleatableFuture. Это совсем другое программирование. Оно, конечно, чистосердечное большое спасибо за сокрытие всех кишков в обновленных рантаймах и вновь переписанных библиотеках. Приседец здесь в том, что даже метод сокрытия алгоритмов в целях обеспечения "безопасного" языка не гарантирует правильности результата, который будут формировать те три исключительно красивые строчки, от которых неделями будет тащиться сотворивший их автор. Даже если тебе на кухне запретили пользоваться ножами и топорами, выдав вместо них электрическую мясорубку, желательно все же понимать, что в ея нутре тоже есть ножи и совать в нея пальцы вместе с мясом не рекомендуется. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 11:37 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
Уменьшил код, выбросил лишнее, но добавил новые проверки и вывод, ранжированный по частоте употребления слова. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 12:36 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
Коллективный разум зудит во мне... Код: java 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 12:46 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
MasterZivУменьшил код, выбросил лишнее, но добавил новые проверки и вывод, ранжированный по частоте употребления слова. Ваше форматирование никуда не годится. Кортит меня и про код вообще написать. Но не буду. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 13:16 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
BlazkowiczMasterZivУменьшил код, выбросил лишнее, но добавил новые проверки и вывод, ранжированный по частоте употребления слова. Ваше форматирование никуда не годится. Кортит меня и про код вообще написать. Но не буду. Форматирование не моё лубимое кое-где, но -- да, Java-style я лично не приемлю вообще никак. Так что если про это -- идите в пень. Про код -- пиши, пожалуйста. Это не rocket science, а эксперементальная программулька. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 13:37 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
maytonКоллективный разум зудит во мне... Код: java 1.
Ну, и чё он зудит-то ? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 13:38 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
mayton // Mayton: I do not know what is it, but autoboxing is works! (Integer v1, Integer v2) -> (v1 + v2) Что-то типа Integer.valueOf(v1.intValue() + v2.intValue()), если я правильно понимаю ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 13:53 |
|
Java 8 - уже не совсем Java?
|
|||
---|---|---|---|
#18+
MasterZivФорматирование не моё лубимое кое-где, но -- да, Java-style я лично не приемлю вообще никак. Убрал переносы - ещё не значит сделал код короче. MasterZivТак что если про это -- идите в пень. Взаимно. MasterZivПро код -- пиши, пожалуйста. Это не rocket science, а эксперементальная программулька. Ок. Зачем такая заумная регулярка вместо \p{Punct}, \w, \s? Зачем собирать в мапу, чтобы потом снова конвертить её в стрим? Инлайнить огромные куски кода в аргумент это не красиво и не удобно для отладки. Зачем плодить новый Stream для каждой строки, если можно было бы сразу парсить текст на слова и стримить (Scanner, Splitterator, StreamSupport) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.01.2016, 13:53 |
|
|
start [/forum/topic.php?fid=59&msg=39149615&tid=2120495]: |
0ms |
get settings: |
26ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
588ms |
get tp. blocked users: |
2ms |
others: | 286ms |
total: | 969ms |
0 / 0 |