LINUX.ORG.RU

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


1

1

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

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

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



Последнее исправление: mriadus (всего исправлений: 4)

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

l5k, dmsh:

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

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

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

> Бачками всем приходится заниматься. Учёные тоже пробирки моют и установки сами собирают. И если их теория потом не находит применения в жизни (aka признания), они испытывают разочарование. Другое дело, что ставить бачёк на пьедестал для поклонения и высматривать в резюме кандидатов, сколько они бачков за смену собирают - это глупо. Может быть, для конвейера и не глупо так работников отбирать, но ведь компьютеры не только для унылых конвейеров делаются, там ещё и наука с исследованиями есть.

Согласен, просто не всем везет. Может показаться, что кругом одни конвейеры. Мне самому так часто кажется...

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

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

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

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

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

Согласен, просто не всем везет. Может показаться, что кругом одни конвейеры. Мне самому так часто кажется...

Это нормально. Исследования сами по себе денег не приносят, а люди всё больше хотят их зарабатывать. Интересные вещи, по-моему, только в стартапах делаются. Ну и в R&D департаментах больших контор, но туда хрен пробьёшься.

mv ★★★★★
()
Ответ на: комментарий от 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 ★★★★★
()
Ответ на: комментарий от Deleted

> Это их, языки (читай инструмент), затачивают под технологии, а не наоборот. ... Потому как объектная парадигма - ТЕХНОЛОГИЯ, которая позволяет приблизить техническую абстракцию к общей модели сущности.

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

язык может быть философией только в глазах фанатика

язык может быть философией только в глазах младших членов команды, которым старший ставит задание, гарантированно выполнимое в рамках философии конкретного языка // obvious fix

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 ★★★★★
()

Между делом... А есть у кого книжка «Элементы программирования»? С удовольствием получил бы ссылку в ПМ. Прямо интересно стало какой % состав веществ в ней, в том числе жира, но я всё же рассчитываю что она может оказаться вполне съедобным продуктом. Если кто-то уже читал, то хотелось бы услышать отзывы.

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

Ёклмн, анонимус вам что, служба доставки? Вообще справку гугловскую и методы работы надо бы знать. Делюсь уже умением ловить рыбу: запрос в google ->

«elements of programming» stepanov +torrent

Пойманная форелька (проверил): http://rutracker.org/forum/viewtopic.php?t=3118482

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

Спсибо, конечно, но то была просьба а не требование, и потом torrent != url.

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

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

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

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

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

www_linux_org_ru ★★★★★
()

лекцию не одобряем.
Во многих местах лектор, поучая, противоречит себе, призывая к 2м противоположным вещам в начале и середине лекции. Так чему нас всё-же поучают: уважать традиции или создавать совершенно новое? Сохранять однообразное написание циклов во всех языках или специализация в специальный языках (автор и за то и за, так за что-же из 2х?). Я ничего не понял. В каждом из поучений - в другом конце лекции - прозвучал противоположный призыв.
Или заявляя - что нет синтаксических решений семантических проблем. Простите, а те же комплексные числа, язык квантовой механики, да и все математические обозначения - это разве не синтаксические решения? (без которых задача в иных обозначениях была бы слишком сложно записана).
Наоборот: прогресс в науке и достигается постоянным нахождением более компактного синтаксиса, за счёт чего сложность уменьшается, запись становится более красивой, компактной, и люди могут двигаться дальше.
Итд.

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

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

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

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