« first day (365 days earlier)      last day (2963 days later) » 
03:00 - 16:0016:00 - 00:00

4:01 PM
@Risto значит вы так ничего и не поняли. компилятор желает вам добра, навязывая статическую типизацию. более того, в реальных программах на PHP вы всегда должны оперерировать переменными со строго определенными типами и всегда должны знать какой тип имеет переменная в данный конкретный момент. разница с си тут только в элементарности приведения типов и отсутствии необходимости в перегрузках функций/методов (которые тоже стоит рассматривать критически)
на этапе фильтрации пользовательского ввода вы четко определяете что именно должен ввести пользователь. следовательно вам известны типы. а дальше все просто -- работайте с числом как с числом, а со строкой как со строкой. и будет вам счастье
 
@DmitriySimushev не, вы не поняли: Я хочу не только знать, какой тип имеет переменная в данный момент времени, но и иметь возможность его явно поменять в коде программы.
 
@Risto за явную смену типа переменной нужно бить по рукам. со строками нужно работать как со строками а с числами -- как с числами. если у вас в переменной неизвестно что -- все может кончиться очень плохо
@Risto мне нравится только один вариант смешения типов: значение или null (ну или false)
с явной проверкой на это значение
 
@Risto это технически будет уже совсем другое значение и со статической типизацией его будет уже нельзя хранить в том же месте и выполнять с ним тем же действия. Если у вас в одном месте значение может быть более чем одного типа, это тип-вариант, и лучше его обозначить явно с явной проверкой каждого из них.
 
@DmitriySimushev если функция должна совершать некие действия с данными разлисчных типов, которые не зависят от типа данных, как быть?
 
@Risto нормальные функции не должны делать таких вещей. по-хорошему вы должны приводить типы до передачи значения в функцию
опять же, исключением может являться null вместо реального значения
@Risto кроме того, в отличии от си, число в php это не обязательно int ;)
@Risto и это действительно удобно
 
4:09 PM
@DmitriySimushev Например, мне нужно транспонировать матрицу (симметричный двумерный массив). Меня не интересует, что в её ячейка, мне просто нужно поменять адреса элементов.
 
:28654296 в контексте PHP не знаю, а в контексте того же C++ тип элемента включен в тип массива, и посему можно сделать функцию-шаблон, которая будет инстанцирована для каждого типа отдельно и каждая будет знать, какого типа элементы обменивает, хотя и не будет этим пользоваться. Строгая и статическая типизация с этим вполне совместима.
 
@Risto пока вы не используете сами значения -- вы не касаетесь их типов. так что все впорядке
@Risto и да, переставить не значит использовать
 
Просто не во всех языках есть средства, чтобы её вовсю использовать, поэтому местами попадаются грустные ограничения.
 
@D-side Я про Паскаль. Там это можно сделать только одним способом - создать второй массив, циклом записать в его строки элементы, из столбцов старого, и вернуть, как результат работы функции.
То есть, под новый тип данных в массиве надо писать новую функцию.
Прямо хоть учи Ассемблер и меняй адреса элементов им.
 
@Risto в С++ то же самое делает компилятор. А функцию надо сформулировать для абстрактного типа "Т".
И в месте вызова говорить "а вот здесь T будет int..." ( func<int>(...) )
 
4:16 PM
@D-side вот если бы Паскаль так умел - цены бы ему не было.
 
Зацените, кстати, забавную статейку на похожую тему: есть такой язык Clojure, с динамической типизацией, для него сообщество напряглось и сваяло библиотеку, добавляющую опциональную статическую типизацию. Шедевральная вещь, не энфорсится при компиляции, проверка типов запускается отдельно. Но мешает работать: circleci.com/blog/why-were-no-longer-using-core-typed
 
@D-side есть, кстати, js диалект clojure =)
 
@DmitriySimushev я знаю :) github.com/D-side/rtc-chat
 
@D-side и вокруг него есть немного хайпа. как и вокруг другой функциональщины в мире js
 
@DmitriySimushev определённые удобства есть, но не без проблем.
Конкретно с CLJS билды получаются просто огромные, если не использовать Google Closure в режиме advanced. Для чего надо всем библиотекам дописывать "внешние интерфейсы" (externs), поимённые списки функций, чтобы оптимизатор не поломал взаимодействие.
 
4:23 PM
@D-side круто
а у меня вот руки не доходят что-то запилить на cljs
 
@DmitriySimushev а я как-то почитал про re-frame (там в ридми весёленькая такая повесть) и такой "я должен это поробовать". И попробовал. Вон, issue назаводил :)
А фиксить лень %)
 
@D-side не работал с re-frame
 
@DmitriySimushev это такой React + Flux в духе ClojureScript.
 
@D-side я пробовал react+redux. вкусненько
 
Или Redux. Честно, я в сам React не особо лазил о_о
Интерфейс организовывается по кругу: возникают события, события обрабатываются обработчиками и меняют глобальное состояние, о чём уведомляются все "реакции", перезапускаются (большая часть за O(1), ибо immutable), реакции с изменившимся результатом перезапускают свои запросы, результаты запросов поступают в UI, который рендерится на основе этих результатов, резюзая DOM-узлы, которые уже отрисованы (ибо отрисовываются детерминированно).
 
4:28 PM
у меня, если честно, не осталось мотивации что-то новое щупать(
@D-side ну это как бы и есть типовой цикл react + flux подобных решений для хранения состояния
 
@DmitriySimushev да, у меня такое впечатление и было. Но доки по React меня что-то не захватили. JSX так просто оттолкнул.
А для лиспов ещё недавно (ну... не очень недавно) сделали Parinfer, который делает из лиспа Python o_O
Ну, в смысле, вложенность выводится из отступов, и на основе этого скобочки автозакрываются.
 
@D-side вот зря вы так с JSX. меня тоже маленько тошнило по-началу, но это невероятно удобно и не лишено некой философии. + можно и на чистом JS реализовывать компоненты. пусть и криво выглядит, но работает
функциональщина это реально круто. заставляет думать по-другому
 
@DmitriySimushev не, сама идея писать разметку в коде мне понравилась. В re-frame от этого ж тоже никуда не деться: github.com/D-side/rtc-chat/blob/master/src/cljs/chat/views.cljs -- мне не понравился именно синтаксис.
Но вкус на синтаксис это дело такое...
 
@D-side дело привычки. оно очень в духе html5 кмк
@D-side а вы кстати не знаете какой-нибудь маленькой интересной библиотечки, которой были бы нужны комиттеры?)
 
@DmitriySimushev с какими технологиями?
@DmitriySimushev ну, мне это решение нравится заметно больше всяких мусташей (я свой сайтец на Liquid писал, наелся кактусов) и ангуляров. Просто синтаксис элементов, по-моему, сильно не в духе JS, который вроде как хост-язык.
 
4:45 PM
@D-side функциональщина, cljs
@D-side мусташ это mustache?)
 
@DmitriySimushev о, это может быть, в чате кложурианцев недавно проскакивал какой-то проект, где народ ищет коммитеров в свои clj/cljs-проекты...
@DmitriySimushev он самый, ага.
 
@D-side я как-то пилил один среднеразмерный open source проект на handlebars + backbone
сколько же я дров тогда поналомал, аж жутко вспоминать
даже не на Backbone а на Marionette.js
 
@DmitriySimushev вроде он: open-source.braveclojure.com
 
@D-side круто, спасибо
 
5:45 PM
@avp, @D-side, @PashaPash, @Risto: без фактов и цифр, так сказать, сложно что-то на пальцах объяснять. Давайте возъмём и создадим один спиниз для метки, на Ваш выбор, и на нём я попытаюсь показать, как это будет выглядеть. что не будет устраивать можно будет там исправить, изменить, обсудить и т.п. Если из этого ничего полезного не выйдет, то просто модераторы удалят тот вопрос. Вы как?
 
@edem у меня есть предложение - давайте держать такие списки в описании меток
по крайней мере там можно ставить опыты
 
об этом думал, но там ограничен доступ к редактированию
 
@edem или можете попробовать собрать один спиниз на мете, как часть предлоложения. но опять же, я бы предложил держать их в метках
 
кстати да
в ответе к моему вопросу там и напишу пример
 
@PashaPash минус в том, что вопрос не объявить дубликатом метки, хотя для обкатки можно и так.
 
5:48 PM
@Risto зато можно закрыть с кастомной причиной, указав ссылку на метку
@Risto надо сначала решить, надо или нет - а потом уже решать как и что будем закрывать :)
 
поясните такой момент, а все ответы можно редактировать и кому? на мете например нельзя, насколько понл
 
avp
@edem я за. Создайте по той метке, что Вам ближе. Если она будет в рамках моей компетенции, по мере сил подключусь.
 
@edem свой - можно. Чужие - только на основном сайте (кроме общих, их можно редактировать везде).
 
avp
@PashaPash что Вы имеете в виду "в описаниях меток"? Это что, не как обычная тема будет выглядеть?
 
@edem для редактирования общих требуется определённый уровень репутации (точных цифр не помню, но я могу), а чужие могут редактировать все, но при репутации менее 2k требуется проверка опытными участниками.
 
5:54 PM
@DmitriySimushev всё же правильно написал
 
@Abyx мне формулировки понравились. ну и считать php хорошим языком для обучения программированию это очень сомнительно
 
6:10 PM
http://ru.stackoverflow.com/questions/508653/%D0%9A%D0%BE%D0%BD%D0%BA%D0%B0%D1%82%D0%B5%D0%BD%D0%B0%D1%86%D0%B8%D1%8F-%D1%81%D1%82%D1%80%D0%BE%D0%BA-%D0%B2-php

|Какая запись выглядит более эстетично, если цель - красивый код?

Хороший вопрос :-) Эталонный
Кстати, а как тут вставлять текст, который косит под цитату?)
 
@АлексейШиманский вопрос действительно хорош. как только человек начинает писать код для людей -- у него есть шанс стать хорошим программистом
 
@АлексейШиманский > текст
 
@DmitriySimushev имхо эстетичный/красивый != понятный
 
@АлексейШиманский ну вот и надо направить подрастающее поколение в правильном направлении =)
 
> test
@Abyx о, благодарю
 
6:14 PM
@АлексейШиманский как по мне, так этот вопрос намного лучше пачки вопросов вида "вот портянка кода, почему не работает?"
 
@DmitriySimushev побольше вопросов camelcase or snake case? =)
 
@DmitriySimushev по-моему, это эквивалент вопроса "как влияют на производительность условного оператора фигурные скобки"
 
@АлексейШиманский нет. выбор camel vs snake субъективен. в нормальных проектах оба эти стиля сочетаются в зависимости от цели использования
@zRrr не согласен. это обычный запрос на code-review
 
надуманный пример, в котором просто нет разницы
для ревью все-таки нужен код, который делает что-то полезное
 
7:09 PM
Рекламный баннер на главной посмотрите.
Нас, это, поздравляют.
 
7:33 PM
New strings for translation:
 
8:18 PM
@Risto не, на всех сайтах сети такая штука. к первому апреля, видимо
 
@Nofate так я первое апреля и имел в виду.
 
Вы про игру?
 
@АлексейШиманский ага
 
@Nofate а с чем бластер ассоциируется?
 
@АлексейШиманский а должен?
 
8:26 PM
@Nofate ну как тролли, ачивки, ромбик модератора.....конечно должен)
Жаль из игры репутация не перельется в репу на сайте =)
 
@АлексейШиманский а как в неё играть вообще? У меня, что бы я ни нажимал, единорог бегает туда-сюда по верхнему уровню, а потом дохнет.
 
@Risto ромбики все надо собрать)
 
@АлексейШиманский Как?
 
@Risto кладя мне на веб мани доллары =)
 
@АлексейШиманский найдите работу уже, у вас все шутки про бабло, скучно.
 
8:42 PM
@АлексейШиманский без смс?
 
@Nofate и даже бесплатно)
 
@Risto Злой Влад вот обходится без работы и ничего
 
@Nofate Злой Влад идеологический безработный. он не не может найти работу не хочет ее искать
двойное отрицание даже в русском выглядит странно
 
@АлексейШиманский, @DmitriySimushev, @D-side, @avp, @PashaPash, @Risto meta.ru.stackoverflow.com/questions/2790/… вот добавил в ответ пример спиниза, каким он задумывался на текущий момент
 
8:59 PM
@edem я не люблю большие тексты)
 
ну, зато после прочтения подобных, шансы на получения звания обладателя зелёных на web-money возрастают, как правило ;)
 
avp
@edem это же только список требований. Так и задумано?
 
@avp именно так. возможность узнать, что в принципе позволяет технология
 
avp
Коллеги, а в этой игре (на заглавной странице) на первом уровне можно оседлать единорога?

А на 2-м уровне с какого расстояния надо стрелять? А то меня сразу выбросило (видимо к этому моменту жизни кончились), а второй раз идти и и экспериментировать лень.
 
@avp вроде оседлать нельзя вообще, и застрелить его нельзя...единорога стрельбой можно только подвинуть.... нужно все ромбики собрать, тогда конец уровня
 
avp
9:11 PM
@edem я рассчитывал на что-то несколько другое, на что-то, напоминающее введение в технологию, с примерами, как у Бизли в 1-й главе справочника по Питону (только, конечно, намного короче).
@АлексейШиманский я имел в виду стрельбу в зеленых
 
@avp ну это уже было бы faq-списки, скорее всего
 
@avp вроде с любого
 
avp
А с 1-го уровня меня выкинуло, когда я последний ромбик наверху стянул, пытаясь догнать и оседлать
@edem точно, что-то в таком духе, только упорядочено ведущее по технологии
 
@avp это формат codeschool обучалок скорее
 
avp
@АлексейШиманский наверное я слишком поздно начал палить, видимо в него немало надо всадить. Может правильно стрелять на отходе, а не двигаясь навстречу?
@edem ну, значит я не так понял идею этих спинзов.
 
9:16 PM
@avp не знаю.. может глюки какие) одна пуля сражает наповал, хоть двигаясь хоть стоя)) у меня все норм)
 
avp
@АлексейШиманский Ок. Попробую еще (если инет сейчас не отрубят)
@АлексейШиманский ага, все получается. Только единорога автомат не берет.
 
 
1 hour later…
11:04 PM
scylladb.com про этого зверя кто-нибудь что-нибудь слышал? Кассандра и так рвет всех по скорости, а это обещает вообще радугу
 
03:00 - 16:0016:00 - 00:00

« first day (365 days earlier)      last day (2963 days later) »