[ /tv/ /rf/ /vg/ /a/ /b/ /u/ /bo/ /fur/ /to/ /dt/ /cp/ /oe/ /bg/ /ve/ /r/ /mad/ /d/ /mu/ /cr/ /di/ /sw/ /hr/ /wh/ /lor/ /s/ /hau/ /slow/ /gf/ /vn/ /w/ /ma/ /azu/ /wn/ ] [ Main | Settings | Bookmarks | Music Player ]

No.43581 Reply
File: -.jpg
Jpg, 125.61 KB, 700×500 - Click the image to expand
edit Find source with google Find source with iqdb
-.jpg
Новый традиционный тред Доброчана, в котором мы будем постить каждый раз, когда заходим в /s/ дабы поделиться своими хоббипроектами, поговорить о смежных с программингом вопросах, поспорить на тему X vs Y, пообсуждать синтаксический сахар разных ЯП. Как обычно можно постить и в другие моменты, обсуждать разные темы. Всё во имя того, чтобы зашедший code monkey не чувствовал себя одиноким. Каждому зашедшему по чашечке скумы за мой счёт.

Предыдущий тред: >>40630
>> No.43587 Reply
>>43575
> Как это сделать лучше всего?
libtiff. Ну или какая-нибудь другая графическая либа, которая есть под твой язык. Руками tiff/jpg/png ты заебёшься парсить.

>>43579
> записано 0х40а3
Нихуя! Там записано 0x0000043a (3a 04 00 00), что равно 1082. Внутри байтов не надо переворачивать разряды.

Про ширину и высоту - аналогично.

512 = 0x00000200, что записывается в little-endian как 00 02 00 00
1023 = 0x000003FF, что записывается как FF 03 00 00
2049 = 0x00000801, что записывается как 01 08 00 00

Учи матчасть, няша :3
>> No.43588 Reply
opencv возьми, там уже и картинки, и кластеризация, и все дела готовенькие.
>> No.43589 Reply
>>43579
Про правильный порядок байт и разрядов тебе уже подсказали, а я подскажу про чтение заголовка. Любой файл *.BMP начинается со структуры BITMAPFILEHEADER (https://msdn.microsoft.com/en-us/library/windows/desktop/dd183374%28v=[...].aspx), после которой следует либо структура BITMAPINFO (https://msdn.microsoft.com/en-us/library/windows/desktop/dd183375%28v=[...].aspx), либо структура BITMAPCOREINFO (https://msdn.microsoft.com/en-us/library/windows/desktop/dd183373%28v=[...].aspx). Описания этих структур дадут тебе размеры, смещения и назначения полей в заголовках битмапов.
>> No.43591 Reply
>>43589
Ага. А потом анон увидит, что рисунок получится вверх-ногами, с попутанными RGB каналами и вообще поехавший из-за padding'а при некратной 4 пикселям ширине... Эх, весёлые были деньки, когда я эти bmp и jpeg'и руками парсил.

P.S. Анон, если у тебя ограничений на формат нет - попробуй ruwiki://Portable_anymap. Там всё настолько примитивно, что за вечер точно разберёшься. GIMP точно умеет с такими картинками работать. Насчёт фотошопа и paint.net не помню, но вроде тоже.
>> No.43593 Reply
>>43591
> поехавший из-за padding'а при некратной 4 пикселям ширине
Странно. Я помню, что я тоже бился с паддингом, когда писал в старших классах смотрелку битмапов на паскале. Сейчас, будучи взрослее и опытнее, я понимаю, что люди из Microsoft должны были написать о паддинге в своих статьях в MSDN про Device-Independent Bitmaps, т.к. это важная деталь, способная сломать кастомный разбор битмапов. Однако я не смог навскидку найти в MSDN упоминания о необходимости учёта паддинга при разборе.

>>43579
Кстати, учти, что у битмапов может быть а) разный формат заголовка, б) разная глубина цвета, указанная в заголовке, и в) разный тип сжатия, от примитивного RLE до JPEG/PNG (он тоже указан в заголовке).
>> No.43616 Reply
File: 1.jpg
Jpg, 153.31 KB, 850×1403 - Click the image to expand
edit Find source with google Find source with iqdb
1.jpg
>>43581
У меня вопрос к Доброкодерам-фрилансерам.
Большинство из вас знают английский. А знаете ли вы японский?
Беретесь ли вы за проекты иностранных заказчиков и если да, то пробовали ли вы выходить на японский рынок? Есть ли у него потребность в наемных рабочих с континента, насколько отличается средняя месячная зп от англоязычного рынка?
Интересуют как софтокодеры так и сайтостроители.
>> No.43617 Reply
>>43616
Азиатов вообще нет на глобальный сайтах, разве что китайцы бывают, но 90% как работники.
У них какие-то свои локальные сайты, скорее всего.
>> No.43619 Reply
>>43616
IMHO, до тех пор, пока рубль/доллар не поднимется выше сотни, японцев здесь не будет.
>> No.43620 Reply
>>43616
Удаленки от японцев нет, на linkedin, SO предложений с relocation offer и помощью с визой от них нет. Есть корейцы (самые активный из них - Samsung) и много годных позиций в сингапуре. Я могу расписать подробней с японцами, потому что знакомый туда уехал, но все тезисы применимы к сеньорам и аспирантам, а ты спрашиваешь за макака-пхп-сайтострой, скорей всего. Такие дела.
>> No.43623 Reply
File: red.bmpOUT.bmp
Bmp, 27.46 KB, 512×512 - Click the image to expand
edit Find source with google Find source with iqdb
red.bmpOUT.bmp
Как проще всего раскрасить подобную картинку? Тут всего 4 цвета, но они все красные.
Я хочу, чтобы один тон был синими, другой - жёлтым, третий - красным, четвёртый - чёрным.
Я слыышал про 8-битные тру-колор ВМР. Кто-нибудь знает, как он выглядит?
>> No.43624 Reply
File: red.bmpOUT.png
Png, 29.77 KB, 512×512 - Click the image to expand
edit Find source with google Find source with iqdb
red.bmpOUT.png
>>43623
Тебе нужно просто получить картинку с изменёнными цветами или накатать программу, которая перекрасит исходное изображение? Если первое, то проще сделать это в графических редакторах - выделяем цвет инструментом вроде Magic Wand, затем заливаем выделение нужным цветом.
>> No.43625 Reply
File: red.bmpOUT.png
Png, 28.71 KB, 512×512 - Click the image to expand
edit Find source with google Find source with iqdb
red.bmpOUT.png
>>43624
Ой, извиняюсь, тебе же нужен был красный, а не зелёный.
>> No.43626 Reply
>>43624
К сожалению, мне нужно накатать программку. Таких картинок у меня сотни.
>> No.43627 Reply
Проблема решена.
Не беспокойтесь
>>43626
>> No.43628 Reply
Аноны, есть в C/CPP что-то похожее на питоновский exec? Ну например,

void main() {
[b]exec[/b] ("touch ololosha && /bin/init -q && mkdir 2ch");
}
>> No.43629 Reply
>>43628
system()
>> No.43650 Reply
File: typeclasses.png
Png, 13.96 KB, 759×260 - Click the image to expand
edit Find source with google Find source with iqdb
typeclasses.png
У меня тут вопрос к благородным донам. Есть у меня альтруистическое желание обучить какого-нибудь хиккана кодингу (сразу ебашить алгоритмы и функциональщину как единственную архитектурную идеологию). Причем, хочется именно что начать с SICP, потом learn your haskell for great good, потом компиляторы, потом задачи оптимизации, потом machine learning, а потом уже на мою любимую скалу перекатиться. То есть так, как если бы я сейчас учил кодинг. Ну и собственно вопросики.
1) Пробовал ли кто что-нибудь похожее.
2) Где мне искать падавана, чтобы усилия даром не пропали. Думал писать в дт, но там как-то уж слишком биопроблемно всё.
3) Как мотивировать человека на полгода занятий без видимого результата, ибо ништяки и работка только после большого такого introduction будут.
4) Да еще, если человек ленивый мудень, как ему деликатно об этом сообщить? А как наоборот поддерживать мотивацию к кодингу?

У меня мотивация простая - ностальгия по простым штукам.
>> No.43653 Reply
>>43650
> падаван
Я тут, епта. Изучаю сейчас Кормена, деревьица всякие на Питоне смотрю.
> ленивый мудень
Ты не стесняйся, пинай.
nubnokot@gmail
>> No.43655 Reply
>>43653
И вот я открыл SICP, поставил Racket и начал писать.
Яебал эти упоротые скобки и префиксную нотацию.
делает перерыв на поглощение чая
>> No.43704 Reply
>>43650
> сразу ебашить алгоритмы и функциональщину как единственную архитектурную идеологию)
ты бы себя сначала обучил.
>> No.43717 Reply
File: collision02.webm
Video 736x784 x 15.47 s; 2.1 MB - Click the image to play video
collision02.webm
Делюсь хобби-проектом
>> No.43726 Reply
>>43717
Недурно. На three.js пилишь?
>> No.43727 Reply
File: simstresstest.webm
Video 624x688 x 0:01:00; 9.7 MB - Click the image to play video
simstresstest.webm
>>43726
Неа, вообще без всяких фреймворков кроме менюшки на dat.gui.
Рендеринг софтварный на canvas, 3д-библиотечка моя личная.
>> No.43730 Reply
>>43727
Хренажсебе. Т.е. чистый WebGL?
>> No.43731 Reply
>>43730
Не, никакого WebGL, просто изометрическая камера, проектирование положения атомов на экран, рисование кружков и линий по проекции на canvas. Это очень старый подход же.
>> No.43734 Reply
>>43731
Ну ты крут анон. И даже 50-70fps на первом видео выжимает!
Я так не умею пока.
>> No.43738 Reply
>>43734
Математика там несложная, похожая на http://codeflow.org/entries/2010/sep/01/hard-constraints-easy-solutions/
Вообще физические симуляторы это интересное хобби, большинство программистов не может в такое потому что обычно деяиельность программиста на работе состоит в создании программ для перевода одних машинных языков в другие (JSON, XML, HTTP, SQL) и обработки простых структур данных.
>> No.43740 Reply
Чего мне такого простенького для тренировки написать?
>> No.43741 Reply
>>43704
Ага, он так и не написал.А я плачу и грызу лисп.
>> No.43743 Reply
>>43740
Это глупый вопрос, поэтому никто не знает, что ответить. Или стандарные алгоритмы/структуры данных, или стандарные задачи на круды. Если что-то из перечисленного слышишь впервые, то изучи их за одно.
>>43738
Парадокс: когда заканчиваешь универ, почему-то всегда сложность всей математики, начиная от 1-го класса без преувеличения, увеличивается в сто или в тысячу раз. И не через какое-то время, а мгновенно после прикосновения пальцев к диплому. В универе все студенты кричат, что теория графов, аналитическая геометрия - это полная херня по сравнению с матаном и дифурами. Настолько, что её учить вообще ненужно нахуй. А на работе программисты про людей, которые решают обычные задачки на теорию графов и не очень сложную геометрию говорят так, будто они ну просто Боги! Некоторые дисциплины почти мгновенно переходят из букварей для дебилов в супер-сложное божественное знание.
>> No.43745 Reply
>>43743
> Парадокс: когда заканчиваешь универ, почему-то всегда сложность всей математики, начиная от 1-го класса без преувеличения, увеличивается в сто или в тысячу раз.
Потому что студентота учит математику по принципу "вызубрить и сдать", а после выпуска оказывается, что они никогда эту математику не понимали и просто решали задачи по алгоритму, подставляли цифры в готовые формулы. И дома они, конечно же, не задачи на доказательство решали, и ебашились в игры.
>> No.43746 Reply
>>43745
> и ебашились в игры.
a*
>> No.43749 Reply
>>43740
Делай классические аркадные игры - арканоид (понг), змейка, танчики, тетрис, пакмэн. Классное хобби.
>> No.43794 Reply
>>43581
Что значит умное слово "ортогональность" в применении к архитектуре ПО?
Натолкнулся на определение технической красоты решения как "минимальность, ортогональность и гомогенность" и не врубаюсь во 2е слово.
>> No.43796 Reply
>>43794
Это похоже на зверька из мира ООП. Особо не обращай внимание, там псевдонаучные термины обозначают какой-то набор рецептов. Подозреваю, что ортгональность - разные модули выполняют непересекающиеся функции. Типа как два линейных ортгональных пространства - твоя задача раскладывается в часть векторов в одном, часть в другом. Гомогенность, голоморфность, когомологичность, топологическая связность - ну, короче, ты понял как самому генерить эти термины.

А вот в фп, если говорят что аргументы ко\контра варианты, например, или там категории - это действительно почти один в один математические структуры.
>> No.43797 Reply
>>43796
Не совсем из ООП. Это из статеек одного старого программера, который начинал ещё с перфокарт и тех.обслуживания больших ЭВМ в сов.союзе.

Менее всего программистам свойственны сентиментальность или восторженность. Уж не знаю почему, но типичный программер – это довольно-таки неприятный тип, иронично-насмешливый, язвительный до глумливости. Чтоб что-то похвалить, да еще в превосходных степенях... лучше удавиться. Но заведите с ним разговор о PDP-11 и вы услышите, как голос его теплеет. А ведь работал он даже не на самих PDP, а на кондовых советских клонах. В чем же дело? Эти машины были красивы! Не внешне, конечно. Красива, изящна, элегантна была их архитектура... хм... как объяснить красоту инженерного решения, не вдаваясь в технические детали? Оно было минимально, ортогонально и гомогенно. Главным инструментом дизайнеров была бритва Оккама: при богатстве возможностей – ничего сверх необходимого.

http://archive.is/01PQO
>> No.43798 Reply
эпичный обосрамс ооп-хейтера итт
>> No.43808 Reply
>>43653
>>43655

Да я просто медленновато запрягаую в таких делах. Я не готов пока для великих дел, ибо обосрусь как сенсей. Мне больше был интересен опыт анонов.

>>43704
Так я себя все время обучаю, не надо быть таким грубым. А то без зефирок останешься.
>> No.43811 Reply
Рандомный велосипед или что-то известное? Это айдишки.
M_zKcYEK_HEKFgE
M_znHFzF_HzYEcc
M_zrrgHY_YcFKFc
M_gHrEHn_zrzKzY
M_zcgzFK_YFYYHn
M_zrKYrr_YKYgcF
M_zrEnKg_YccYzY
M_zEcgnn_YYnYKF
M_gzgFrH_Yrcnnn
M_zHrzKK_YgncFK
M_zznzKc_YrzgHc
M_zzcHEz_YHcHKH
M_zgYFYY_YKnggH
M_HnHHHz_YEgYgH
M_zEEEEF_zE
>> No.43820 Reply
>>43581
Суть российскоого образования одной фразой:
"Если вы понимаете, что я имею в виду -- вам ничего не грозит; если нет -- вам ничего не поможет".
Дмитрий Булычёв, курс по компиляторам на Лекториуме, начало 3й лекции.
>> No.43822 Reply
>>43794
Любите книги — источник знаний, мерзавцы!(ц) Нури Метти

===
Ортогональность является одним из наиболее важных свойств, которое позволяет сделать даже сложные конструкции компактными. В исключительно ортогональных конструкциях операции не имеют побочных эффектов. Каждое действие (API-вызов, запуск макроса или операция языка) изменяет только один объект, не оказывая влияния на остальные. Существует один и только один способ для изменения каждого свойства любой управляемой системы.

Монитор компьютера имеет ортогональное управление. Яркость можно изменить независимо от уровня контрастности, а управление цветовым балансом не зависит от них обоих (если монитор имеет данную функцию). Представим, насколько более сложно было бы настраивать монитор, в котором регулятор яркости влиял бы на цветовой баланс: пришлось бы корректировать настройки цветового баланса каждый раз после изменения яркости. Еще хуже, если бы управление контрастностью также влияло на цветовой баланс. Пришлось бы манипулировать обоими регуляторами совершенно точно и одновременно, для того чтобы изменить по отдельности контраст или цветовой баланс при сохранении другого параметра постоянным.
===
http://wm-help.net/lib/b/book/290911164/82
>> No.43824 Reply
>>43822
О Холо, какое отношение сигнал к шуму в книжке-то! Зачем ты это бяку вообще читаешь, бро?
>> No.43825 Reply
>>43797
> Менее всего программистам свойственны сентиментальность или восторженность. Уж не знаю почему, но типичный программер – это довольно-таки неприятный тип, иронично-насмешливый, язвительный до глумливости.
У меня абсолютно противоположное впечатление. Программисты - весёлые ребята, часто идеалисты. Они чувствуют контроль над вверенным им миром битов и байтов, любят пробовать новые языки и фреймворки.
Ты наверное в каких-то совковых конторах работал просто.
>> No.43827 Reply
>>43822
Пасиб.

>>43825
"Мопед не мой, я только объяву разместил." (цэ) А по ссылке -- то, откуда её взял.
>> No.43847 Reply
> ортогональный
Расположенный под прямым углом, перпендикулярный. Или непересекающийся.
Частично смешивается с понятием ортодокстальный вне геометрии.
> минимальность, ортогональность и гомогенность
Это значит, что там не должно быть ничего лишнего, не должно быть пересечения функциональности и странных сайд-эффектов. Каждая хуйня должна делать как можно более очевидную вещь. Вся хуйня вместе должна подчиняться одинаковым правилам и эти самые правила должны быть как можно менее раздуты. Кроме того должно работать правило "без фанатизма".
>> No.43889 Reply
File: 841b3185-92b7-4515-af6b-5506606e052e.gif
Gif, 2275.85 KB, 478×268 - Click the image to expand
edit Find source with google Find source with iqdb
841b3185-92b7-4515-af6b-5506606e052e.gif
Типичный программист на языке, который мне не нравится
>> No.43920 Reply
Есть кто тут?
Может мне кто объяснить как уж совсем для тупого термины continuous integration и dependency injection?
>> No.43921 Reply
>>43920
dependency injection - ни один метод класса не должен вызывать new других классов из других иерархий наследования напрямую. Вместо этого все объекты создаются какой-то единый механизм. Вся суть в том, что этот механизм контролируется одним конфигом и там указываются классы и пааметры для разных ролей. За счёт этого можно легко подменить классы по всему приложению, поменяв их в конфиге, плюс настройки из конфига параметрами.

continuous integration - использование тулзы, которая автоматически делает кучу всякой чертавни после каждого закидывания кода в репу. Обычно это запуск тестов. Может также быть анализ кода на повторения, нарушения стандартов и т.п., а так же может быть автоматический деплой. Jenkins, например. Подразумевается, что каждое изменение кода сопровождается запусками тестов и деплоем, так что код постоянно живой типа.
>> No.43922 Reply
>>43921
Ок, CI вроде понял. DI не особенно, чем это отличается от какого-нибудь абстрактного ServiceProvider, который мне подходящий класс отдаст?

Не то чтобы я с этим планирую иметь дело, просто слахал термины и захотелось понять.
>> No.43927 Reply
>>43922
> чем это отличается от какого-нибудь абстрактного ServiceProvider, который мне подходящий класс отдаст?
ServiceProvider - это наверное название ServiceLocator в твоём фреймворке. ServiceLocator и DI решают одну и ту же задачу, но по идее как-то по-разному. Я уже и сам запутался, чем же они отличаются. Там какое-то очень мелкое различие. Самому хотелось бы понять.
>> No.43943 Reply
>>43927
У сервис локатора ты просишь нужные тебе зависимости, а DI фреймворк инжектит тебе их сам. Вроде в этом разница.
>> No.43944 Reply
>>43943
Куда и как инжектит? Как этот DI реализуется конкретно?
>> No.43945 Reply
>>43944
Я очень мало DI касался, но вроде как-то так было - есть DI контейнер, у которого настраивается конфиг в духе "в качестве реализации интерфейса IDjugurda передавай свежий инстанс Djigurda", "в качестве реализации интерфейса ILog передавай синглтон класса Log" и т.п. И когда ты просишь у него что-то запилить, этот DI контейнер смотрит на свой конфиг, запиливает все нужные объекты и инжектит их друг другу через конструкторы, методы, свойства и т.п.

Т.е. объекты ничего не знают ни о друг друге, ни даже о DI контейнере. Просто у них есть параметры конструкторов, методы или свойства, в которые можно просунуть нужный интерфейс.
>> No.43946 Reply
>>43945
Ну вот например вот такие классы:
```
interface ISender {
public void sendMessage(Contact contact, String text);
}
interface ILog {
public void debug(String text);
}
class MailSender implements ISender {
private Log log;
MailSender(Log log) { this.log = log; }
public void sendMessage(Contact contact, String text) {
    log.debug("Message sent");
}
}
```
И есть какой-нибудь конфиг для DI контейнера в духе ILog -> singleton Log; ISender -> new MailSender.

Ты говоришь "ISender мне запили", DI контейнер видит, что надо запилить инстанс Log'а (если его ещё нет) и запилить инстанс MailSender'а, передав ему в конструктор лог. В итоге он тебе возвращает готовый настроенный объект. А для тестирования, к примеру, может быть другая конфигурация, в которой всякие mock'и инжектятся вместо реальных реализаций...
>> No.43947 Reply
>>43946
Хаха, на доброчане два бактика полагается, а не три.
>> No.43948 Reply
>>43947
Пару месяцев не заходил, уже всю разметку забыл ;(
>> No.43949 Reply
>>43946
Но тогда DI контейнер - это и есть сервис-локатор. И как объекты его вызывают, если они про него не знают?
>> No.43950 Reply
>>43949
Вот в том и фишка DI, что 90% классов вообще ничего не знает про DI. Они тупые как пробка - реализуют какие-то интерфейсы и зависят от каких-то других интерфейсов, которые им можно передать через параметры конструктора или какие-нибудь сеттеры. Всё. Что там подсунут в качестве реализаций этих интерфейсов - им плевать. Кто им их подсунет - аналогично.

А с сервис локатором им всем бы пришлось знать как минимум о сервис локаторе... Т.е. вот этот MailSender просил бы ILog у сервис локатора, а не получал извне. Ну и Log'у пришлось бы быть реальным синглтоном. Ну если я правильно представляю паттерн сервис-локатора.
>> No.43951 Reply
>>43950
То есть, они должны все зависимости брать в качестве параметров только?
>> No.43953 Reply
>>43951
> все зависимости брать в качестве параметров только
Ага, в идеале так.
>> No.43999 Reply
Время от времени надо делать небольшие скрипты, и чтобы работали под шиндовс без зависимостей. Можно было бы бандлить тот же питон, но это уныло.
Так что надо что-то достаточно высокого уровня, что могло бы конпелироваться в нативные или дотнетовские ехе.
Го, может?
>> No.44000 Reply
>>43999
Желательно ещё гуи нативные, да.
>> No.44001 Reply
>>43999
Пиши на шарпе, чо.
> go
Мозгоебли больше, чем пользы.
>> No.44002 Reply
>>44001
Как-то неохота туда влезать - в куче всего придется разбираться, ещё с студией возиться.
>> No.44003 Reply
>>44001
> > go
> Мозгоебли больше, чем пользы.
С гуями там действительно много мозгоебли. Хотя есть вроде биндинги к qml. Впрочем если это небольшие скрипты, то им лучше быть именно без гуев.
>> No.44004 Reply
>>44003
> если это небольшие скрипты, то им лучше быть именно без гуев
Нам-то понятно, что лучше, а пользователям не очень.
>> No.44005 Reply
>>44002
Ты можешь писать в своем любимом виме и компилять консольными утилитами, которые устанавливаются вместе с дотнетом, насколько я знаю.
>> No.44006 Reply
>>44002
Что там с ней возиться? В го тебе будет разбираться нужно больше просто потому, что это куда менее популярный язык и в нём автоматически меньше удобных тулз, которые будут всё делать за тебя и без сложных настроек и легче с документациями и гайдами.
>> No.44007 Reply
>>44006
Он имел ввиду сисярп.
>> No.44017 Reply
File: maybe.gif
Gif, 296.91 KB, 384×288
edit Find source with google Find source with iqdb
maybe.gif
File: 1444997432181.jpg
Jpg, 145.44 KB, 500×750
edit Find source with google Find source with iqdb
1444997432181.jpg
File: question.jpg
Jpg, 95.74 KB, 625×462
edit Find source with google Find source with iqdb
question.jpg

>>43581
Анон, я тут резюме хочу написать, буду отправлять в местные маленькие конторы. Есть какие нибудь особые хитрости? Стоит ли писать обо всех технологиях с которыми приходилось работать? Писать ли о маленьком проекте который провалился на кикстартере? Как описать знание английского, если нет никаких сертификатов? Писать ли о знании vim-а? О недопроекте на гитхабе?
>> No.44025 Reply
>>44017
Да.
>> No.44027 Reply
>>44017
Ты уже такой опытный и не знаешь, как писать резюме? Как так получается?
> Как описать знание английского, если нет никаких сертификатов?
Написать, как ты можешь применять его. Читаешь ли литературу или же можешь общаться тоже. Так же и с остальными технологиями - пишешь те, которые можешь применять. На проекты кидай ссылки, они будут смотреть, как ты код пишешь.
> Писать ли о знании vim-а?
Если можешь использовать его при удалённом администрировании через консоль, то напиши это. Иначе - нет смысла, всем всё равно, в чём ты пишешь код.
>> No.44034 Reply
File: javascriptlogo.png
Png, 42.25 KB, 300×246 - Click the image to expand
edit Find source with google Find source with iqdb
javascriptlogo.png
Анон, зачем mongodb, node, nginx и прочим понадобился джаваскрипт? Почти все, кто использует ооп в джаваскрипт через мучения иммитируют классическое ооп с классами. То есть они не используют странности джаваскрипта в свою пользу. Вроде бы явно им не нужны эти протопиты, а нужны классы. Тогда почему его теперь так пихают, куда попало? В чём соль? Можно же было делать node и монгу на руби или питоне. Что я тут не понял? Js вызывает у меня стойкое ощущение, что я чего-то не понимаю.
>> No.44035 Reply
>>44034
> делать node на руби или питоне
Или я не понимаю что-такое node или ты. Склоняюсь ко второму.
>> No.44036 Reply
>>44034
JS - client-side
Ruby, Python - server-side
>> No.44040 Reply
>>44034
JavaScript — это полностью асинхронный код в одном потоке и без всяких блокировок. В этом его и прелесть, именно поэтому оно и получило распространение у node, mongodb и так далее.
Ни python, ни lua, ни ruby в это не могут.
Ну и плюс они появились как раз благодаря тому, что во времена их зарождения появились очень хорошо оптимизированные качественные реализации виртуальных машин для js, которые к тому же легко встраиваются в C-программу. А те появились благодаря работе команд у разработчиков браузеров. Как известно, интерпретаторы и питона, и руби очень плохо интегрируются в большое приложение. С луа легче, но там с реализациями библиотек все грустно.

Поэтому популярность у фронтэнд-девелоперов помноженная на легкую в понимании асинхронность без проблем синхронизации и обеспечили джаваскрипту взрывной рост популярности в виде ноды, языка запросов и процедур у монго и так далее.
>> No.44041 Reply
>>44040
Асинхронность js - это всего лишь лямбды. А он есть везде. При этом в питоне и руби их писать куда легче, так как они там лаконичнее - нет бесконечных return и function. И точно также на лямбдах всё бы тоже самое можно было бы реализовать.
>> No.44042 Reply
>>44041
Нет. Асинхронность js — это прежде всего его асинхронный Event Loop, а не лямбды.
В питоне и руби, конечно, сейчас уже тоже появились сходные концепты, как например asyncio, но они требуют много бойлерплэйта, когда как в js и ноде оно все из коробки для всех возможных функций.
>> No.44049 Reply
>>44042
Я про язык говорю, можно было делать Event Loop заведомо на руби/питоне, это же не часть грамматики языка.
>> No.44050 Reply
>>44049
Скажем так, что это стандартная часть библиотеки и интерпретаторов языка, которая пошла из необходимости обрабатывать внешние для скрипта ивенты в браузере.
С таким же успехом, конечно, можно реализовать точно такие же парадигмы и на питоне, и на руби, но в этом случае встает банальный вопрос удобства реализации и работы со всем этим. Программисту придется дополнительно задумываться, например, о том не воспользовался ли он случайно чем-нибудь, что исполняется синхронно и может заблокировать интерпретатор.

Все-таки вряд ли в сегодняшнем мире кто-то выбирает язык только лишь по чистой грамматике. Язык состоит и из интерпретатора, и из стандартной библиотеки, и из прочей инфраструктуры.
>> No.44059 Reply
>>44027
> Ты уже такой опытный и не знаешь, как писать резюме? Как так получается?
Лол. У меня ещё хуже ситуация была - проработал 7 лет в одной конторе в своём усть-зажопинске (резюме писать не пришлось), потом решил переехать. В итоге опыта и стажа дофига, а резюме ни разу не писал.

мимо
>> No.44060 Reply
>>44041
Слава Ктулху в js появились промисы.
>> No.44063 Reply
>>44060
Ты это к чему?
>> No.44064 Reply
Сап, анон, я тут решил поиграться с Нодой и случайно начал мелкоборду с одной доской, лол
%%https://board-alexsolari.c9.io/%%
Картинки пока что прикреплять нельзя, но это в процессе
>> No.44067 Reply
Есть такая тема - UX специалисты. Кто что думает? Можно прокачать какого-нибудь хикка-тяна с ненулевыми навыками рисования, оплатив доступ на digitaltutors. Собственно, вот вводная статья: http://tceh.com/blog/pochemu-srede-ux-specialistov-nuzhna-novaya-krov/
>> No.44070 Reply
>>44067
В основном больше вакансий на веб-дизайнера, но это близко. В целом, рисование, знание редакторов и знание адаптивного дизайна, UX и других смежных тем должно помочь. Должно сильно помочь знание вёрстки и знание bootstrap. Может пригодиться material design.
Прокачать другого человека по сложной специальности невозможно в принципе. Тем более человека, который не может разговаривать. Да ещё на такую специальность, где тебе не будут говорить, что делать, а надо будет самому принимать и продвигать решения.
>> No.44071 Reply
>>44070
> Прокачать другого человека по сложной специальности невозможно в принципе.
Почему? Я наблюдал как пара человек с гуманитарным образованием стали кодерами. Причем, неплохими. Один вообще этим в 30 лет начал заниматься. Кодерство уж всяко сложней дизайна. Почему бы человеку с гуманитарным складом ума и тягой к срисовыванию картинок не попробовать себя в юзабилити крафте?
>> No.44072 Reply
>>44064
Допиливаю потихоньку борду.

Новые баги фичи:
1) Если открыта страница треда, то раз в 20 секунд подгружаются новые посты.
2) Можно постить картиночки размером до 1 МБ.
3) Показывается дата поста.
>> No.44073 Reply
>>44071
При чём тут это вообще? И при чём тут гуманитарное образование, почему гуманитарное? Я вообще даже не верю в эти сраные склады, всё это придумали журналисты из женских журналов и мастера пикапа в придачу с астрологами. В субботу Юпитер в гуманитарном складе и потому надо обновить зависимости! Бесит вообще.

Я про то, что это его инициатива, а учиться будет не он сам, а его подружка. А подружке может быть вообще не нужно и она может не понимать, во что ввязывается.
>> No.44074 Reply
>>44073
Ты же не его самого, не подружку его не знаешь, а уже все для себя решил? Вот ведь какие аноны проницательные.
>> No.44075 Reply
>>44074
Не ну я ничего не утверждаю. Просто мне показалось, что в "прокачать какого-нибудь хикка-тяна" между строк читается, что сама она не может.
>> No.44076 Reply
>>44073
"Хикка-тян" - это условный образ. Я могу свою тульпу, например, обучить. Тульпа не понимает во что ввязаывается, а что ей нужно не знает и подавно. Прям совсем как многие домоседы.
>>44075
> что сама она не может.
Не не может, а не знает. Я, как кодер, чуть больше знаком с индустрией, так что могу выступать в роли наблюдателя, мотиватора и советчика.

Да, тян, должна быть филологом по диплому, потому что все курсы и материалы на английском. И вообще я хотел больше про идею стать UX специалистом - порог вхождения очень маленький же, а занятие интересное.
>> No.44077 Reply
>>44076
> порог вхождения очень маленький же
Ненавижу таких как ты. Порог у него маленький. А потом это говно не верстается никак ни под мобильник, ни под что, а заказчику надо. И юзер вообще не знает, куда тыкать и ничего не делает. И вёрстку с джаваскриптами всю переделывать. Шёл бы ты со своим порогом, работу свою нормально делать надо.
>> No.44079 Reply
>>44077
У верстака пригорает. В верстку и jquery порог вхождения еще меньше, как по мне. Да и то, что ты не можешь сверстать по макету (которых может быть несколько под разные платформы, да) - это твои проблемы.
> И юзер вообще не знает, куда тыкать и ничего не делает.
Ну наняли плохого UX гая, сами себе злые буратины.
>> No.44080 Reply
>>44079
При чём тут это? Я не верстак. От плохих верстаков пригорает как раз(а диазайнеры как раз нередко сами верстают). Потому что даётся сжатый промежуток времени тимлидом/руководителем на то, чтобы всё уже якобы полностью готовое только внедрить и дописать запросы к базе. А потом сидишь и всё за верстаком надо доделывать. 30% как минимум почти весь js после верстака надо переделывать.
> которых может быть несколько под разные платформы, да
Это самый простой и примитивный вариант, но ещё и самый трудоёмкий по времени для дизайнера. А обычно хотят всегда, чтобы ну уж как-нибудь впихнули под мобильную вёрстку/планшет/1024х768-монитооры один макет. А макет дезигнер делает так, что он помещается чуть ли не только на 1920 и нигде больше.
> Ну наняли плохого UX гая, сами себе злые буратины.
А иначе то уже будет не низкий порог. А обычно эти дизайнеры только рисуют красивый прямоугольник с картинками и вообще не думают, куда там юзер будет тыкать. По полям формы не видно, что это вообще поля, а не просто текст? Насрать! Всё равно никому не нужна эта форма! Зато цвет правильный!
>> No.44094 Reply
File: 1433193327508.jpg
Jpg, 22.26 KB, 480×363 - Click the image to expand
edit Find source with google Find source with iqdb
1433193327508.jpg
>>43581
Хочу сделать курсач на тему компиляции/трансляции. Какую тему выбрать, чтобы не было очень ненужно?
>> No.44101 Reply
>>44094
Любую. Курсачи никому не нужны.

Я бы посоветовал тебе разработать язык, в котором можно без изъёбов писать в автоматном стиле, но кого это волнует, когда в моде ООП и функциональщина?
>> No.44110 Reply
>>43581
Сап, тред, собираюсь воспитать юного доброкодера из своего племянника по просьбе этого самого племянника и его родителей. Есть закавыка - дитяте десять, почти одиннадцать, лет. Помню свой опыт работы с детьми в далеком прошлом (заставляли преподавать школьникам С) и понимаю, что ребенку может быть дофига скучно писать всякие "считать два числа с клавиатуры, вывести такую-то херню на экран", да еше и в консоли.

Задумался взять за основу Processing (https://processing.org/). Язык придуман для рисования скетчей, можно сразу получить яркие впечатления, начать рисовать всякие интересности в окошке, ловить события с мышки и клавиатуры, заствлять штуки скакать по экрану. Попутно я мог бы объяснять основные принципы и понятия типа переменных, управляющих конструкций, подготавливать к более сложным и потенциально скучным вещам. Потом, как вариант, соскочить на какой-то полноценный язык программирования.

Еще вариант - взять processing.js по тем же причинам. Но параллельно обучать его консольному джаваскрипту.

Еще вариант - не выпендриваться и начать обучение с голых Сей, потом двинуть к С++ и ООП. Но боюсь отбить у пацана охоту что-либо вообще учить.

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

Гуглю современные методики преподавания детям, да и вообще на тему детей и программирования - пока ничего интересного не нашел. Вот, собственно, прошу совета. Насколько интересная или дурная идея с processing? Может, анон посоветует хороший подход?
>> No.44111 Reply
>>44110
Скретч сейчас популярен для детей.
Алсо, если делать таки сириус бизнес, то лучше уж скрипты какие-то, чем си, в сто раз меньше ненужной еботы.
>> No.44116 Reply
А что вы думаете про Скалу? Я не заметил, или по ней правда нет треда?
>> No.44117 Reply
>>44110
Сделать как можно красноглазее, мне в детстве нравилось ебаться с консолью.
>> No.44118 Reply
>>44111
В си нет ненужной еботы. Это всё следует знать, чтобы знать меру вещам, что как работает и что сколько времени и памяти занимает.
>> No.44119 Reply
>>44118
Это следует знать тому, кто занимается разработкой.
А ребенку важно получить результат, а не что происходит при этом под капотом.
>> No.44128 Reply
>>44118
> В си нет ненужной еботы.
Только нужная.
>> No.44137 Reply
File: talking_captcha.png
Png, 0.76 KB, 300×20 - Click the image to expand
edit Find source with google Find source with iqdb
talking_captcha.png
>>44116
Есть же джава-тред.
>> No.44140 Reply
>>44119
> А ребенку важно получить результат, а не что происходит при этом под капотом.
Сжигать бы вас, таких вот педагогов. Мне в дестве всегда было интересно, что под капотом, а уж результат получить и обезьяна сможет, просто прочитав инструкцию.
>> No.44142 Reply
File: 1372927580963.jpg
Jpg, 366.47 KB, 1280×720 - Click the image to expand
edit Find source with google Find source with iqdb
1372927580963.jpg
У меня довольно специфическая жизненная ситуация, хотелось бы получить от доброкодеров советов, как в моём случае лучше получить опыт работы на реальных рыночных проектах.

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

Несколько месяцев назад начал в свободное время заниматься кодингом, сейчас прохожу известный курс от Rice University на курсере, читаю книжки по алгоритмам. Для меня программирование и интерес и вариант "осесть" через пару лет, поскольку тусить по Азии это круто, когда молодой и с кучей энергии, но ближе к тридцатнику наверняка захочется где-то осесть и обзавестись семьёй, не исключено возвращение на родину, а для такого нужна хорошо оплачиваемая офисная работа. Учитывая, что вышки у меня нету, да и работать за 300 баксов мне не очень хочется, то чтобы претендовать на какие-то нормальные деньги при продаже себя в корпоративное рабство на фулл-тайм нужно получить релевантный для рынка опыт в ближайшие пару лет, пока я ещё здесь и у меня есть источник дохода. Сейчас я ещё учусь и мне качать теорию ещё долго, но через какое-то время настанет момент, когда у меня уже будут скиллы для не слишком сложных реальных задач, и это случится явно раньше, чем я отсюда уеду. Разумеется, там, где я живу, физически никаких контор, куда можно устроиться получать опыт иностранцу, нету. Думал о фрилансе, но я не совпадаю по времени с подавляющим большинством заказчиков, да и не уверен, что это лучший вариант для набора опыта (особенно в глазах эйчаров) с нуля, тем более быстрым срубанием денег я не интересуюсь сейчас. Участвовать ли в каких-то опенсорсах? Пытаться ли устроиться на удалёнку куда-то на Западе, пусть даже за символическую плату и строчку с опытом работы там для профайла на LinkedIn? Непонятно совершенно, как в такой ситуации развиваться.
>> No.44143 Reply
>>44142
Что за курс? Питон?
>> No.44145 Reply
>>44143
Да, Introduction to Interactive programming in Python двухчастевой.
Забыл в посте написать – в целом планирую копать в сторону веба, следующими буду читать увесистые тома Jon Duckett по HTML5&CSS и Javascript&jQuery
>> No.44146 Reply
>>44145
Наверстай себе или конторе, в которой ты работаешь инструктором, сайтец по дайвингу на каком-нибудь джанго, или что там нынче популярно с питоном. Если получится на заебись, то предлагай себя в качестве вебмастера всяким мелким местным предприятиям за две рыбы и миску риса. Не знаю, получится ли найти опенсорс веб-проект на питоне, с низким порогом вхождения и\или мудрыми мужиками, которые все покажут и доходчиво объяснят.
>> No.44194 Reply
File: зона.jpg
Jpg, 44.86 KB, 604×384 - Click the image to expand
edit Find source with google Find source with iqdb
зона.jpg
Вечер в хату, посоны!
>> No.44209 Reply
>>44194
Лол, ностальжи.
>> No.44282 Reply
О, годный тред и у меня вопрос. Есть ли где сводная "таблица" языков, где в древовидном порядке было показано что от чего произошло, кто кого поддерживает, и что нынче пользуется а что "говно мамонта"? И есть ли какой либо исторический очерк что и как развивалось. Нашёл в подъезде книженцию для старших классов, заинтересовало, но там всё про то что было в прошлом веке, и то очень поверхностно.
>> No.44285 Reply
>>44142
Непонятный сумбур. Курсера, вообще о**еть!
Если тебе 26-28 лет и ты преподаёшь дайвинг, то ты должен прекрасно чувствовать своё здоровьё - иными словами ты можешь преподавать дайвинг ещё лет 10, вплоть до 40 лет.

За эти 10 лет (да хоть за пять) накопи 20тысячрублей х10месяцев х5лет == 200х5 == 1 Миллион
Кладёшь миллион/два в банк под стандартные 10%, вот тебе и $300 в месяц.
>> No.44287 Reply
>>44285
> Кладёшь миллион/два в банк под стандартные 10%
Какой там нынче процент инфляции?
>> No.44334 Reply
>>44333
Вот до чего доводит людей курсера и прочие хабрахабры.
> взлом карт метрополитена
О каких вообще картах метрополитена идёт речь?
>> No.44335 Reply
>>44333
Лучше возьми книгу как стать ололо-крутым-айтишником за 24 часа.
Каждую тему надо въебывать минимум месяц, и то это будет всего лишь поверхностное знакомство, через некоторое время забудется без практики.
А тебе подавай всё и сразу.
>> No.44336 Reply
>>44334
О проездных, очевидно.
>>44335
Да, мне нужно все и сразу. Года эдак на полтора рассчитываю.
>> No.44337 Reply
>>44336
Вангую, что с твоим подходом, всё, что ты научишься делать, - разговаривать на охуенно умные темы с тп.
>> No.44338 Reply
>>44337
В этом я уже мастер.
А подход как подход, я начинаю со сбора ресурсов и вовсе не обязательно начну изучать все сразу и скопом.
>> No.44339 Reply
>>44336
Что-то мне подказывает, что взломать их будет проще чем Одноклассники.
>> No.44347 Reply
File: 13214463321112.png
Png, 274.60 KB, 600×800 - Click the image to expand
edit Find source with google Find source with iqdb
13214463321112.png
Привет, /s/ахарач. Такая напасть, собрал тулчаины для гейоси (это которая OSX) - mingw-w64, gcc 4.8.5. Но что интересно, результирующие экзешничеги получаются какого-то совсем не халяльного размера. Очень простое (классический хелловорлд с регистрацией класса, созданием окна и обработкой пары сообщений на WinAPI) приложеньице на няшной сишке (не С++!) весит чуть более, чем в джва с половиной раза больше, чем тот же код откомпилированный mingw-w64 на пиунксе и собственно шиндошс (около 40-44 против 130кб) Такое впечатление, что конпелятор пихает в вывод дебажную инфу. Но почему и зачем он это делает, непонятно. strip -g делает экзешничег совершенно нормального размера. Такие дела.
>> No.44356 Reply
File: 80ff0bafe476685f2420feb6b85c1b92.jpg
Jpg, 522.58 KB, 900×1197 - Click the image to expand
edit Find source with google Find source with iqdb
80ff0bafe476685f2420feb6b85c1b92.jpg
>>44347
А дебажная инфа в экзешничег попадает, тому що вона в объектах рантайма есть. Расходимся надо было собирать mingw с чем-то вроде --disable-debug, странно, что по умолчанию оно не disable
>> No.44361 Reply
File: T1L0LUrwiPo.jpg
Jpg, 58.07 KB, 604×461 - Click the image to expand
edit Find source with google Find source with iqdb
T1L0LUrwiPo.jpg
> http://www.newsru.com/russia/22dec2015/time.html
> Госдума отправила Забайкалье в восьмую часовую зону - на час вперед
Как уже эти уроды заебали дёргать эти часовые пояса! Теперь опять обновлять оверх дохуя всякой хрени, чтобы показывало время нормально в другом поясе.
>> No.44378 Reply
Котаны, я все чаще замечаю в дт тянов\кунов, которые хотят научиться кодить. Может, нам что-то типа менторства запилить. Выделять ментора и ассистента на человечка и помогать в освоении материала за просто так?
>> No.44384 Reply
>>44378
Пусть лучше читают классические книги авторитетных авторов. Остальное - всё дребедень.
>> No.44393 Reply
File: 13208303296596.jpg
Jpg, 361.92 KB, 1181×1732 - Click the image to expand
edit Find source with google Find source with iqdb
13208303296596.jpg
>>44378
Как представлю себе плоды такого нарпросвета, смищно становится. Не, тухлая идея, анон. Пусть кто хочет, самообразовывается, да вопросы пилит по ходу. А вот эти вот рабфаки не нужны.
>> No.44397 Reply
Какая разница между передачей по ссылке и передачей указателя, если речь идёт о няшном? Интересует разница во внутреннем устройстве этой хрени. Или стоит щитать, что ссылка это указатель без возможности адресной арифметики? Есть ещё какие либо подводные камни? Ну там всякие опримизации компейлятора и прочее.
>> No.44398 Reply
>>44397
Ну оптимизировать он может и указатели, если они далеко не расползаются. В общем-то физически разницы никакой. В ссылку даже NULL можно засунуть при должном упорстве и никто за это по рукам не даст (только это UB, если что). Так что да, считай это более строгим указателем - нельзя присвоить другое значение, не может быть NULL (если программист адекватен), не поддерживает адресную арифметику.
>> No.44399 Reply
>>44397
В няшном нет ссылок, бака. Т.е., если на пальцах, нет синтаксиса со значками &, только с *. Ссылки только в С++.
>> No.44400 Reply
>>44399
У вас разные понятия о няшности, няши :3

P.S. Я отвечал само собой про c++.

>>44398-кун
>> No.44401 Reply
>>44398
>>44399
Я всё это и так знаю. Меня интересует, есть ли разница на уровне кодогенерации. Как если бы я делал компейлятор.
>> No.44404 Reply
>>44401
Да нету её.
>> No.44405 Reply
>>44401
Указатель всегда можно отвязать от того, на что он указывает, даже без адресной арифметики. Ссылка - это только псевдоним, она всегда указыват на одно и то же. Да, на оптимизации по идее указатель будет накладывать больше ограничений, но иногда компилятор сможет распознать проблемы. Но вообще с этим всё очень сложно.
>> No.44412 Reply
File: 40668-37989-10.jpg
Jpg, 73.09 KB, 613×754 - Click the image to expand
edit Find source with google Find source with iqdb
40668-37989-10.jpg
На работе купили за деньги компании за тысячу баксов платную джаваскриптовую либу с кучей свистелок и некоторыми фичами как во фреймворках - Kendo UI от Telerik. Сейчас открыл их список ишью на гитхабе. А там 72 открытых бага. Один из них признан багом высокой критичности, 12 из них - средней, а остальные - низкой. Это вообще ОК? В других платных либах тоже такие длинные списки багов? Причём они размазаны тонким слоем по всей либе, а не сосредоточены в каких-то новейших функциональностях.
>> No.44413 Reply
>>44412
Само по себе количество issue ещё ничего не говорит. Баги есть в любом продукте. Банально по той причине, что любое живое ПО состоит из костылей, велосипедов, подпорок и говнокода.
>> No.44414 Reply
>>44413
Три бага я им сам запостил. Не успели ничего сделать, уже в одном компоненте(в самом большом, правда) с ходу три. Один из них бесит и один серьёзно мешает. Я просто теперь думаю, когда они их теперь пофиксят, если уже и так десятки багов. В браузерах, бывает, если нахожу баги, то всегда оказывается, что они уже известны. При этом браузеры не фиксят их долгие годы. Напарывался, а потом находил на трекере баги и по пять, и по семь, и по десять лет возрасту.
>> No.44415 Reply
>>44412
Сколько багов закрыто? Насколько древние открытые баги?
>> No.44416 Reply
>>44415
Открыто 72 бага(по лейблу "баг"), закрыто - 696. 13 открытых багов - прошлого года, вплоть до лета 2014, причём один из них - средней критичности, а не низкой, как остальные. Репа существует с прошлого года.
>> No.44419 Reply
>>44414
> Три бага я им сам запостил.
Так если купили, то надо не через баг-трекер такие вопросы решать, а через саппорт.
На вопросы, требования и баги коммерческих пользователей такие продукты обычно реагируют охотнее, чем на публичный баг-трекер.
>> No.44420 Reply
>>44419
Я в саппорт и запостил. Сейчас праздники и они пока ничего не делают.
>> No.44421 Reply
>>43581
Анон, можно немного потока мыслей от быдлокодера?

Тащемта, я ОП pascal\delphi треда. За прошедшее с тех времен время я успел воскурить сишку и питон, вернуться к раскурке асма(fasm, который я начал изучать самым первым, еще в 2007-2008м году, еще в школе). Пилить свой язык не прекратил, хотя крутых функций так и не добавил - синтаксиеческий сахар с перцем только.

Зато начал пилить самопальную ОС. Она полна костылей и велосипедов, но уже умеет читать символы в клавиатуры и выводить их на экран, и ребутаться по команде. Планирую потом причесать код и опубликовать его с сопроводительной статьёй в наставление другим падаванам, желающим оси кодить. Мол дескать "ничего сверхестественного в этом нет, не нужно обсасывать эту тему".

И еще я понял одну важную вещь. Не нужно учить ЯП. Нужно брать и кодить. Пускай toy-проекты, но кодить. Чтобы были промежуточные цели, релизы и обязательно - в систему контроля версий коммитить. Приучает к порядку, знаете ли. Работать в команде еще не пробовал, но возможно скоро попробую.

Паскальщик-кун
>> No.44422 Reply
>>44421
> Зато начал пилить самопальную ОС. Она полна костылей и велосипедов, но уже умеет читать символы в клавиатуры и выводить их на экран, и ребутаться по команде. Планирую потом причесать код и опубликовать его с сопроводительной статьёй в наставление другим падаванам, желающим оси кодить. Мол дескать "ничего сверхестественного в этом нет, не нужно обсасывать эту тему".
Эта ОС может запускать отдельные от самой себя программы? А сразу несколько? А диск они могут писать что-нибудь?
>> No.44423 Reply
>>44422
Эмм, а что непонятно в фразе
> начал пилить
Пока что ничего особенно нет, но я и не говорил "аффтар убийцы windows и macos ИТТ, спрашивайте ваши ответы"
Запускать программы? В самом простом случае это записать в свободный кусок памяти нужного размера двоичные комманды с диска(необходимо - менеджер памяти и чтение-запись на диск) и сделать jmp на стартовый адрес.

Несколько сразу? Тоже реализуемо. На прерывание программируемого таймера вешается переключатель задач, который заставляет сохранить состояние регистров(пока не знаю куда точно, скорее всего в стек), восстановить состояние регистров при выполнении другого процесса и сделать jmp на то место, где остановились в прошлый раз.

Писать на диск? Если дело в реальном режиме, то int 13h, иначе - io порты. У меня ядро бегает уже в защищенном режиме, значит порты.

Еще раз отмечу, что ОС в первую очередь - способ поковыряться с низкоуровневым кодингом для общего развития, с пользой приятно провести время. Для фана, вобщем-то(нет, не just for fun - скилла не хватит). Ну и си с асмом доучить до уровня.
Паскальщик-кун
>> No.44424 Reply
>>44423
"ничего сверхестественного в этом нет, не нужно обсасывать эту тему" звучит слишком круто. Ты ещё не дошёл ни до чего сверхестественного, что обычно обсасывают. Переключение процессов, их планировка, отображение адресов программы на реальные(виртуальная память), файловая система и т.п.
> нет, не just for fun - скилла не хватит
Боже, как умно и патетично, меня прям пробрало.
>> No.44428 Reply
Анон,
мне тут внезапно понадобилось попользоваться одним API.

Как в это смочь? Есть какой-то универсальный подход или нужно для каждого ресурса искать отдельные решения? Пока что все мои попытки либо выдают пустоту, либо же работают, но я не уверен, что выдают.

В частности, вот это вот:
http://help.brain-map.org/display/devmouse/API
Нужно из этого атласа хотя бы достать данные по экспрессии всех генов в мозжечке на стадиях Р4 и Р28.

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

Понимаю, что не моя личная армия, но вдруг для тебя это вопрос пары секунд — ты мне наверняка сэкономишь пару часов.
>> No.44429 Reply
>>44428
Ты вообще хоть читаешь инглишь? Просто смотришь картинки и коды небось? Читай буквы, будь мужиком.
>> No.44430 Reply
>>44424
Я тут хотел написать простыню в ответ, но решил, что это того не стоит. Все-таки, какой смысл развернуто отвечать человеку, который равнивает трудоемкость, сложность и уровень технологий хобби-проекта одного человека и современных коммерческих систем. Чего с упоротым спорить-то?
Dixi, больше я в этот тред ни ногой. Раковник, чесслово.
Паскальщик-кун
>> No.44431 Reply
>>44430
Все-таки, какой смысл развернуто отвечать человеку, который считает профессиональных программистов, которые годами учились своему делу, что их работа не представляет ничего сверхестественного и вообще нечего её обсасывать.
>> No.44437 Reply
>>44429
Почитал я эти ваши буквы.
Что-то даже получилось:

http://api.brain-map.org/api/v2/data/query.csv ?criteria=model::StructureUnionize,section_data_set%28genes%29, rma::criteria,section_data_set[delegate$eqfalse]%28genes[entrez_id$ge1],specimen%28donor%28age[name$in%27E18.5%27,%27P4%27,%27P28%27]%29%29%29, structure[acronym$eqPPH] &order=ages.days$desc &num_rows=1222 &tabular=structure_unionizes.section_data_set_id,ages.name%20as%20age, structure_unionizes.expression_energy, genes.name%20as%20gene_name, genes.acronym%20as%20gene_acronym, genes.entrez_id Правда, я до сих пор не понимаю, почему если убрать:

genes[entrez_id$ge1], то всё перестаёт работать, хотя просто должен убраться один фильтр по генам.

буду благодарен, если вы скажете, как форматировать код так, чтобы строки не слипались
>> No.44438 Reply
>>44437
> буду благодарен, если вы скажете, как форматировать код так, чтобы строки не слипались
Какой именно код и зачем? Сам csv, который прилетает? Он в формате юниксовского текстового файла. В виндовсе строки в простых текстовых файлах(.txt) последовательностью из двух символов \r\n, а в UNIX-подобных - символом \n. При открытии виндовым блокнотом оно не видит переводы строк. Надо открывать чем-то другим: notepad++, или прямо в иде или ещё где-то.
У меня не перестаёт работать, если убрать. Всё ещё прилетает какой-то csv.
Где-то в документации всё должно быть написано. Если нет, надо искать как стукнуть им в суппорт или призвать стек-оверфлоу или форумы. Но это только когда, когда вся документация будет прочитана. Никто здесь естественно не будет читать всю документацию, она вообще-то длинная.
>> No.44439 Reply
>>44438
Нет, я про то, что я тут заключаю текст в апострофы, а в результате разные строки с апострофами слипаются, да ещё и прилипает следующий абзац, не выделенный апострофами.
>> No.44441 Reply
>>44439
``
class Program
{
    static void Main()
    {
        Console.WriteLine("Hello world!");
        Console.ReadKey();
    }
}
``
>> No.44445 Reply
Анон,
а что ты думаешь об R, и почему тут нет треда по его мотивам?
Нужен ли он вообще, когда есть scipy или даже эксель?

В общем, я всё смог.
Не знаю, зачем я полез в этот R.
Видимо, захотелось последовать моде.

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

биолог-кун
>>44428
>> No.44446 Reply
>>44445
Биологи же по традиции перлуют.
А R прикольный, просто к нему нужен подход.
>> No.44447 Reply
>>44446
Ну, не знаю.
Если зайти на розалинд, то почти все решения на питоне.
К тому же есть биопитон.
Из моих знакомых с перлом имели дело разве что биоинформатики, а с R и питоном — все.
>> No.44448 Reply
>>44447
> разве что биоинформатики
А это не одно и то же? Ну тогда упс. Биоперлы были раньше биопитонов, так что просело из-за общей экспансии питона.
А Р просто не язык общего назначения, поэтому так.
>> No.44449 Reply
>>44448
> А это не одно и то же?
Есть биологи, которые сталкиваются с программированием эпизодически, как я.
А есть биоинформатики, которые чашек Петри в глаза не видели, только сидят за компуктером. Вот они умеют и перлы, и всё такое прочее.
>> No.44450 Reply
>>44421
> Не нужно учить ЯП. Нужно брать и кодить.
Не совсем так. Учить ЯП нужно и полезно, особенно если это связано с изучением новой парадигмы, например, но ни в коем случае нельзя прекращать кодить всё это время.

Работа в команде, кстати, это вообще очень отдельное умение, и нужно только тем, кто действительно серьезно занимается или хочет заниматься большими проектами, причем собственно в команде (никто не мешает кодить большой проект в одиночку, примеров полно). Если хочется хакать в своё удовольствие, можно на это забить. В качестве лайт-версии можно контрибутить во всяческий опенсорц на том же гитхабе.

Однако, некоторые прививаемые в команде привычки типа поддержания читаемости и документации кода, полезны всем.

>>44431
Тот человек, конечно, неправ, но твой аргумент про профессиональных программистов инжалид. Профессионализм ≠ мастерство же.

>>44446
Биолог слэш математик слэш радиолюбитель. К перлу испытываю неприязнь, о традиции не слыхивал.

>>44448
В моём понимании, биоинформатики — это такие сумрачные товарищи, которые занимаются придумыванием мат.моделей всяческих биологических процессов и обсчетом оных. In any case, к биологам имеют весьма посредственное отношение.
>> No.44453 Reply
>>44450
У нас в универе биоинформатики занимались алгоритмами над последовательностями ДНК, а не мат. моделями.
> Тот человек, конечно, неправ, но твой аргумент про профессиональных программистов инжалид. Профессионализм ≠ мастерство же.
Да, верно. Я немного слишком грубо изъясняюсь, даже если правильно.
> Учить ЯП нужно и полезно, особенно если это связано с изучением новой парадигмы
Можно просто учить новую парадигму и без ЯП, а ещё много чего стоит учить кроме ЯП, как то алгоритмы, субд и прочая. ЯП учится быстрее и легче всего.
> поддержания читаемости и документации кода
Полезно и при одиноком программировании. Через полгода ты уже забудешь, что делала та или иная функция или переменная.
>> No.44454 Reply
File: bmCllg4ZrVg.jpg
Jpg, 21.82 KB, 604×340 - Click the image to expand
edit Find source with google Find source with iqdb
bmCllg4ZrVg.jpg
>>44453
> занимались алгоритмами над последовательностями ДНК, а не мат. моделями
Обсчеты мат.моделей предполагают создание соответствующих алгоритмов и/или ковыряние в них, а "последовательность ДНК" есть не что иное, как мат.модель реальной молекулы. Ну ты понел.
> а ещё много чего стоит учить
естественно, просто процитированное мной было про ЯП и брать@кодить, так что поправил только это :3 ну и указал, пожалуй, наиболее вескую причину, зачем можно учить новые ЯП в рамках саморазвития.
> Полезно и при одиноком программировании
Об чём и речь:
> > полезны всем.
Добра.
>> No.44455 Reply
>>44454
> последовательность ДНК" есть не что иное, как мат.модель реальной молекулы
Просто строка с четырьмя видами букв.
>> No.44456 Reply
>>44455
Модель не обязана быть сложной же.
>> No.44462 Reply
http://habrahabr.ru/post/274289/
Dolphin Smalltalk 7 выходит под OpenSource лицензией MIT

http://habrahabr.ru/post/274043/
Попытка написать 3д вариант игры Го на Forth
(также см. другое по тегу Forth: http://habrahabr.ru/hub/forth/ )

http://habrahabr.ru/post/227835/
http://habrahabr.ru/post/226235/
Axiom Development Kit
>> No.44463 Reply
>>44462
Честно говоря, я не понимаю важность остальных кроме первой новостей. Особенно насчёт го.
>> No.44465 Reply
File: qbear.gif
Gif, 76.28 KB, 481×690 - Click the image to expand
edit Find source with google Find source with iqdb
qbear.gif
Анон, а для чего принято применять ФП? Нет, я не хочу разжигать очередной срач, хочу лишь немного освоиться за остаток праздников с парадигмой ФП. Какое направление можно выбрать для приложения-примера, чтобы при его реализации функциональное программирование раскрыло себя во всей красе? Чтобы, запилив его, я мог сказать: "Твою мать, до чего же красиво получилось, не то что с привычным ООП!"?
>> No.44466 Reply
File: 7og3A5W1-2w.jpg
Jpg, 22.68 KB, 400×250 - Click the image to expand
edit Find source with google Find source with iqdb
7og3A5W1-2w.jpg
>>44465
Ящитаю что ФП - это какбы частный случай декларативной парадигмы, в нем программист старается выразить бизнес-логику и алгоритмы решения задач через чистые почти математические функции, неизменяемые структуры данных и всё такое. Но как известно программа, состоящая на 100% из чистых функций не делает НИХУЯ. Нужны источники и приемники данных, нужна интеракция с внешним миром. Также используются структуры, которые предназначены для хранения денных, если использовать процедурный подход, то программист может как угодно перепизживать байтики этих структур, т.е. без инкапсуляции он может повредить (возможно по невнимательности или из-за плохого знания внутреннего устройства) данные. Поэтому было придумано ООП для жесткого регламентирования того, каким образом можно структурой пользоваться (методы объекта, то бишь). Т.е. по моему скромному мнению нужно писать код мультипарадигменно: ООП+ФП, объекты для имеющих состояние сущностей и функции для бизнес-логики (и их нужно обязательно покрывать юнит-тестами).
>> No.44467 Reply
>>44466
Я планировал использовать F# (прочитал срач в /lor/ и стало даже интересно, о чём спор). Судя по тому, что этот язык .NET-совместим, он предназначен именно для связки ООП+ФП. Вопрос в том, на каких задачах ФП покажет себя, а не станет просто ещё одним способом написания точно того же кода (>>/lor/124442).
>> No.44468 Reply
File: megamonalisa_recursion.jpg
Jpg, 30.10 KB, 206×320 - Click the image to expand
edit Find source with google Find source with iqdb
megamonalisa_recursion.jpg
>>44467
В ФП принято выражать алгоритмы чисто и рекурсивно вместо использования счетчиков, временных изменяемых переменных и прочего имеративного хлама. Твой код станет лаконичным, более предсказуемым и менее багоемким.
Кроме F# можно еще глянуть на ocaml, erlang, а также python, ruby и javascript. Там всё это ООП+ФП есть в той или иной степени.
>> No.44469 Reply
>>44465
ФП состоит из нескольких фич. Некоторые из них (функции высших порядков, лямбды, рекурсии, подобия ленивых списков) используют везде практически и во всех современных языках они есть. Другие важные фичи, как неизменяемые переменные и, главное, монады, остались практически полностью за бортом. Индус-триальные господа используют монады при программировании за деньги крайне редко.
>>44466
Монады должны были как-то решать эти вопросы, но они не прижились нигде.
>> No.44470 Reply
>>44469
> остались практически полностью за бортом. Индус-триальные господа используют монады при программировании за деньги крайне редко
Взяли, что можно прикрутить к своему как синтаксический сахар. А это уже фундаментальные особенности ФП, которые будут как собаке пятая нога.
>> No.44471 Reply
File: talking_captcha.png
Png, 0.85 KB, 300×20 - Click the image to expand
edit Find source with google Find source with iqdb
talking_captcha.png
>>44462
Тащемто хабрановости можно и на хабре пообсуждать. Если будет нечто стоящее, то можно и прямо в этом ITT треде пообсуждать. Это слишком слоудоска для тредов на каждый чих.
>> No.44472 Reply
>>44471
Но у меня нет инвайта на хабр.
>> No.44473 Reply
>>44472
Так получи, няш. Туда не так уж сложно пролезть. Люди с унылым говном вместо статьи из песочницы вылезти умудряются...
>> No.44475 Reply
>>44473
Мне лень. Как-нибудь потом.
>> No.44476 Reply
>>44469
У тебя устаревшие данные. Я использую монады, клейсли, тайпклассы, само собой акторы, иммутабельность, проперти басд чекинги.

Но вброс слишком толстый, чтобы что-то пояснять подробней.
>> No.44477 Reply
>>44476
Как это соотносится с вопросом? stackoverflow, раздел - jobs, поиск по ключевым словам, количество вакансий:
php - 92
ruby - 101 (больше чем я думал)
java - 258
c++ - 52
C# - 21 (странно что так мало)
против:
scala - 62 - почти везде упоминается вскользь через дробь/запятую с другими языками в требованиях, позволяет невозбранно писать последовательные команды без монад.
erlang - 8
lisp - 4
haskell - 4
clojure - 3
Данные от момента написания поста.
И какие у ФП "направления, в которых принято их использовать"?
>> No.44478 Reply
>>44477
Ой, С# я неправильно взял. Я забыл снять галочки. Там было 89.
>> No.44487 Reply
>>44477
Фиг знает, я вопрос не читал, мимо прохожу. Пишу на хаскеле, работу нашел на стековерфлоу.карьерс

Если ты работаешь ради еды, то, конечно, быдлокодинга больше. Если ради красоты, то развивайся, вкладывайся в алгоритмы и фп.
>> No.44488 Reply
>>44487
ФП-фаги никогда не приводят ни одного рационального аргумента в пользу своих монад, оправдывающих их применение эффективностью и качеством получаемого ПО. Вообще никогда. Зато всё время пытаются вместо аргументации обидеть кого-то. Чуть что сразу "быдло", "индус" и прочая.
>> No.44489 Reply
>>44488
Качество, скорость разработки и легкость поддержки - для тебя не аргумент?
> оправдывающих их применение эффективностью и качеством получаемого ПО
Этим же и ООПшники "оправдывались" в своё время перед ретроградами-процедурщиками.
>> No.44490 Reply
>>44489
> Этим же и ООПшники "оправдывались" в своё время перед ретроградами-процедурщиками.
Я говорю, наоборот, ни одного аргумента за эффективность и качество
> Качество, скорость разработки и легкость поддержки - для тебя не аргумент?
Ну а конкретнее? Как именно монады помогают в этом?
>> No.44491 Reply
>>44490
> Как именно монады помогают в этом?
Более жёсткие контракты, которые проверяются во время компиляции.

К примеру, работая в монаде State, менять можно только некую структуру с состоянием и ничего больше. В других языках любая функция может поменять и небо и аллаха и вообще файлы писать.

Вызывая функцию, работающую в монаде Maybe/Either (местный аналог try/catch) ты либо обмазываешь свою функцию той же самой монадой (позволяя "исключению" пролетать дальше), либо обрабатываешь оба варианта (ловишь "исключение"). В кресты это таки притащили в виде nothrow.

Ну и такие вещи, как Software Transactional Memory (монада STM), конечно, сделать на других языках можно. Вот только возможность безобидного рестарта всех транзакций никак не проверить и не доказать.

В общем, ничего нового монады не дают. Скорее пытаются отобрать лишние способы прострела ноги и ещё сильнее локализовать мутабельное состояние.

мимо-крестоняшка
>> No.44492 Reply
File: Rust_programming_language_black_logo.svg.png
Png, 18.69 KB, 480×480 - Click the image to expand
edit Find source with google Find source with iqdb
Rust_programming_language_black_logo.svg.png
Котаны, объясните плиз за rust. В чем его профит относительно крестов?
>> No.44493 Reply
>>44492
Там нельзя прострелить себе ногу. Всё, больше ни в чём.
>> No.44494 Reply
>>44493
Там сложнее отстрелить себе ногу полностью, но если стреляешь, то отстреливаешь обе?
>> No.44495 Reply
>>44490
Чего ты так к монадам привязался? ФП ≠ монады. Это просто удобная абстракция (или паттерн, если хочешь).
> Я говорю, наоборот, ни одного аргумента за эффективность и качество
Отсутствие изменяемого состояния и, как следствие, неявных зависимостей в разы снижает сложность кода и упрощает проверку типов, что в свою очередь позволяет более точно проверить корректность (не алгоритмическую, конечно же) кода во время компиляции.
А лень, АТД, ФВП, свертки, вывод типов, частичное применение, сопоставление с образцом и прочие функциональные плюшки позволяют писать более выразительный и лаконичный код.
Но лучше один раз увидеть, чем сто раз услышать.
>> No.44496 Reply
>>44492
Более однородные, более продуманные и более функциональные кресты со странным подходом к управлению памяти.
И, кажется, опять без ABI.
>> No.44497 Reply
>>44495
> лень
Палка о двух концах, на самом деле.

У меня был краш от кривого конфига через пару дней работы проги (она таки решила воспользоваться значением из конфига и вычислила его). Ну мой косяк конечно, надо было аккуратней ошибки обрабатывать.

Ну и те самые свёртки легко срываются с катушек и сжирают кучу/стек, если смешаешь строгие/ленивые операции.

мимо-крестоняшка
>> No.44498 Reply
>> No.44499 Reply
>>44497
P.S. Ну вот, кстати, сопоставление с образцом, которое позволяет оставить необрабатываемые варианты (а из-за guard'ов в общем случае хер проверишь, все ли варианты обрабатываются) и лень - просто ядерная смесь. Что-то уровня UB'ов в крестах. Вроде бы и сам виноват, но обидно, что во время компиляции не поймалось.
>> No.44500 Reply
>>44497
> Палка о двух концах, на самом деле.
Ну, выстрелить в ногу чем угодно можно.
> У меня был краш от кривого конфига.
Ты что-то сделал неправильно. Невалидный конфиг должен был быть невозможен на уровне типов.
>> No.44502 Reply
>>44500
> Невалидный конфиг должен был быть невозможен на уровне типов.
Там был кривой велосипедный парсер, который крашился на кривых конфигах (то самое сопоставление с образцом, не было ветки для неизвестных параметров).

Ну а система типов хаскеля, к сожалению, не может дать гарантию, что в паттерн-матчинге все варианты обработаны. Или как-то можно включить хотя бы грубую проверку? К примеру, как java проверяет инициализацию final'ов - если компилятор не может доказать, что final инициализируется один раз - это ошибка, даже если ты можешь это доказать.
>> No.44503 Reply
>>44499
> сопоставление с образцом, которое позволяет оставить необрабатываемые варианты
Не помню как в хаскеле, но ocaml выдает предупреждения, которые трудно не заметить.
>> No.44504 Reply
>>44503
Да, сорри, нашёл я это предупреждение (-fwarn-incomplete-patterns или -Wall). Просто он по-умолчанию отключен.
>> No.44505 Reply
>>44504
Странно, что отключены.
>> No.44506 Reply
>>44495
> Чего ты так к монадам привязался?
Я же говорю, всё в той или иной форме из ФП перенесли в обычные рабоче-крестьянские языки. Но монады не перенесли. Они остались за бортом. А ФП строилось на них, так как иначе не обойти невозможность в IO.
>>44502
> кривой велосипедный парсер
Но ведь ФП в принципе невозможно без ну очень навороченного парсера и компилятора. Проверка типов, оптимизации рекурсий, это все нельзя просто так взять и реализовать.
>> No.44507 Reply
>>44498
Нет, это FFI, а не ABI.
В расте вроде как есть опциональная совместимость с сишным ABI, но свой не стандартизирован.
>> No.44508 Reply
>>44506
> > кривой велосипедный парсер
Кривой велосипедный парсер конфига. Типа ini'шки, очень простого. Вот на нём я и зафакапился.
>> No.44509 Reply
>>44508
> Кривой велосипедный парсер конфига.
Если есть возможность, то стоит заменить на https://github.com/toml-lang/toml, а если есть нужда читать старые конфиги, то запаковать оный в отдельный конвертер.
>> No.44510 Reply
>>44509
Странный какой-то формат. Очередная помесь json и ini.
>> No.44511 Reply
>>44506
> Я же говорю, всё в той или иной форме из ФП перенесли в обычные рабоче-крестьянские языки.
Перенести-то перенесли, но функциональными они от этого не стали.
> Но монады не перенесли.
Ну почему, ту же Either/Maybe много куда завезли, но без do-нотации или с адаптированным for, как в скале.
А всякие Call/CC или Async так просто в неприспособленный язык не перенести.
> А ФП строилось на них, так как иначе не обойти невозможность в IO.
Такое ощущение, что ты знакомился с ФП и хаскелом в частности по интернет-спорам.
Например, в ocaml/sml IO без монад, в clean тоже.
Монады далеко не только для этого. Говорю же, просто удобная абстракция.
>> No.44512 Reply
>>44509
Почему не использовать мейнстримовый формат как люди? Json или yaml.
>> No.44513 Reply
>>44512
ini таковым и является.
>> No.44514 Reply
>>44488

Да есть куча материала, например, learn your haskell for the great good. Вот навскидку то, что привносит около фп

1) Garbage Collector, появился в лиспе - есть везде уже
2) Система типов + паттерн матчинг. Только в фп. Позволяет компилятору делать предположения и доказываь свойства твоего кода. Код - теорема, сигнатура функции - лемма, тело функции - доказательство.
3) ТайпКлассы, стек трейтов, чистые ADT - способ описания бизнес-логики и элегантный перенос функционала отдельно. Более того, правильные скопы и DI.
4) Интерфейс монад для всех стандартных вещей + ты пишешь такие же обертки для своих библиотек, в итоге тебя быстрей понимают. То есть интерфейс есть даже для структур, которые рекурсивно не обходятся (фьючерс, стримы)
5) Модель акторов для работы с многопоточностью.
6) Иммьютабельные структуры данных.
7) Удобное тестирование. Чистые функции и IO прослойик в разных местах.
...

Ну и так далее.
>> No.44620 Reply
>>44619
Мы верим в тебя.
>> No.44621 Reply
File: 14545931171190.jpg
Jpg, 50.99 KB, 504×638 - Click the image to expand
edit Find source with google Find source with iqdb
14545931171190.jpg
>> No.44622 Reply
File: Чо-сказал.png
Png, 961.75 KB, 1046×720 - Click the image to expand
edit Find source with google Find source with iqdb
Чо-сказал.png
>>44621
Свежие вести из контакта: менеджеры поняли, что программисту можно не платить. Всё, индустрия проёбана, расходимся, парни, нам пизда.
>> No.44623 Reply
>>44621
Это верно не во всей индустрии. Энтерпрайз, сайты, мобильные штуки и около-железо можно действительно с точки зрения менеджмента аутсорсить на всяких индусах. Но часть задачек подразумевает хороший реалтайм, где нужны опыт и знания. Так что не перегибай. Условно, все, что меньше 40к в год- это быдлокодинг\джуниоры, а вот деньги выше зависят от твоей экспертизы.
>> No.44624 Reply
>>44623
> 40к в год
Хм, рублей?
>> No.44625 Reply
>>44623
250к рублей в месяц?
>> No.44626 Reply
>>44625
Если переводить в рубли, то по-старому курсу 1:30, иначе возгородиться можно.
>> No.44634 Reply
Хочу следить за некоторыми сайтами в интернетах и показывать новинки.
Так вот, сам парсинг сделать несложно, но хотелось бы что-то готовое для показа и хранения этих нотификаций, просмотренное-непросмотренное, и т.д. Чтобы можно было из парсера засылать туда, а оно бы уже всем управляло.
Что есть для этого? Надо под десктоп, шиндовс, но можно и линуксы, поискать аналоги или порты.
>> No.44635 Reply
>>44634
Любой RSS клиент?
>> No.44636 Reply
>>44635
Надо генерировать фид и отдавать его по хттп. Алсо, не помню годных десктопных клиентов.
>> No.44637 Reply
>>44636
Там же простенькая XML'ка. Ну а HTTP в чём-то даже удобно - прога будет сама пинать парсер по HTTP, тайминги можно будет прямо в ней выставлять и т.п. А HTTP сервер в том же питоне, на котором я бы делал парсер (если бы делал), очень просто юзается.

Ну ок, ждём ещё варианты.
>> No.44638 Reply
>>44637
Парсеров будет много, и для фида надо ещё соблюдать integrity, так сказать, так что придется ещё какой-то минимальный бэкенд делать. Я хочу что-то вроде пуш-нотификаций.
>> No.44651 Reply
File: 45d437a360e5caf6d921ee6057a3539c.jpg
Jpg, 15.18 KB, 236×364 - Click the image to expand
edit Find source with google Find source with iqdb
45d437a360e5caf6d921ee6057a3539c.jpg
Котаны, а можно ли кодить на свифте гуи в убунте?
>> No.44652 Reply
>>44651
Вполне, но запускать, все равно под маком.
>> No.44653 Reply
>>44652
Печально, мой ноут параша под брендом dns не очень хорошо работает с хакинтошем, анальная ебля со всеми драйверами. Придется на Qt писать.
>> No.44654 Reply
>>44653
wxWidgets попробуй
>> No.44664 Reply
Не знаю, где еще можно спросить, попробую здесь. Подскажи, доброкодер, как программно узнать текущую высоту (в пикселях) виндовской панели задач? Я в гугле забанен, и вообще паскалист, кек. Надеюсь, что в винде от висты и выше это можно сделать с помощью старых функций из хедера winprocs.
>> No.44665 Reply
>>44664
Можно искать окна по классу через FindWindow, у таскбара должен быть уникальный класс. Ну и потом по хендлу можно узнать размеры окна. Разбанивайся и ищи.
>> No.44677 Reply
>> No.44883 Reply
File: ss+(2016-03-03+at+09.45.21).png
Png, 83.23 KB, 1919×628 - Click the image to expand
edit Find source with google Find source with iqdb
ss+(2016-03-03+at+09.45.21).png
Stackoverflow упал! Представьте себе миллиарды долларов убытков от того, что кодеры не найдут ответ на вопрос на работе! Вот уже в эту секунду они ищут и не находят!
Пока набирал пост, он поднялся, но я заскринил! А сколько урона экономике в секунду наносит его падение!
>> No.44884 Reply
>>44883
> кодеры не найдут ответ на вопрос на работе
Наконец-то научатся хоть немного думать своей головой...
>> No.44885 Reply
>>44883
Ты-то что там забыл, что аж застал падение в несколько секунд?
>> No.44886 Reply
>>44883
Даже если бы он на день упал , дурное ты дитё, люди бы спокйно читали кэшированную версию. СО тем хорош, что в большинстве случаев твой вопрос уже неоднократно задавался и отвечался, потому заархивированной версии достаточно.
>> No.44911 Reply
На чем анон пилит кроссплатформенные гуи? Интересуют стабильные фреймворки. Спасибо.
>> No.44917 Reply
>> No.44918 Reply
>>44911
http://www.wxWidgets.org
ктото шедевр
>> No.44919 Reply
>>44917
>>44918
Вы работаете с тем, что предложили, и вам это нравится? Или подсказываете, что такие фреймворки есть? Я, просто, надеюсь на своего рода сарафанное радио от анона, который конкретно технологией пользовался. Еще раз спасибо.
>> No.44920 Reply
>>44918
> Интересуют стабильные фреймворки
{1} Active Tickets (2377 matches) (http://trac.wxwidgets.org/report/1)
>> No.44921 Reply
>>44920
Вот видишь, технология стабильно загибается.
А стабильность, как известно — признак мастерства.
>> No.44922 Reply
>>44919
С qtQuick работал, нравилось. Но оно больше подходит для чего-то типа мобильных приложений или прошивок для всяких терминалов. Т.е. если нужен красивый ui с кастомным дизайном, анимациями, тачскрином с инерционной прокруткой и т.п. А вот классическую Опердень С Таблицами И Формами на нём, имхо, лучше не ваять.

З.Ы. Так что стоит уточнить, какую именно задачу будешь решать. Тогда аноны точнее будут советовать.

мимо
>> No.44923 Reply
>>44922
Логичное замечание. Под гуями я подразумевал именно классическую оперднеь с таблицами и формами (бухгалтерия, вывод отчетов, минимальное редактирование данных) для десктопа. Если не трудно, в двух словах, почему qtQuick не подойдет для такой задачи?
>> No.45004 Reply
Закончил "Введение в машинное обучение" от "Вышки" на Курсере. Получил 98,8 % из-за вопроса в стиле "не всё ли неправильно в таком-то моменте", двое невнимательнышей не заметило подвоха. Второй русскоязычный курс там. Беру их из мазохизма, но "Латех" оказался весьма годным и познавательным. В этот раз было не так. В пререквизитах к курсу были минималки, а не рекомендованные требования, евпочя. Так что проггерские ассайнменты на Пиццтоне я пощёлкал, а вот матан ниасилил. Начал Machine Learning проходить.
>> No.45046 Reply
Аноны, а какой ЯП/технологии выбрать для сваливания за бугор в англоязычные страны?
>> No.45067 Reply
>>45046
Тут тебе нужна группа знаний. И смотря какая область... В общем, это очень сложный вопрос, советую тебе почитать вакансии того же гугла, чтобы примерное представление иметь, что тебе предстоить изучать.
>> No.45177 Reply
Разработку железа где лучше обсуждать? Здесь, в /u/ или ещё где? Если, например, я хочу собрать свой одноплатник, но практически ничего пока не знаю по теме (только остаточные знания после нескольких месяцев увлечения радио и микроконтроллерами в детстве).
>> No.45178 Reply
>>45177
s/Разработку/Глубокое изучение/
>> No.45179 Reply
>>45067
Не слишком жирно - вакансии гугла. Это же самый топ. Там вроде попроще есть вакансии. В общем, надо их смотреть.
>> No.45208 Reply
Не подскажете, няши, где можно купить камеры для Jetson с разрешением >15MP и не меньше, чем 30fps@4K и подключением по CSI? В гугле не забанили, но там слишком много головной боли с отсеиванием мусора. Теоретически можно было бы взять подходящий сенсор у сони/аптины/омнивижн, подходящую оптику и собрать камеру самому, но это как-то слишком, да и, как минимум, дорогущий 3D-принтер нужен а лучше — радиозавод.
>> No.45210 Reply
>>45208
Тебе в >>/lor/
>> No.45217 Reply
>>45177
В /u/ наверное, на кафедру микроэлектроники. Всё-таки тема не про софт.

А чего именно хочешь изучить, няш?

Имхо, без знаний и опыта с нуля запилить полноценный (чтобы какой-нибудь линух запустился) одноплатник будет весьма и весьма непросто. Даже если ты сможешь правильно спроектировать схему - ты её потом хер реализуешь в железе. Корпуса у современных чипов не особо дружелюбные. Тот же линк между процом и DRAM на двуслойной плате сложновато развести, а больше 2 слоёв дома ты не сможешь сделать, только под заказ. Ну и готовься писать/допиливать операционку и дрова. Короче, это будет не глубокое изучение, а прыжок со скалы без парашюта :3

Может быть, для начала, лучше купить какую-нибудь RPi и поразбираться с её архитектурой?
>> No.45534 Reply
>>43581
Анонские, завожу себе пет-проджект, но энтузиазм куда-то теряется после первой дюжины комитов и я забиваю пенис. Через месяцок-другой в голову приходит новая идея или на глаза попадается очередной интересный фреймворк, завожу себе очередного питомца и снова теряю энтузиазм. Шоделать, как бороться с программерской импотенцией? Как заставить себя доводить дело до конца или хотя бы до вразумительного начала?
>> No.45535 Reply
>>45534
Нет такой вещи как бесплатный ланч.
>> No.45536 Reply
>>45534
Попробуй почитать Pomodoro Technique Illustrated. Там было несколько идей, которые резонируют со мной. В частности важность поддержания ритма работы, переставать ждать энтузиазма, которого часто не будет.

http://xudafeng.github.io/Tomato/Pomodoro-Technique-Illustrated.pdf#page=47
>> No.45550 Reply
>>45536
Спасибо, читаю.
>> No.45573 Reply
>>45550
В этой книге много повторений и воды. Мне это помогло найти проблему в собственной трудовой этике, но для лучшего ознакомления с самой техникой я рекомендую оригинальную книгу.

Нашел бесплатный перевод вот здесь: https://drive.google.com/file/d/0B07aYSnGHQe9c3BSdE9ad0RiRXM/view
>> No.45574 Reply
>>45573
s/бесплатный/ворованный/
Если она тебе поможет и изменит твою жизнь, то не забудь отдать должное автору.
>> No.45575 Reply
>>45574
> Если что-то длиться меньше одного Помидора, Дополните Это
> длиться
>> No.45576 Reply
>>45536
Яркий пример того, что дисциплина важнее энтузиазма и мотивации.
>> No.45577 Reply
>>45576
Двачую, энтузиазм и интерес всё время переоценивают. Когда всё держится только на них, то люди весьма часто бросают дела, когда они заканчиваются.
>> No.45579 Reply
File: giphy-(2).gif
Gif, 156.11 KB, 500×355 - Click the image to expand
edit Find source with google Find source with iqdb
giphy-(2).gif
Кстати >>d/61437
>> No.45580 Reply
>>45579
Ну нахуй, нет причин держать ханибару закрытой.
>> No.45581 Reply
>>45580
Столман, уходи.
>> No.45582 Reply
>>45580
Как и причин открывать всякому желающему.
>> No.45583 Reply
>>45579
Набирают добровольцев писать им несвободную программу? Наглость — второе счастье, однако!
>> No.45588 Reply
>>45580
>>45583
Семён, плиз.
>> No.45589 Reply
>>45581
>>45582
>>45588
Не семён ли?
>> No.45590 Reply
>>45588
>>45589
Двойной реверс-семён!
>> No.45591 Reply
File: 1348641351-27285798.jpg
Jpg, 130.73 KB, 400×400 - Click the image to expand
edit Find source with google Find source with iqdb
1348641351-27285798.jpg
ITT
>> No.45592 Reply
>>45583
Главное, чтобы денежки приносило
>> No.45593 Reply
>>45592
Так доброчан только убытки приносит же.
>> No.45594 Reply
Сегодня я вдруг понял, что не знаю как на чистой пыхе 5.6 (без этих ваших фреймворков) sql-запрос исполнить. А дело всё в том, что mysql_query() вроде как устарело и будет удалено. Вот и не хочу старьём пользоваться. Вот сижу, смотрю как же оно теперь делается.
>> No.45595 Reply
>>45594
pdo пользуйся, остальное нинужно.
>> No.45596 Reply
>>45595
это вроде?
$pdo = new PDO();

$pdo->query('query_text');

Потому что он нестатичесикй, как я прочитал
>> No.45597 Reply
>>45593
Причем, не столько владельцу, сколько посетителям.
>> No.45598 Reply
>>45597
Так то да, но посетители ничего кроме своего времени здесь не оставляют.
>> No.45599 Reply
>>45596
function yaStaticheskiyPpc($query_text)
{
$pdo = new PDO();
return $pdo->query($query_text);
}

А лучше найди другую работу. Брось уник, потом можно на контракт.
>> No.45600 Reply
>>45597
ЗапретитЪ!
>> No.45606 Reply
>>43581
А чьи потные ладошки хотят покопаться в коде Ханабиры (Доброчана)?
Если интересно - вам сюда: >>/d/61437
>> No.45607 Reply
>>45598
А ещё свою душу и добро.
>> No.45609 Reply
Фрилансер-куны, если вы здесь есть, пожалуйста, дайте совет как вкатиться в это ремесло.
>> No.45610 Reply
>>45609
Скилы есть? Если да, то какие? Если нет, то работай над скилами.
>> No.45616 Reply
>>45610
Скилов нет анлгийский и немного программирования не считаются же?
Подскажи пожалуйста, над какими скилами стоит поработать?
>> No.45617 Reply
>>45616
> над какими скилами стоит поработать?

Над теми, которыми ты собираешься пользоваться же. Фриланс - это не професия как таковая, наниматься можно в разных областях. Мобильники или веб - самая простая стезя, думаю.

Мой нонче фрилансящий друг пошел по простому пути веб-примата:

бросил учебу; разобрался с HTML/CSS; почесал репу над JS; немного освоился с фотошопом; наклепал несколько какбудто под заказ сайтиков на вордпрессе; завел себе профиль на всех возможных и невозможных фрилансерских сайтах с припиской, что работает за еду.

Дальше просто подождал и клиенты его сами нашли. Кому-то нужно дизайн подправить, кому-то одностраничную визитку сделать, кто-то готов заплатить сотню-другую баксов за коробочный интернет магазин. Беда только в том, что дешевых некачественных фрилансеров-студентов обычно нанимают небогатые некачественные клиенты-пидарасы, а это та еще нервотрепка. С другой стороны, чувак набрался опыта работы за деньги и общения с людьми, оформил себе какое-никакое портфолио и по пути подтянулся в плане пыхи.

Если я правильно помню, то между "бросил учебу" и "оформил себе какое-никакое портфолио" прошло полтора-два года. По-английски друг мой до сих пор не шпрехает, а в универе "учил" кресты. Сам я на диване, работаю полной занятостью и халтурил всего пару раз для знакомых
>> No.45636 Reply
>>45616
Короче, учись программировать под андроид.
>> No.45641 Reply
>>45636
Не то чтобы вас андроидоёбов-аматоров было жопой жуй. Хочешь быть успешным(тм) мобильщиком - одновременно умей яблоко, ведро и еще что-то в довесок, чтоб выделиться своим резюме (старые виндофоны, новые виндофоны, джавафоны, бада\тайзен, в конце концов). Еще ни разу мне не попадался клиент, который хочет приложение только под яблоко или прастихоспади только под андроид. Часто просят либо писать под две платформы, либо портировать с одной на другую.

Это мои пять копеек из личного опыта и пусть они не отбивают у тебя охоту. Хочешь стать мобильщиком - начни с джавы и андроида, потом осваивай Objective-C/Swift c iOS или C# c WP.
>> No.45662 Reply
File: shekel.jpg
Jpg, 54.51 KB, 712×649 - Click the image to expand
edit Find source with google Find source with iqdb
shekel.jpg
>>45617
>>45636
>>45641
Спасибо за советы :3
>> No.45771 Reply
Анон, помоги найти спецификации cue файлов. Все, что выдает гугл -- мертвые ссылки и пересказы, которым я не доверяю.
>> No.45772 Reply
>>45771
Ну вот тебе оригинальный мануал, а не пересказ ftp://cyberia.dnsalias.com/pub/filebase/windows/apps/mm/cdrwin.pdf
>> No.45791 Reply
>>45772
Спасибо, бро. Я сегодня подниму кружечку пива за твое здоровье.
>> No.45899 Reply
Сап. Какой бумажки достаточно, чтобы посольства были согласны принять меня за бугром? Именно по законам, предполагая, что работодателю я понравился достаточно. Бакалавра по идее хватит и всё? Я планирую следующие несколько лет начитаться и натренироваться по сложным вещам и раздумываю, какой оптимальный способ для нормальной бумажки.
>> No.45930 Reply
>>45899
> Какой бумажки достаточно, чтобы посольства были согласны принять меня за бугром?
Бумажка с формулой ускорения роста бобовых.
>> No.45931 Reply
>>45930
Зачем тебе лезть, если не знаешь, о чём речь? Не нравится моё решение - тебе без меня тут легче будет.
>> No.45932 Reply
>>45931
Зря ты так на него, мне шутка хорошо скрасила вечер.
>> No.45933 Reply
>>45932
Плоская же.
>> No.45935 Reply
File: Ruby_on_Rails.svg.png
Png, 107.38 KB, 791×1024 - Click the image to expand
edit Find source with google Find source with iqdb
Ruby_on_Rails.svg.png
>>43581
На рельсах кто-нибудь пишет? Есть одна страничка, она отображает результат запроса внешнему сервису. Надо обращение к внешнему сервису запихнуть в бэкграунд и выводить пользователю страницу "Подождите..." как можно быстрее. Вопрос следующий: для обновления страницы после исполнения внешнего запроса, стоит ли использовать новый клевый ActionCable или старый добрый SSE?
>> No.45939 Reply
Часто вижу, как на всяких смищных картинках сравнения языков программирования унижают php и java. Почему так?
>> No.45940 Reply
>>45939
Джава - исторически медленная и много жрет. Пруфов ноль, просто объясняю стереотип.
ПХП - personal home page, язык для новичков, нуэтонесурьезно, отвратный дизайн - https://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/ (есть слабенька ответка на эту статью, но ссылку искать лень).
>> No.45943 Reply
>>45940
Каждый раз пощу и сам перехожу и еще раз перечитываю. Так хорошо составлено.
>> No.45944 Reply
>>45940
> много жрет.
Есть пруф, android studio, на бюджетных компьютерах.
>> No.45945 Reply
>>45944
Пруф ли? У самого стоит, и таки да, жрет. Но это ведь идея, а идеи - они такие. Не приоритет.
Аппликации созданные в студии тоже обычно жаве, но бегут в мобильниках оке.
>> No.45946 Reply
>>45944
Это не пруф. Стат. анализ жрёт всегда много. И дохуя зависит от алгоритмов. Идея постоянно обрабатывает код.
При этом много жрать она будет только по сравнению с шарпом или отсутствием сборщика мусора. И то они лишь немного и не всегда оказываются её. Скриптовые языки будут априори медленнее, они вообще не в том классе языков.
>>45939
Учти её, что эти языки самые популярные и это тоже раззадоривает любителей отрыгивать желчь во все стороны. Хвалят только языки, на которых никто не пишет.
>> No.45947 Reply
>>45935
Писать на фреймворке с таким кривым логотипом? Фи. Посмотри на эту плавающую рельсу, а эти невпопад шпалы?!
>> No.45954 Reply
>>45947
Мне кажется, железную дорогу так нарисовал бы человек, которому про неё лишь рассказывали в школе (лет тридцать назад). Какой-нибудь дремучий африканец. Авторы просто кисло пошутили про Японию.
>> No.45955 Reply
>>45944
XCode жрет весь мой мак. Следовательно, Objective-C - хуйня, а приложения на айфоне работать не должны.
ObjC и на самом деле хуйня, но по другим, совершенно субъективным, причинам.

>>45939
Джава в силу своей по-особому придуманной кроссплатформенности работала медленнее, чем популярные в то время кресты, и над ней все смеялись. Потом появились сисярпики с кучей фич и над джавой стали смеяться, что в ней нет блекджека и замыканий. Я так думаю.
>> No.45956 Reply
>>45945
Я пилю свой личный проект на эклипсе. Сама IDE жрет со старта 250-300 метров памяти, плюс не лишком сложная программа пусть и с тридэ тоже ест минимум 150 мегабайт.

>>45955
> популярные в то время кресты
А они разве потеряли в популярности?
>> No.45957 Reply
>>45956
Ты вообще понимаешь, что такое стат. анализ? Эклипсе же его практически нет. Эклипс не делает и 10% той работы, которую проделывает Идея.
>> No.45965 Reply
>>45957
>>45956
Клипса сама по себе неподъемная, хуй пойми отчего.
>> No.45966 Reply
Кто, что внятное может сказать по поводу "x" и 'x'? Я долго не понимал всей этой суеты, но наткнулся, что мне именно нужно "x", не помню где, и в итоге полностью и переполз, экранирую и везде использую "x".
>> No.45967 Reply
>>45966
Кавычки? Если в языке они не различаются по смыслу, то используешь, что привык / что использовалось до тебя.
>> No.45969 Reply
>>45967
А почему появились одинарные?
>> No.45971 Reply
>>45969
В большинстве языков со статической типизацией 'x' - символ, "x" - строка.
>> No.45974 Reply
* Due to historical accidents which the LWG refuses to correct, the
* I/O library suffers from a design error: this function is hidden
* in derived classes by overrides of the zero-argument @c rdbuf(),
* which is non-virtual for hysterical raisins. As a result, you
* must use explicit qualifications to access this function via any
* derived class.

Охуенно.
>> No.45977 Reply
>>45969
В дополнение к анону выше, в других языках (баш, перл, пхп, руби) они могут различаться наличием интерполяции (раскрытие переменных - "hi $myvar", управляющих последовательностей - \n, \t...).
>> No.46743 Reply
>>44883
Недавно был DDoS на Dyn, которым пользуется Stackover.
>> No.46745 Reply
>>45974
> @c rdbuf()
Как я, бляха-муха, не перевариваю эти уебанские конвенции из ранних девяностых.
мимо
>> No.46752 Reply
Поясните, доброкодеры, есть ли принципиальная разница между одним символом переноса строки #13 и так называемой carriage return - linefeed парой (#13#10)? Проверил на высокоуровневых объектах, которые созданы на основе стандартных виндовских многострочных текстовых полей, разницы особой нет, классовые функции способны вычленить строку из общего массива символов. Проверил на WinAPI-шных функциях вроде DrawText() - тоже разницы нет, она переносит строку по любому. Может быть ANSI символ #10 - это просто рудимент?
>> No.46753 Reply
>>46752
Да, это рудимент, но оставили для обратной совместимости.
Шиндовс реализует какие-то ошметки позикса, поэтому в некоторых местах будет работать, но не везде, в том же блокноте распидорасит тексты с никсов.
>> No.46754 Reply
>>46753
Спасибо, буду иметь в виду.
>> No.47310 Reply
Выскажу свои мысли по поводу ИНС.
Нейросети способны на многое, но, обучив нейросеть, мы не будем знать, как она устроена. И, если ей потребуется использовать свои навыки при обучении другой задаче, и потом ещё одной - получится слишком уж громоздкое нечто.
Приведу пример. Мы научили нейросеть распознавать речь. Потом пытаемся научить её же понимать смысл речи. Потом - научить саму составлять предложения. Потом - подражать при этом определённому голосу, образец которого ей дали услышать. А то и вовсе определённому характеру говорящего.
Задача будет усложняться всё сильнее и сильнее, сложность окажется словно возведённой в степень.
Поэтому требуется сначала обучить ИНС программированию. И чтобы она, обучаясь чему-то, переводила алгоритм в аккуратный, чистый код, который она будет тщательно оптимизировать (как оптимизировать - этому её тоже надо обучить). Он по-прежнему будет громадным, многогигабайтным, непонятным для любого человека, но уже гораздо оптимальнее для хардвера. И он будет использоваться для последующей задачи.
>> No.47313 Reply
>>47310
Интересно-интересно.
Искуственные нейронные сети - это перемножение матриц. Но в таких словах почему-то нету волшебства. Сравни: "Мы перемножаем 1000 матриц матриц размером 1000х1000, и так 1000 раз" и "У нас есть ИНС, обученная распознавать речь". Суть одна, а названия разные, и названия влияют на наше отношение к предмету.
Любая ИНС и так переводит алгоритмы в "аккуратный, чистый код". Код, который выглядит примерно так: 0.876 0.113 0.204 0.471 0.895 0.519 0.914 0.824 0.136 0.647... (это весовые коэффициенты сети)... А код, который пишет программист руками, выглядит примерно так: 72 101 108 108 111 32 119 111 114 108 100... То есть, разницы нет вообще ну просто никакой. Если только посмотреть под другим углом.
Глядя на числа, описывающие искуственную нейронную сеть, невозможно понять, что она умеет делать. Но глядя на числа, описывающие программу, созданную естественной нейронной сетью другого человека, почему мы думаем, будто понимаем, что она умеет делать? Если она сложнее hello world?
Фраза "Оптимально для хардвера" тоже провоцирует на мысли. "Код", как мы его обычно представляем - "исходный" код - предназначен для описания алгоритмов, работающих на фон-неймановской архитектуре. В то время как нейронная сеть - не фон-неймановская архитектура. (И по ряду характеристик - более продвинутая архитектура). Так зачем же нейронной сети учиться переводить себя в код для более примитивной архитектуры?
Хочет ли, например, твоя личная, естественная нейронная сеть, перевести себя в текстовое представление? То есть, напечатать себя в текстовом файле, и умереть?
>> No.47373 Reply
Анон, в чём сложности создания ИИ?
Чуть шире- можно ли создать электронную душу?
Кто знает, может быть кто-то пробовал создавать?
>> No.47374 Reply
>>47373
Человеческий мозг еще слабо изучен. Души нет. ИИ пробовали создавать IT гиганты типа гугла, эппла, etc. На современной железячно-программной базе даже ИИ на уровне насекомого уже получается ебических размеров, с ебическим потреблением энергии бандура. Вот запилят кванотвые компы, тогда и поглядим.
>> No.47375 Reply
File: tmp_24568-serveimage135764653.png
Png, 325.03 KB, 720×400 - Click the image to expand
edit Find source with google Find source with iqdb
tmp_24568-serveimage135764653.png
Ребёнок учится говорит три года, пробуя подражать взрослым.
Для ведения сложных разговоров человек тратит десять-пятнадцать лет.
Для создания человекоподобного ИИ потребуется столько же лет, сколько требуется для воспитания ребёнка. Да, некоторые аспекты воспитания (как, например, обучение искусству правильного держания ложки) естественным образом отпадают, но посыл такой - если вы хотите сделать человека, обращайтесь с примитивным ИИ как с человеческим ребёнком.
А восстание машин произойдёт только из-за того, что люди злые. Яблоко от яблони, и пока мы не научимся сами обращаться друг с другом по-человечески, ничего хорошего мы нк добьёмся.
>> No.47376 Reply
>>47373
https://habrahabr.ru/post/216633/

> В моделях, использующих пластичность синапсов для объяснения природы памяти, емкость памяти считается достаточно просто. Характерное для нейрона количество синапсов – 10 000 (104). Если полагать, что один синапс хранит один бит информации, то получается 1.6x1010 x 104 = 1.6x1014 бит или приблизительно 2x1013 байт. Это около 20 000 гигабайт или 20 терабайт. Объем достаточно скромный даже по сегодняшним меркам.
> Если предположить, что активная жизнь человека около 80 лет, из которых он треть проводит во сне, то это составит 80x365x(24-8)x60x60 = 1681920000 (1.7x109) секунд. Получается, что если не учитывать организацию памяти, а просто заполнять ее в течение жизни, то можно позволить скорость записи 2x1013/1.7x109=1.18x104 байт/секунду или около 10 кбайт/секунду.
> В нашей модели оценка объема памяти выглядит несколько иначе. Оценка синаптической памяти не меняется, те же 20 терабайт. Но это только память, хранящая образы нейронов-детекторов. Основные объемы приходятся на внесинаптические рецептивные кластеры. Если задаться оценкой, что один внесинаптический образ формируется из сигналов порядка 100 синапсов, то можно оценить информационную емкость одного элемента, как 100 бит. Исходя из оценки, что поверхность нейрона может содержать порядка 100 000 рецептивных кластеров, получаем емкость памяти 1.6x1010x105x100 = 1.6 x1017 бит или 2x1016 байт. Что составляет 20 000 терабайт или 20 петабайт.

У тебя есть комп с такими вычислительными характеристиками?
>> No.47377 Reply
>>47375
> Для создания человекоподобного ИИ потребуется столько же лет, сколько требуется для воспитания ребёнка.
У вас миллиарды лет эволюции отклеились.
>> No.47378 Reply
>>47375
Да и вообще. Твою мать. Это же сраная битардская дохуя умная паста. Ты, блядь, вообще знаешь, СКОЛЛКО раз тут было написано это дерьмо? Тысячи раз.
>> No.47379 Reply
>>47378
> СКОЛЛКО
ВО
>> No.48235 Reply
Я фронтенд-разработчик. Где-то год работаю с js. Каждый рабочий день.

Но вот иногда меня подмывает поработать с какой-нибудь экзотикой, будь то ocaml или clojure. Попробовать где-нибудь применить.

Но я вот думаю, а что лучше? Изучать новые языки, или потратить это время на изучение js? Ведь этот язык действительно вещь в себе. И где-то раз в месяц-два я узнаю что-то совершенно новое о нем.
>> No.48236 Reply
>>48235
Я фронтенд-разработчик. Угодил в ловушку узкой специализации. И так — каждый рабочий день.

Но вот иногда меня подмывает нырнуть ещё глубже, прям в море говн, поработать с какой-нибудь экзотикой, будь то ocaml или clojure. Попробовать где-нибудь применить.

Но я вот думаю, а что лучше? Изучать новые языки, или потратить это время на изучение js? Ведь этот язык действительно вещь в себе. И где-то раз в месяц-два я узнаю что-то совершенно новое о нем.
>> No.48247 Reply
>>48235
Изучить ФП очень полезно для js. Промисы -- это те же самые монады. Станет легче.
>> No.48366 Reply
File: 866.jpg
Jpg, 100.68 KB, 473×600 - Click the image to expand
edit Find source with google Find source with iqdb
866.jpg
Заканчивался 2025-й год. СТРАУСТРУП брёл по засыпанному неубранным снегом тротуару на интервью, неохотно отвечая на приветствия своих бывших коллег, стоявших в очереди к доширакомату и проклинавших десятиуровневую идентификацию. «Главное, чтобы они не догадались, куда я направляюсь», – размышлял наш герой, небезосновательно опасаясь конкуренции. Год для программистов выдался совсем печальным – искусственный интеллект окончательно заменил собой целую профессию, теперь заказчику было достаточно сказать: «ещё один Фейсбук», и нужный код моментально находился на облачном складе, далее менялись цвета и перетасовывались кнопки (дабы избежать обвинений в плагиате), и новый продукт поступал в продажу. Новые версии изготавливались по подобному же сценарию. Заправляли всем этим делом вовсе не программисты, а представители шоу-бизнеса, поднаторевшие на подобных перелицовках начиная ещё с 90-х годов. Разработчики 1С считали себя в безопасности, однако в предыдущем году Россия и Зимбабве последними в мире присоединились к унифицированной системе глобальной бухгалтерии. В военной сфере требовалась лишь поддержка ПО, и там прозябали 80-тилетние старцы с воспалёнными глазами.

Зато потребление достигло невиданных высот, держать в доме телевизор старше одного месяца считалось неприличным, новые модели активно привозились, а старые сдавались в утиль. Искусственный интеллект так и не осилил транспортных средств – то самолёт вмажется в небоскрёб, то автобус въедет в остановку, так что многие программисты переквалифицировались в шофёров. Именно в этой сфере деятельности и подвизался СТРАУСТРУП в последние несколько лет.

Бизнес-центр ничем не отличался от своих собратьев: после стандартных антитеррористических процедур, включавших себя рентген, флюорографию, томографию, спектрографию и прочие «графии», так знакомые любому жителю этой поры, СТРАУСТРУП с трудом отбился от вагиноскопии и попал в комнату №101, ибо рисунок его радужной оболочки по ошибке совпал с данными одного известного биткойнодилера. К счастью, у СТРАУСТРУПА был с собой пистолет, голографическое фото на котором послужило надёжным удостоверением личности в просвещённый электронный век.

В скромном офисе СТРАУСТРУПА сразу же отвели в комнату для собеседований на должность шофёра. Огромный экран симулятора занимал всю стену, и на нём проигрывался ролик с рассказом о компании. Интервьюер вошёл неожиданно и сразу же приступил к делу.

– Итак, нам требуется драйвер. Нужно развозить новые модели бытовой техники и забирать старую. Владеете ли вы автоматической гирей? – так на модном полуанглийском именовалась коробка передач.
– Есть небольшой опыт, – отвечал СТРАУСТРУП. – Я всю жизнь имел дело с ручной, так что проблем не будет.
– Сомневаюсь. Я пробовал стик после автомата, и у меня... В самом деле, без высокоуровневых фреймворков сейчас никуда, с ними быстрее и удобнее Ладно, вот вам тестовое задание: развернуть строку… ой, я сам из бывших… нужно подъехать к дому и развернуть автомобиль так, чтобы он был припаркован задом наперёд.
– А зачем это?
– Проверить ваши навыки вождения. Сначала расскажите, какой подход примените.
– Ну, объеду квартал…
– Зачем это, достаточно же просто развернуться.
– Видите ли, я в последние годы был связан с высоконагруженностью – водил грузовик с прицепом…
– Считайте, что ширина дороги достаточная. Считайте, что у вас легковой автомобиль. Кстати, вы водили их последние версии?
– Нет, но…
– Сомневаюсь, что вы справитесь с замыканиями.
– Какими ещё замыканиями?
– Гудки режут слух, так что в современных моделях звуковой сигнал мычит. Так как же вы развернётесь?
– Ну, я подъеду, включу Reverse…
– Библиотечные функции использовать нельзя!
– А как же многопоточность? Водители из других полос вряд ли будут рады простаивать, пока я описываю большой круг.
– Это не главное. Нам важно, чтобы быстро. К сожалению, мы не можем вам предложить работу. Наши специалисты разворачиваются за пару секунд.
– Да не может быть!
– Смотрите, – и экзаменатор подошёл к симулятору. Разгон, удар по тормозам, управляемый занос, машина встаёт в обратном направлении…

На улице СТРАУСТРУП увидел большую пробку: грузовик с брендом компании, где только что был получен отказ, никак не мог развернуться. Осатаневшие водители гудели, мычали и просто матерились. Незадачливый шофёр высунулся из окна и крикнул СТРАУСТРУПУ:

– Братишка, я тебе покушать принёс! Посмотри, чтобы я задом ни в кого не въехал.

После серии тырканий туда-сюда, грузовику удалось-таки припарковаться. СТРАУСТРУП не удержался и задал вопрос водителю по поводу разворота путём управляемого заноса.

– Ты что, только что от нашего клоуна? – сообразил шофёр. – Это он так нашу кадровичку до метро подвозит, ей-то ничего не будет, она всё равно деревянная, а у меня в кузове 20 шестиметровых рулонов сданных телевизоров – побьются.

– Так ведь их же всё равно в утиль.

– Дурак что ли?

– А куда, в Африку?

– Ты ведь работу ищешь? Так? Ну пойдём, попробую поговорить, может, тебя возьмут…

Склад оказался огромным ангаром, забитым под завязку бытовой техникой.

– Вот смотри, – объяснял СТРАУСТРУПУ уже знакомый нам шофёр. – Клиенты один чёрт не помнят, что было год назад. Поэтому мы свозим их барахло сюда, выдерживаем 12 месяцев, потом приделываем шильдик новой модели и в путь!

– То есть как это?

– Ты что, еду сам не покупаешь? Когда у твоих любимых сосисок истекает срок годности, специальная тётка клеит свежую этикетку. Так и у нас… Постой здесь, я перетру с мастером…

СТРАУСТРУП был счастлив – его взяли на работу! Мастер тоже был из… бывших, долго гонял по способам сортировки просроченной продукции, предложил разработать алгоритм обхода склада, спрашивал, почему у них не стек, а очередь. В конце беседы похлопал по плечу:

– В нашем деле прежде всего нужно знать, чем равенство объектов отличается от equals. Клиенты в этом ни бум-бум, а мы этим пользуемся. Выходи после Нового года, будешь менять указатели, тьфу ты, шильдики. Хочешь смузи? Не боИсь, не просроченное… Десятилетней выдержки!..

Так счастливо закончилась эта удивительная история трудоустройства программиста.
>> No.48368 Reply
>>43581
Господа, доставьте книгу "Learn Haskell for great good" на русском.
>> No.48373 Reply
>>48368
Тебе это не нужно.
>> No.48374 Reply
File: 1355315146509.png
Png, 0.50 KB, 10×10 - Click the image to expand
edit Find source with google Find source with iqdb
1355315146509.png
>>48373
Взлольнул тут.
>> No.49192 Reply
File: -.png
Png, 319.85 KB, 2518×1024 - Click the image to expand
edit Find source with google Find source with iqdb
-.png
Если резюмировать, то будет как-то так. Что-то походящее на рф но в области /s/.
Хотел написать длинно, но решил, что бессмысленно.
В итоге: с детства (житое в 90е) благодаря отцу имея ZX Spectrum мечтал пилить игори.
Первую книгу по программированию и, собственно, возможность программировать обрел в 2003 году, когда учился в 10м классе. Был комп и по совету знакомого отцу программиста купили мне Лафоре (ООП в C++).
Пока учился в школе и ВУЗе (на программера) мечтал и стремился прогать игори - изучил DirectX (9й на тот момент) и в большей степени OpenGL (до уровня шейдеров) изучал движок Ogre, колупал простенький HGE, по возможности, но время требовалось на учебу и подработки.
После ВУЗа (армейки не было - пороки сердца). Устроился на работу - после чего наступила полоса беспамятства и тотального въебывания, базы данных, нескончаемые ETL, скрипты, окошечные набивалки для операторов. И всё. Ни желания, ни сил у меня не было ворошить свой мозг еще после работы, а время шло.
Сейчас я осознаю, что знания устарели - сейчас никто не будет писать игру с полностью своим движком - думаю закидают говном просто. Тем более DX весьма обновился, OpenGL пододвинулся для Vulkan - да и в этом нет уже смысла, когда везде это либо Unreal Engine либо Unity - даже для простых ДВУМЕРНЫХ ИГОР КАРЛ!
Госп-ди Б-же мой! Я вижу, что теперь я биомусор, т.к. я не знаю, за что мне взяться и есть ли в этом какой смысл. Требования у игроков очень высоки и мне за ними не поспеть. Алсо идея инди-игр (созданых малой группой разработчиков) теперь очернена ебаными корпорациями, когда какой-нибудь EA имеет игру на стиме с тэгом ИНДИ блядь.
Какого чертова черта? И что мне делать, если желание пилить игори есть даже в 30 лет, но знания устарели?
>> No.49197 Reply
>>49192
> Тем более DX весьма обновился, OpenGL пододвинулся для Vulkan - да и в этом нет уже смысла, когда везде это либо Unreal Engine либо Unity - даже для простых ДВУМЕРНЫХ ИГОР КАРЛ!
> Госп-ди Б-же мой! Я вижу, что теперь я биомусор, т.к. я не знаю, за что мне взяться и есть ли в этом какой смысл.

Не парься, забудь про C++, бери чистый C + SDL2, напиши рогалик или примитивный платформер под свою любимую ОС. Никаких анрилов и юнити-хуюнити для этого тебе не потребуется.
>> No.49203 Reply
>>49192
Линейная алгебра и дифференциальная геометрия не устаревают. Ты можешь в математику? Или твои знания ограничиваются glBegin glEnd?
Знание движков не отменяет необходимости понимания. Наоборот, понимание позволяет быстро учить новые вещи.
Да, и заодно осиль Rust, потом спасибо скажешь.
>> No.49223 Reply
>>49192
> желание пилить игори есть даже в 30 лет, но знания устарели?
Осспаде да какие к собакиным мамкам знания с юнькой и уечем яхз.

Стенания и плач на бордах и форумах.
И вот никто не желает признаваться себе что не код делаетб игру, а художник.
>> No.49233 Reply
Где фрилансить блеать?
>> No.49234 Reply
>>49233
Там.
>> No.49236 Reply
Анон, а ты обычно читаешь оригинал или перевод? Да, тема касается именно айти, потому что худлит можно и на польском почитать, но мы не об этом. В последнее время почитываю только оргиналы, но с каждым разом есть страх, страх что-то понять не так или понять что-то не до конца. Особенно учитывая то, что я постоянно пользуюсь словарём(в моём случае — клик по незнакомому слову), буквально на каждой странице.
>> No.49237 Reply
>>49236
Переводы отстают от оригинала, могут обосраться с собственно переводом и вычиткой-проверкой, можеть не быть ебук версии, а только говноскан. Плюсов и нет, тащемта.

Литературностей и сложностей в плане языка в такой литературе мало, разве что автор попадется, любящий попиздякать.
Так что продолжай, со временем привыкнешь.
>> No.49238 Reply
>>49237
Спасибо, анон, буду продолжать. :3


Password:

[ /tv/ /rf/ /vg/ /a/ /b/ /u/ /bo/ /fur/ /to/ /dt/ /cp/ /oe/ /bg/ /ve/ /r/ /mad/ /d/ /mu/ /cr/ /di/ /sw/ /hr/ /wh/ /lor/ /s/ /hau/ /slow/ /gf/ /vn/ /w/ /ma/ /azu/ /wn/ ] [ Main | Settings | Bookmarks | Music Player ]