Я начинающий web-deloper, работал только на html, css, js. И то знания больше поверхностные. Надумал, что пора слезать с "костылей" Wordpress на, что-то свое. Разумное решение это написать CMS под свои нужды. Тут и встает вопрос какой язык лучше php или python. Я слишком неопытен, что - бы видеть в них разницу. Если говорить о конкретных задачах то мне нужно написать CMS. Она должна обладать такими возможностями как: - Полноценное взаимодействие с БД, из списков, таблиц, строк, и строить таблицу уже на стороне клиента по его параметрам, поменяв частично или полностью структуру. - Запись файлов, перед записью, они должны автоматически переименовываться, у падать в нужный мне каталог. - соответственно создание страниц, перехода между ними, многоуровневая иерархия. Я не знаю, какой язык выбрать для реализации, ведь PHP король серверных языков, а Python просто легкий в синтасиксе, да плюс у него проблема с переходом со 2 на 3 версию. Помогите определится. Не тыкайте носом в гугл, а дайте совета.
На самом деле, сам язык не так важен. Важно насколько вы хорошо понимаете, что происходит за кадром и что может происходить в разных ситуациях. Конечно же есть языки которые лучше подходят для решения определенных задач. Но практически все задачи решаются на любом языке. Поэтому понимание процессов важнее знания языков. Грубо говоря, если вас спросили как кудато пройти и вы не знаете, то и на родном русском объяснить не сможете. А если знаете, то со словариком или без, на любом языке объясните.
Раз уж вы знакомы в WordPress, изучите PHP. В качестве фреймворка я бы посоветовал СodeIgniter как самый простой.
Я не советую вам сейчас лезть в Python и другие языки. PHP, даже без фреймворков, заточен под веб и во много облегчает работу. С ним достаточно легко научиться понимать и делать базовые вещи (связь с БД, обработка запросов, понятие ООП, MVC, Design Patterns). Когда почувствуете что бы достаточно хороши в PHP и в понимании основ программирование, беритесь за Python / Ruby / Java / и так далее.
Кроме того, на PHP на самом деле больше работы.
Удачи
Можно спускаться сверху вниз: - пользовались WordPress - отлично, так продолжайте его изучать, параллельно с изучением PHP в целом. Пишите модули, изучайте решение самых популярных проблем на примере архитектуры этой CMC. - посмотрите в сторону других СМС, покопайтесь, пощупайте. - далее можно спустится к фреймворкам, опять же, используя предыдущий опыт, посмотрите, что Вам больше нравится. - затем можете попытаться написать что-то совсем свое на чистом php. Аналогично и с Python, только я не знаком с CMC на нем.
Можно подниматься снизу вверх: - начать изучать сам язык, и выбрать для решения текущих задач тот, который больше нравится и больше подходит. - пробовать решать возникающие проблемы самостоятельно, параллельно подглядывая решения во фреймворках и СМС.
Какой путь выбрать в Вашем случае, зависит еще и от того, что нужно сейчас. Если нужно поддерживать сайт на какой-то СМС, то первый, если нужно решение нестандартной задачи, то проще это сделать на чистом языке и дальше уже как пойдет.
В свое время перешли от Wordpress к Django по многим причинам. Одна из главных причин это сам язык - на Python оказалось писать намного приятнее и быстрее. Кастомизация Wordpress иногда напоминает танцы с бубном - часто не ясно где вылезет очередной баг. В этом плане Django оказалась намного предсказуемее, что в итоге выливается в более быстрый процесс разработки и поддержки проектов. Но иногда мы используем Wordpress, но только тогда, когда заранее видно что это проект идеально вписывается в концепцию CMS и не нужно будет городить велосипедов.
Написать свою CMS не имея толком навыков программирования, одна из наиболее неразумных идей, на самом деле. =) Вы не научитесь практически ничему, но ри этом у вас получится даже не велосипед, а велосипед с квадратными колёсами, и на каком языке он будет написан, если у вас вообще хватит терпения довести его до конца, будет совершенно не важно.
Если вам по какой-то причине не хватает WP, посмотрите на другие готовые решения, а если хочется более бурного развития, попробуйте написать хотя бы толковое расширение для того же WP. Это будет неплохим началом.
Чтобы познакомиться с питоном, надо начать его изучать и применять, опять же. И тогда вы сможете сделать осознанный выбор. И опять же, начинайте с основ, не ставя целью, написать свою CMS.
Самописный движок - те же самые костыли. Если все-таки есть большое желание написать всё самому, то берите любой фреймворк и на его основе делайте движок. СodeIgniter, Yii и подобные.
Посоветовал бы еще Django, но там и так почти полноценная CMS..
Из личного опыта: не стоит как писать свою cms так и юзать готовую. Особенно начинающему разработчику. Имеется ввиду что не стоит писать cms ради самой cms. Дело в том, что когда вы попытаетесь ее применить в каком-то нестандандартном проекте - окажеться что архитектура чего-то не позволяет сделать и приходиться строить костыли. В итоге через пару итераций cms превращается в набор костылей. Очень запутанный набор костылей.
За свою более чем десяти летнюю практику я пришел к выводу что cms и библиотеки слишком ограничивают. Зато за это время скопилось огромное кол-во решений всяких типовых задач. И теперь создавая новый проект просто перетягиваем классы и функции из "опытного багажа" в нужный проект и правим под собственные нужды. Т.е по сути тотже набор костылей но без всего лишнего.
Поэтому совет слудеющий - если есть проект который не горит по срокам - пишите с нуля с таким расчетом чтобы использовать тотже код и в других проектах. Но не гонитесь за универсальностью. Лучше в следующем проекте исправить пару методов в классе чем потратить день на написание класса на все случаи жизни. К следующему проекту вы уже будете видеть удобство/корявость тех или иных элементов ваших костылей и возможно захотите что-то в них поправить. В итоге у вас будет постоянно развиваемый и пополняемый "багаж костылей" который от проекта к проекту будет становиться все лучше и чище.