Category: it

Category was added automatically. Read all entries about "it".

Минутка формационно–языкового шовинизма

Язык C++ разработал датчанин. Дания — монархия с развитым институтом частной собственности.

Поэтому в C++ по умолчанию все поля и методы объекта имеют частный доступ, а публичный доступ надо оговаривать отдельно. Поскольку всё, что не разрешено, — запрещено.

Разработчики сами не раз напрямую говорят о том, что вам нужно найти обоснование, чтобы сделать что-то внутри объекта публичным — а то мало ли.

Несмотря на всё это, при неосторожности тот, кто написал код объекта, может порушить всю внешнюю среду, даже не взаимодействуя с какими-то другими объектами. К счастью, всем остальным про это будет довольно тяжело узнать, — это частный бизнес объекта и его разработчика всё-таки.

Язык Scala разработал швейцарец. Швейцария — конфедеративная республика с сильно развитой на всех уровнях прямой демократией. При этом права низовых групп людей весьма обширны и даже частный бизнес очень на многое вынужден напрямую спрашивать разрешение у местных жителей.

Collapse )

Недосети

Походу офердофига людей думает, что нейронные сети и их использование устроены примерно так.

1. Мы берём какую-то магическую штуку «нейросеть», которая с самого начала много всего умеет, но никто не знает, чего именно.

2. Мы ей показываем какие-то данные, которые она запоминает — примерно как Эксель в файле.

3. После этого мы, ничего не проверяем, поскольку а что тут можно проверить-то? Если повезёт, то она всё правильно запомнила, а если не повезёт — неправильно.

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

То есть нейросеть — это такая хреновенькая база данных. С дополнительной мистикой внутри, которая только всё портит, делая результаты применения ещё менее предсказуемыми, чем они были бы у экспертной системы, которая просто ищет в базе данных ответ, а если не находит готового, то выдаёт «ответ не найден».



Вы все не смогёте

Как сообщают с мест, люди столь сильно отличаются по врождённым способностям, что большинство из них невозможно обучить алгебрам Ли, программированию на C# и теории категорий.

От себя добавлю: «а также кунг-фу, карате и множеству других страшных слов».

Про алгебры Ли я мало что знаю, а потому не поручусь, однако основным положениям теории категорий любого психически здорового человека можно обучить где-то так за час. Быть может, за день, а если он совсем давно ничему не учился, то за месяц, из которого 28 дней уйдут на то, чтобы вернуть ему уверенность в себе, навык сосредоточения и некоторые другие полезные умения, напрямую к теории категорий не относящиеся.

На обучение основам программирования на C# с полного нуля уйдёт месяц–два. А где-то так через год упражнений можно уже идти устраиваться на работу.

Да-да, любому: оно всё такое сложное исключительно в воображении.

Однако, разумеется, чтобы оно вышло так, надо специально подбирать слова и иметь целью действительно научить, а не выпендриться тем, сколь же я крут, сколь эксклюзивны мои знания, и как высока та высота, с которой я взираю на остальных, обречённых от рождения людишек.

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

Привычка к смене парадигм

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

Смотрю одну из них и испытываю уже подзабытое чувство: «ни фига се — а что, так тоже было можно?!».

В предыдущий раз такое ощущал при переходе на Scala с Java. При переходе на Java с С++ тоже было, но послабее. Cinema 4d после 3ds Max и Maya тоже как-то не так эффектно ощущалась. Разве что, первый взгляд на скульптинг и ZBrush вызвал такой же восторг. Несколько, впрочем, смазанный инфернальным интерфейсом ЗиБраша.

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

Человеку может казаться, что суть явления он уже понял. Что дальше уже только тренировка на скорость: тем же способом, но быстрее, чем раньше, поскольку больше опыта. Многие в этом состоянии навсегда закрепляются сразу после института — чем к окончанию успел овладеть, тем и будешь пользоваться всю жизнь.

Однако подсматривать новые способы для прежних задач не только практически полезно в смысле экономии времени, но и полезно «ментально»: это — способ начать мыслить иначе. Иначе воспринимать мир. Более удачным и удобным для применения способом.

Даже если всё это касается того, что кажется «мелкими деталями». Ну подумаешь, казалось бы, децл другой способ открытия какого-то там меню или передвижения объектов в кадре. Ан нет, за этим стоит другая парадигма мышления. Более другая, чем децл. Как бы взгляд на привычные уже объекты и явления, но под другим углом, с которого их лучше и понятнее видно.

И примерно вот таким способом нарабатывается способность менять парадигмы мышления в ногу с прогрессом: попробовал сие раз, два, три, четыре, пять раз, а потом такое вроде как уже совершенно естественным кажется. Уже не вызывает страха и отторжения.

Отработанный способ делать что-то уже отработан, а новый ещё придётся отрабатывать, но в перспективе он ведь выиграет. А потому лучше пересесть на него заранее, а не оказаться в числе последних могикан, которые всё ещё фигарят дедовскими методами — пусть и отработанными до автоматизма. Даже мастер кузнечного дела, в совершенстве умеющий молотом на наковальне, не сумеет перегнать современный станок, даже если за оным стоит совсем зелёный юнец. И мастеру светит в лучшем случае дотянуть свой век, пока прежний способ всё ещё хоть где-то востребован, но вот перегнать юнцов на станках уже нет — по мере получения ими опыта отставание олдового кузнеца будет только нарастать.

Поэтому сию ценную привычку — к смене методов и парадигм — совершенно точно надо приобретать чем быстрее, тем лучше. Даже если вы развиваете её на том, что вам нужно только для интереса и развлечения, как мне трёхмерная графика, потом оно вам пригодится — там, где очередная технологическая новинка сведёт на нет ваши олдовые профессиональные навыки.



doc-файл

Программирование и размерности

Вы-таки спрашиваете, почему изучения программирования полезнее изучения почти чего угодно другого и потому вот именно ему совершенно точно надо обучать всех?

На самом деле, конечно, обычно не спрашиваете — это я сам себя за вас риторически спросил, но всё равно объясню.

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

Однако я больше скажу. Хрен с ним, с умножением и порядком множителей, давайте задумаемся о сложении.

Помните, отличное школьный пример про размерные операции со сложением? Ну, вот этот, замечательный, который не только произносился на уроках, но даже вошёл во всевозможные детские книжки и мультики?

«Нельзя складывать яблоки с апельсинами».

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

Collapse )

Blender

Предпоследний раз я видел Blender года три–четыре назад.

Открыл и практически сразу закрыл, поскольку практически же сразу стало понятно, что его интерфейс делали проклятые пришельцы с другой планеты. Правда, они не дотягивали до пришельцев из злой параллельной вселенной, которые сделали интерфейс ZBrush — существа, проживающие в нашей вселенной, до такой организации интерфейса, как там, додуматься бы не смогли. Однако даже пришельства с одной из звёзд нашей галактики Блендеру вполне хватило для явления благодарным пользователям очень многих граней инфернальности.

Теперь по наводке Данила Сентябов я открыл его ещё раз. И, надо отметить, Гермиона очень сильно изменилась за эти три–четыре лета. Я не знаю, дело ли в том, что прошлые пришельцы были изгнаны, или же в том, что они остались, но сумели адаптироваться к земным реалиям получше большинства землян, однако теперь оно всё выглядит так, что проклятыми инопланетянами кажутся создатели всех остальных программ. Причём не только для трёхмерной графики, а всех вообще, ибо ряд крайне годных идей легко переносится на любой другой софт, сохраняя свою зашкаливающую полезность.

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

Однако наиболее сильно поразившая меня идея просто не может не пленить своей очевидной простотой в сочетании с изощрённой изобретательностью.

Collapse )

Программисты и системы счисления

За уже почти 30 лет программирования и примерно 25 лет работы программистом, что-то, хотя бы отдалённо напоминающее использование систем счисления, отличных от десятичной, я видел примерно два раза.

Один раз, правда, растянулся на много—много лет и до сих пор тянется — в том смысле, что посмотреть на это можно и сегодня.

Дело вот в чём.

Когда компьютеры были большими, а память у них — маленькой, был этап, на котором захотелось, чтобы цветов стало не 2, 8 или 16, а много. А потому просто пронумеровать в произвольном порядке используемые цвета уже не получилось бы — слишком их дофига. Поэтому цвет стал кодироваться интенсивностью каждого из трёх каналов: красного, зелёного и синего.

Впрочем, цветные телевизоры уже кодировали примерно так же, но тут оно стало аналогичным и в программах тоже. И не в аналоговом, а в цифровом виде: по восемь бит на цвет.

Collapse )

ЕГЭ по поэбеньтике

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

Поскольку всё так же, как прежде, проверяются «знания» о чём-то, что существует исключительно в головах каких-то полностью некомпетентных в сфере IT людей, не имеющие никакого реального практического или хотя бы теоретического смысла. А точнее, имеющие смысл сделать ещё хуже, чем было бы при полном отсутствии данного предмета и экзаменов по нему, заставив школьников заучить вредные и бессмысленные действия, на протяжении всех лет обучения выдаваемые за «так и надо, так и делают».

Предположим, те же люди решили бы сделать экзамен по предмету «работа электрическим лобзиком». Вот как выглядели бы аналогичные сабжевым задания.

  1. Распилите карандаш металлической линейкой.


  2. Возьмите электрический лобзик за лезвие двумя руками и забейте его корпусом гвоздь в бетон.


  3. Держа электролобзик ногой, зарубите им свободно летающую по комнате канарейку.


  4. Задушите проводом от электрического лобзика составителей школьной программы по информатике.


Collapse )

Полуфункциональность

Сколь прекрасны некоторые решения в функциональном стиле, столь же чудовищны некоторые другие.

Сто пудов, возможность написать что-то типа

myList.view.map(f1).map(f2).sum


это прекрасно. Вместо десяти строк — одна, она легко читается, всё сразу понятно, легко чего-то добавить или поменять и так далее.

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

Collapse )

О нумпадах

Про нумпад множество людей написало, что набирают цифры только так. Некоторые утверждают, что они — программисты. Или что видели программистов, которые так набирают. Или, что более вероятно, представляют себе программистов, которые набирают именно так.

Лично я этого вообще представить не могу. Ну там, бухгалтеры, которые и имелись в виду в статье, вполне могут включать виндовый калькулятор и что-то там считать по-старинке, вместо того, чтобы открыть хотя бы Эксель и посчитать нормально, — сам видел много раз.

Но программисты-то. Я написал овердофига программ за свою жизнь, и ещё в 12 лет под это дело научился печатать десятью пальцами (потом, правда, пришлось на другую раскладку переучиваться, но не суть).

Ряд цифр находится прямо над буквами. Их можно набирать восемью пальцами и для этого не надо менять положение рук. Для меня всё время было естественным набирать цифры так. Мои коллеги каждый раз делали аналогично.

Кто эти программисты, которые переносят руку, чтобы набрать цифру? Они остальной код, быть может, тоже одним пальцем набирают?

И, самое главное, а нафига им вообще в программе цифры-то? Чтобы магические константы захардкодить? Не, ну на БК0010 у меня, разумеется, всякое бывало — поначалу. Однако потом, в программах на айбиэмах доля цифр ко всему остальному вряд ли переваливала за 0,1%. Скорее была даже меньше.

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

Но так-то, да, им всем либо переучиваться на нормальные способы набора текста, расчётов, написания программ и т.п., либо нужен нумпад. Я просто не ожидал, что таких людей столько.