May. 21st, 2009

juan_gandhi: (Default)
  def pow(a: Int, b: Int): Int = if (b == 0) 1 else (a * pow(b - 1, a))
juan_gandhi: (Default)
Двух стэнфордских выпускников интервьюировал. К их чести, конечно, признаюсь, что задачу решили оба. Оба умные ребята; один норовит в начальники, у другого страсть кодировать, даже плагин какой-то писал уже к еклипсу. С этим проблем нет. Проблемы с образованием.

Один якобы специализируется на ООП. Спрашиваю, что за штука такая, полиморфизм? Ответ - это когда может быть несколько методов с одним именем, но с разным списком параметров. Второй, кстати, точно так же ответил. И я смутно припоминаю, что что-то подобное я уже слышал от одного придурка в Борланде, когда он меня скринил на тему jbuilder core team. Я ему плёл про параметрический полиморфизм, а он мне - неее, дженерики к полиморфизму не относятся... тьфу.

У другого minor in Math. Спрашиваю, а что конкретно? Линейная алгебра. Ну как можно в наше время всерьёз специлазироваться на линейной алгебре, э? Ну в принципе я понимаю, хитрые алгоритмы нахождения собственных чисел там... вот и спрашиваю, что там насчёт eigenvalues и eigenvectors? Э, говорит. Это давно было.

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

А вы говорите - претензии к Стэнфорду. К Леланду Стэнфорду у меня претензий нет, он железную дорогу через Сьерру провёл.
juan_gandhi: (Default)
Когда мой прошлый тесть в кругу родственников важно заявил о жертвах социализма: "наказали - значит было за что", то я не врезал ему тут же в его партийную морду, как должен бы был, а просто встал и ушел. У меня тогда впервые в жизни заболело сердце.

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

some scala

May. 21st, 2009 09:05 pm
juan_gandhi: (Default)
(source)
scala> def what(x: { def length: Int }) = if (x == null || x.length == 0) "empty" else x
what: (AnyRef{def length: Int})java.lang.Object

scala> what(null) == "empty"
res1: Boolean = true

scala> what("") == "empty"
res2: Boolean = true

scala> what("bob")
res3: java.lang.Object = bob

// Wait, what?
scala> what("bob") == "bob"
res4: Boolean = false

res4 is false because two corner cases strike at once:

1) The String is coerced into a RichString because String has
no length method. That's right, it has a length() method.
2) RichStrings and Strings don't compare equal.

The second will be fixed by 2.8, the first remains a trap.

Profile

juan_gandhi: (Default)
Juan-Carlos Gandhi

August 2025

S M T W T F S
      12
3456789
10 11 12 13141516
171819 20212223
2425 26272829 30
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 1st, 2025 06:02 am
Powered by Dreamwidth Studios