
Александр
09.01.2017
20:44:22
Через паузу?

Aleksandr
09.01.2017
20:52:34

Dmitrii
09.01.2017
21:00:17
Что значит паузу?

Psy
09.01.2017
21:02:35

Google

s3rj1k
09.01.2017
21:18:11
по поводу трелло срача)
https://slashdot.org/story/17/01/09/1637201/atlassian-acquires-trello-for-425m?utm_source=rss1.0mainlinkanon&utm_medium=feed
http://nim-lang.org/news/e029_version_0_16_0.html
кто юзает?

Roman
09.01.2017
21:30:21

s3rj1k
09.01.2017
21:31:03

Konstantin
09.01.2017
21:32:07
опоздал)

Nikolay
09.01.2017
22:46:06

s3rj1k
09.01.2017
22:46:36

Nikolay
09.01.2017
22:46:55

s3rj1k
09.01.2017
22:47:15

Nikolay
09.01.2017
22:47:37
nim хочет с go конкурировать? или с python - я не понял ?


Roman
09.01.2017
22:48:22
Я проснулся среди ночи, в скороварке доделалось мясо с фасолью, на поле нападало достаточное количество снега, Маша Дрокова в Фейсбуке призывает голосовать за Хиллари - короче, все идет по плану, отчего бы не поговорить про дурачка? Дурачок, если вы помните, делает две вещи: “ходит” и “ищет” (а если бы он не ходил, не искал - то прожил бы двести лет), вот так же примерно вел себя на днях и я, потому что надо было выбрать язык программирования для небольшого нового проекта.
В современном мире язык программирования для инфраструктурного проекта выбирать не имеет смысла - берете Golang и пишете (а если вы Маша Дрокова - то и Visual C++ сойдет), но, хотелось бы хотя бы в некоторых вопросах иметь возможность, а не видимость, выбора. На Golang люди еще много всего напишут, потому что “Бог на стороне больших батальонов”. А что, если не?
А если не Golang, то что я хотел бы от языка? Статическую строгую типизацию (разумеется) с возможностью вывода типов (потому что писать каждый раз тип вручную утомляет). Возможность сборки статически слинкованного бинарника небольшого размера (“небольшого” - это сравнимого с Golang, либо меньшего). Homoiconicity (присущее лиспам свойство изоморфности синтаксиса языка его AST, позволяющее манипулировать кодом как данными) и, как следствие, гигигенические макросы (на самом деле, я пока не знаю, зачем мне гигиенические макросы, потому что ими не пользуюсь вообще - но, главное, чтобы негигиенических не было, иначе опять язык C получится). Поддержку ООП (не знаю, зачем она мне, но пусть будет). FFI к библиотекам на C. Поддержку дженериков. Поддержку конкурентного программирования. Functions as first-class citizens, lambdas.
В принципе, я только что перечислил свойства языка Common Lisp (разве что, типизация в нем динамическая строгая) и, в меньшей степени, Julia (типизация тоже динамическая, кроме того, он интерпретируемый). С Common Lisp я и начал, но быстро выяснилось, что его компилятор создает бинарники размером по 30 мегабайт, а этого я вынести никак не мог. От отчаяния я попытался подобрать подходящий компилятор другого диалекта LISP - Scheme, но это оказалось еще сложнее, потому что стандарт Scheme отличается минимализмом by design, а за пределами стандарта каждый пляшет, как хочет.
И так я бы еще долго, наверное, ходил бы, если бы не вспомнил про существование языка Nim (http://nim-lang.org), который удовлетворяет всем заявленным мной требованиям. Компиляция происходит в два этапа - сначала код компилируется в промежуточное представление на языке C, а потом уже - в бинарник (бинарники получаются размером около мегабайта, а если отрезать debug info, то еще меньше). Кстати, небольшой проект, о котором я говорю, это веб-приложение для сборки и показа flamegraphs, про которое я в субботу на Linux Piter буду делать доклад (https://github.com/alexclear/kaldur). В общем, с языком Nim все оказалось неплохо, включая отсутствие обязательного в наше время большого батальона (на самом деле, все ОТНОСИТЕЛЬНО неплохо, но про bad parts у меня будет в докладе в субботу и когда-нибудь позже - в этом блоге).
Спасибо, в следующий раз поговорим про быстрые способы стать <s>Машей Дроковой</s> Микеланджело у себя в гараже.


Nikolay
09.01.2017
22:48:36
конкурировать с go - денег и ресурсов не хватит; с python - с его огромной кодовой базой и комьюнити

s3rj1k
09.01.2017
22:48:48

Google

Nikolay
09.01.2017
22:49:17

Alex
09.01.2017
22:49:18

s3rj1k
09.01.2017
22:49:44

Alex
09.01.2017
22:50:08
Я, вообще, делал про это доклад
Сейчас дам ссылку

Roman
09.01.2017
22:50:37

Alex
09.01.2017
22:50:52
http://www.slideshare.net/alexclear/my-talk-at-linux-piter-2016

s3rj1k
09.01.2017
22:53:03

Sasha
09.01.2017
22:53:06
ребят, кто разрабатывал прилы на ionic ?
есть примеры?

s3rj1k
09.01.2017
22:53:16

Nikolay
09.01.2017
22:53:54

Roman
09.01.2017
22:55:05
Тот самый момент, когда Сомелье говорит что это вино - скучное.

Nikolay
09.01.2017
22:58:07
☺️

s3rj1k
09.01.2017
23:14:13

Constantine
09.01.2017
23:14:52

Nikolay
10.01.2017
00:05:18

Alex
10.01.2017
01:07:25
Собственно, ответ на вопрос “почему не Scala” очень прост

Google

Alex
10.01.2017
01:08:14
Ответ на вопрос “в чем отличие функции от метода в Scala” занимает на StackOverflow несколько экранов текста
Надо не полениться и таки найти этот ответ
Yahoo всё
Марисса Майер всё
https://research.swtch.com/dogma
Вот, кратко и по делу про дизайн языков
When Go 1.0 was released, people complained it had nothing new. It doesn’t innovate! All of the big things in Go 1.0: light threads, channels, no exceptions, etc. They all existed in previous languages. Innovation isn’t always a good thing: look at fashion.
Reductio at fashionum, бггг

Cate
10.01.2017
02:54:58
имхо за инструменты тереть нет смысла. кто-то на этой планете добывает огонь трением еще.
некоторые наловчились и ходят за готовым к жерлу вулкана.

Konstantin
10.01.2017
03:51:48
Компания Atlassian покупает Trello за $425 миллионов.
фууууууууу!

Alex
10.01.2017
03:51:57
Мадуро всё

Konstantin
10.01.2017
03:52:49
звучит как будто мейл.ру покупает яндекс
вангую что трелло вскоре превратится в кусок унылого говна

Alex
10.01.2017
03:55:30
(осторожно) А он разве им не был с момента создания?

Konstantin
10.01.2017
03:56:04
ну нет, трелло норм
идеальный канбан кмк

Alex
10.01.2017
03:56:37
Я плохо понимаю, как с ним работать, когда задач, скажем, 150 или больше

Konstantin
10.01.2017
03:57:21
150 проектов или 150 мелких тасков в одном проекте?

Google

Alex
10.01.2017
03:57:52
Тасков
В одном

Konstantin
10.01.2017
03:58:12
в первом случае всё просто, во втором - ну да, 150 "стикеров" на экране :)

Alex
10.01.2017
03:58:16

Konstantin
10.01.2017
03:58:21
но всё удобно группируется

Evgeniy
10.01.2017
03:58:58
чем вам перл не угодил

Konstantin
10.01.2017
03:59:40
$=;$_=\%!;($_)=/(.)/;$==++$|;($.,$/,$,,$\,$",$;,$^,$#,$~,$*,$:,@%)=(
$!=~/(.)(.).(.)(.)(.)(.)..(.)(.)(.)..(.)......(.)/,$"),$=++;$.++;$.++;
$_++;$_++;($_,$\,$,)=($~.$"."$;$/$%[$?]$_$\$,$:$%[$?]",$"&$~,$#,);$,++
;$,++;$^|=$";$_$\$,$/$:$;$~$*$%[$?]$.$~$*${#}$%[$?]$;$\$"$^$~$*.>&$=

Admin
ERROR: S client not available

Konstantin
10.01.2017
03:59:45
вот этим вот всем

Alex
10.01.2017
04:01:32
Вот пишет человек, скажем, на Perl
И тут приходит к нему другой человек
И спрашивает - Moo, Moose или Mouse?
Ну, оба потом в запой уходят, конечно

Evgeniy
10.01.2017
04:04:08
https://wtf.jpg.wtf/700/1e/16/1483992933-1e16b0354b664724bd0da6612c153b0f.jpeg

Vyatcheslav
10.01.2017
04:30:42
Ответ на вопрос “в чем отличие функции от метода в Scala” занимает на StackOverflow несколько экранов текста
Ей богу, как байесовские дети. Скорее всего в ответе было что-то про лямбда-исчисление и eta-conversion, угадал? Это справедливо для любого функционального языка (Scala - гибридная).
Если не залезать в дебри лямбда-исчисления, отличие такое же, как и в других языках. Метод принадлежит какому-то классу, а функция - нет. То, что Scala сложная - это миф, я вот за месяц выучился и пошел работать. Единственная сложность, которая может возникнуть у новичка - это то, как for-comprehension переводится в набор вызовов map, flatMap и withFilter, и какие тут могут быть ограничения.
Всякие продвинутые вещи, типа проекций типов, экзистенциальных типов, ко- и контравариантность - это нужно скорее авторам библиотек.


Alex
10.01.2017
04:32:07
> То, что Scala сложная - это миф, я вот за месяц выучился и пошел работать.
Не припомню, чтобы я сказал про нее слово “сложная"
Тут другое
Язык Perl не очень сложный
Scala, по слухам, очень похожа

Vyatcheslav
10.01.2017
04:40:56
Есть отдельная категория товарищей, которые любят писать код на ScalaZ (это такая библиотека, которая написана любителями Haskell), вот там да, встречаются странные вещи, типа
case -\/(x)
:D Но у них есть объяснение. Но, если что - в большинстве контор не пишут на ScalaZ. Это что-то вроде boost'а из С++ для любителей ФП.
еще есть Cats, аналог ScalaZ, только без таких уродливых операторов и с очень классными туториалами на тему "что такое функтор, для чего он нужен, и как этим пользоваться в Cats"

Google

Mike
10.01.2017
05:09:38
Для cats и для scalaz одинаковые туториалы. Кажется eugene yokota писал. По образу и подобию learn you a haskell for great good
Хотя cats поприятнее.

Vyatcheslav
10.01.2017
06:05:27
если уж хочется понять FP, то лучше redbook ( https://www.manning.com/books/functional-programming-in-scala ) прочитать, а потом браться за cats или scalaz

Mike
10.01.2017
06:07:55
Да. Эта книга хорошая. Согласен полностью

Aleserche
10.01.2017
07:21:15
сранные системы пошли. Насуют миллиарды мелких файлов, которые нахер не нужны. За всеми чистить надо, поотрывал бы руки за такое

Александр
10.01.2017
07:22:16

Дмитрий
10.01.2017
07:23:07
Две трети диска заняли дубликатами в папке бакуп, совсем с ума посходили!
Еле очистил всё

sha
10.01.2017
07:34:45

Vladimir
10.01.2017
08:04:16
$=;$_=\%!;($_)=/(.)/;$==++$|;($.,$/,$,,$\,$",$;,$^,$#,$~,$*,$:,@%)=(
$!=~/(.)(.).(.)(.)(.)(.)..(.)(.)(.)..(.)......(.)/,$"),$=++;$.++;$.++;
$_++;$_++;($_,$\,$,)=($~.$"."$;$/$%[$?]$_$\$,$:$%[$?]",$"&$~,$#,);$,++
;$,++;$^|=$";$_$\$,$/$:$;$~$*$%[$?]$.$~$*${#}$%[$?]$;$\$"$^$~$*.>&$=
Ну так не пиши так и все :)

Evgeniy
10.01.2017
08:08:08
хватит его уже хоронить

Daniel
10.01.2017
08:19:19
Почему хватит?

here1am
10.01.2017
08:20:31
когда труп ещё двигается, некоторые считают, что не надо его хоронить
я таких людей не понимаю конечно
если двигается - надо ещё накидать земли сверху

Betrayer
10.01.2017
08:21:25
Когда труп двигается, нужно проверить ему пульс.