LINUX.ORG.RU

Подскажите годную альтернативу PHP/MySQL для PHP-быдлокодера со стажем.


1

2

Имею несколько лет опыта разработки на PHP/MySQL. До этого изучал C/C++ но их знаю на уровне hello world т.к. никаких серьёзных проектов не делал. Имел небольшое знакомство с Java которая не понравилась по многим факторам в том числе из-за ужасной производительности.

Чем больше опыта - тем лучше понимаешь что платформа PHP/MySQL трухлявая. Но совершенно не представляю куда ещё податься. Пытался перейти на Ruby. Поначалу язык показался очень приятным. Но при более близком знакомстве с написанными на нём фреймвёрками не понравился.

Присматриваюсь к Python. Нравится изящество и простота, толковый подход, упор на надёжность (в том числе и в большинстве программного обеспечения написанного на Python). Но есть одна проблема: с PHP было всё просто, можно сразу сесть и писать. Синтаксис дался легко т.к. был знаком с C/C++ до этого. Основную часть PHP изучил за 1 день. Поставил Apache + PHP + MySQL и можно сразу приступать к разработке. Для small to medium sized ничего более не требовалось. Но начал замечать что в более объёмных проектах было бы неплохо иметь framework. Имел знакомство с некоторыми PHP frameworks включая cakephp и не известно как прозносимый yii. Очень не понравились из-за громоздкости. Пытался разработать свой более lightweight. И пришёл к выводу что OOP в PHP хоть и существует но пользоваться им крайне не приятно и производительность начинает резко падать при любой OOP-изации. Обнаружил множество тёмных мест в PHP. Обратил внимание на сравнение - количество bug fix'ов в новых версиях PHP vs. Python и поразился как непрофессинально пишется PHP. Очень понравилось что последнее Security Advisory в Python датируется 2006 годом (как такое возможно? может я что то путаю: http://python.org/news/security/).

В общем Python как платформа выглядит для меня очень привлекательно, но как только дело доходит до практики не знаю с чего начать. Просто так сесть и писать как в PHP не получится - в дополнение нужен ещё framework. Но их так много что я не знаю как выбрать. Такие большие как Django отпадают т.к. ищу что то более lightweight. Множество других имеют довольно скудную документацию, по крайней мере с документацией PHP не сравнится.

Например нравится Pyramid, прочитал один туториал - понравилось. Начал читать другой для более сложного приложения и в конец запутался т.к. очень много вариантов. Может кто-то порекомендует что ещё почитать и/или посмотреть open source приложения т.к. с текущим объёмом знаний браться за серьёзный проект на Pyramid не считаю возможным.

Другими словами: требуется эффективная надёжная среда разработки веб приложений. Прошу помочь PHP-быдлокодеру стремящемуся к прекрасном :)

По поводу MySQL думаю переключиться на PostgreSQL, учитывая поглощение MySQL ораклом и как следствие проприетаризация.

Ответ на: комментарий от bunny2011

PHP + OOP = отстой

Почитай документацию Symfony2. Сдаётся мне, что ты простой хейтер, который не осилил ООП в целом.

resurtm ★★★
()
Последнее исправление: resurtm (всего исправлений: 1)
Ответ на: комментарий от VirRaa

Или приведи конкретные аргументы или иди лесом. В PHP'шном OOP всё отстойно начиная от синтаксиса и огромного количества нелогичных ограничений и заканчивая резким падением производительности.

tyler19
()
Ответ на: комментарий от tyler19

В PHP'шном OOP всё отстойно начиная от синтаксиса и огромного количества нелогичных ограничений и заканчивая резким падением производительности.

Маленький мой дружочек, какой же ты смешной. Во-первых, обсираешь ты, соответственно приводи аргументы сам. Во-вторых, если тебя так бесят ограничения в PHP ООП, как же ты живёшь без приватных методов (один из пастулатов ООП - инкапсуляция) в питоне?

VirRaa ★★★
()
Ответ на: комментарий от VirRaa

Мне насрать на теоретические пастулаты, больше интересует практическое удобство. И вот OOP в PHP крайне не удобный. Регулярно натыкался на ограничения которые кроме как недоработкой не назовёшь (т.е. смысла в них нет). Как только снова столкнусь постараюсь не забыть и отписаться сюда.

tyler19
()
Ответ на: комментарий от tyler19

Мне насрать на теоретические пастулаты, больше интересует практическое удобство.

Тебе насрать, просто потому что ты мудак и не понимаешь что такое ООП. Вот и всё. Несешь чушь про то, что натыкался и ни одного примера не привёл. Клоун.

VirRaa ★★★
()
Ответ на: комментарий от VirRaa

(один из пастулатов ООП - инкапсуляция)

приватных методов

Facepalm. Поначитаются всякого бреда и идут размахивать «постулатами».

baverman ★★★
()
Ответ на: комментарий от baverman

Facepalm. Поначитаются всякого бреда и идут размахивать «постулатами».

В центре ООП находится понятие объекта. Объект — это сущность, которой можно посылать сообщения, и которая может на них реагировать, используя свои данные. Объект — это экземпляр класса. Данные объекта скрыты от остальной программы. Сокрытие данных называется инкапсуляцией.

И, да, Подскажите годную альтернативу PHP/MySQL для PHP-быдлокодера со стажем. (комментарий)

VirRaa ★★★
()
Ответ на: комментарий от VirRaa

Объект — это сущность, которой можно посылать сообщения, и которая может на них реагировать, используя свои данные.

Золотые слова. Только при чем тут private?

baverman ★★★
()
Ответ на: комментарий от VirRaa

Хы-хы, да, до Говоруна тебя как муравью до Бреста.

Маленький вопросик. Зачем нужен private, если он легко обходится?

baverman ★★★
()
Ответ на: комментарий от VirRaa

В центре ООП находится понятие объекта. Объект — это сущность, которой можно посылать сообщения, и которая может на них реагировать, используя свои данные. Объект — это экземпляр класса. Данные объекта скрыты от остальной программы. Сокрытие данных называется инкапсуляцией.

Это понятие находится в центре ОП. В центре же ООП находится понятие inheritance.

Что касается сокрытия данных практика показывает что это не такая уж важная вещь как может выглядеть в теории. Как уже было сказано обойти это можно с лёгкостью хоть в C++ манипулируя указателями, хоть в Java с помощью reflection. Однако это самое сокрытие преследует совсем другие цели.

tyler19
()
Ответ на: комментарий от tyler19

В центре же ООП находится понятие inheritance.

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

baverman ★★★
()
Ответ на: комментарий от VirRaa

Сокрытие данных называется инкапсуляцией.

Это побочное свойство инкапсуляции, ёпт. Основной смысл инкапсуляции в объединении данных и кода (методов и полей класса, грубо говоря).

Например во многих языках нет явного разделения на public/private, тут инкапсуляция не порождает сокрытие данных. С другой стороны в тех же языках могут быть замыкания, причем до данных в замыкании доступа извне обычно нет — и получается сокрытие этих данных.

staseg ★★★★★
()
Последнее исправление: staseg (всего исправлений: 1)
Ответ на: комментарий от baverman

И у меня когда-то было так. Меня вылечили, и его вылечат!

staseg ★★★★★
()
Ответ на: комментарий от VirRaa

http://ru.wikipedia.org/wiki/Инкапсуляция_(программирование)

Не позорься больше. Это широко растиражированное заблуждение вроде силиконовой долины. Семантически само слово «инкапсуляция» - это смесь «объединения» и «закрытия» в смысле «убирание» или «закупоривание» и не имеет никакого отношения к «сокрытию» в смысле «прятать».

А по поводу замыканий, мы ведь обсуждаем ООП.

Инкапсуляция ортогональна парадигме программирования. Замыкание - это тоже пример инкапсуляции.

staseg ★★★★★
()
Ответ на: комментарий от bunny2011

PHP + OOP = отстой

Это ты типа хочешь сказать, что в Python ООП лучше? А руби наверное забраковал тоже из-за ООП?)

goingUp ★★★★★
()
Ответ на: комментарий от baverman

Зачем нужен private, если он легко обходится?

Это в питоне он легко обходится, просто берешь и вызываешь _method() :)

goingUp ★★★★★
()
Ответ на: комментарий от baverman

В моей книжке по питону был _method. Что как бы намекает на действенность соглашений вместо синтаксиса языка.

goingUp ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.