Блоґ одного кібера

Історія хвороби контуженого інформаційним вибухом

Відсутність негативної мотивації

with 8 comments

Страх того що мене виженуть з університету в мене взагалі пропав, бо влаштують обидва варіанти, я нічого ні від кого не хочу, і тепер я можу спокійно жити і отримувати задоволення від всього. Навіть від безмістовних пар. Я спостерігаю і усміхаюсь. 🙂 А ще почитую “Источник“.

Сьогодні було круто. Виявляється в моїй групі вчаться сеньори. Один з яких проводив доповідь “Технологія Java. Перспективи і забув що ще”. Суть в тому, що Java – це C++ з якого викинули вказівники, перегрузку операторів і купу інших речей. Мотивація – новачки можуть стріляти собі в ногу. Ну, і хай би собі була доповідь, якби він не сказав що нові мови такі як Ruby намагаються запозичити щось в Java, але в них слабо виходить. Зокрема там досі нема статичної типізації.

Ну, звичайно я таке витерпіти не міг, і вступився за динамічну типізацію. Моя доповідь називалась “Метакласи в Python, або я вам звичайно співчуваю що ви пишете на Java, де навіть ООП не надто розвинене не кажучи вже про інші парадигми”. Вони звісно теж не мовчали.

Одним з аргументів було “Я сеньйор!”. Це мене звичайно вразило, і я запитав що в такому разі він робить на цьому факультеті. Він спитав скільки мені років, і сказав що я коли виросту зрозумію для чого потрібен диплом, і чому в деяких ситуаціях не потрібно посміхатись.

А по моєму Лінус Торвальдс був правий на рахунок того що люди занадто серйозно ставляться до деяких речей. Особливо до речей, на які взагалі не варто звертати увагу. Як ото документально зафіксований результат імітації навчання. Що справді серйозно – це отримувати задоволення від цього навчання.

Завтра я повинен цю доповідь оформити в вигляді якогось артефакту, але зараз не можу. Через те що мені пощастило мати друга завдяки якому я – зовсім інша людина. Зокрема, в мене вище кісточки на нозі дірка до якої в понеділок і вівторок постійно приростала шкарпетка. Але воно того було варте, і тепер я можу стояти на ковзанах. Крім того, через нього я опинився посеред гідропарку в такому вигляді:

Ааааа!

І зараз в мені грог, так що я спати. Якщо встану раніше шостої – може дізнаєтесь щось цікаве про метакласи і стрільбу по ногах в Python. Яка жодним чином не пов’язана з відсутністю статичної типізації.

Advertisements

Written by bunyk

Січень 19, 2012 at 20:05

Оприлюднено в Нещоденник

Tagged with , ,

Відповідей: 8

Subscribe to comments with RSS.

  1. “Метакласи в Python, або я вам звичайно співчуваю що ви пишете на Java, де навіть ООП не надто розвинене не кажучи вже про інші парадигми” – думаю що це нісенітниця на рахунок джава. ТМожливо воно і краще що ооп в джава не надто перерозвинуто. От напиклад: у книжці С++ написано що множественное наследование не варто використоувати часто бо воно призводить до значного ускладнення коду. Так можливо воно і добре що із джави викинули ті частини ооп які не полегшують життя програміста.
    А на рахунок слів “інші парадигми” що ти мав на увазі? Що це за парадигми такі загадкові?)

    Василь

    Січень 19, 2012 at 22:40

    • Функціональна, процедурна (там взагалі можна написати метод без класу?), і узагальнена.

      Там заморочуються генеріками:

      List<Integer> ints = new ArrayList<Integer>();
      ints.add(2);
      List<Number> nums = ints;  //valid if List<Integer> were a subtype of List<Number> according to substitution rule. 
      nums.add(3.14);  
      Integer x=ints.get(1); // now 3.14 is assigned to an Integer variable!
      

      В той час як качина типізація дозволяє писати:

      ints = []
      ints.append(2)
      nums = ints
      nums.append(3.14)
      x = ints.pop(1)
      

      і x буде мати тип float, бо типізація строга і ніяких перетворень не відбувається якщо про це не попросять.

      А про множинне наслідування – так, туди краще не лазити поки не розберешся з MRO, і треба стежити за конфліктами імен, бо python це не повідомить. Але я бачив досить зручні міксіни які чомусь навпаки спрощують код.

      bunyk

      Січень 20, 2012 at 06:14

      • Freedom

        First is picking a flavor of freedom:

        * Anarchy: A language by hackers, for hackers. The individual developer has privilege and power and ambient authority. Typing is a guard rail that developers are free to step across where it suits them. Ad-hoc language extensions and transforms are feasible by use of code-walking macros.

        * Liberating Constraint: The language abridges the authority and power of individuals in order to protect system-scale properties such as safety, security, consistency, resilience, optimizability, and immunity to deadlock.

        Both of these can improve developer productivity. Anarchy gives the individual more power in an immediate sense – there is rarely any need to redesign a poorly chosen set of abstractions to fit some forgotten corner case. Liberating constraint aides the developer by ensuring high-quality libraries, and supporting local reasoning about application behavior without reading the details.

        Походу ти анархіст, якщо зберігаєш у списку дані різних типів =)

        danbst

        Січень 20, 2012 at 14:23

  2. А як на рахунок нераціонального споживання пам’яті при “качиній” типізації? Хіба не краще вказати компілятору скільки байт виділити під дані за допомогою статичної типізація як у С++ та JAVA?
    ints = [] виходить що це безрозмірний масив із можливістю зберігати усі типи даних. Цеж прямий удар в лице оптимізації і швидкодії.

    Василь

    Січень 20, 2012 at 14:08

    • Ну, звичайно для того щоб написати щось на зразок Skyrim ніяк не можна обійтись без C++. Але краса потребує жертв, і в випадку такого мистецтва яке створює Bethesda ця жертва необхідна.

      Тим не менш, ви часом не знаєте хто сказав що “Якщо швидкість роботи програми не принципова то обирають ті мови які дадуть найбільшу швидкість розробки.”?

      Хоча з цитатами в інтернеті не все часом буває ясно:
      The famous quotation, “We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil”, by Donald Knuth, has also been mistakenly attributed to Hoare (by Knuth himself), although Hoare disclaims authorship.

      bunyk

      Січень 20, 2012 at 19:52

  3. […] коли я описую навколишню дійсність так як я її бачу. Зокрема коли описую шляхи якими отримую оцінки. Дивно те, що в нашому суспільстві є речі про які всі […]


Залишити відповідь

Заповніть поля нижче або авторизуйтесь клікнувши по іконці

Лого WordPress.com

Ви коментуєте, використовуючи свій обліковий запис WordPress.com. Log Out / Змінити )

Twitter picture

Ви коментуєте, використовуючи свій обліковий запис Twitter. Log Out / Змінити )

Facebook photo

Ви коментуєте, використовуючи свій обліковий запис Facebook. Log Out / Змінити )

Google+ photo

Ви коментуєте, використовуючи свій обліковий запис Google+. Log Out / Змінити )

З’єднання з %s

%d блогерам подобається це: