Jan. 19th, 2012

juan_gandhi: (Default)
Не знаю как вы, а я вижу в нашем промысле, программировании, несколько революций сразу происходит.

Во-первых, джаваскриптовая революция. Спасибо Крокфорду и другим хорошим людям, в 2008-м отстояли джаваскрипт от нападок джавных и сиплюсплюсных динозавров (хотели его сделать "объектным") - теперь это удобная универсальная платформа.

Вчера Дэвид Поллак рассказывал про свой язык visi, который работает на хаскеле, который работает на джаваскрипте. Потом разговаривал с Ларри Дилом, который таки написал построитель категорий на агде, которая работает на джаваскрипте у вас в браузере. Мечты сбываются. Скалу, говорят, тоже на джаваскрипт компилируют.

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

Другая революция - это аппликативные функторы. Ну про это я должен написать подробнее.

Третья - параметрические типы. В джаве в 2005-м внедрили, и теперь всем приходится, хотя толпы идиотов и "ненавидят дженерики". В си++ соответствующие библиотеки с темплейтами были доступны хрен знает когда, но суровые практики (ака идиоты) всех учили, что это всё неэффективно, и надо пользоваться голыми пойнтерами, чтобы, главное, самому манипулировать собственной памятью. Как человек, однажды написавший свой malloc, realloc, free (фигня вопрос), не считаю тот факт, что вы прямо в коде вызываете free и malloc, понятия не имея шо там внутре, управлением памятью. Глупость одна. Примерно как в джаве обычай китайских программистов перед выходом из метода занулить все внутренние переменные ("чтоб освободились").

Облако, да... ну это скорее массовая мода пришла. [livejournal.com profile] hrenatson занимался своими "ёжиками" ещё лет 17 назад. Да и до того, лет, небось, за 10, уже люди писали эти мобильные агенты на форте и гоняли их по проводам по сети, исполняя в нужном месте.

Ну и цитата, не относящаяся. "People do not want tablets, people want ipads". Cheers!
juan_gandhi: (Default)
...it's so XX century...

Here's the right way:

  def getValue(objId: String, key: String): Either[String, Any] = try { Right(doc(objId)(key).value) } catch { case e => Left(e) }
  def getValueOrElse(obj: String, key: String, defaultValue: String): String = getValue(obj, key).fold(x => defaultValue, s => s)


Explanation.

getValue tries to extract a value by the key from a map of maps. If we just take it from a map, it'd return an Option[String], which is kind of good, but not best; here we are lucky, since we retrieve .value from the result, so it'll throw something in case of key or objId not present in the map.
So far so good, except that exceptions are so Java. In Scala, we have Either

So getValue returns an Either; if Right, it has a value; if Left it has an explanation what sucks.
But of course on some occasions we don't care, and we provide something (idiots provide null) if the thing is not found.

Cool, here's the Either.fold: we provide two functions, first for Left, second for Right.

Questions?
juan_gandhi: (Default)

  val stopSignal = new {
    def ping = synchronized(notifyAll)
    def sleep(timeout: Long) = synchronized(wait(timeout))
  }
juan_gandhi: (Default)
У нас театр абсурда. Этот пришелец, Гингрич, он якобы и вовсе не хотел открытого брака, это всё наветы врагов. Тем временем мужественный (мужественно выглядящий) Рик Перри заявил, что поддерживает Гингрича. Что тот и признал, с гордостью и смущённой душой.

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

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

Он не один; есть ещё Санторум, тоже пришелец (see MIB), с одной планеты с Чуровым. Судя по логике.

Между тем, акции гугла рухнули. Ну ё, и другие техстоки должны бы подрухнуть завтра.

Потому что у нас дожди пошли.

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 2627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 27th, 2025 04:45 pm
Powered by Dreamwidth Studios