Oct. 30th, 2011

juan_gandhi: (Default)
Я его, конечно, никогда не уважал. Но когда Андрей Петрович (тм) попросил посмотреть на его программу, которая типа вычисляет предел в категории, я, конечно, завёлся, и мы месяц, наверное, протрахались с этим делом, дойдя до интерактивного построения категории и до расчёта топологий Гротендика; с топологиями Гротендика мы обломились на категории Δ3, где, по моим прикидкам, расчёт займёт три недели на бейсике. Пришлось перекатать на фортран, а операции над множествами - на ассемблер; 4 часа - и топологии расклассифицированы.

В следующий раз это был вижуал бейсик, Берлин, 95. Netz&So ввёз меня в качестве гастарбайтера; заплатили, по немецкому обычаю, половину (а я варежку разинул); но я насладился Западным Берлином, вообще атмосферной немецкой конторы.

Что я делал - локализационное решение для вижуал бейсика. Выдёргивал ресурсы из кода, строил файлы с переводами, и в рантайме считывал это дело, подставляя ресурсы. Конкатенация строк на Бейсике ещё хуже, чем на Фортране; я развлекался написанием смесил сишного и Бейсиковского кода, лишь бы работало. Работало, но я как-то не насладился. Напрягал повсеместный дебилизм в решениях и невозможность сделать элементарные вещи не через жопу.

Самый плохой язык из тех, что мне встречался.
juan_gandhi: (Default)
Он не должен существовать! Это дебилизм.

Предположим, у вас есть класс BlockingQueueMyBestAttempt; и вам надо его показывать производителям и потребителям. Так какого, извините, хуя вы должны показывать сразу оба интерфейса? У блокирующей очереди два интерфейса.

1. Для производителя
2. Для потребителя

И было бы идиотизмом предъявлять сразу два; вместо этого, надо иметь что-то вроде:

BlockingQueue.ConsumerView
BlockingQueue.ProducerView

Очевидно, когда сказано, верно?

Только называть его надо не так; для консьюмера, что это очередь, не волнует; это просто Source, и вовсе не обязательно его использовать в блокирующем виде; а для продьюсера это Drain, и, вообще говоря, вовсе не блокирующий.

Что делает её блокирующей - это имплементация; но это не должно особо трахать ни ту ни другую сторону, они должны быть агностичны. Деметра, блин!
juan_gandhi: (Default)
В 97-м году, весной, Аристов в Танграме стал нас доставать с "явой", мол, когда на яву перейдём. Сам-то он не программист был, но порассуждать мастер.

Я глянул, мне понравилось. Как раз Гарман, с помощью Аристова, выгнал меня с Танграма, и у меня завелось свободное время. Мы поехали в Болгарию, и там я выучил Джаву. Перекатал одну программку (парсер TTF) на Джаву, отдал заказчику просто так, бесплатно. Ну а т.к. джавщиков было мало, то нарасхват, и я пошел на контрактик к другому немцу, Дитриху, в Тугезерсофт, писать приладу для UML, которая аж через COM работала с какой-то майкрософтовской фигнёй. В процессе ознакомился с сорс-кодом джейбилдера. И боролся с AWT, переписывался (почти переругивался) с Патриком Нотоном, одним из основоположников, которого потом федералы подставили с виртуальной несовершеннолетней. Написал и аплету, blue tunnel, повесил на свой вебсайт.

Дитрих, кстати, тоже делал серьёзные попытки не заплатить мне, но я уже знал про немцев, и дискету ему отдал зазипованную под паролем; он хоть и обещал хакнуть, но не получилось что-то, так что заплатил в конце концов.

Когда приехал в Америку, ещё годик потрахался с Си и Шеллом, а потом попал в джейбилдерную команду и шесть лет долбил локализацию, ковыряясь и в формате класс-файлов, и вообще. Всю жизнь был возмущён библиотеками, в том числе и апачи-коммонзами, и писал свои; до сих пор валяется на myjavatools.com, и время от времени откуда-нибудь из Пакистана пишут спасибо за ClientHttpRequest.

Пытался что-то опубликовать в Java Developers Journal, но как обычно не нашел общего языка с ревьюерами, глубина мудрости которых мне была тогда недоступна, что они имеют в виду-то; теперь я знаю, что они просто тупые. И хер с ними.

Одновременно пописывал категорную фигню на Джаве. Те старые штуки, что когда-то были на Бейсике.

Потом в 2005-м, в момент высшего подъёма джавы, когда дженерики изменили язык до полного изумления, хаживал даже на Java User Group, и Нил Гафтер с Джошем Блоком выступали со своим шоу на тему Java Puzzlers, и задавали загадки публике, и я отгадал пять из пяти, и Джош дал мне визитку, и так я был принят в Гугл (до того я время от времени файлил, но меня игнорировали).

В Гугле поучаствовал в гугловской джавной библиотеке, известной миру как Гуава, и был ответственным за com.google.common.cache; но потом пошел раздор по вопросу лямбд; я занял сторону Гафтера и даже пытался устроить "честное голосование" (а не такое, какое устраивал Боб Ли, у которого была своя версия лямбд); короче, Гафтер махнул рукой и мне посоветовал не связываться - и всё пошло downhill ever since.

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

Апофеозный пример - когда Ли Мур меня "интервьюировал" в команду GRM, и попросил имплементировать Set, а я как раз незадолго до того имплементировал ZFC, и спросил сдуру: какую аксиоматику? А он говорит "просто Set", а я стал спрашивать определение, а он решил, что я понятия не имею, что такое множество... ну и т.д.

А тут и Скала подоспела, так что на Джаву я уже стал смотреть как на рвотное. Это начиная с 2008-го года. И люблю джавщиков спрашивать типа "Послушай Нагеш, вот ты только на джаве программируешь, так? И других языков знать не хочешь, так? А что ты будешь делать, когда Джава выйдет из употребления?" Короче, вы поняли.
juan_gandhi: (Default)
Тут один собеседник задал риторический вопрос: а массаж тоже должен быть запрещен?

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

Давайте теперь снижать постепенно планку.

Массаж, если клиент голый - это запрещать? А если клиентка? А если по пояс?

Где-то же должен быть предел, а то мы дойдём до запрета парикмахерских.

Profile

juan_gandhi: (Default)
Juan-Carlos Gandhi

June 2025

S M T W T F S
1 2345 67
891011121314
15161718192021
22232425262728
2930     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 7th, 2025 06:36 am
Powered by Dreamwidth Studios