All streams
Search
Write a publication
Pull to refresh
0
0
Руслан @imploid

Пользователь

Send message
Да, это вроде давно известно.
Если бы это было у нас, сразу бы появились подозрения в распиле.
Проще устроиться в стартап и в один прекрасный день внезапно может оказаться, что вы работаете на гугл. Если гугл купил ваш стартап вместе с вами. Знать бы только наперед, какие стартапы купят :)
mac-ports практически тот же portage, тоже все собирается из исходников, есть аналог USE-флагов.
По моему личному опыту с ним проблем гораздо меньше даже чем с portage'ем. Тоже раньше пользовался Gentoo несколько лет, перешел на мак и ни разу не пожалел, все удобно и привычно и работает из коробки.
А зачем приплетать списки, если и без них всё хорошо через те же аксиомы Пеано?
data Nat = Zero | Succ Nat deriving (Eq, Show) 

instance Num Nat where
  Zero + a = a
  a + Zero = a
  a + Succ b = Succ (a + b)
  Zero * a = Zero
  a * Zero = Zero
  a * Succ b = a*b + a
  abs = id
  signum Zero = 0
  signum _ = 1
  fromInteger 0 = Zero
  fromInteger (x+1) = Succ (fromInteger x)
Это вы передёргиваете, кандидатам было подробно обьяснено, что такое бинарное дерево или односвязный список, также была описана структура на С.
Этого и знания С в рамках любого учебника вполне достаточно, чтобы этот код написать, времени тоже давалось достаточно.
Вкратце:
императивное программирование — это когда вы описываете какие нужно выполнить действия и в каком порядке.
декларативное программирование — вы описываете что вы хотите получить задавая правила/формулы преобразования входных данных в выходные. Компилятор сам решает какие действия нужно выполнять и в каком порядке.

Почитайте все таки про Haskell — полезно для развития кругозора.
С точки зрения логики тут все нормально, выполняются оба условия -> выводим FizzBuzz, а то что все условия надо проверять не более одного раза — это подразумевается в нестрогой семантике Haskell'я. И компилятор все сделает как надо.
Это лишь декларативное описание соответствия входных данных желаемым выходным не отражающее то, как оно будет вычисляться в реальности.
+1 такого рода оптимизации это вообще задача компилятора — надо писать максимально близко к формулировке задачи.
Да, конечно, есть такие алгоритмы, которые тяжело написать, если не знать.
Но конкретно в этих случаях можно придумать ответ самому довольно быстро, даже если не знать наперед. Вся необходимая информация давалась.
В Хаскелле, чтобы оно само так получилось, надо несколько по-другому написать.
Можно конечно, но никто не может сказать, что этот вариант неправильный.
Он как раз видится мне тру-функциональным :)
Хотя эти задачки решаются в несколько строчек мы потом еще упростили и уже просили например перевернуть строку или просто скопировать строку без использования библиотечных функций — но картина стала не особо лучше.
На Haskell:
fizzbuzz x | divides x 3 && divides x 5 = "FizzBuzz"
           | divides x 3 = "Fizz"
           | divides x 5 = "Buzz"
           | otherwise = show x
  where
  divides x n = x `mod` n == 0

main = mapM (putStrLn . fizzbuzz) [1..100]
По моему личному опыту не более 20% выпускников, пришедших на собеседование, могут написать например поиск в бинарном дереве или перевернуть односвязный список на бумажке.
+1 я сам учавствовал в разработке одного телефона для Verizon'а года 3 назад и там не было никаких R-UIM'ов. Как и в других наших CDMA телефонах для других CDMA-операторов.
Я не говорю, что не будет работать, но Magic Mouse точно работает как простая, работает со всеми фичами в Mac OS X и можно врубить скролл в винде тоже немного покопавшись.
Это уже лучше, чем описываемая, если она будет работать со всеми фичами только в винде и как обычная во всех остальных. Так что пока 1:0 в пользу Apple имхо.
Как простая Bluetooth мышь без скролла и наворотов она всегда работает имхо. И без каких либо драйверов и танцев с бубном. Это уже большой плюс, по сравнению с описываемой Windows-only поделкой.
а вот Magic Mouse работает с любыми девайсами, например с PS3 или в Windows.
также сторонними программами можно включить сенсорный клик, но в отличии от тачпада это жутко неудобно.

Information

Rating
Does not participate
Location
Канаш, Чувашия, Россия
Date of birth
Registered
Activity