Showing posts with label web. Show all posts
Showing posts with label web. Show all posts

Tuesday, October 18, 2011

Про Dart

А вот по-русски напишу.

Хабр - Почему я не верю в Dart

И это уже не первый. Они там ебанулись все. Гугл очень многое делает ради того, чтобы веб перестал быть "сайтами" и стал, наконец-то, "веб-приложениями", а эти придурки, выучившие JavaScript, HTML и CSS (о, будем "веб-разработчики") возмущаются - "куда ж нам теперь всё это говно засунуть, учили ведь - одни точкозапятые в JS чего стоили".

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

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

Трушные веб-разработчики всех стран - любители скруглённых углов на чистом CSS, ненавистники IE, фанаты HTML5 и WebGL! Я думаю, что вы все мудаки, ублюдки, дегенераты и извращенцы - идите на хуй.

Monday, October 10, 2011

Google Dart

interface IMyClass {
  void dump();
}

class MyClass implements /* java style */ IMyClass {
  int x;

  MyClass(int x) {
    this.x = x;
  }

  void dump() {
    print('MyClass{$x}'); // php???
  }
}

class MagicException implements Exception {
  String message;

  MagicException(String message) {
    this.message = message;
  }
}

main() {
  List<IMyClass> mcs = new List<myclass>();
  for(int i = 0; i<5; ++i) mcs.add(new MyClass(i+1));

  func(IMyClass x) => x.dump();
  // or even this way:
  // var func = (IMyClass x) => x.dump(); // c#!!!

  for(IMyClass mc in mcs) {  
    func(mc);
  }

  print(mcs[0] is IMyClass);
  print(mcs[0] is MyClass);
  print(mcs[0] is !int);

  try {
    throw new MagicException('hai there');
  } catch(MagicException ex) {
    print(ex.message);
  } finally {
    print('finally');
  }
} 

They did it. I CAN WEB NOW!

Monday, December 13, 2010

Немного про веб #2

Не так давно я написал про веб. С тех пор поковырялся ещё немного, отношение немного изменилось.

Ниже идут только эмоции, если вам хочется мыслей, этот пост не читайте.

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

На самом деле - нет. Единственное, что с помощью Django можно сделать легко - это блог. Ну и всё остальное, что хоть как-то похоже на блог. На этом халява заканчивается. Гибкость и универсальность исчезает. Остаётся недофреймворк, в котором для получения нужного поведения нужно половину реализовать руками. Я опять утрирую, но это близко к истине.

Например, как я понял, модель непосредственно завязана на sql. Причём завязана она непосредственно на select/insert/update/delete. А у вас хранимые процедуры? Ну... гугл, красные глаза, возможно что-то и выйдет.

Python
Питон нынче моден. Быстрое прототипирование, биндинги чуть ли не со всеми существующими библиотеками, и т.д. При этом при всём с ним что-то не то. Когда я изучал C#, было просто интересно. Т.е. он не напрягал, он заставлял решать маленькие задачки, которые действительно интересно было решать. Когда я изучал Java, там вообще смешно было. Java ничем не отличается от C#. И всё было как-то легко и непринуждённо. Любезный читатель может здесь указать на то, что все эти 3 языка совершенно одинаковые. Соглашусь.

А вот с питоном как-то не срослось. Как обычно, делал лабораторные, как обычно читал книжки и статьи, но почему-то не цепляет. Странный он. То ли это динамическая типизация, то ли ещё что-то. Короче, сильное ощущение дискомфорта.

JavaScript и jQuery
JavaScript ужасен сам по себе. jQuery интересен только пока смотришь короткие примеры. JavaScript - это такая жопа, самая большая жопа из всех популярных на сегодняшний день ЯП. Слабая динамическая типизация - это ужаснейшая идея. Это фишка, которая позволяет из простого hello world сделать такой ужас, что потом не разберёшь. jQuery интересен тем, что он есть и популярен - это единственная причина, по которой я решил его использовать (т.к. проект у меня сейчас учебный, делаю выбор в сторону попсы).

Так вот, если от Python можно отказаться и использовать что-нибудь другое, то от JavaScript уже не откажешься. Потому что альтернатив нет.

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

Любезный читатель может сказать, что у меня руки из жопы растут. Возможно. Речь не об этом. Речь о том, что нет удовольствия от веба.

Thursday, November 18, 2010

Немного про веб

Так сложилось, что у меня исключительно разноплановые интересы.

"Профессиональным разработчиком" я стал в 2002ом году. Я тогда был то ли в 9ом, то ли в 10ом классе. У меня тогда уже был небольшой опыт разработки для веб. Помню, что написал счётчик посещений на Перле, и на нём же - ужасный движок форума. Потом что-то делал на PHP, не помню уже. И вот, на меня, уже снова не помню, откуда свалился фрилансовый проект. Я тогда не знал такое слово - фриланс. Но он на меня свалился. Что интересно, сумма была довольно интересная по тем временам - 5000 рублей.

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

После этого я "устроился" (почему в кавычках - не скажу, но кавычки тут в тему) веб-разработчиком. Нужно было писать на PHP. Около года прозанимался этим, появилось дикое отвращение к вебу. Вообще ко всему вебу. Я тогда сказал себе - больше не буду заниматься вебом. С тех пор прошло 8 лет. Все эти 8 лет я почти никакого отношения к вебу не имел. Периодически почитывал статьи, слушал страшные слова типа ASP .NET, jQuery и т.д.

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

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

Почти параллельно с этим возникла необходимость сделать простенькую фигню на Flash. Я помню в школе тоже как-то Flash поставил. Посмотрел - и сказал: ненене, Дэвид Блейн. Сейчас же, за несколько вечеров удалось более менее разобраться. Очень порадовало, что многое можно сделать вообще без мышки. Тупо на Action Script. А Action Script оказался не страшный, вполне себе такой.. странноватый, но ненапряжный. Сделал фигню.

Сейчас решил посмотреть как работает современный веб. Ковыряю Django, jQuery, Google Maps API. Собственно, ради чего я это всё пишу. Хочется просто сказать, что оно не такое уж и противное. Django/Python - исключительно позитивная вещь. Вдвойне позитивная после того, как я поставил Aptana Studio, у которой есть PyDev. Не противно! jQuery так вообще - ахтунг. Весёлая такая штука. У Google Maps API настолько хорошая документация и настолько много официальных примеров использования, что вообще вопросов не возникает.

Короче, вебом можно заниматься. Не так чтоб совсем, но можно.