Jun 21

Думаю, все знакомы с сайтом, предоставляющим возможность сравнить реализации различных языков программирования по скорости и потреблению памяти - Computer Language Benchmarks Game.

Зашел я туда сегодня… Почему - уже не помню, и обнаружил такую вот картину, которая меня довольно сильно удивила:

Shootout: Ruby

Руби на последнем месте… Раньше всё вроде было немного по-другому. Радует, что 1.9.0 будет “немного” быстрее. :)

written by FX Poster \\ tags: ,

Jun 11

Нет, я не собираюсь перечислять нововведения в новой версии ROR, это уже сделали другие, а я лишь представлю вам их наработки. Встречаем очередную бесплатную книгу по рельсам - “Ruby on Rails 2.1 - What’s new”. В ней, как можно догадаться из названия, описываются (главные?) нововведения в последней версии фреймворка.

Почитать о книге и скачать её можно здесь.

PS. Сам книгу посмотрел… Могу сказать, что тем, кто рельсами не занимается, она будет довольно непонятной. Прочтите что-нибудь другое, например, Agile Development With Rails.

written by FX Poster \\ tags: ,

May 27

Доступна для свободного скачивания книга “Road To Ruby”, предназначенная преимущественно для тех, кто имеет опыт программирования на C#, Java и C++. Подробности и ссылку для скачивания можно получить здесь (для скачивания нужно будет зарегистрироваться на сайте internet.com).

Кто не хочет регистрироваться - может скачать книгу у меня.

written by FX Poster \\ tags: ,

Mar 18

Собственно, побывал я на первой своей конференции, впечатления остались, в целом, положительные, но обо всём попорядку…
Continue reading »

written by FX Poster \\ tags: ,

Sep 23

Спасибо, поржал.

Статья типа “Nokia 1100 лучше Nokia N95 потому что у нее больше клавиши, есть фонарик, да и вообще - мне удобнее ей пользоваться“.

written by FX Poster \\ tags: , , ,

Sep 01

Не спится. Сижу пишу scaffolding для Zend Framework. Возникла проблема - для того, чтобы реализовать полноценное редактирование/удаление записей в таблице нужно добавить к стандартному классу Zend_Db_Table_Row одну public-функцию. Вот теперь сижу и думаю - насколько “правильно” будет просто открыть файл с этим классом и дописать функцию по сравнению с порождением подклассов.

С точки зрения проектировщика - этого делать не стоит. лучше породить подкласс. Но в данном случае прийдется порождать подкласс не только от Zend_Db_Table_Row, но и от Zend_Db_Table, а может и еще чего-то. Чего делать ну вообще не хочется - там кода писать абсолютно тупого - ну просто дофига (возможно я преувеличиваю немного, но все же…).

Чтобы вы делали в моем случае?

Да… Все больше и больше понимаю “недоразвитость” PHP. Если уж делать язык динамически типизированным и объектно-ориентированным - почему нельзя было сделать это нормально? Примеры “нормальных” языков в этом плане привести несложно - Python, Ruby, JavaScript.

В питоне такое “добавление” метода к классу решалось бы так:

def some_name(self):
    ...
Class.new_func = some_name

В JavaScript и того легче:

Class.new_func = function() {...}

А в PHP… Эх…

written by FX Poster \\ tags: , , ,

Aug 28

Какие языки сейчас используются в веб-программировании? Навскидку я могу составить такой список: C#, Java EE, Python, Ruby, PHP, Perl. JavaScript брать в расчет не буду - сейчас я хочу поговорить именно о server-side языках.

C# - первая версия этого языка появилась в 2000 году, для веба стал использоваться с приходом ASP.NET, который вышел в 2002м году.

Java EE -  первая версия, которая называлась J2EE и имела версию 1.2, вышла в далеком1991м году. Следующая версия 1.3 была выпущена аж через 11 лет. Сейчас новые версии выпускаются гораздо чаще. Используется в основном для разработки веб-сервисов. По крайней мере я не встречал мелкие или небольшие компании, которые писали бы “просто сайты” на Java EE.

Python - на самом деле достаточно древний язык. Первая версия языка была выпущена в 1990м году. Когда его начали достаточно сильно использовать в веб-приложениях сказать трудно. Можно считать, что в интернет он вошел с появлением таких легких и быстрых фреймворков, как Django/Turbogears и т.д. В таком случае получается что в инете он с 2004-2005-го года. На самом деле все было несколько раньше, но приход в интернет в то время был не совсем очевиден. Фреймворк Zope, который был изначально нацелен на интернет, был выпущен в 1995-1997 годах. Точнее на данный момент сказать не могу. Но еще раз повторюсь - это не было массовым явлением.

Ruby - разработан в 1995м году. В интернете стал использоваться с появлением, ясное дело, Ruby On Rails, который вышел в 2004-м году.

PHP - эдакий старичок программирования сайтов. Первая версия, которая называлась PHP/FI вышла в 1994м. А тот PHP, который мы знаем появился в 1997м году с выходом PHP3 и именно с этого момента он начал набирать популярность как язык для веб-разработки.

Perl - вышел в 1987м году, а вот когда появился в вебе - для меня остается тайной. Я этот язык особо никогда не любил и уж тем более никогда не использовал. Пользуются ли им еще в вебе - пользуются, но, как мне кажется, популярность этого языка неуклонно падает.

Теперь, собственно, к чему я вел это все. Выводы по Perl’у я делать не могу, а вот по всем остальным языкам получается интересная картина. C#/Python/Ruby - заявили массово о себе совсем недавно, причем их массовое распространение связанно с написанными для них фреймворками (ASP.NET/Django и компания/ROR). Java - в вебе используется только Java EE, и, хоть и появилась она давно, сейчас явно не собирается скидывать обороты. PHP - язычок, который пришел в веб сам, для которого до недавнего времени и фреймворков то не было, а те что были - их не использовали.

Я веду к тому, что все современные языки в вебе используют фреймворки, причем используют чуть ли не в обязательном порядке (да, вы можете на руби писать веб приложение, не используя рельсы, но никто этого при здравом уме делать не будет). А вот писать приложение на PHP не используя никаких уже созданных компонент - вполне обычное дело. И народ наоборот не хочет использовать фреймворки аргументируя это тем, что они “слишком сложные”, “тормозные” и т.д.  И очень большая часть сайтов делается потом непонятно как… посмотришь код - убиться хочется.  такое впечатление, что фраза “PHP портит нормальных программистов” - это не бред, а самая настоящая реальность.

В итоге (все ИМХО):

  1. смысла использовать PHP, если есть возможность использовать что-то более современное, - НЕТ
  2. если уж использовать PHP, то с умом - не писать все сначала, а выбрать удобные компоненты для разработки нужного вам веб приложения

Из PHP Framework’ов я бы посоветовал выбрать Zend Framework, как наиболее конфигурируемый и обьектно-ориентированный. Для себя я выбрал именно его. Но в нем есть одно “но” - если вы в качестве wrapper’а для DB собираетесь использовать зендовские классы - вам возможно прийдется сменить хостера, так как нужна будет поддержка PDO/PDO_MySQL/PDO_PgSQL, которая, как мне кажется, не у всех хостеров есть.
PS. Лично мне сейчас нравится:

  • для веб-разработки для себя - Python, для заказов - PHP + Zend_Framework
  • для desktop-gui-приложений - C#
  • для консольных - C++

PPS. Пару часов назад гуглил украинских хостеров. Завтра буду узнавать - есть ли у них поддержка PHP >= 5.1.3 и PDO_MySQL (требования к Zend Framework’у). Посмотрим, какие результаты это даст. Кто знает хороших укр. хостеров - отписывайтесь, составлю табличку - кто и что поддерживает.

written by FX Poster \\ tags: , , , , , , , , , , ,

Jun 20

Смотрим видео (36 минут)

PS. xen, за линк огромное спасибо! 

written by FX Poster \\ tags: , , , , , , ,

Jun 16

Никто не сталкивался со статьями по сравнению этих двух языков (типа C# vs Java)?

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

written by FX Poster \\ tags: ,