Написание cms. Python vs Php.

Я начинающий web-deloper, работал только на html, css, js. И то знания больше поверхностные. Надумал, что пора слезать с "костылей" Wordpress на, что-то свое. Разумное решение это написать CMS под свои нужды. Тут и встает вопрос какой язык лучше php или python. Я слишком неопытен, что - бы видеть в них разницу. Если говорить о конкретных задачах то мне нужно написать CMS. Она должна обладать такими возможностями как: - Полноценное взаимодействие с БД, из списков, таблиц, строк, и строить таблицу уже на стороне клиента по его параметрам, поменяв частично или полностью структуру. - Запись файлов, перед записью, они должны автоматически переименовываться, у падать в нужный мне каталог. - соответственно создание страниц, перехода между ними, многоуровневая иерархия. Я не знаю, какой язык выбрать для реализации, ведь PHP король серверных языков, а Python просто легкий в синтасиксе, да плюс у него проблема с переходом со 2 на 3 версию. Помогите определится. Не тыкайте носом в гугл, а дайте совета.

  • Вопрос задан
  • 12794 просмотра
Решения вопроса 2
@TonyFreed

На самом деле, сам язык не так важен. Важно насколько вы хорошо понимаете, что происходит за кадром и что может происходить в разных ситуациях. Конечно же есть языки которые лучше подходят для решения определенных задач. Но практически все задачи решаются на любом языке. Поэтому понимание процессов важнее знания языков. Грубо говоря, если вас спросили как кудато пройти и вы не знаете, то и на родном русском объяснить не сможете. А если знаете, то со словариком или без, на любом языке объясните.

Раз уж вы знакомы в WordPress, изучите PHP. В качестве фреймворка я бы посоветовал СodeIgniter как самый простой.

Я не советую вам сейчас лезть в Python и другие языки. PHP, даже без фреймворков, заточен под веб и во много облегчает работу. С ним достаточно легко научиться понимать и делать базовые вещи (связь с БД, обработка запросов, понятие ООП, MVC, Design Patterns). Когда почувствуете что бы достаточно хороши в PHP и в понимании основ программирование, беритесь за Python / Ruby / Java / и так далее.

Кроме того, на PHP на самом деле больше работы.

Удачи

Ответ написан
Keksinautin
@Keksinautin
Software Engineer

Можно спускаться сверху вниз: - пользовались WordPress - отлично, так продолжайте его изучать, параллельно с изучением PHP в целом. Пишите модули, изучайте решение самых популярных проблем на примере архитектуры этой CMC. - посмотрите в сторону других СМС, покопайтесь, пощупайте. - далее можно спустится к фреймворкам, опять же, используя предыдущий опыт, посмотрите, что Вам больше нравится. - затем можете попытаться написать что-то совсем свое на чистом php. Аналогично и с Python, только я не знаком с CMC на нем.

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

Какой путь выбрать в Вашем случае, зависит еще и от того, что нужно сейчас. Если нужно поддерживать сайт на какой-то СМС, то первый, если нужно решение нестандартной задачи, то проще это сделать на чистом языке и дальше уже как пойдет.

Ответ написан
Пригласить эксперта
Ответы на вопрос 10
ASPAnt
@ASPAnt

Какой лучше знаете, на том и пишите. Правда судя из первого предложения Вы не знаете не тот и не тот. Поэтому тут дело вкуса.

Ответ написан
Комментировать
inlanger
@inlanger
Django программист

В свое время перешли от Wordpress к Django по многим причинам. Одна из главных причин это сам язык - на Python оказалось писать намного приятнее и быстрее. Кастомизация Wordpress иногда напоминает танцы с бубном - часто не ясно где вылезет очередной баг. В этом плане Django оказалась намного предсказуемее, что в итоге выливается в более быстрый процесс разработки и поддержки проектов. Но иногда мы используем Wordpress, но только тогда, когда заранее видно что это проект идеально вписывается в концепцию CMS и не нужно будет городить велосипедов.

Ответ написан
kotomyava
@kotomyava
Системный администратор

Написать свою CMS не имея толком навыков программирования, одна из наиболее неразумных идей, на самом деле. =) Вы не научитесь практически ничему, но ри этом у вас получится даже не велосипед, а велосипед с квадратными колёсами, и на каком языке он будет написан, если у вас вообще хватит терпения довести его до конца, будет совершенно не важно.

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

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

Ответ написан
Комментировать
Zeratul
@Zeratul

Самописный движок - те же самые костыли. Если все-таки есть большое желание написать всё самому, то берите любой фреймворк и на его основе делайте движок. СodeIgniter, Yii и подобные.

Посоветовал бы еще Django, но там и так почти полноценная CMS..

Ответ написан
Cobalt
@Cobalt
Программист - этим все сказано

Из личного опыта: не стоит как писать свою cms так и юзать готовую. Особенно начинающему разработчику. Имеется ввиду что не стоит писать cms ради самой cms. Дело в том, что когда вы попытаетесь ее применить в каком-то нестандандартном проекте - окажеться что архитектура чего-то не позволяет сделать и приходиться строить костыли. В итоге через пару итераций cms превращается в набор костылей. Очень запутанный набор костылей.

За свою более чем десяти летнюю практику я пришел к выводу что cms и библиотеки слишком ограничивают. Зато за это время скопилось огромное кол-во решений всяких типовых задач. И теперь создавая новый проект просто перетягиваем классы и функции из "опытного багажа" в нужный проект и правим под собственные нужды. Т.е по сути тотже набор костылей но без всего лишнего.

Поэтому совет слудеющий - если есть проект который не горит по срокам - пишите с нуля с таким расчетом чтобы использовать тотже код и в других проектах. Но не гонитесь за универсальностью. Лучше в следующем проекте исправить пару методов в классе чем потратить день на написание класса на все случаи жизни. К следующему проекту вы уже будете видеть удобство/корявость тех или иных элементов ваших костылей и возможно захотите что-то в них поправить. В итоге у вас будет постоянно развиваемый и пополняемый "багаж костылей" который от проекта к проекту будет становиться все лучше и чище.

Ответ написан
Комментировать
Keyon
@Keyon
fullstack developer

Погляди на nodejs, раз знаешь js то будет проще и быстрей =)

Ответ написан
LazyProger
@LazyProger
не ну...

Сначала посмотри, сколько написано цмс на PHP и сколько на Пайтоне, сразу скажу у PHP огромный отрыв.

PS все те требования, что ты написал очень легко реализовать на PHP PSS php очень простой в изучении и синтаксис его довольно понятный.

Ответ написан
Комментировать
@eill
сетевой инженер

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

при переезде с php на python придётся сильно поменять способ мышления (я недавно переполз с perl на python, правда, в более близких к системе вещах и теперь это ощущаю в полной мере).

опыт позитивный, рекомендую.

Ответ написан
Комментировать
@BlackTritium Автор вопроса

Всем большое спасибо за советы. Попробую все же продолжить работать на Php, Но уже с фреймворком

Ответ написан
Комментировать
oxyberg
@oxyberg
Продуктовый дизайнер ВКонтакте

Сам начинал изучать ЯП с PHP, думаю перейти на питон, но он как-бы не очень распространен (может и к лучшему), поэтому встретить очередной говнокод на питоне можно нечасто.

Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы