Pull to refresh

Comments 33

//комикс
как_выучить_с_за_21_день.png
UFO just landed and posted this here
работает. на себе проверял
По вашей ссылке лишь придирки в духе «ну 10000 часов — это не точно и вообще у всех по разному». Но порядок-то угадан.
«чтение из кеша L1 0.5 nanosec» не понятно, что считывается с такой частотой?
Бит, байт, слово?
Для программиста что считывается?
То, что из быстрого кэша это понятно.
Статья по программирование и это скорости операций программных.
Приведите пожалуйста команду считывания кэш-линии. И куда записывается результат и в каком виде.
Нет таких частот ни в одном процессоре.
1. Команд, чтобы сесть и накодить считывание и запись кэш-линии не существует, – прямой доступ к кэшам запрещён by design.
2. Одна наносекунда = два такта, если CPU работает на 2ГГц. Соответственно, в статье действительно написана дичь, если вдуматься. Это, например, идет вразрез с официальной документацией Performance Analysis Guide от Intel, страница 8:
The local copies of the lines that are accessed in this way are kept in the 32KB L1 data cache. The access latency to this cache is 4 cycles.

Кстати, весьма рекомендую это чтиво, чтобы понять, что куда записывается, как читается и как со всем этим жить.
«4 cycles» это на 2ГГц?
Гигагерцы ЦПУ чисто маркетинговые названия и ничего общего не имеющие с реальной тактовой частотой.
Там же КМОП и никаких Гига Гц там нет и не было никогда
Я думаю имеется ввиду, что при чтении из кэша L1 (где уже все хранится в линиях) можно, например, замувать 64 бита в rax, а можно 128 в sseшный регистр. И вопрос в том, будут ли обе эти инструкции выполняться одинаковое время при прочих равных, если данные уже находятся в одной кэш линии? То, что внутрь кэша быстрого из кэша медленного/ram читается кэш-линиями вроде бы и так понятно
Обе инструкции не будут выполняться в одинаковое время. Тем более, что 128-битные SSE операции не атомарны.
всегда считывается строка
Личные наблюдения: при обучении с нуля более-менее осмысленно программировать начинаешь через 2-3 года практики (до того из-под пера выходит почти исключительно говнокод и копипаст). Чтобы программировать действительно хорошо… пожалуй, соглашусь с заголовком статьи — порядок сроков примерно такой.
Отсюда следует вывод: либо люди очень торопятся обучиться программированию
.
Бинго, кеп, подобного рода книги пишутся для тех, кому надо срочно (на вчера) освоить азы языка.
Но да, чтобы глубоко проникнуться, надо курить трехтомник Кнута, желательно не в переводе, а в оригинале. Перемешивая это чтиво с чтением философской литературы и написанием стандартов в каких-то серьезных международных комиссиях.
Ссылку на статью Норвига приходится давать регулярно, свежий перевод будет весьма кстати, спасибо за него. Одно замечание: учебник по Mozart/Oz действительно очень хороший. Но к легкому чтению я бы его не отнёс. Это текст, скорее, для программистов-теоретиков, которые имеют склонность к разработке языков программирования. Поэтому, очевидно, его редко советуют в блогах. При этом в книге имеется действительно масса интересных идей и концепций, которые все еще ждут более доступного изложения и соответствующего инструментального ПО.

Еще вспомнилось:

Он говорил, что знает языки программирования и операционные системы, хотя не имел о них ни малейшего представления, всего лишь прочитав книгу о предмете за несколько часов до интервью. И он умудрялся добиваться места, вешая лапшу на уши.
«Нам нужны специалисты, которые программируют на BAL», — могли сказать ему, упоминая какой-то таинственный язык программирования, а он мог саркастически рассмеяться:
«BAL? Да я программирую на BAL последние три года!»
Затем он немедленно бежал за книгами, потому что он никогда раньше не слышал ни о каком BALe. Но к тому времени когда начиналась реальная работа, он уже доставал всю нужную документацию, обычно представленную в виде тонких, отпечатанных на дешевой бумаге и плохо переплетенных книг, которая была фальшивым доказательством его опыта с BAL, или, по крайней мере, он выигрывал время, до тех пор пока он не добирался до машины и не выяснял что из себя представляет этот BAL.
UFO just landed and posted this here
UFO just landed and posted this here
>Отсюда следует вывод: либо люди очень торопятся обучиться программированию, либо каким-то сказочным образом программированию выучиться легче, чем чему-либо другому.

Ну, в каком-то смысле так и есть. Только не с нуля. Намного легче выучить язык, похожий на то, что ты уже знаешь, особенно если он уже 10-й или 100-й.
UFO just landed and posted this here
Ой бросьте, как мне кажется, нападки на PHP, морально устарели уже лет пять как.
UFO just landed and posted this here

Вы сравниваете PHP и Java, но при этом PHP — язык с совершенно конкретной и узкой областью применения (ну во всяком случае изначально, не знаю уж как сейчас), по сути язык-фреймворк. Java же используется в совершенно разных областях и логично, что для простоты использования в конкретной области вам лучше взять некий узко-специализированный фреймворк.


Это как жаловаться на то, что старого доброго браузерного Javascript'a не хватает, чтобы писать бекенды на ноде

UFO just landed and posted this here
На самом деле, это актуально для большинства популярных языков программирования. Проблема, как мне кажется, лежит в несколько другой плоскости. Не проблема разобраться с фреймворком и его особенностями, проблема возникает тогда, когда появляются программисты, которые, скажем так, пишут на фреймворке, но столкнувшись с необходимостью что либо написать на чистом языке, впадают в ступор (как пример, была одно время волна jQuery разработчиков).
Что для вас значит быстро освоить? Вот скажем есть такая штука, Hadoop, и подобная вакансия сегодня называется Java Developer. Также, как разработчик под Android, что характерно.

И вы можете сколько угодно хорошо знать Java как язык, но реально от вас еще потребуется много такого, чего в экосистеме PHP нет, не было и вряд ли когда-то будет. Ну т.е. по сути, я говорю о том же, что уже написали — цели Java как экосистемы намного шире, как шире и реальное использование. От того и сложности.
UFO just landed and posted this here
Вот оно как! А я то думаю, что меня как котенка в *** после 2 летнего опыта на новой работе. Оказывается 2 года — это только «начальная школа», а возможно и «садик» программирования.
Красиво изложено. Давно вертелись в голове подобные мысли, но ни как не складывались в столь ясную картину. Спасибо автору. Взял на заметку. При случае буду теперь давать ссылку на данную статью.
Sign up to leave a comment.

Articles