Взгляд на проект SKY с разных сторон

Эволюционная трактовка

Вы программист? Нужно чтобы вы были программистом, иначе сложно будет понять... Говорят что PHP - язык предназначенный для создания веб-приложений. Но на чистом PHP никто никогда не пишет серьезные веб-приложения, потому что ему "многого не хватает", в общем-то потому и существует огромное количество фреймворк для работы с ним. Но давайте поставим такую цель: сделаем минимальные дополнения в PHP с той целью, чтобы PHP стал пригодным для написания серьезных веб-приложений.

Coresky файлы: сделаем всего один файл(!), который будет выполняться всегда(!), назовем его main/sky.php и напишем в него код минимальных дополнений. Говоря "всегда" я имею ввиду - и при запусках cron (консольных запусках) и при работе с HTTP пакетами. Итак всего по одному файлу для каждого случая:

main/sky.php - запускается всегда
main/wing.php - запускается всегда (только при работе с HTTP включая админку, не консольные запуски)
main/front.php - запускается всегда для фронтальной части веб-приложений
main/mvc.php - MVC layer для фронтальной части веб-приложений
main/etc/debug.php - файл выполняющийся всегда в режиме DEBUG. На production и тем более на высоко нагруженных проектах он никогда не будет даже подключен к коду, не будет выполняться (и занимать вычислительные ресурсы), но он нужен для этапа отладки.

Эти 5 файлов назовем coresky кодом. Так получилось, что отдельно для админ раздела не нужен специальный отдельный файл. А код main/front.php и main/mvc.php можно часто слить в один файл, но не всегда и вопрос о принятии такого решения для меня остается открытый.

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

Но проект SKY не о PHP и даже не о веб-программировании это попытка найти способ создавать идеальный код вообще в любой отрасли программирования. Сейчас в Интернете много хают язык PHP (иногда справедливо), хотя он уверенно продолжает занимать лидерские позиции. Но я смею уверить, что даже стандарты тоже выпускаются во многом плохие и даже неадекватные! Может хватит глючить? Может пора заняться SKY?!

Парадигма программирования SKY

В отличие от традиционного подхода создания кода для повторного использования (КПИ), в SKY уделяется гораздо большее значение потенциальной частоте использования КПИ. Это есть глубинный фундаментальный принцип, который определяет форму проекта SKY и его дальнейшее развитие.

Код который часто используется имеет смысл подготовить как КПИ и сделать его идеальным. Код который нужен редко, можно вообще рассматривать не как код КПИ, а код приложения. Поэтому код КПИ в SKY не является излишне гибким (как в традиционном подходе), а вместо этого стремиться быть тривиально простым и качественным. Возможные проблемы, которые могут возникнуть, в связи с вышеописанным, решаются специфическим образом, в некотором роде, задающим тон проекта SKY. Авторство кода в SKY, является свойством кода, а не его частью имени (как определено в PSR).

Устоявшийся современный подход создания кода для повторного использования, используемый флагманами КПИ framework Symfony и др. и закрепленный в PSR, не уделяет достаточного внимания частоте потенциального использования КПИ и принципам KISS. Вместо этого используется идеалистический принцип: КПИ подготавливается намного более гибким, чем в SKY и охватывает максимальную область программинга, без четкой иерархии потенциальной частоты использования этого кода. "Full stack framework" подразумевает, в некотором роде, описанное выше и рекламируется как преимущество. Но такой подход создает ряд проблем, которые находятся в тупиковой ситуации и не могут быть разрешены. Чистый идеализм, в философском смысле, не всегда есть хорошее отражение реальной ситуации и не всегда является хорошим фундаментальным принципом в архитектуре чего либо.

Бизнес идея проекта SKY

Если Wikipedia можно считать идеальным толковым словарем терминов, а facebook идеальным местом для общения людей, то проект SKY можно будет считать в будущем, идеальным местом для поиска КПИ, которое будет наследовать успех обоих проектов, но только в области кода и только для программистов.

Успех существующих известных проектов github, packagist, stackoverflow мал и не сопоставим с вышеописанным. Имхо, их успех можно сопоставить как успех любого форума с успехом facebook, хотя в обоих случаях главное назначение - просто общение людей.

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

История отрасли и необходимость SKY

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

Имхо, множество новых идей известных в данный момент в области веб-программирования, не способны произвести "прорыв". Все это похоже на рутинные эксперименты и желание создать что-то новое. Я думаю, что "прорыв" может дать способность людей писать более качественный код более просто, что является главной целью проекта SKY. Выпуск новых стандартов недостаточно формализует процесс программирования и делает его простым. Необходим проект SKY. Наоборот, проект SKY может стать отправной точкой для специалистов декларирующих стандарты.
published ENERGY - 16 Aug 2017 05:43 GMT
last edit - 16 Oct 2017 05:23 GMT
 +  0  -  add comment