• Docker, как показатель зрелости
    +2
    У меня сложилось устойчивое мнение, что Docker это костыль решающий вечные проблемы скриптовых языков когда скрипт может сломаться на ровном месте или, к примеру, какой нить JodeJS может устареть, а проект уже никто переписывать не будет.

    Короче Docker только новые проблемы пораждает.

    Я реально слабо представляю нафига он в том же ASP.NET или Go нужен.
  • Обзор Java 9
    0
    Что под модульностью понимать? Сколько будет весить рантайм если я захочу создать приложение и не таскать с собой весь JRE.
  • Объясняем современный JavaScript динозавру
    +2
    >Покажете пример такого сайта?
    Да полно. Он упомянутого LinkedIn до FaceBook. Два отличных примера упоротых сайта.

    >legacy нужно выбрасывать?
    Совершенно верно. Про поддержку IE вообще смешно слышать в 2017 году. Перестанете его поддерживать и люди перейдут на другие браузеры. Боитесь потерять сказочные 5% прибыли от клиентов которые сидят на старом говне? А не боитесь потерять 15-20-30% тех, кто с вашего сайта уйдет т.к. он будет медленно открываться, в нем будет неудобная навигация, он не будет адаптирован для людей с плохим зрением (а их куда больше чем пользователей IE) и еще 101 причина?

    Вот буквально вчера пытался открыть www.zolotoy-vavilon.ru/rostokino в FireFox у меня он не открывается от слова совсем. Оранжевая хрень загружается какая-то и все.

    >во-вторых, wasm-то тут каким боком?
    Можно будет писать на любых других языках, многие из которых проще, быстрее, логичнее чем JavaScript. А значит более эффективны по цене\качеству.

  • Объясняем современный JavaScript динозавру
    +1
    Современный Веб разжирел до невозможности. У меня куча сайтов просто жесточайше тормозит просто потому что их пишут с использованием «модных» технологий.
    JS эволюционирует с бешеной скоростью и в этих стандартах уже черт ногу сломит. Ситуацию усугубляет набор постоянно устаревающих инструментов, которые тоже взаимонезаменяемы. Их нужно практически с нуля осваивать.

    По факту эта эволюция не может идти бесконечно. Старое legacy нужно выбрасывать. Очевидно, что это позволит сделать тот же WASM, который сам по себе разумеется не убьет JavaScript, но зато позволит появиться\выйти на рынок языкам, которые позволят писать сайты без всего этого геморроя.
  • Объясняем современный JavaScript динозавру
    –2
    Я просто оставлю тут ссылку github.com/arcanosam/imgui_wasm_demo
    Так что скоро на JS наконец то можно будет забить.
  • 5 причин, по которым Python достаточно мощный для Google
    –9
    Go явно не конкурент Python. Python простой и понятный. Go раздутый и непродуманный. Если в Python какие-то вещи делаются в одну строчку кода, то на Go нужно какую-то лапшу писать которая будет приводить только к лишним ошибкам.

    Единственный минус Python — это отсутствие типизации. В этом плане в Dart поступили очень правильно введя в Dart 2 strong mode с обязательной явно типизацией.
  • Выпуск Rust 1.21
    –5
    >А в чем отличие читаемости rust 1.21 от 1.20?
    Да ничем. Она отсутствует.
  • Выпуск Rust 1.21
    –6
    let x: &'static u32 = &0;

    Rust с каждой версией все более и более уродским становится.

    Вот хороший пример читаемости синтаксисов:
    Go:
    func typeList(arch *TFile,
          offset uint32, parseDecl bool) []BStr {

    C++
    std::vector<std::string> typeList(TFile* arch,
            off_t offset, bool parseDecl) {


    Rust:
    fn typeList<'a>(arch: &'a TFile<'a>,
          offset: u32, parseDecl: bool) -> Vec<&'a bstr> {


    D:
    string[] typeList(File arch, size_t offset, bool parseDecl) {
  • Spark — Потрясающий веб-микрофреймворк для Java
    +1
    Посмотрите vibed.org
  • На шаг ближе к С++20. Итоги встречи в Торонто
    0
    На сколько я знаю фишка сопрограмм именно в том, чтобы избежать затратных переключений контекста. Или все же переключение контекста так же происходит и разница лишь в том, что в сопрограммах можно этим управлять?
  • На шаг ближе к С++20. Итоги встречи в Торонто
    0
    Я имею ввиду что никак не могу понять чем переключение контекста отличается от сопрограмм. Переключение контекста получается полностью дамп всех регистров делает, а у сопрограмм затрагиваются только некоторые регистры?
  • На шаг ближе к С++20. Итоги встречи в Торонто
    0
    >сопрограммы… сохранить текущий стек
    А где он будет сохраняться? Если программа записала что-то в регистры процессора и новая сопрограмма туда тоже что-то хочет записать чтобы выполнить вычисление, то как все это будет работать?
  • Go: 10 лет и растём дальше
    0
    Если надумаете D, то вот книжка не плохая для старта.
  • Go: 10 лет и растём дальше
    0
    Попробуйте D будете удивлены тем на сколько меньше кода придется писать..))
  • Go: 10 лет и растём дальше
    –3
    Ну если контейнер будет являться диапазоном (Range) то canFind будет с ним так же работать. Если нужно что-то другое, то ничего не мешает реализовать у контейнера свой метод Contains.

    Но тут то вся соль в том, что на Go нужно костыли городить уже в простых случаях.
  • Go: 10 лет и растём дальше
    +4
    Так, тоесть вы уверяете, что запись вида:
    if _, ok := arr[x]; ok {...}

    Читается лучше чем к примеру:
    if (arr.canFind(x))

    >если же у вас там массив то в цикле проверять придется.
    А ну вообще прелестно! Проще некуда!

    Вот видите даже в каких-то стерильных условиях типа: «Если ваш 'arr' это мэп то» код на Go оказывается куда менее читабельный чем на других языках.
  • Go: 10 лет и растём дальше
    +1
    >Везде
    Да ладно врать то. Вы примеры покажите чем Go проще других языков.

    >количестве способов сделать одно и тоже
    Поверьте, как только возникнет более или менее серьезная задача, то программисты на Go будут дико костылить просто потому что в других языках проблему тщательно обдумали и взвешивали кучу за и против, а на Go решением будет бездумный гуглеж кода по принципу «вроде работает и хрен бы с ним». Отсюда поддержка этого кода будет просто адовой.

    >и угадать, что же он попытался упаковать в те 5 символов
    Ага, к примеру по `canFind` или `Сontains` ну совершенно не очевидно что они делают и приходится гадать.
  • Go: 10 лет и растём дальше
    –1
    >Тут глупо спорить. Кто-то считает, что если учить 4 года Haskell
    Так, стоп. Причем тут Haskell. Вопрос был в том чем Go проще C#/Java/D/Swift/Python. Можете пример показать? Ну вот допустим я в Python могу проверить вхождение так:
    if x in arr
    На D это будет:
    if (arr.canFind(x))
    На других языках тоже примерно так же.

    Вы будете утверждать, что на Go это проще делается?

    По факту больше кода, больше ошибок, дольше разработка, сложнее рефакторинг, тестирование, отладка и тд.

    Так ГДЕ Go простой??
  • Go: 10 лет и растём дальше
    +11
    Кстати, один я заметил интересную особенность, что на Go активно переходят только PHP-шнки т.е. в большинстве своем те люди, которые привыкли писать лапшеобразный код.

    Я реально слабо представляю себе кейс когда человек решит перейти с C#/Java/D/Swift на Go и сможет внятно объяснить свое решение.

    Особенно занятно читать вранье про простоту Go. Каким местом он простой? Что на нем делается проще чем на других языках? Такой бред могут нести только люди никогда в жизни ничего серьезного не писавшие. Вся эта простота (а по факту примитивность) приводит лишь к тому что на мало-мальски сложных проектах начинается дикое костылестроение т.к. в языке не оказывается каких-то элементарных синтаксических конструкций. Итогом является закономерный Го-внокод.

  • Go: 10 лет и растём дальше
    +11
    Тут просто сам бог велел эту картинку вставить


    10 лет непрерывных побед.
  • Go быстрее Rust, Mail.Ru Group сделала замеры
    +6
    >Тем, кто сидит на Java или C# смотрят на Go.
    Интересно почему?)) После C# Go выглядит еще более убого чем Basic.
  • Go быстрее Rust, Mail.Ru Group сделала замеры
    +7
    Заголовок не соответствует содержанию. Правильно было назвать статью так: «Mail.ru опять обобралась». Куда этим людям поисковик делать если они публично позорятся в каждой публикации.
  • Путешествие из Node в Crystal
    0
    Потому что Nim очень сырой и в нем хаотично надерганы концепции из кучи других языков.
    Julia все же больше для математиков и ученых создана.
  • Эволюция кроссплатформенной разработки: плюсы и минусы Xamarin
    –2
    Пробовал Xamarin. Оно сырое просто до ужаса. Плюсов нет. Одни сплошные минусы. Ради интереса попробовал Dart и flutter. Оно хоть и альфа-бетное все, но зато хоть не такое глючное.
  • Путешествие из Node в Crystal
    0
    Я бы советовал на D обратить внимание в сочетании с vibed.org
  • iOS-разработка: способы быстрого старта
    0
    Про Vue Native забыли написать, там тоже есть пару вариантов, но сам с ними детально не разбирался.
  • Ожидание длиной в 15 лет. Nginx Application Server
    +8
    Объясните простыми словами зачем это нужно и какие проблемы решает?
  • Создатель Node.js: «Для серверов я не могу представить другой язык кроме Go»
    +2
    >и это сделано сознательно, чтобы сделать язык максимально… примитивным
    К тому же все эти урезания лишь к лишним багам будут приводить.

    >Так что, будете писать experience report?
    Зачем? Я на Go не писал и не планирую. Я для себя не вижу ни единой задачи которую он мне позволит решать быстрее\лучше\эффективнее чем Python/D.
  • Создатель Node.js: «Для серверов я не могу представить другой язык кроме Go»
    0
    > `strings.Contains()
    Она с целочисленными массивом работать будет?
    int [] x = [1,2,3,4,5];

    >Как именно это затрудняет написание кода?
    А зачем писать лишний код?
  • Создатель Node.js: «Для серверов я не могу представить другой язык кроме Go»
    +2
    В нормальных языках это в одну строчку делается.
  • Создатель Node.js: «Для серверов я не могу представить другой язык кроме Go»
    +4
    Замечательный язык Go. Давайте посмотрим как в нем проверка вхождения элемента в массив выглядит:
    func stringInSlice(a string, list []string) bool {
        for _, b := range list {
            if b == a {
                return true
            }
        }
        return false
    }


    И там все через одно место…
  • Go, go, go… Первые впечатления
    +3
    И для каждого отдельного типа придется писать отдельную функцию.
  • Go, go, go… Первые впечатления
    0
    Да к примеру простое суммирование превращается в ад. Аж 40 строк. Нафига спрашивается? Со всеми остальными данными тоже самое. Приходится писать простыни. Код ради кода.

    >так сейчас время такое и большинство бизнес-процессов вокруг этого построено, разве нет?
    Сейчас время BigData и очень часто на сервере нужно что-то посчитать и обработать прежде чем отдать.
  • Go, go, go… Первые впечатления
    0
    D умеет Android через LDC «Full Android support, incl. emulated TLS»
  • Go, go, go… Первые впечатления
    +2
    >Что лучше, Go или D?
    Вот наглядный пример.
  • Go, go, go… Первые впечатления
    +5
    На фоне Go даже Python выглядит более совершенным. По факту в Go простоту довели до примитивизма и похерили все наработки в области разработки языков программирования за последние 50 лет.

    В итоге язык больше обрубок какой-то напоминает. Про серьезные проекты на нем читать вообще смешно. Ну да. Запилили на нем REST сервис который JSON отдает. Замечательно! Просто прорыв. А что дальше? Язык не поддерживает элементарные обобщения и обработку данных на нем вести практически невозможно. В итоге кроме как JSON-ом плеваться ничего другого не остается.

  • Лучше чем C
    0
    Можно хоть пару примеров того что в Nim реализовано лучше чем в D?
  • Лучше чем C
    –1
    >почему вы мне указываете, что я должен прочитать?
    http://dlang.ru/faq
  • Лучше чем C
    0

    На hello-world примерах сложно увидеть разницу.

  • Лучше чем C
    0

    Просто 90% проголосовавших на JavaScript пишет..))