Комментарии 21
Перешел на Ruby, у него динамическая типизация, нужно меньше писать кода, можно писать больше логики, переходите все на Ruby! Я это говорю, как опытный программист, проработавший год с Java
Неплохо-неплохо
Примерно год я пишу на Java и занимаюсь backend-разработкойего путь только начался, не судите строго
Но автор даром сравнивает два языка, которые настолько разные. Я не особенно глубоко знаком с Ruby, но на мой взгляд производительность одинаковых программ на этих языках очень разная, особенно учитывая высокую эффективность Java в работе с многопоточными приложениями.
А если еще сравнить экосистему, фреймворки и библиотеки, то Java может оказаться более быстрым стартом. Тот же Spring Boot позволяет с минимальными усилиями запускать весьма сложные приложения.
— Так давайте разберемся что идет не так, какие данные у вас пришли, как они были трансформированы?
— Я не знаю, оно вот отсюда уже готовое вываливается!
инцИДента
Ничего обидного в этом нет, просто коробит, когда родной язык коверкают. Мир? :)
Когда учился знал все правила, но не применял, потому как не вижу их в тексте, нет и все. Сейчас уже и правил не помню особо. Да и забил порядком на это, просто смирился. И это не лень или нежелание, это не способность. Тот же английский я учу перманентно лет 15 и в общем то дальше I speak from my heart не ушел.
Ну а так мир :)
Относительно «ошибки»: извините, но если Вы — грамотный человек, то Вы не напишете слово «инцидент» через «е» — как минимум потому что неоднократно встретите его в книгах, периодических изданиях, письмах коллег. Если же Вы — безграмотный человек, не ведающий о существовании правил орфографии и пунктуации, то с какой стати Ваш маразм должен быть кому-то интересен?
Очень люблю аргумент про книги, когда мне говорят читай больше и не будешь ошибаться, ты же видел эти слова. Мне очень трудно подсчитать количество книг которые я прочел, с скромный месяц наверно пару читаю, а так обычно больше. Правда больше художественные, но не думаю, что важно.
И вот облом не работает этот метод, как и нет универсального рецепта для всех людей.
Если вы пишете метод, который принимает два параметра, вам не нужно указывать их типы, вместо этого можно просто сосредоточиться на логике. Результат: меньше кода, при этом более качественного и чистого.
Мне казалось, что наоборот — статическая типизация позволяет отсеять часть ошибок еще на этапе компиляции и задавать меньше вопросов вроде «почему же этот чертов метод возвращает слонов вместо жирафов?»
Но что, если я скажу вам, что можно обойтись и несколькими десятками строк?
А что если можно обойтись несколькими десятками строк на Java? Шок-контент
Во-первых, мне непонятно чем ruby "ускоряет разработку", по сравнению с JS.
Все эти якобы преимущества есть во многих фреймворках многих языков, включая JS.
Многословность?
Вот пример на JS одной строкой:
[1,2,3].map(x => x + 2).reverse().
JS код можно использовать (и переиспользовать) и на фронте и на беке еще сильнее ускоряя разработку.
Оба языка динамические, опять таки.
Во-вторых, вся "продуктивность" динамических языков работает только когда кодовая база маленькая и работают над ней один или пару человек.
А когда она выросла, выясняется, для дальнейшей разработки нужно тратить кучу времени на написание тестов, чтобы ничего не ломалось. Что мержить конфликты не так то и просто. Оказывается, экономия строчек совсем не главное, потому что в реальной работе программист читает код гораздо больше, чем пишет, а без информации о типах, время на изучения нужного участка кода тратиться гораздо больше.
Если многословность явы такая непомерная ноша, можно использовать многие другие JMV языки с лаконичным синтаксисом.
Можно даже:
using System;
using System.Linq;
public class Program
{
public static void Main()
{
var nums = Enumerable.Repeat(2, 5).Select(x => x + 2).Reverse();
foreach(var x in nums)
Console.WriteLine(x);
}
}
С С# немного короче и строгая статическая типизация сохраняется (а еще этот пример, в отличие от вышеприведенных, не выделяет память под массив)
Прежде всего, в статье идет речь о том, что Ruby ускоряет разработку, по сравнению с Java. Моя мысль в том, что
- Если нужно что то небольшое — JS будет лучшем выбором, чем Ruby
- Если большое, то Java и другие статически типизированные (и потому более многословные) языки будут не менее продуктивными, чем Ruby
Тема рельсов не раскрыта — рассказали бы про современный технологический стек на рельсах: webpacker, actioncable и т.д.
Все (java-кодеры, если быть более точным) так увлеклись сравнением Java и Ruby, что никто по-моему так саму статью и не прочитал, несмотря на всю её исключительную лаконичность. А она и правда вытащена из какого-то пыльного чулана и весьма бессодержательна, к сожалению.
fn main() {
for a in [1, 2, 3].iter().map(|x| x + 2).rev() {
println!("{}", a);
}
}
Заметьте, и это — в статически типизированном языке (:
а мне думается что эта статья всего лишь реклама очередных курсов от skillbox ;))
а вы тут такую полемику развели...
Чем хорош Ruby on Rails и как он ускоряет разработку