Стартап, в котором я работаю, сегодня купил гугл, так что я теперь типа работаю в гугле. Для меня самого это полная неожиданность. А еще нас пользует Bing - что вдвойне интересно.
bing много разных поставщиков информации юзает freebase один из многих и ссылка в результатах на него всегда стоит, так что особого инсайда в этом нет.
Currently, the Gmail program is comprised of 443,000 lines of JavaScript, with 978,000 lines if comments are included. All of it was written by hand, he said.
During the question-and-answer session, De Boor was asked if he was comfortable using JavaScript for such a large project.
He admitted that another language, such as Java itself, might be more optimized, but he also noted that Java is a lot more verbose as well. "At this point to me it's a matter of choice which language you use," he said. He defended JavaScript's performance, though.
Просматривал сегодня старую презентацию от AMD посвященную выпуску очередного процессора. Решил вынести сюда некоторые интересные моменты из презентации:
Цитата
AMD and Microsoft • Microsoft has worked closely with AMD on the CLR since Everett (CLR v1.1), with AMD providing hardware and engineering support • AMD has developers dedicated to Microsoft compilers and runtimes
AMD and CLR • CLR contains hand crafted 64-bit assembly
Visual Studio 2008 • Improved code quality • Better utilization of branch predictor under certain conditions • Support for single-cycle SSE128 • Improved performance for floating point conversions • int to float • int to double • float to double
main = liftM2 ((+) `on` read) getLine getLine >>= print
А это код какого-то товарища, вероятно, из калифорнийского университета в Лос Анжелесе, по сути ваш же пример:
Цитата(06:41 @ 17 ноября 2009)
import Control.Monad
main = liftM2 (+) readLn readLn >>= print
Но, похоже, что ни вы, ни ваш американский коллега не читали условие задачи:
Цитата
Даны 2 целых числа: A и B. Требуется вычислить их сумму. Во входном потоке в единственной строке через пробел записаны два целых числа: A и B. В выходной поток следует записать единственное целое число — сумму чисел A и B.
Либо так если хотите проверить что числа действительно 2:
Исходный код
main = getLine >>= print . (\[a,b]->a+b) . map read . words
У вас на скале тоже строго говоря не соответствует, потому что выводит для каждой строчки, хотя сказано, что она единственная, и и суммирует больше чем 2 числа.
Может невнимательно прочитали, или в той редакции подругому было написано - не суть. Это ж все just for fun делается - что вы доказать то пытаетесь? Хороший пример поднятия в монаду имхо.
У вас на скале тоже строго говоря не соответствует, потому что выводит для каждой строчки, хотя сказано, что она единственная, и и суммирует больше чем 2 числа.
Все там верно, одна строка - один результат. Если без REPL, то будет так:
Внимательнее нужно быть в таких делах, три предложения несложно ведь понять. А условие точно такое же было (по приведенной мной ссылке проверьте). Ничего, кроме того, что пример на Haskell неверный. Дык, там ведь не демонстрация монад, там другое требовалось.
Не вы мне за работу платите не вам и оценивать мою работу. С работой у меня все нормально - не сомневайтесь.
Давайте так: Что будет если вашей программе дать ввод:
Цитата
2 3 4 5
У вас как я понимаю на каждую строку будет по результату, а должен быть только один результат. А что будет если ввод будет такой? :
Цитата
2 3 4
2 3 4 Должна быть ошибка потому что по условию 2 числа.
Так что ваш вариант не лучше чем мой.
Да я неправильно понял условие - проглядел. Сейчас исправился - инцидент исчерпан.
Я еще с прошлого раза понял вашу страсть цепляться к мелочам, но мне к сожалению это неинтересно - я на море еду до конца месяца.
А вам по всей видимости больше нечем заняться, кроме как искать соринку в чужом глазу - сочувствую.
Кстати я его в википедию засабмитил не по своей инициативе, просто мне коллега показал решение на Scheme в этой статье и спросил как будет на Хаскелле. Ну я и написал тот вариант который вы видели, при том что я условие задачи услышал с его слов (поэтому то и было не так как в статье). А потом он предложил добавить его в статью (он вообще большой любитель редактировать википедию, а я этим обычно не занимаюсь). И было это больше года назад - я уж и забыл об этом напрочь.
Не вы мне за работу платите не вам и оценивать мою работу. С работой у меня все нормально - не сомневайтесь.
Может быть не стоило размещать ваш пример в википедии, если вы так несерьезно к этому отнеслись?
Цитата(Imp @ Aug 1 2010, 20:47)
Что будет если вашей программе дать ввод У вас как я понимаю на каждую строку будет по результату, а должен быть только один результат. А что будет если ввод будет такой? Должна быть ошибка потому что по условию 2 числа.
Да в моем варианте и то и это будет работать, т.к. мой код более общий. Но условия задачи формально выполнены, в отличие от вашего варианта. Если вы до сих пор не поняли задание, то перечитывайте ее условие пока не придет просветление.
Цитата(Imp @ Aug 1 2010, 20:47)
Так что ваш вариант не лучше чем мой.
Он хотя бы рабочий. Ваш же ничего кроме исключительной ситуации не производит.
Цитата(Imp @ Aug 1 2010, 20:47)
Да я неправильно понял условие - проглядел. Сейчас исправился - инцидент исчерпан. Я еще с прошлого раза понял вашу страсть цепляться к мелочам, но мне к сожалению это неинтересно - я на море еду до конца месяца. А вам по всей видимости больше нечем заняться, кроме как искать соринку в чужом глазу - сочувствую.
А что вы так занервничали вообще, я на вашу ошибку указал всего лишь, надеялся на адекват с вашей стороны.
Может быть не стоило размещать ваш пример в википедии, если вы так несерьезно к этому отнеслись? Да в моем варианте и то и это будет работать, т.к. мой код более общий. Но условия задачи формально выполнены, в отличие от вашего варианта. Если вы до сих пор не поняли задание, то перечитывайте ее условие пока не придет просветление. Он хотя бы рабочий. Ваш же ничего кроме исключительной ситуации не производит. А что вы так занервничали вообще, я на вашу ошибку указал всего лишь, надеялся на адекват с вашей стороны.
Насчет википедии - я уже сказал что это была не моя идея. И почему я понял условие неправильно я тоже обьяснил.
Насчет монад - я пытался сделать нечто похожее на пример на Scheme - на самом деле можно было написать проще.
А искать ошибки в старых постах и редакциях статей более чем годичной давности - это по вашему адекват? Это ж надо сначала найти древний пост, прочитать, пойти почитать статью, проанализировать изменения кто и когда делал, написать вариант на скале и написать пост с наездом. Видимо действительно избыток свободного времени.
На мой взгляд условия задачи точно так же не выполнены в вашем случае, почему оно складывает 3 числа хотя задача называется A+B и это явно невалидный ввод в данном случае? Я бы согласился еще если бы оно игнорировало 3е число. То есть в варианте 2 3 4 было бы 5 результатом.
Вобщем попытка наезда явно неудачная, непонятна только причина столь пристального внимания с вашей стороны. Вашу бы энергию - да в мирное русло.
Насчет википедии - я уже сказал что это была не моя идея. И почему я понял условие неправильно я тоже обьяснил.
Да я понял. Обычно в таких случаях говорят, что чукча не читатель - чукча писатель.
Цитата(Imp @ Aug 1 2010, 21:32)
А искать ошибки в старых постах и редакциях статей более чем годичной давности - это по вашему адекват? Это ж надо сначала найти древний пост, прочитать, пойти почитать статью, проанализировать изменения кто и когда делал, написать вариант на скале и написать пост с наездом. Видимо действительно избыток свободного времени.
Да я этот ваш пример давно уже разобрал, только чтобы указать на ошибку считал, что нужно свой вариант предложить. Вот сейчас свободное время есть, перед отпуском тоже кстати, и тихо здесь как-то, все больше о всякой фигне в теме про САПР говорят, поэтому сподобился написать пример и запостить сюда. Понятно, что это не шедевр, но вы и сами всякую фигню на Haskell в соседних темах постили и не морщились. А изменения в статье я стал смотреть только потому, что примеры программ из нее удалили.
Цитата(Imp @ Aug 1 2010, 21:32)
На мой взгляд условия задачи точно так же не выполнены в вашем случае, почему оно складывает 3 числа хотя задача называется A+B и это явно невалидный ввод в данном случае? Я бы согласился еще если бы оно игнорировало 3е число. То есть в варианте 2 3 4 было бы 5 результатом.
Еще раз говорю, перечитайте условие задания. Во входном потоке в единственной строке через пробел записаны два целых числа: A и B. В выходной поток следует записать единственное целое число — сумму чисел A и B. Я кажется ясно показал, что с этим моя программа справляется. А ваша - нет. Про несколько строк и несколько чисел в ней ничего в условии не говорится, я просто обобщил задачу до таких условий.
Цитата(Imp @ Aug 1 2010, 21:32)
Вобщем попытка наезда явно неудачная, непонятна только причина столь пристального внимания с вашей стороны. Вашу бы энергию - да в мирное русло.
Я даже и не думал ни на кого наезжать. Это вы так думаете, потому, видимо, так реагируете на это.
Еще раз говорю, перечитайте условие задания. Во входном потоке в единственной строке через пробел записаны два целых числа: A и B. В выходной поток следует записать единственное целое число — сумму чисел A и B. Я кажется ясно показал, что с этим моя программа справляется. А ваша - нет. Про несколько строк и несколько чисел в ней ничего в условии не говорится, я просто обобщил задачу до таких условий.
Первый пост не был наездом, как и мой первый ответ был вполне адекватным. А вот потом уже начались наезды и мои ответы стали соответственными.
Если программа работает на неправильных входных данных - это такой же баг как если не работает на правильных - это вам любой тестировщик скажет. Моя тоже работает - просто у нее входной формат другой, не
Исходный код
2 3
, а
Исходный код
2 3
Обобщение ваше я считаю неправомерным - но спорить с вами я понял еще с прошлого раза неконструктивно. Я уже обьяснил почему так получилось - вот стоило ли из за этого ворошить старье это вопрос.