sun

sun
Рейтинг
81
Регистрация
22.10.2005
Segey:
Алгоритмы тоже вопрос довольно больной, т.к. их много и самого разного плана приходится решать задачи, я пока их никак не могу структурировать и сделать для себя какие-то ориентировки или на работки. Что можно почитать на это тему примерно как "Развиваем мозги и направляем их в правильное русло для того, чтобы лучше придумывать алгоритмы" или что-то такого плана.

На самом деле 95% что делается для веб давно имеет шаблонные алгоритмы на каких языках не пиши. Если не видите четкого решения, посмотрите как это делают другие, или спросите на форуме phpclub :)

Зингельшухер:
2 - Смысла писать классы нету, сначала надо полностью изменить мышление и "мыслить-объектами" только тогда можно будет приступить к практике.

Полностью согласен, пока мышление не перестроится бесполезно пытаться писать в струе ООП.

edogs:
Это скорее в гугл, не храним подобное. Вот старая статейка, прочитайте http://live.julik.nl/2005/05/rails-ugh - многое правда, хотя многие замечания уже устарели.

:) это писалось довольно давно.

Я спрашивал про ruby язык, а не фреймворк rails, речь шла имено об языке.

edogs:
ruby далеко не везде поставлен, ещё сыроват, и совсем не так быстр как хотелось бы.

Хотелось бы факты увидеть или тесты быстродействия ruby?

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

topol:
sun, мне трудно оценить язык "рельсы" сходу. Притом, я пишу на чем умею. Но вижу код, который вы привели непохож ни на JS, VB, AS, PHP, VB.NET(какие-то закорючки, значения которых без пособия не понять) - он еще и интрепретируемый. В свое время Борланд поднялся на своем трансляторе не спроста. Если у руби такой фрамворк, то получается, что все плюсы о которых вы пишите в нем, так же как это в VB.NET, где нужен толстый справочник, т.к. что-бы программировать эффективно надо знать эти все уже кем-то написанные методы.
В ПХП встроенные функции не переписать, но код транслируется и пулей выполняется-еще и этим ПХП подвинул в СВОЕ время тот же ASP.

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

Фреймворк написан на ruby, так же как и и фреймворки написанные на php, питоне.

Без мануала конечно не обойтись, более того кто не дружит с английским будет крайне сложно, поскольку на русский язык все переводиться с таким сильным скрипом, но говорят что после нового года выйдет книга по рельсам на русском :)

Кому интересно http://www.rubyonrails.ru/screencasts.html "Делаем блог за 15 минут" видио, в свое время именно этот ролик меня заразил этой технологией :), и особенно клиент работы с бд, жаль Mac такой дорогой :)

Shema:
Вы уж определитесь, это альтернатива Java или PHP.
Пока из не очень популярных языков симпатизирует только Python.

Не понял это вопрос?

Если да, то не скажу, что полностью поменял php на ruby, на php удобно писать в силу его распространенности на хостингах и только не большие приложения, типа парселки, доргена и т.д. :)

А если большой сайт с нуля то ruby on rails.

Питон, не пробовал :), хотя немного читал о нем.

Shema:
Учитывая, что Java всё-таки популярнее Ruby, могу предположить, что Java всё-таки будет получше него, а значит о Ruby можно смело забыть, если он позиционируется как основной аналог.

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

Shema:
Пока не будет сделано полностью объектно-ориентированной ОС, объектно-ориентированные языки не будут выдерживать конкуренции. Windows до объектно-ориентированной ОС ещё пахать и пахать, а про Linux и говорить не стоит. Это вовсе не минус ОС. Это просто причина, почему не надо писать на "полностью ООЯП".

Вот этого высказывания я не понял, при чем тут ОС и язык как на котором написано приложение.

С такой философией можно подумать зачем изобретать другие языки, будем на С писать, зачем еще что-то.

Если мне удобно писать на одном языке и не удобно на другом, я не буду смотреть какая у меня ОС, я ставлю себе интерпретатор и пишу на ruby, или на java, или на php.

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

topol:
кроме шуток, что так хорошь руби?

Руби, хорош :) http://ru.wikibooks.org/wiki/Ruby вот вам ссылка почитайте.

Сделаю ЗАМЕЧАНИЕ, что я говорю не о чистом ruby, а о ФРЕЙМВОРКЕ ruby on rails, что это поищите в сети.

topol:
заказчик заказывает сложное приложение и ему завтра показывают задел...заманчиво, может ему готовую смску показывают?

Нет делают "с нуля", если интересно почитайте про scaffold'ы в ruby on rails.

topol:
А как у руби с хостингом? Стали хостеры его у себя ставить?

Вот, на днях пришла информация, что мобихост у себя установил, но это не точно.

В буржунете полно, дримхост например.

Shema:
Когда всё написано, это не очень хорошо.

Когда вам нужно каждый раз в одних и тех же приложениях прописывать один и тотже код. Например шаблонизатор вы его каждый раз пишите с нуля? Smarty и подобные модули вы пишите с нуля? Не думаю.

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

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

Хочу расставить все точки над i.

Ruby - это интерпретируемый язык и на нем можно писать не только для web, по функционалу не уступает тому же java.

Ruby - является полность ООП, и в существует только два языка полностью объектно ориентированные это ruby и java думаю это о многом говорит.

Ruby on rails это фрейм ворк написанный на языке ruby только для веб приложений, при установке которого у вас уже имется примерная структура вашего веб приложения.

Все сказанное это мое ЛИЧНОЕ мнение.

И финальный гвоздь :) цитата из wiki по руби:


Методы, которых не было

Экспериментально замечено, что во время сессии у студентов в разы повышается способность к изобретениям различного рода. Иногда, удается направить эту энергию в мирное русло: некоторые студенты во время сдачи зачета начинают придумывать свои методы. Естественно, что "придуманные методы" они реализовать не могут, но с этим замечательно справляются их преподаватели. Некоторым методам даже дают имена студентов, которые приложили свое незнание к их созданию. Многие из таких методов включают в последующие версии языка.

[править] Ширяевский .size

Студент МЭТТ Ширяев Денис, на одном из зачетов предложил использовать метод .size в качестве итератора. Он использовал его для подсчета количества элементов массива, удовлетворяющих условию. По сути, он предложил укоротить связку .find_all{ ... }.size. Вот как будет выглядеть программа подсчета количества четных элементов массива:

maccuB = [1,2,3,4,5,6]
maccuB.size{ |i| (i%2).zero? } #-> 3

Чтобы заставить работать данную программу, необходимо перед использованием итератора .size написать следующий код, который будет реализовывать эту функциональность:

class Array
def size( &block )
block ? inject( 0 ){ |count,elem| (yield elem ) ? count + 1 : count } : length
end
end

Метод реализован только для массивов, но возможно его добавление к хешам или строкам.

Попробуйте переписать встроенные функции в php, получилось :)?

topol:
А, кто мешает на ПХП те же конструкции(обьекты, методы) написать один раз и пользоваться всю оставшуюся?

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

Есть другая организация которая пишет на рельсах, они ему мало того, что через день предоставят уже начатое и работающее решение(естествено не сделанное до конца, а просто скелет, но уже работающее, без дизайна), как вы думаете к кому пойдет клиент заказывать?

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

Первое что бросается в глаза когда начинаешь программировать на руби это нормально человеческое название методов, в php есть супер функция nl2br вот вы мне скажите если не знаешь что она делает можно догадаться о ее предназначении?

ТВЭЛ:
sun, Руби, говорят, потормознее будет маленько? Вообще, как впечатления, расскажите?

Но если говорить о ruby on rails(релсах) то, да, не скрою, НО гтовый продукт будет работать так же как php может даже быстрей, с чем это связано:

из-за того что в рельсах используется концепция быстрой разработки, в них не нужно прописывать SQL запросы. Если это делается то в очень специфических случаях.

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

@user = User.find(1)

@user.data.firstname

Т.е. в переменной @user.data у нас уже хранится вся информация и любые данные из этой таблиц нам доступны.

В рельсах есть несколько настроек проекта это разработка готовый продукт и тесты

так вот когда вы переводите свой продукт в стадию готового, идет кеширование страниц которое поднимает производительность в разы.

Так что все уже предусмотрено.

В рельсах очень удобно сделана возможность командной разработки. Это я считаю, большой плюс.

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

И еще много-много всего можно говорить о руби и рельсах.

Сам руби работает также как и php. По крайней мере для Вас я думаю это будет незаметно на глаз :)

Всего: 493