fun countLinesInFiles(fnames: List<String>): Int
= fnames.map { File(it).readLines().size }
.sum()
Это типа «нормальный» подход? Для студня может быть нормальный, а на практике нужно будет явно отреагировать на неудачу открытия файла и предпринять какие-то действия: простой выход, диагностическое сообщение, откат состояния и пр.
У меня, как математика по образованию, функциональный подход натуральным образом никогда не вызывал никаких затруднений, мозг заточен именно под такие конструкты. Но многолетняя практика в разработке ПО шепчет в ухо, что не стоит использовать функции с сайд-эффектами в map-ах и в итоге эти мапы имеет смысл применять там, где ещё лучше воспользоваться list comprehensions.
Мне не хватило только один раз, когда пытался подебужить 400К строк генерированного Го-кода. А так норм: GoLand, пара базок, вроде всё более-менее, в своп не выходил при нескольких открытых проектах (что само по себе редкость, хочу заметить, обычно только один проект — просто цепляюсь к дев-стенду). Это на десктопе со стареньким i5 4670K.
А недавно прикупил Макбук про этот, на М1. На самом деле потом куплю машинку помощнее, с микролед (или минилед, смотря что у них будет) с большим объёмом памяти, всё же 16Гб всё равно впритык сейчас.
Ну вот. Штука приятная, мне нравится. Возможность запускать ипадос приложения один раз прямо выручила, производительность, разумеется, очень хорошая — EAP Intellij Ultimate ворочается заметно шустрее чем на старом десктопе. Там, где на нём приходилось ждать, например, переиндексации исходников после перегенерации кода сейчас происходит практически мгновенно. И он очень тихий. Всякий веб-электроновый шлак хоть и медленее натива или иос/ипадос приложений, но всё же заметно шустрее чем на старом линупс-десктопе. Компиляция побыстрее, хотя и не очень разница не такая большая как в вебе.
В общем, неплохая машинка. Когда будут с большим объёмом памяти всё вообще будет шоколадно. Кроме х86_64 приложений в докере через qemu, разумеется )
Хотя, учитывая самый частый юзкейс для разработчиков в использовании докера — гонять там базки, всё не так уж плохо: больших объёмов там нет, просто разработка, отладка. И образы с популярным базками собранными для арм64 так или иначе появятся, поэтому вообще терпимо.
Это типа «нормальный» подход? Для студня может быть нормальный, а на практике нужно будет явно отреагировать на неудачу открытия файла и предпринять какие-то действия: простой выход, диагностическое сообщение, откат состояния и пр.
У меня, как математика по образованию, функциональный подход натуральным образом никогда не вызывал никаких затруднений, мозг заточен именно под такие конструкты. Но многолетняя практика в разработке ПО шепчет в ухо, что не стоит использовать функции с сайд-эффектами в map-ах и в итоге эти мапы имеет смысл применять там, где ещё лучше воспользоваться list comprehensions.
Автор. Не в упрёк, но на будущее: в русском языке есть прекрасное слово для подобных случаев. "Курьёзный".
Мне не хватило только один раз, когда пытался подебужить 400К строк генерированного Го-кода. А так норм: GoLand, пара базок, вроде всё более-менее, в своп не выходил при нескольких открытых проектах (что само по себе редкость, хочу заметить, обычно только один проект — просто цепляюсь к дев-стенду). Это на десктопе со стареньким i5 4670K.
А недавно прикупил Макбук про этот, на М1. На самом деле потом куплю машинку помощнее, с микролед (или минилед, смотря что у них будет) с большим объёмом памяти, всё же 16Гб всё равно впритык сейчас.
Ну вот. Штука приятная, мне нравится. Возможность запускать ипадос приложения один раз прямо выручила, производительность, разумеется, очень хорошая — EAP Intellij Ultimate ворочается заметно шустрее чем на старом десктопе. Там, где на нём приходилось ждать, например, переиндексации исходников после перегенерации кода сейчас происходит практически мгновенно. И он очень тихий. Всякий веб-электроновый шлак хоть и медленее натива или иос/ипадос приложений, но всё же заметно шустрее чем на старом линупс-десктопе. Компиляция побыстрее, хотя и не очень разница не такая большая как в вебе.
В общем, неплохая машинка. Когда будут с большим объёмом памяти всё вообще будет шоколадно. Кроме х86_64 приложений в докере через qemu, разумеется )
Хотя, учитывая самый частый юзкейс для разработчиков в использовании докера — гонять там базки, всё не так уж плохо: больших объёмов там нет, просто разработка, отладка. И образы с популярным базками собранными для арм64 так или иначе появятся, поэтому вообще терпимо.
браузеры и все эти электроны сегодня очень жручие, это одна из самых тяжёлых повседневных задач