Подтвердить что ты не робот

Что я должен узнать после PHP?

В настоящее время я довольно опытен на PHP и написал несколько приложений. Я знаю HTML, CSS, MySQL и Javascript вместе с PHP. Каков следующий шаг в программировании?

(Я знаю, что существуют такие языки, как Perl, C, Python, но не знаю точно, если они основаны на веб-интерфейсах, на базе настольных компьютеров и т.д.)

Обновление

Мои цели состоят в том, чтобы выучить достаточно программирования, чтобы я мог профессионально выполнять программу. Позвольте мне прояснить, что мне 15, и запрограммировал несколько сложных приложений. Я занимался объектно-ориентированным программированием, но едва коснулся работы с фреймворками. Это то, что я должен пойти дальше?

4b9b3361

Ответ 1

В программировании нет "следующего шага"; PHP, как и другие технологии, которые вы упомянули, являются инструментами, которые мы используем для решения проблем.

Одна полезная вещь, которую вы могли бы сделать, - посмотреть, как схожие проблемы решаются с использованием других технологий: вы, похоже, заинтересованы в разработке веб-приложений, поэтому аналогичные инструменты существуют как Java/JSP, Ruby/Rails, С#/ASP.NET и т.д. После вашего редактирования это, по-видимому, самый разумный путь, так как платформы, такие как Java и .NET, похоже, так это то, как идут организации, и где навыки используются во множестве заданий при программировании.

Потратив некоторое время на эти маршруты, вас могут заинтересовать более крупные системы, которые используют функции предприятия. Такие вещи, как JSF, Struts или Futher - J2EE с EJB используют веб-технологии, но более корпоративно.

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

Ответ 2

Все, что я могу сказать, это мой собственный опыт. Я изучил PHP/HTML/MySQL/Oracle в UNIX около 12 лет назад, и мне понравилось легкость в использовании и то, как вы могли легко компоновать сайты (по сравнению с CGI и C). Однако около 6 лет назад я неохотно перешел на "темную сторону" и должен был изучить программирование Windows для своей работы. После ужасного периода обучения "Классический ASP" и VB я попал в новую, новую технологию .NET, в частности ASP.NET и С#. И я действительно рад, что сделал.

Изучение "правильного" строго типизированного языка ООП, такого как С# (или Java), поможет улучшить навыки программирования и сделать вас более дисциплинированным программистом. Если вы можете изучить платформу .NET, вы расширите свои горизонты, а также свою возможность трудоустройства. Вы также узнаете много навыков программирования, которые могут переместить вас за пределы Web - в разработку приложений и т.д. Вы расширите свой взгляд и будете обогащены и вознаграждены в процессе.

Ответ 3

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

Вы точно не указали, какую работу вы делали в PHP/HTML/CSS/JavaScript/MySQL, поэтому трудно дать указатели.

На стороне PHP есть ряд достойных фреймворков, которые вы могли бы изучить, например Zend Framework или CakePHP.

Вы также можете узнать о некоторых существующих ранее системах CMS, таких как Joomla или Drupal. Там многое предстоит пройти - самой системы, доступных дополнений и разработки собственных дополнений. Если я не создаю что-то, у которого нет каких-либо CMS-подобных функций (что редко), я, как правило, строю почти все поверх Joomla.

Там также улучшаются ваши навыки PHP. Это довольно легко попасть в ловушку написания быстрого, простого и незаметного кода спагетти с PHP. Существуют всевозможные полезные шаблоны и методы проектирования, которые вы можете подобрать (вышеупомянутые рамки или CMS могут дать некоторые подсказки о том, как это сделать, и как не делать этого). Вы можете изучить такие вещи, как классы/объекты, соответствующие уровни абстракции базы данных (PDO или даже ADO), применяя шаблоны проектирования для проектов PHP. Стандартные библиотеки содержат много классных функций, которые вы, вероятно, не использовали, а библиотеки PEAR содержат еще больше.

На стороне JavaScript вы можете посмотреть в фреймворках, например JQuery, а затем некоторые из plugins, которые были построены поверх него, например JQuery UI. Добавьте AJAX в свой репертуар.

Ответ 4

Почему бы не продолжить работу с PHP?

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

И не последнее, вероятно, из-за его популярности, PHP - это живой язык и продолжает развиваться. Новые материалы появляются на ежедневных базах, модулях, новых версиях, новых приложениях, новых фреймворках, новых проблемах, которые можно решить с ним.

Ответ 5

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

http://en.wikipedia.org/wiki/Design_pattern_(computer_science)

Ответ 6

Это действительно зависит от того, что вы, например, могли бы сделать сложным решением для электронной коммерции с нуля?

Знаете ли вы, как вам php-классы и объекты?

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

Мой совет - выбрать проект, который вы хотели бы создать, и в идеале заинтересованы в том, чтобы использовать его, и посмотреть, где он вас принимает.

Ответ 7

Я многому научился и многому научился с Java после PHP и немного Perl, и я очень доволен, что сделал это. Я понял, что в кругах Java гораздо больше внимания уделяется созданию правильных программных архитектур. Здесь я многому научился в отношении качества программного обеспечения, (гибких) процессов разработки, архитектуры.

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

Я также выполнял небольшие проекты с рубинами/рельсами и groovy/grails, и играл немного с python/django - но теперь возвращаюсь к подходу на основе Java, но вы можете пробежать изменяются.

В конце концов, хорошо знать несколько языков и фреймворков, чтобы иметь возможность выбирать наилучший вариант, где бы вы ни были в зависимости от требований и персонала, и я бы рекомендовал не только изучать динамические, ориентированные на веб-языки языки и рамки, но и более общие. С такими вещами, как Perl (хотя он действительно проигрывает из-за возможностей Power и OO для thers), Python и Ruby у вас есть общие языки, которые легко доступны в большинстве систем, могут использоваться для сценариев оболочки, Web и автономных графических интерфейсов а также - очень хорошее направление!

У меня все еще есть простая C, схема / lisp и scala - и много интересных фреймворков - в моем списке "to-learn".

Ответ 8

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

Вы также можете думать о чем-то, где вы можете сделать вещи намного проще по сравнению с текущим процессом, который, если вы чувствуете, является жестким словом.

Ответ 9

Это очень субъективно, но здесь идет.

  • Было бы неловко знать очень корпоративный язык, например Java, для веб-разработки.
  • Изучение структуры для него, например Spring MVC, было бы очень удобно. Spring также имеет такие понятия, как AOP и IOC, заслуживающие понимания.
  • Добавление в Hibernate для DAO/ORM было бы полезно.
  • Ruby on Rails (Ruby - это язык, Rails - это фреймворк) - это еще один трек веб-разработки.
  • Когда-то во время карьеры программирования вам нужно было знать один язык сценариев; Python или Perl.
  • Изучите такие инструменты, как Maven или Ant, Subversion или CVS и убедитесь, что вы знаете, как использовать среду IDE, например Eclipse.
  • Если вы не знаете Linux, это может быть интересно играть и полезно профессионально. Попробуйте Ubuntu.
  • На уровне теории узнайте о структурах данных и шаблонах проектирования.

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

Есть интернет-ссылки для изучения материала. Вы должны изучать связанные списки, деревья и графики; сортировка, поиск и анализ O (n).

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

В любом случае Project Euler также может помочь вам; это группа задач программирования, призванных помочь вам изучать новые языки и решать задачи, которые помогут вам решить новые проблемы.

Ответ 10

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

Если вам 15, я предлагаю изучить С# и попытаться написать простую игру, такую ​​как Tetris.

Ответ 11

Ваш ход мысли правильный: для программиста важно изучать разные языки. Я бы предложил Ruby и Ruby on Rails.

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

Текущая тенденция на многих языках заключается в том, чтобы поместить их в Rails, т.е. реализовать среду MVC. Это было сделано для Javascript,.NET и многих других.

Ответ 13

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

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

Ответ 14

Поскольку вы используете объектно-ориентированную функциональность PHP, я бы предложил Java дальше. Функциональность PHP OO во многом была вдохновлена ​​Java, например, они имеют как формализованное "ориентированное на интерфейс" программирование через фактический конструктор/ключевое слово: "интерфейс".

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

Ответ 15

Я думаю, вы должны попробовать большие перемены, расширить свои горизонты. Узнать Python, получить pygame и запрограммировать игра, например, тетрис, но может быть что угодно. Я бы определенно рекомендовал делать что-то не веб-основанное, потому что это поможет вам увидеть вещи под другим углом.

Ответ 16

Сначала знайте, что у вас нет ограничений, кроме вашего собственного выхода;)

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

Затем просто загляните за языки, на которых написаны эти приложения, и сделайте небольшое исследование о сложности создания такого приложения самостоятельно (например, на stackoverflow.com).

Когда вы нашли какой-то проект, который вы действительно хотите настроить, и вы выбрали язык, который наиболее подходит для написания этого приложения: Начните изучать этот язык.

Не всегда важно искать определенный язык, просто найдите проект и настройте его.