Сучасна диджитал-освіта для дітей — безоплатне заняття в GoITeens ×
Mazda CX 30
×
Software Engineer в Google, Inc
  • C++ архетипный хипстерский язык

    Силу почувствуй, юный падаван...©

  • C++ архетипный хипстерский язык

    Так ML семейство так же как и хаскель рождалось из научной среды, а не пацаном в подвале написано. Так что аргумент за ML как сугубо практичный тоже спорный, т.к на хаскелле все так же можно сделать и вскорости он не уступает.

    Тут вообще вижу какие-то скрытие связи в языках, не сколько от его применимости, а столько от того кто его форсит и с какой силой. А потом на форумах бушуют бури обсуждений.

    Идеализированно мечтаю: собрать всемирный форум, на котором организации договорятся о использовании 10 языков, самых лучших на самом деле, а не потому что из-за хипстерства или исторических причин. И работать только с этими языками, все остальные статус научные и могут войти в 10ку вытеснив какой-то другой. )) Но это конечно в идеальном мире без бюрократии и субъективизма. Не доверяю я саморегуляции в Ит среде...

    Підтримав: Bogdan Shyiak
  • Tell me about Ukraine

    не могу найти линк на опросник, но у них даже есть самоидентификация en.wikipedia.org/wiki/Gayglers

    =))

  • Tell me about Ukraine

    он сделал карьеру в ИТ через постель? невероятно! -) Кстати, 20% сотрудников гугла лгбт...

  • функциональщина :)

    Больше того, ассемблер функциональнее С и любого языка во всех смыслах -))

    Что уж говорить про машинный код...

  • функциональщина :)

    О ты заработал язык! Поздравляю!

  • функциональщина :)

    Каждый HEC (haskell execution context) формируется для отдельного процессора, в каждом HEC есть свой Spark Pool, который держит спарки, как только какой-то процессор становится idle программа запускает спарк. Когда ты указываешь количество тредов, ты указывавешь не количество тредов ОС, а Haskell Lighweight Threads(HLT), а потом уже передаются системным потокам, но ими вроде управлять нельзя.

    $ ./A +RTS -N8

    В таком коде, ты говоришь,что использовать 8 HLT, как только кто-то из них свободен, на него цепляется спарк.

    Для наглядности:i.stack.imgur.com/f57Hm.png

  • функциональщина :)

    потихоньку пинаю хаскель\yesod (на удивление все «аккуратненько» — шаблонизатор с поддержкой вставок кода , автоматический ребилд

    Yesod это template haskell, не совсем канонический, но удобный для веба. Кстати, они недавно получили спонсорскую поддержку, так что будут активнее развиваться.

    вот крутится вопрос, который я пока не могу сформулировать «в гугль», в общем есть pure functions , классно, в гайдах упоминается что их можно вычислить один раз и все, так вот — будет ли система кешировать их автоматически или надо указывать ручками,

    Конечно, вычисляется каждый раз, суть pure function в том что она не дает сайд эффектов.

    Для того, чтоб сделать то, что ты хочешь смотри www.haskell.org/...iki/Memoization.

  • функциональщина :)

    Багов не деплоим!!!111

  • А вы боитесь математики и Computer Science?

    Первая задача, моя предметная область и мне рассказывали о тензорах вообще в другом ракурсе применения, однако я зная что может математический аппарат смог его использовать в другой задаче, чисто интуитивно. Дальше обновил знания и начал работу.

    Вторая задача была не из предметной области, но про нее также рассказывали в классическом смысле, а не в рамках 3д графики.

    как насчет того, что мне такая задача в принципе не попадется?

    Если у вас есть набор обобщенных воспоминаний, то это как картотека для подсознания, не надо держать в уме доказательства и определения по книге. Нужно понимать, что это может пригодится, а может и нет, мне пригодилось и я рад, что не зря учил.

    как насчет того, что вам попадется задача в предметной области с которой вы даже не знакомы?

    те же тензоры, у меня друг занимается биоинформатикой(не моя предметка), но один раз за пивом, когда он описал проблему, с которой боролся уже месяц (получает ph.d), я опять по наитию подсказал ему про них, вышло так. Через 3 месяца его статья прошла на конференцию первого класса, почему он не знал о них? Я не знаю, может просто упустил при обучении...

    Підтримав: Євген Козлов
  • функциональщина :)

    гм. когда-то я на него «смотрел» в рамках grails , чет не заметил там функциональности
    Grails это ж фреймворк, кстати очень хороший на мой взгляд. А функциональности там завались, особенно метасистема хороша.
    Если тебе близка JVM среда, то смотри серию Functiona thinking от Нила Форда, www.ibm.com/...ional thinking
    Самая первая часть:www.ibm.com/.../library/j-ft1

    Он популярно рассказывает о функциональных примочках, на хабре есть перевод около 80% статей. Ищи в поиске.

    просто память мне «подкинула» что let похож на let из бейсика (вроде ?) а where больше из sql ...
    Математические метафоры лучше подходят для Haskell, where SQL это ж указание множества, а тут список переменных или объявления внутренних функций.

    Языку вообще около 20 лет, его создатель работает в MS Research. Они одни из первых предложили интересные идеи для concurrency — Software Transactional Memory(STM). Конечно ноги изначально росли из академической среды, но где-то с 2006 года он очеловечился. Есть в США даже фирмы которые работают только с ним.

    С Clojure другая фишка, его создатель Рич Хики, гениальный адаптатор, на мой взгляд, он сначала пытался в лисп подтянуть джаву, потом забил на 2 года ушел в проектирование. И получился диалект лиспа(отмечу не канонический — lisp-2) на JVM, в виде Сlojure. И теперь туда попадают лучшие идеи типа STM, но сообщество молодое, всего 5 лет, однако последние год очень активное.

    Вообще неважно какой ФЯП ты будешь курить, это как другой взгляд на мир, для понимания целостности картины очень полезно, пускай ты даже много не напишешь.
    Мне лично нравится, но в реальном мире это гибридный подход обычно.

  • А вы боитесь математики и Computer Science?

    то вышка — вообще впустую потраченное время.

    Ну вот попалась задача, где нужно было сеть базовых станций анализировать по геометрическим и функциональным параметрам одновременно. Если б не было вышки, я б не знал, что гуглить нужно тензоры. Или что для 3д графики лучше использовать кватернионы, а не Эйлеровы матрицы преобразования. Это знания энциклопедические, но полезные когда нужно вглубь уйти, а так даже не знал бы с какой стороны зайти.

  • функциональщина :)

    Смотри на Haskell, Clojure, Groovy — последний быстрее всего изучается, но Хаскелл интереснее будет.

    вот начал читать про haskell но как-то меня смущает, что конструкция «where» позволяет объявить «подпрограммы» после кода, а let — перед вызывающим кодом :) ,

    это как в математике «пускай переменная а будет» «let a be», или наборот как в физических формулах «F=ma, где m- масса тела, a — ускорение » «F=ma, where m-mass, a -acceleration»

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

    скорость

    Хаскель генерится в С, с опцией -o компилятора может в определенных задачах выдавать скорость равную С. Если много ленивых вычислений то не будет, есть проблемы space leak из-за них.

    взрослость системы

    В Haskell либ завались на всякий вкус и цвет, разве что для новых БД приходится свои драйвера писать, в виде оберток на Сшными. В Сlojure много хипстерских вещей(читай не нужных и понтовых), вот там приходится много самому писать, но сообщество развивается.

    В Хаскелл есть замечательный вывод типов и поиск по образцу (pattern matching), который вносит ясность при чтении кода.

    Підтримав: Dmytro Sirenko
  • функциональщина :)

    можно, библиотека Functional Java для этого есть.

  • функциональщина :)

    В продакшине Haskell и Clojure, части более крупного проекта, в виде библиотек к «бааальшому» java приложению, где-то по 5000 LoC каждый.

    И таки да, я рекомендую и то и то другое, т.к вначале все писалось на java и было громоздко. Еще есть «скриптота» на Groovy на серверах, для выполнения системных тасков и билды на Gradle, но я им перестал заниматься уже месяцев 8 как.

    Ребята из параллельной команды, пишут вообще на Scala, но их проект влили в фирму, так бы тоже Java была.

    Особых проблем в таком «зоопарке» нет, т.к все на JVM поэтому логи общие и поддерживать можно нормально.

    Підтримав: Dmytro Sirenko
  • А вы боитесь С++?

    и? есть противоречия?

  • А вы боитесь С++?

    Я же сказал, что замена произойдет очень нескоро

    Это не произойдет, нет ключего преимущества, более вероятно, что Google зафорсит Go на замену С++ и так распиарит, что все потихоньку пойдут по их стопам...

    Это как со Scala, говорят что заменит Java, но когда хз.

    У вас видимо мало опыта, раз вы так говорите, Scala никогда тоже не заменит Java, в 8ке появится большая половина фишке Scala, которые сейчас доступны через Functional Java библиотеку. Говоря об этих языках стоит думать только о JVM, а что будет над ней Java, Scala, Groovy, Сlojure или что-то еще не суть важно, но скорее всего симбиоз.

    Підтримали: anonymous, Bogdan Shyiak
  • А вы боитесь С++?

    Да он хорош в определенных областях и его теснят там где, нужно уменьшить порог вхождения.

    Его никто не закапывает, столько легаси кода написано за 30 лет, что еще на 30 лет работы хватит. Тем более с обновленным стандартом, он стал поприличнее выглядеть.

  • А вы боитесь С++?

    Не знаю предистории, может быть действительно посыл был, аля прогнали из пеочницы, поэтому: «я сделаю свой С++ с блекджеком и проституками» )

  • А вы боитесь С++?

    Есть инсайдерская информация?

    Завтра поменяется политика внутри компании MS и все начнуть на F# писать. Google ограничивает сотрудников 4мя языками.

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

← Сtrl 1... 45678...21 Ctrl →