Pull to refresh
0
Send message
Всё в порядке, в C нет деструкторов. Можете спокойно на нём писать. :)
Распределенные поисковики, вроде YaСy потенциально можно сделать и приватными и персонализироваными. Вообще, владельцы «облачных сервисов» (Google, например) уже настолько прочно вбили в головы людей, что ради приватности придется отказаться от удобства, что компромиссы уже мало кому приходят в голову.
1. Где-то была статья на эту тему о Ruby. Сейчас найти не могу, но суть в том, что индексация с нуля — это не оптимизация и не костыль. Если бы индексация была с единицы, то разрезание (arr[1:5]) массивов выглядело бы в коде с вечными "-1" да "+1". Если кто вспомнит статью — киньте. Вроде бы сам Matz писал, но не уверен.
2 и 3, ну вот Вы привели в пример Smalltalk. Так же о численных типах практически не надо думать в Common Lisp (есть fractional и bignum, в т.ч. fractional bignum и float bignum, явно преобразовывать численные типы не надо) и Tcl (все числа — безразмерные int/float, fractional нет). Есть замечательные действительно высокоуровневые языки — пишите на них.: ) На самом деле, если у вас нет начальника, который говорит «все используют Java/Python/COBOL и мы будем», то эти три языка (даже последние два) отлично покроют 99% классов задач.
Исходник прошивки можно почитать? Проприетарная прошивка от Facebook — единственное, что останавливает меня от покупки Oculus Rift.
> если вы изучите Scala и посмотрите на функциональность Java с той колокольни, то открывшийся вид вполне может вызвать у вас улыбку. Просто попробуйте!

О, излюбленный аргумент лисперов. http://www.paulgraham.com/avg.html «The Blub Paradox».

Ну, раз уж вы этим аргументом воспользовались, то и я предложу по той же причине посмотреть Common Lisp.: ) Без сарказма. Мне потраченное на него время не жалко.
Субъективно синтаксисом все языки для BEAM (виртуальная машина Erlang) уделывает LFE. Только его на 90% один человек пишет в свободное время, поэтому с экосистемой большие проблемы.
> Польза миру это либо польза людям, либо природе, либо культуре/гуманизму, либо экономике, либо науке. Первые три категории не имеют ничего общего со свободным кодом, потому что людям, природе и культуре прекрасно помогает несвободный код.

> Если ваш проект несет пользу, то его улучшение означает еще больше пользы. Пользователи свободного проекта исправляют баги, впиливают новые функции, улучшая жизнь не только себе, но и всем другим пользователям проекта.

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

Да, вы на это уже ответили выше:
>> То-есть домохозяйки не могут быть программистами и программисты не могут увлекаться кулинарией?
> Могут. А еще на ваш страничку вашего опен-сорсного проекта может зайти Билл Гейтс, прослезиться от восторга и задонатить вам миллиард долларов.

Но это демагогия.
Возможно дело в том, что порядок изложения на самом деле совпадает, и резюмирует то, о чём написано в предыдущих ДЕВЯТИ абзацах. Какую кашу нужно иметь в голове, чтобы найти в статье ошибку, которой нет, потому что она согласуется с вашим представлением о мире, хоть и не согласуется с самой статьёй.
Только сейчас заметил. Что эта серия делает в блоге Тинькофф Банка? У вас используется Scheme?

UPD: Карма, поэтому спрошу сразу. Если используется, возьмёте Scheme developer'ом?: )
> под предлогом изучения мега-популярного языка мы рассказываем людям про SICP.

Коварно. Одобряю!
И не будет, если вы не станете первым… Всё сложно и обсуждалось уже 100500 раз ещё во времена ICQ/XMPP.
Самое близкое, что сейчас есть: openpandora.org К сожалению, не модульный.
Я тоже. Хотел обычный, случайно заказал растворимый. Офигенная штука в любом случае.
На любителя, да. В офисе кроме меня ещё один человек от него не плевался.
За исключением около 10% статья как про Common Lisp.

На самом деле я, познав оба языка, даже пытался сделать Class Browser (это те самые 10%) для CL. Если есть желающие, могу поделиться наработками и списком нерешённых (но не неразрешимых) трудностей.
Это не минималистичные интерфейсы, а интерфейсы с минималистичным дизайном иконок.
Минималистичный интерфейс — это командная строка.
> Главная проблема, о которую мы немедленно споткнулись — там, например, пересекаются параллельные прямые.

Финиш. Прямые параллельны в ПРОСТРАНСТВЕ, а пересекаются их ПРОЕКЦИИ на фото.
Это ж лисповые символьные выражения, только с переносом строк и знаком «равно» вместо скобок.
> Если в Lisp всё описывается как списки, то в языке на основе Tree — всё есть деревья.
Вообще-то в лиспе даже список — это суть бинарное дерево. И угадайте, что такое список списков? Правильно — дерево.
Вы почти правы. В каждой стране своя культура нужно позволить людям жить так, как они хотят, но только при условии абсолютного доступа к информации. Если арабские женщины знают, что в западной культуре у женщин больше прав — значит они хотят так жить, если не знают — то, возможно, не хотят, но усилиями пропаганды их заставляют.

Арабам не нужно рассказывать, что у женщин должны быть такие же права, как у мужчин. Нужно рассказывать, что есть культуры, у которых у женщин почти такие же права, как у мужчин. Северокорейцам не нужно рассказывать, что их лидер — не бог. Нужно рассказывать, что есть страны, управляющиеся обычными людьми, и у них в среднем дела куда лучше. Если им дороже бог, чем еда — так и быть, это их культура.

И, как следствие, самое серьёзное преступление, которое моет совершить государство — это внутренняя пропаганда, частью которой обычно становится ограничение выезда за пределы страны. Потому что, если государство практикует пропаганду, то оно само начинает управлять культурой народа, т.е. учит народ жить, как и эти парни с воздушными шарами. Не понимаю, почему вы внутреннюю пропаганду считаете хуже воздушных шариков. Одно и то же, ИМХО.

Вы можете быть против воздушных шариков на территории США, или Арабских стран, т.к. там _относительно_ мало влияние внутренней пропаганды, но приводить в пример СССР, КНДР, или Россию — нелогично по вышеприведённым причинам.
С тех пор как я с товарищами писали статьи правда ничего не изменилось? Вроде это всё уже было лет пять назад. habrahabr.ru/post/75451/

> Могу ошибаться, но прямого аналога нет, во всяком случае в популярных, компилируемых языках.
В копилку Common Lisp. Не популярный, да. Компилирется в некоторых реализациях, например самой популярной — SBCL. Вообще map уже есть, но у вас он шаблонный, а не функциональный (с лямбдой), так что вот тоже шаблонный:

(defmacro tmap (op array)
  `(loop for x in ,array collect ,op)

(defun main ()
  (format t "#1 ~A~%" (tmap (* x 3) '(0 1 2 3 4 5)))
  (format t "#2 ~A~%" (tmap (expt x 3) '(0 1 2 3 4 5)))

  (format t "#3 ~A~%" (tmap (* x 3) '(0.0 0.5 1.0 1.5 2.0 2.5)))
  (format t "#4 ~A~%" (tmap (expt x 3) '(0.0 0.5 1.0 1.5 2.0 2.5))))

В SBCL есть кое какой решатель типов. Если он сообразит какого типа списки (на буквальные не реагирует, должно быть объявление типа хоть где-нибудь), то в скомпилированном коде окажутся вызовы машинных команд для * и expt (где есть), если не сообразит — то вызовы функций для произвольных типов.

Конечно, D старается следовать принципу zero overhead, но пока это у C++ получается всё же лучше. Компромисс.: ) Помню, в своё время он мне и нравился как золотая середина между перформансом и удобством, потом обнаружил себя либо за задачами где перформанс не важен, тогда годится Common Lisp (с перформансом всё равно на уровне компилируемых), либо за энтерпрайзнутыми серверными кластерами, где лучше Erlang.

Information

Rating
Does not participate
Registered
Activity