Прагматичный программист: после PHP, что дальше? - PullRequest
4 голосов
/ 30 ноября 2009

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

Я ищу язык, который поможет мне улучшить свои навыки и поможет мне в выполнении моих повседневных задач. Что-то полезное.

Есть предложения?

[Изменить] Потрясающие ответы, ребята! Благодарю. Я все еще обдумываю ваши ответы, и я полагаюсь на изучение Python или функционального языка prgoramming, как вы, ребята, предложили (возможно, Lisp).

Ответы [ 16 ]

14 голосов
/ 30 ноября 2009

Возможность узнать что-то новое, а не то, что вы делали раньше.

C ++ или C
Язык низкого уровня, который требует ручного управления памятью и учит вас, как все работает на более низком уровне. Хорошая база сообщества и является одним из языков, которые программист должен изучать.

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

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

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

Java или C #
Если вы не используете PHP объектно-ориентированным способом (не только с помощью классов, но и с такими функциями, как наследование), то эти языки заставляют вас писать в ОО-стиле. Я не рекомендовал бы их, если вы довольны программированием ОО.

6 голосов
/ 30 ноября 2009

Python и Ruby кажутся относительно безболезненным переходом в / из PHP.

5 голосов
/ 30 ноября 2009

Я бы пошел на Java или C #, чтобы вы изучили что-то, что не является другим языком сценариев.

3 голосов
/ 30 ноября 2009

JavaScript.

И я имею в виду на самом деле научиться этому, а не просто "достаточно, чтобы обойти", каким кажется тренд. Я видел отличных (на стороне сервера) веб-разработчиков, которые могут потратить 2 дня на тривиальную проблему JavaScript, потому что они ее совсем не понимают.

Я не думаю, что есть язык, с которым разработчик будет сталкиваться чаще, чем JavaScript, и когда вам нужно его использовать, вам потребуется , чтобы использовать его: у вас не будет свободы выбрать другой язык для запуска в браузере клиентов. Хорошая новость заключается в том, что по сравнению с некоторыми другими языками программирования это не займет много времени.

Хорошее место для начала - JavaScript: самый непонятный в мире язык программирования

2 голосов
/ 30 ноября 2009

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

  • Эрланг
  • Haskell
  • 1010 * Лисп *
1 голос
/ 30 ноября 2009

Это может перерасти в дискуссию.

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

Моим «первым языком» был C, что привело меня к C ++ и Visual C. Когда я начал работать консультантом, я попал в сферу PHP.

Начиная с этого момента, я собираю навыки в Javascript и jQuery, так как они тесно связаны с PHP. (DOM, CSS и HTML не являются языками, поэтому здесь они не учитываются.)

Или, может быть, вы хотите пойти в другом направлении и перейти на SQL.

Выбор за вами, и перекресток везде.

1 голос
/ 30 ноября 2009

C (как в C, а не C ++) будет моим предложением. Это мгновенно заставит вас оценить, что на самом деле делают для вас интерпретированные языки или языки более высокого уровня (или, в зависимости от этого, от вас).

Это также первая логическая ступенька к C ++, хотя я знаю многих людей, которые только что погрузились в C ++. Обучение C сначала (как и выше) заставит вас оценить или ненавидеть C ++ еще больше.

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

Кроме того, подумайте обо всем удовольствии, которое вы могли бы иметь, создавая свои собственные расширения PHP :)

1 голос
/ 30 ноября 2009

Python + Django, если вы хотите остаться в сценарии.

C, если вы хотите понять, как это работает за кулисами.

1 голос
/ 30 ноября 2009

Функциональные языки, похоже, набирают интерес. Я планирую взглянуть на F # прежде всего потому, что в данный момент больше всего работаю со стеком Microsoft.

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

1 голос
/ 30 ноября 2009

Я начал изучать PHP после C. Затем я обнаружил Perl и больше никогда не смотрел на PHP. Причины? Perl, как и PHP, был динамически типизирован, но гораздо более модульный. Книгу о верблюде о верблюде было приятно читать. Запуск сценария Perl из командной строки выполнялся намного быстрее, чем PHP, для которого требовалось загрузить все возможные библиотеки - Perl позволял мне выбирать, какие дополнительные функции мне нужны во время выполнения, сохраняя простоту простых сценариев. Сообщество Perl относительно продвинуто по сравнению с другими языками. Язык Perl позволяет программировать в различных стилях, от процедурного до OO.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...