Если вы хотите изучить MVC-фреймворк, я бы порекомендовал Python / Django и PyCharm . Обоснование:
- Python легко подобрать; он ближе к псевдокоду, чем что-либо еще (не раздражайтесь из-за «отступа как разделителя блоков», через некоторое время вы найдете его отличной идеей).
- У Django есть очень хорошие идеи - мгновенный CRUD администратора Django убийственен.
- PyCharm не очень дорогой, имеет 30-дневную полнофункциональную пробную версию и является кроссплатформенным
Настройка Django для Windows немного раздражает, потому что каждый урок, кажется, притворяется, что вы используете какой-то вкус Unix; иногда вам приходится использовать командную строку, и поддержка интерфейса командной строки Windows не поддерживается (если вы работаете в Windows, получает приличный терминал и устанавливает некоторые собственные инструменты Windows GNU ). Не бойтесь командной строки, ищите инструкции для Windows и не отчаивайтесь - установка выполняется только один раз.
После настройки кривая обучения плавная, просто следуйте инструкциям по Django. Я заверяю вас в полезном опыте, который изменит способ программирования на других языках.
О других динамических языках:
- PHP : он распространен повсеместно (даже самые дешевые предложения хостинга включают поддержку PHP) и его легко начать. Если вы хотите чему-то научиться, чтобы повысить свой шанс получить работу, переходите на PHP. Но сделает ли это вас лучшим программистом? Я так не думаю. Как язык, он постепенно превращается из хорошего хака в серьезный язык, но все еще имеет много темных углов (моя любимая мозоль - как реализована автоматическая типизация).
- Ruby : он очень похож на Python, возможно, даже более выразителен (слишком много на мой вкус: как и Perl, он поощряет очень личный стиль, и хотя я люблю Perl, мне трудно понять даже мои собственные сценарии через несколько недель). ИМХО, код Python легче поддерживать в долгосрочной перспективе, особенно когда задействованы более крупные команды. Rails стоит попробовать. Я заигрывал с Rails, но в итоге выбрал Django, возможно, ваш опыт будет отличаться.