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 ораклом и как следствие проприетаризация.

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

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

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

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

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

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

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

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

Вы что то путаете. Пойдём по пунктам:

Это набор слухов? Откуда вы взяли про «очень низкую эффективно исполнения»? Откуда вы взяли что, «нестандартное начинает сильно мешать», «очень низкая надёжность»? А про проблемы с безопасностью вы вообще не в теме, похоже, просто заголовки новостей читали и не разбирались, что ж это за «проблемы».

Ознакомьтесь в Rails сами, без мнений «аналитиков», хотя бы для получения обьективной картины мира.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

PHP + OOP = отстой

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

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

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

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

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

Ясно. Согласен, ~200 посещений в минуту это не много.

Странные цифры, я один в лучшие годы в пике чаще посещал. Да и с ботами многие экспериментировали.

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

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

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