Доступные языки

Полезные ссылки
Read in English

четверг, 23 декабря 2010 г.

Жириновский: уберите к черту пост президента! Парламентская республика!

Вице-спикер Госдумы РФ Владимир Жириновский встретился с журналистами из Беларуси, Украины и Молдовы в помещении фракции ЛДПР в здании Госдумы и ответил на их вопросы.

Владимир Вольфович, как всегда, не стеснялся в выражениях, был красноречив, но резок. Отвечая на вопросы, касающиеся белорусского президента Александра Лукашенко, Жириновский заявил: «Лукашенко ревнует! Ничего же не получается у него, выборы проиграет, надо уходить. А еще могут под суд отдать за то, что диссидентов подавлял, бизнесменов в тюрьму сажали и деньги заставляли платить».

«16 лет у власти. Всем надоело это уже, независимо от фамилии! Даже если все хорошо, люди устают!, - возмущается вице-спикер. - Плюс есть проблемы: общий кризис во всем мире. Везде меняются президенты, партии, флаги, а почему он должен оставаться?»

Жириновский считает, что Лукашенко лишился поддержки Москвы – и из-за этого продержаться у власти больше не сможет. «На всех выборах, когда он шел, мы его поддерживали. Я сам приезжал! А сейчас кто его будет поддерживать, если он так себя ведет? А без поддержки Москвы те, кто его поддерживали, они от него отвернутся, понимая, что он не имеет поддержки, которую имел раньше».

Владимир Жириновский сказал, что прекрасно понимает, в чем ошибки Лукашенко: «Сколько он закручивал гайки для частного бизнеса? Недовольны! Молодежь? То нельзя, это нельзя: все это ограничения! Интеллигенция - ограничение. Бизнес - ограничение: или за границу, или в тюрьму, или под руководством чиновников все делай, как при советской власти».

Вице-спикер сказал, что избирателей у Лукашенко в Беларуси не осталось: «То старшее поколение, которое символизировало его с советской властью, умирает каждый год, уходит из жизни старшее поколение. Те, кто за него голосовали: деревня, рабочие, бедные. Зарождается новое поколение: та белорусская молодежь, которая имеет интернет, которая выезжает за границу, которая слышит и видит какой другой мир, которая хочет выборы, на которых не будет сразу известно все».

В пример Беларуси и всему миру Жириновский привел недавно прошедшие выборы в Украине: «Вот на Украине великолепно! Никто не знал до последнего момента кто: Тимошенко или Янукович. И это выборы, и это всем нравится. Как в Прибалтике рядом. Ну, он скажет, что остается, и что дальше?»

Далее Жириновский пустился в философско-политологические рассуждения о формах правления, сделав вывод, что нам всем необходимо стать парламентскими республиками, а президента если и выбирать, то максимум на один срок. «Вообще идеальный вариант - переход к парламентским республикам. В Грузии не было бы проблемы никакой, не было бы никакого Саакашвили. В Молдавии, всей Прибалтике, Украине, на всем Закавказье и Средней Азии, а на каком-то этапе и в России - лучший вариант - парламентская республика. Это высшая форма демократии»

Напутствие белорусскому народу по этому вопросу тоже прозвучало: «Желательно, чтобы Беларусь тоже свою систему демократическую как-то модернизировала. Потому что она ближе к Туркмении, Узбекистану, Казахстану. Хотя рядом Прибалтика, Украина и Россия. Найти вариант, чтобы в Беларуси политическая система была более схожая с соседями».

Одним словом, проблему Жириновский видит в президентах, как таковых. Панацеей он назвал ликвидацию института президентства: «Раздражителем являются президенты. Парламент всегда бы пошел навстречу, всегда несколько партий. А один человек - он раздражает. Кругом дети, кругом братья, сватья. И все это обрастает и вызывает ухудшение положения».

«Давайте введем парламентские республики. Если сохраняем президентские режимы, то один срок! Никакого второго, а тем более третьего, четвертого... Четыре, пять или шесть лет - в конституцию заносите норму», - призвал Жириновский.

«Если ему (народу – Oko.by) объяснить, что парламентская республика лучше, это больше демократии, больше стабильности, больше выражения ваших симпатий, то они за это проголосуют. И в Украине нужно покончить с этим - никаких президентов. И в Беларуси так же. И в России тоже, в перспективе обязательно!», - считает политик.

Oko.by

Яснее некуда...


Вы его любите?

Это уже очень старая история, которая началась в 94ом и никак не закончится...
Но многие осознают это только сейчас. Хорошо хоть, что вообще осознают.

http://charter97.org/ru/news/2010/4/7/27925/

вторник, 21 декабря 2010 г.

Чай поможет сохранить фигуру даже при неправильном питании

Чай может помочь сохранить вес, несмотря на то, что вы любите нездоровые продукты. Такое заявление сделали японские ученые из университета Кобе, пишет The Daily Mail.
 Они выяснили, что регулярное употребление чая также подавляет развитие изменений в крови, связанных с потребление жирной пищи, что может спровоцировать диабет 2 типа. Это доказал эксперимент на грызунах.
Так, одних мышей держали на диете, насыщенной жирами. А других – на нормальной пище. Каждую из этих двух групп поделили еще на несколько маленьких. Подгруппам давали вместе с пищей воду, черный или зеленый чай в течение 14 недель. Исследователи увидели, что оба вида чая не давали грызунам потолстеть и накопить жир в области живота. Кстати, черный чай еще и нивелировал негативное воздействие, оказываемое неправильным питанием на кровь (повышение уровня холестерина, высокий уровень сахара).

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

суббота, 17 апреля 2010 г.

Выбор оружия, или сравнение различных языков программирования.

Цель этой статьи: Пролить свет и обобщить многочисленные дискуссии о языках программирования. Она больше касается сферы соревнований по программированию, но я стараюсь писать мои замечания как можно более конкретно, улучшать и добавлять что-то в процессе своего развития и развития языков программирования. Сегодня 18ое апреля 2010го года.

Pascal (императивный, структурированный)
За: очень простой язык со строгим синтаксисом – прост для начинающих – на нем просто писать программы и отлаживать их.
Против: отсутствие стандартных библиотек (в сравнении с библиотеками C++ и Java).

C++ (поддерживает много парадигм(multi-paradigm) : объектно-ориентированное, обобщённое, процедурное, метапрограммирование)
За: STL (стандартная библиотека шаблонов) – много стандартных типов данных и алгоритмов. Большая “свобода” – можно реализовать одни и те же вещи по-разному. Хорошая производительность скомпилированного кода. Хорошая поддержка C++ сегодня.
Против: Отсутствие BigInteger и BigDecimal (они есть в библиотеках Java и C#). Возможны различные ошибки, вызванные непониманием между компилятором и программистом. Вы можете найти много тем об этом, но это не проблема языка. Но из-за очень большой свободы может быть сложнее писать и отлаживать программы на C++.

Java (объектно-ориентированный, структурный, императивный)
За: более строгий синтаксис, чем в C++ – более простое чтение кода – быстрая и простая отладка. Подсказки об ошибках и неиспользуемом коде. Очень много библиотек различного типа. Сборщик мусора. Новые возможности в последних версиях явы(пр.: вариации цикла for).
Против: Медленная работа программ (в 3-4 раза медленнее чем C/C++), длинный (постоянно длинный) код, но набор кода быстрый, потому что присутствует автодополнение.
Opinion of Petr: I think Java/C# (I don't see much difference between them except speed) are best suited for programming contests, since it's so much harder to make a mistake and so much easier to find and fix a mistake in a Java program than in a C/C++ program.
Much more strict type checking (implicit casts from long long to int and from int to bool??), out-of-range checking, code flow checking (allowing to read from uninitialized variables? why would a language allow that?), fantastic IDE which finds a lot of other mistakes for you, fantastically convenient debugging, more explicit syntax (a language with less power actually leads you to writing more readable programs), more explicit error messages (and the errors are always reproducible!) - to name a few advantages, but I've probably missed some more.
I think that writing correct programs and fixing them quickly when they're not correct far outweigh the disadvantages mentioned above (slower execution, longer programs). Even a 2x slowdown is almost never important in programming competitions, while a WA always is :) And I believe that most of the time at a programming contest is spent in thinking (including the thinking you do _while_ writing code), not in writing code, so the length of the program (or the typing speed, for that matter) is irrelevant.
And I believe the availability of various libraries is also not that important. So if I were to choose between C++ and Pascal, I'd choose Pascal because of the same argument (much more strict checking of everything).
Я не перевел мнение Петра, потому что оно намного лучше звучит на английском.

C# (поддерживает много парадигм(multi-paradigm) : объектно-ориентированное, обобщённое, процедурное программирование)
За: Быстрее чем Java. Стандартные библиотеки C#: в последней версии .NET присутствуют, как и в Java, классы для работы с длинной арифметикой, но теперь вы можете использовать их как переменные базовых типов: c=a+b, и т.п.
Против: Последняя версия .NET все еще не доступна на большинстве соревнований по программированию.

VB (процедурный, объектно-ориентированный, компонентно-ориентированный, событийно-ориентированный)
Отличие от C#: Язык программирования – Visual Basic, а не C#.
Мнение alliumnsk: VB.NET это всего лишь C# с синтаксисом Visual Basic, который был сделан, чтобы облегчить перенос программ, написанных на VB. Т.е. нет никаких причин думать о VB.NET.

Мнение _ph_:
За: Python - язык широкого назначения, на нем пишут практически любые типы программ, за исключением программ реального времени. Не случайно, питон - это официальный язык #3 в Google.
Python отлично подходит для решения не очень сложных задач благодаря краткости записи и наличию встроенных средств:
·         встроенная длинная арифметика (как целочисленная, так и дробная)
·         встроенные list (aka vector<>), set, dict, tuple (aka struct)
·         библиотека для работы с регулярными выражениями re
·         функция sorted() для любых последовательностей
·         удобные строковые операции
·         удобные конструкторы списков
·         функции sum(), max(), min(), способные обрабатывать списки и т.д.
Против: К недостаткам Python с точки зрения олимпиадного программирования относятся:
·         низкая скорость исполнения программ (в среднем проигрыш в 6 раз по сравнению с С++) и особенно медленный ввод-вывод (так что без специальных ухищрений 10^6 чисел даже прочитать за 1 сек. не успеешь)
·         мало удобных IDE (единственная нормальная, что я знаю, PyDev для Eclipse)

PHP и другие языки программирования.
Пока я не вижу никаких причин использовать их на соревнованиях. Если у вас есть возражения - пишите.

Заключение:
Лучше всего знать и практиковать как можно больше языков, учиться, знать все нюансы, но это не так просто и не всегда возможно. Мы – люди, и мы не можем изменить своей природы, но мы можем постараться стать лучше. Каждый язык программирования имеет свои преимущества и недостатки, и вы всегда можете выбрать один из них для более эффективного решения определенных разных задач.
Вы должны решить для себя, чего вы хотите: гибкости и свободы языка или простоты написания, чтения, отладки и сопровождения программ; нужна ли вам высокая скорость, или ей можно пренебречь.
Надеюсь, что эта статья помогла вам понять отличия разных языков программирования, самые основные их преимущества и недостатки.

Дополнительная и использованная информация:
Ссылки:

Lisp as an Alternative to Java: http://norvig.com/java-lisp.html

Выбор оружия - обсуждение: http://codeforces.ru/blog/entry/254
Выбор оружия 2 – обсуждение: http://codeforces.ru/blog/entry/316
C#. Почему не моно? : http://codeforces.ru/blog/entry/229
Немного о C# и Linq: http://codeforces.ru/blog/entry/245
Тесты и сравнение производительности Java, C#, C++:
Определения:

Pascal: http://en.wikipedia.org/wiki/Pascal_(programming_language)

C++: http://en.wikipedia.org/wiki/C%2B%2B

Java: http://en.wikipedia.org/wiki/Java_(programming_language)

C#: http://en.wikipedia.org/wiki/C_Sharp_(programming_language)

Visual Basic: http://en.wikipedia.org/wiki/Visual_Basic

Python: http://en.wikipedia.org/wiki/Python_(programming_language)

 

Ярлыки: java, c++, vb, c#, pascal, python, лучший язык, языки программирования.

 

Благодарности: MikeMirzayanov, Petr, alliumnsk, OSt, dAFTc0d3r, _ph_, Peteris, ktuan, SkidanovAlex, Nerevar, dev_il, valergrad и всем, кто принимал участие в обсуждении данной темы.

суббота, 3 апреля 2010 г.

Расписание Top Coder - Google календарь

Календарь, сделанный мной, удален, потому что я нашел более удобное решение.
Darnley написал скрипт, который парсит расписание топ кодера и переводит в формат Google calendar. Пока скрипт работает корректно, будем надеяться, что это не изменится :)
Спасибо, Darnley.
More...
Я сделал Google календарь расписания Top Coder.
Вы можете использовать его и даже сделать лучше, при желании.

Полезные ссылки для программистов

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

Печатаем... Как напечатать закрытый pdf файл?

Иногда у нас может возникнуть проблема: мы сделали pdf файл и поставили на него ограничения, например, запретили печать. А потом забыли пароль или не сохранили копии без ограничений.
Что же делать, если мы захотим его распечатать?
Я пользуюсь линукс, сейчас - одной из последних версий ubuntu (9.04). Но это не так важно.
Итак, у меня есть вариант решения нашей проблемы:

pdftoppm copy.pdf copy.ppm //каждая страница pdf файла будет сохранена в отдельном ppm файле
convert *.ppm one.pdf //объединяем много изображений в один pdf файл. все говорят, что это прекрасно работает, но я не совсем уверен. Я не смог дождаться результата и отменил эту операцию, она использует очень много оперативной памяти.
for file in *.ppm; do ppmtojpeg $file > ${file/.ppm/.jpg}; rm $file; done //конвертируем все ppm файлы в jpg
ls -d *.ppm | sed 's/\(.*\).ppm$/mv "&" "\1.jpg"/' | sh //меняем расширения файлов с ppm на jpg
convert *.jpg > one.pdf  //можете попробовать объединить изображения в один pdf, но я не гарантирую, что это сработает.

В принципе, можно остановиться на ppm файлах, если вы можете распечатать файлы этого типа или хранить их, потому что они весят намного больше аналогичных jpg файлов.
Мы напечатали закрытый pdf файл.
Я проделал все это на моем ноутбуке с Linux Mint 7 (Ubuntu 9.04) на борту.
Функция convert содержится в пакете ImageMagick.