LINUX.ORG.RU

Советую всем посмотреть лекции А. Степанова в Yandex.


1

1

Он там прочёл 2 большие лекции. Первая часть первой лекции: http://video.yandex.ru/users/ya-events/view/129/

Смотрели многие, но многие и не заметили.

Это автор STL для C++. Давно занимается вопросами обобщённого программирования. Вопросами отделения типов от алгоритмов. Вопросами унификации библиотек для всех языков без проседания производительности. Сравнивает программистов и электронщиков - первые постоянно собирают всё из транзисторов, а вторые уже давно юзают готовые микросхемы (намёк на хорошие библиотеки). Оч. интересные и вдохновляющие лекции. Советует выкинуть Александреску на помойку, не заниматься изучением питонов и хаскелей и их отличий, а сначала осилить базовые вопросы построения и анализа алгоритмов и читать Кнута или хотя-бы купить и поставить на полку, чтобы он оттуда говорил: «прочитай, прочитай...»



Последнее исправление: mriadus (всего исправлений: 4)
Ответ на: комментарий от Love5an

>На, держи цитату:

не перегибай мой смысл. вдумайся в то, что я написал до этого - язык - это инструмент и это не значит, что я отношу его значимость к чему-то не столь существенному. я лишь говорю, что сначала выбирают технологию, а только потом язык, исходя из того, на сколько он имеет свою функциональность в выбранной технологии и, __РАЗУМЕЕТСЯ__, исходя из того, какими ресурсами/знаниями вы владеете. Врят ли я возьму тот же хаскель для реализации задачи, заведомо зная, что им никто из моей команды не владеет.

Какая разруха в вашем сортире...

2mv:

когда ко мне приносят пачку резюме для найма в мой отдел, я не смотрю список языков, я смотрю что он сделал и какие _технологии_использовал_. резюме, где величественно красуется надпись а-ля «владею лиспом, пишу на нем и думаю на нем же» автоматически уходит в урну. Нахрена мне сотрудник владеющий всеми высотами лиспа, но не владеющий технологиями? этот фетиш пусть дома разводит.

Философии и подведённых под неё «технологий» в языках сверхвысокого уровня больше, чем среднестатистический жабакодер может освоить за всю свою жабокодерскую жизнь.

Так понятнее?

нет. не понятнее. вопрос был другой - и что это за языки «сверхвысокого уровня философии»? Примеры и аргументацию, плиз.

Deleted
()
Ответ на: комментарий от Deleted

когда ко мне приносят пачку резюме для найма в мой отдел,

Оооо... Пальцегнутие началось.

я не смотрю список языков, я смотрю что он сделал и какие _технологии_использовал_. резюме, где величественно красуется надпись а-ля «владею лиспом, пишу на нем и думаю на нем же» автоматически уходит в урну. Нахрена мне сотрудник владеющий всеми высотами лиспа, но не владеющий технологиями? этот фетиш пусть дома разводит.

Какими технологиями?

нет. не понятнее. вопрос был другой - и что это за языки «сверхвысокого уровня философии»? Примеры и аргументацию, плиз.

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

mv ★★★★★
()
Ответ на: комментарий от Deleted

Что ты имеешь ввиду под словом технология?

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

Waterlaz ★★★★★
()
Ответ на: комментарий от Deleted

> резюме, где величественно красуется надпись а-ля «владею лиспом, пишу на нем и думаю на нем же» автоматически уходит в урну

«Фанатизм, граничащий с узколобием» (с)

tailgunner ★★★★★
()
Ответ на: комментарий от Waterlaz

во-первых, в моем понимании, технология - часть предметной области. например, IPC - технология. разве нет? если среди множества вариантов использования этой технологии (fifo, pipe, mutex и тд) вы понимаете, что вам нужен futex, то врят ли вы потянетесь за тем же хаскелем? вы потянетесь за удобным инструментом, с которым будет проще использовать эту технологию - Си. Разве нет? Быть может не совсем корректный пример, но это первое, что навскиду пришло в голову.

Deleted
()
Ответ на: комментарий от tailgunner

вырвал из контекста :). сие в случае, если акромя языков в резюме боле ничего нет.

Deleted
()
Ответ на: комментарий от Deleted

во-первых, в моем понимании, технология - часть предметной области. например, IPC - технология. разве нет?

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

если среди множества вариантов использования этой технологии (fifo, pipe, mutex и тд) вы понимаете, что вам нужен futex, то врят ли вы потянетесь за тем же хаскелем? вы потянетесь за удобным инструментом, с которым будет проще использовать эту технологию - Си. Разве нет? Быть может не совсем корректный пример, но это первое, что навскиду пришло в голову.

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

mv ★★★★★
()
Ответ на: комментарий от mv

твоя формулировка ...

В языках сверхвысокого уровня философии и подведённых под неё «технологий»

моя...

и что это за языки «сверхвысокого уровня философии»?

сравниваем...

1. сверхвысокого уровня философии

2. «сверхвысокого уровня философии»

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

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

mv, ты чего вскипятился? дискуссия в разности взглядов отнюдь не означает мое неуважение к тебе, как к специалисту.

Deleted
()
Ответ на: комментарий от tailgunner

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

Deleted
()
Ответ на: комментарий от l5k

>Ну ты хоть пиши правильно, читающий-пачки-резюме ты наш.

давай, либо в тему дискуссии, либо не придирайся. пришел на ЛОР, запостил 6 каментов и пошел учить русскому языку.

Deleted
()
Ответ на: комментарий от Deleted

> млин, ну я даже не знаю, чем тебе парировать..

Не надо парировать. Пойми простую вещь: желание получать удовольствие от работы - это нормально. И то, что человек ищет такую работу - это тоже нормально (я бы даже сказал - это поведение ответственного профессионала), и ни в коем случае не является фанатизмом или узколобием.

tailgunner ★★★★★
()
Ответ на: комментарий от Deleted

> млин, ну я даже не знаю, чем тебе парировать..

Не надо парировать. Пойми простую вещь: желание получать удовольствие от работы - это нормально. И то, что человек ищет такую работу - это тоже нормально (я бы даже сказал - это поведение ответственного профессионала :)), и ни в коем случае не является фанатизмом или узколобием.

tailgunner ★★★★★
()
Ответ на: комментарий от Deleted

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

Произведи синтаксический разбор предложения (что ты, вообще говоря, должен был сделать прямо во время чтения). Мой вариант синтаксически правильный, твой - нет.

mv, ты чего вскипятился? дискуссия в разности взглядов отнюдь не означает мое неуважение к тебе, как к специалисту.

Я, вообще, начинаю подозревать, что ты правильные мысли неправильными словами выражаешь. Поэтому тебя настойчиво просят подробнее рассказать о твоём понятии технологий. Разумеется, что эфемерных языков программирования не бывает, все они для чего-то были сделаны. Лисп - для символьных вычислений, Си - для написания операционных систем, ПХП - для ваяния сайтов, Эрланг - для сетевых приложений и т.п. Если человек в резюме пишет «знаю Руби», это, практически, автоматически означает, что он пишет сайты на рельсах, и что обладает более высокими данными, чем среднестатичный пхпшник. Если человек напишет «делаю сайты», то тут больше вопросов и предубеждений возникает.

mv ★★★★★
()
Ответ на: комментарий от mv

>Разумеется, что эфемерных языков программирования не бывает, все они для чего-то были сделаны. Лисп - для символьных вычислений, Си - для написания операционных систем, ПХП - для ваяния сайтов, Эрланг - для сетевых приложений и т.п.

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

Deleted
()
Ответ на: комментарий от Deleted

>> Ну ты хоть пиши правильно, читающий-пачки-резюме ты наш.

давай, либо в тему дискуссии, либо не придирайся. пришел на ЛОР, запостил 6 каментов и пошел учить русскому языку.


Ну, понимаешь ли, когда ты начинаешь рассуждать и писать неграмотно, как минимум, тебя неприятно читать, а к твоим словам возникает недоверие. Такие дела.

l5k
()
Ответ на: комментарий от Deleted

> боже мой, эстет. возьми на свое усмотрение 3 соседние ветки и посчитай там кол-во ошибок.

Ну, там не кичатся чтением кучи резюме и пр.

l5k
()
Ответ на: комментарий от dmsh

l5k, dmsh:

если аргументация начинает сводиться к поиску ошибок в синтаксисе и пунктуации, приводит лишь к одной мысли - аппонент иссяк в доводах и сказать больше нечего. ну и на выходе - «как минимум, тебя неприятно читать, а к твоим словам возникает недоверие. Такие дела.»(с) l5k.

PS: может быть хватит брать контекст моего «чтения резюме» и переворачивать истинный смысл того сообщения?

Deleted
()
Ответ на: комментарий от Deleted

Ты мог просто написать что набираешь к себе в отдел code monkeys.

l5k
()
Ответ на: комментарий от Deleted

А какой там у тебя смысл-то был? Я увидел только кривые аналогии про фрезеровщика со стамезкой.

dmsh
()
Ответ на: комментарий от Deleted

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

anonymous
()
Ответ на: комментарий от anonymous

> На самом деле испорченных лиспом вообще брать на работу нельзя. Они и на Си умудряются лиспообразный лапшекод писать. Так что если в резюме лисп хоть раз упомянут, в шреддер его однозначно.

Работал с 4-мя адептами лиспа. Только один из них выдавал на С кашу, остальные - аккуратный, лаконичный и понятный код.

fang
()
Ответ на: комментарий от fang

Ты сам случаем не адепт лиспа? Лучше нормального программиста спроси, насколько код лиспанутых «аккуратный и лаконичный». Только отбежать подальше не забудь заранее.

anonymous
()
Ответ на: комментарий от anonymous

>Ты сам случаем не адепт лиспа? Лучше нормального программиста спроси, насколько код лиспанутых «аккуратный и лаконичный». Только отбежать подальше не забудь заранее.

Огромными каплями капает жир...

Waterlaz ★★★★★
()
Ответ на: комментарий от Waterlaz

А что, собственно, тебя смущает? Никогда не видел уродливой лапши из скобок? Вот тебе пример из почти наугад выбранного файла в наугад выбранном проекте:
http://github.com/archimag/hunchentoot/blob/master/headers.lisp
Хотел запостить прямо сюда определение start-output но оно не влезло в пост. Покопайся, там такой красоты полно.

dmsh
()
Ответ на: комментарий от anonymous

> Ты сам случаем не адепт лиспа?

Случаем, нет. Пока не приходилось решать задачи, для которых лисп бы подходил. Если доведётся - стану таким же адептом.

Лучше нормального программиста спроси, насколько код лиспанутых «аккуратный и лаконичный»


Если участники команды понимают код друг друга и эффективно выполняют проект, твои «нормальные» погромисты с их ненужным мнением идут дружно лесом.

Только отбежать подальше не забудь заранее.


От меня самого имеет смысл отбежать, если чо.

fang
()
Ответ на: комментарий от dmsh

>А что, собственно, тебя смущает? Никогда не видел уродливой лапши из скобок? Вот тебе пример из почти наугад выбранного файла в наугад выбранном проекте: http://github.com/archimag/hunchentoot/blob/master/headers.lisp Хотел запостить прямо сюда определение start-output но оно не влезло в пост. Покопайся, там такой красоты полно.

Нормальный код. Вполне читабельно. То, что твои претензии к лиспу выражаются в виде «уродливой лапши из скобок», выдает в тебе унылого быдлокодера.

Waterlaz ★★★★★
()
Ответ на: комментарий от Waterlaz

С луны свалился? У меня нет претензий к лиспу. Только вот не надо врать, и говорить, что простыня на 100+ строк кода - это что что-то «читабельное», лаконичное и элегантное, хорошо?

выдает в тебе унылого быдлокодера. 

Какой смешной. По аватарке не гадаешь?

dmsh
()
Ответ на: комментарий от mv

> Хаскеллисты решают задачу, а не программируют примитивы синхронизации. Если язык позволяет не думать о примитивах, а решать задачу в терминах предметной области - это просто архизамечательно.

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

Пример: интернет через ADSL, GPRS и локальную сеть — это все интернет, т.к. есть tcp/ip, udp и может что еще из экзотики. Так что с виду все они предоставляют возможность «решать задачу (заплатить за покупку из яндекс-денег в браузере) в терминах предметной области». Это допустим «яндекс, рубли, название организации, название товара», но никак не «IP address, DNS server, килобиты в секунду», являющиеся деталями реализации.

Но фактически интернет через GPRS, работающий со скоростью 10 кбит/сек привел к тому, что за время 15 минут, пока загрузится перегруженный яндексовский интерфейс, яндексовская авторизация успевала сдохнуть по таймауту, гы-гы-гы.

Так что 4 раза она сдохла, а через час, на 5-й раз, все-таки удалось заплатить... но могло сложиться и иначе.

З.Ы. зачастую в терминах реализации мыслить еще и удобнее, чем в терминах абстракции

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от tailgunner

> Пойми простую вещь: желание получать удовольствие от работы - это нормально. И то, что человек ищет такую работу - это тоже нормально (я бы даже сказал - это поведение ответственного профессионала), и ни в коем случае не является фанатизмом или узколобием.

Это так.

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

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от dmsh

Нет, пока что смешно выглядишь именно ты. Твой единственный аргумент пока сводится к «мне не нравится много скобок».

fang
()
Ответ на: комментарий от www_linux_org_ru

Пример не совсем удачный. «IP adress, DNS server, килобиты в секунду» - точно такие же термины предментной области, только другой - обмен данными между компьютерами, объединёнными общей сетью. А вот деталями реализации уже будет выбранная парадигма программирования, средства языка, используемые библиотеки и т. д.

fang
()
Ответ на: комментарий от www_linux_org_ru

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

Так и представляю себе свежеявленного хаскеллиста, сопящего от обиды: «А обещали, что пойнтеров не будет...» ;)

mv ★★★★★
()
Ответ на: комментарий от fang
Твой единственный аргумент пока сводится к "мне не нравится много скобок". 

Какая богатая у тебя фантазия. Это где я такое сказал?

dmsh
()
Ответ на: комментарий от dmsh

> Это где я такое сказал?

http://www.linux.org.ru/forum/development/5335622/page2?lastmod=1284718439050...

А что, собственно, тебя смущает? Никогда не видел уродливой лапши из скобок? Вот тебе пример из почти наугад выбранного файла в наугад выбранном проекте.

fang
()
Ответ на: комментарий от fang

Ну и где здесь «мне не нравится много скобок»?

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

Отчего у вас такая истерика?

dmsh
()
Ответ на: комментарий от Waterlaz

Как все запущено. Батенька, вы нормальный код вообще видели? Скачайте исходники TeX и Metafont, прогоните через weave, берите топор и бегите мочить лиспанутых.

anonymous
()
Ответ на: комментарий от anonymous

>Как все запущено. Батенька, вы нормальный код вообще видели? Скачайте исходники TeX и Metafont, прогоните через weave, берите топор и бегите мочить лиспанутых.

Слушай, легионер, ты позоришь мой легион. Да что там лисп, ты на форте код видел какой-нибудь? Хомячкам мозг выносит вообще на раз, безо всяких сотен строк кода (пары-тройки строк будет достаточно). А привыкшие люди читают этот код как ни в чём не бывало, да ещё имеют наглость создавать на этом языке работающие системы. :>

Тут дело в том, что пока глаз не привыкнет видеть определённое оформление кода, этот код почти наверняка будет «лапшой» казаться. Нужно, чтобы то, что ты видишь, связывалось бы с определёнными ранее усвоенными понятиями, тогда будет всё зашибись. Так на языках с си-подобным синтаксисом важно выдерживать определённый стиль оформления — пробелы перед круглыми, отступы после фигурных и т.д. — иначе точно будет лапша. Так же и с лиспом, там отступы по сути тоже очень важны, они помогают читать правильно оформленную программу «с листа», не задерживаясь на неинтересных деталях. Ну и редактор нужен соответствующий, чтобы по скобкам быстро прыгать при правке (это не проблема).

Тебе в приведённом по ссылке коде внутри большого блока маленьких функций не хватает? Бывает, вопрос привычки. Так они не очень нужны, эти маленькие функции, они были бы тривиальными, привязанными опять же к этому контексту. Если очевидно, что повторного использования ждать не придётся, можно писать в таком вот стиле, не вводя новые сущности. Тут главное понять общую схему мышления разработчика(ов), дальше пойдёт нормально. Это вообще общее правило работы с чужим кодом: найди логику.

А когда считаешь себя самым умным, конечно чужой код будет как гуано. Такое моё мнение.

anonymous
()
Ответ на: комментарий от anonymous

Да вот жеж беда, лисп я знаю и понимаю. И Форт я знаю. Код от этого меньшей лапшой не становится даже после самого сурового рефакторинга.

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

anonymous
()
Ответ на: комментарий от anonymous

со своим уставом в чужой монастырь

dave ★★★★★
()
Ответ на: комментарий от mv

> А обещали, что пойнтеров не будет...

Это для явы :-) там это обещали, но потом пришлось ввести слабые, мягкие и фантомные ссылки. Иначе в некоторых случаях течет память, несмотря на сборку мусора.

Для хаскеля проблема — это то, что компилятор не умеет так же умно пользоваться своей свободой вычислять, как человек, и соответственно thunk-и, которые засирают память и которые приходится принудительно вычислять.

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

www_linux_org_ru ★★★★★
()
Ответ на: комментарий от anonymous

> Тут дело в том, что пока глаз не привыкнет видеть определённое оформление кода, этот код почти наверняка будет «лапшой» казаться. Нужно, чтобы то, что ты видишь, связывалось бы с определёнными ранее усвоенными понятиями, тогда будет всё зашибись. Так на языках с си-подобным синтаксисом важно выдерживать определённый стиль оформления — пробелы перед круглыми, отступы после фигурных и т.д. — иначе точно будет лапша. Так же и с лиспом, там отступы по сути тоже очень важны, они помогают читать правильно оформленную программу «с листа», не задерживаясь на неинтересных деталях. Ну и редактор нужен соответствующий, чтобы по скобкам быстро прыгать при правке (это не проблема).

просто эти товарищи почему-то не видят индентации, хотя в С/С++/whatever почему-то ею пользуются. не уж-то С/Спп/етс не позволяют писать понятный код без индентации?

korvin_ ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.