Здравствуйте друзья.
Я с большой осторожностью затрагиваю столь холиварную тему, но хочу рассказать свою небольшую историю о том, почему я, будучи далеко не студентом, решил изучать программирование, и что я собираюсь (о боже мой) использовать реализовать свои намерения PHP .
Буду рад получить ценные советы и рекомендации от вас, коллеги IT-индустрии.
Забегая вперед, скажу, что в комментариях к теме (кроме холиваров про языки) было сказано много полезного.
За что огромное спасибо хабровчанам.
Личный опыт
Моя карьера складывалась не самым типичным образом: я постоянно работал сразу в нескольких организациях и почти всегда в свободном графике.Почему меня везде терпели? Похоже на такую универсальность: мог своими руками проложить сеть, настроить офисный сервер на Debian, мог нарисовать аккуратную листовку в CorelDraw, подготовив ее к печати с цветоделением, мог обучить пожилых сотрудников «выходить в интернет», мог самостоятельно за пару недель нарисовать и верстать шаблон для CMS, мог развернуть небольшой сайт для компании, а мог автоматизировать что-то локально программами, написанными на коленке, когда стало понятно, что несколько рутинных операций существенно тормозят работу весь рабочий процесс отдела или управления в целом.
Он мог и сделал все это.
Здесь особо гордиться нечем, как вы понимаете, я так и не стал узкоспециализированным профессионалом ни в одной из затронутых отраслей, а стал своего рода универсальным ИТ-универсалом, человеком среднего звена, который появляется и приносит максимальную пользу.
при необходимости в небольшой команде решать множество задач одновременно.
Однако на жизнь я совершенно не жалуюсь, ведь некоторое время назад мне удалось запустить собственную небольшую, но развивающуюся региональную веб-студию.
И там я сам себе менеджер проекта.
Разрабатываем в основном на CMS Drupal и реже на фреймворке Yii, которые, как известно, написаны на PHP. Сейчас, честно говоря, мне немного неловко управлять парочкой приличных программистов, чей JS и PHP-код я понимаю только на 20%.
В университете и на многих местах работы меня научили основам трёх языков: C++, Java и PHP. Ну, как меня учили, я просто знаком с базовыми алгоритмическими конструкциями, могу отсортировать массив десятком методов (благодаря учебнику, написанному на эту тему), понимаю, как устроены стеки и очереди, и я Знаком с ООП на уровне понятий и учебных задач.
В целом я знаю программирование как посредственный, но прилежный студент среднего технического вуза.
Но на практике меня почему-то всегда выручал именно PHP, причём заманивающий своими самыми жжёными куками с тёмной стороны.
Я написал сценарии оболочки на PHP для исправления длинных табличных отчетов с помощью PHPExcel , парсил сайты без API, сначала обычным кодом, а потом с помощью PHPQuery , жлоб (вмешивающийся в верстку с логикой) веб-страниц, отображающих текущие цены в Интернете из локальной базы данных MSSQL складской системы, сделал всякие конвертеры из разряда «вот загружаешь не тот файл, а потом загружаешь» скачайте правильный по этой ссылке и там сумма будет прописью» В общем, сколько я ни заставлял себя использовать правильный язык и правильный подход при решении какой-то практической задачи, все всегда сводилось к тому, что решение, достаточно быстрое и некрасивое на архитектурном уровне (без всякого ООП и MVC), было создано на PHP. При этом со стороны решение выглядело работоспособным и, увы, тоже вело себя так, как будто оно вполне работоспособное.
всем, даже мне, потому что некогда было предаваться размышлениям и ругать себя за несоблюдение эстетики.
Но теперь я решил, что пришло время остепениться.
Профессиональным программистом я больше не стану, но очень хотелось бы выйти на джуниорский уровень с правильными мыслями и руками.
У меня есть немного времени для самообучения, а главное, я уже знаю, как заставить себя регулярно что-то делать, что должно положительно сказаться на учебном процессе.
При этом я настолько благодарен PHP, который меня много раз выручал, что теперь хочу освоить его как следует. Я не верю, что отсутствие строгой типизации испортит мою вторую попытку.
Но с чего начать снова, чтобы вырасти? правильный программист? Вот этого я не знаю.
Я вообще не читал книг о PHP, а учился коду из статей с комментариями, разбросанных по Интернету.
Помню книгу по Java, которая мне понравилась — ее автором был Хабибуллин.
Но эта книга не учит стилю и правильным подходам, хотя четко знакомит с языком и платформой.
И книга не о PHP.
Что делать?
Какой диагноз вы поставите, коллеги? На ваш взгляд, возможно ли вообще переучиться программировать или в спешке быстро решать рутинные задачи я безвозвратно заклеймил себя ролью вечного «обшарпанного деревенщины-кодера»? Как вы думаете, какие первые шаги мне следует сделать сейчас: что прочитать, какие практические задачи решить, какие табу установить для себя? P.S. И, чтобы не вставать дважды, задам действительно, наверное, смешной вопрос: какую IDE вы рекомендуете использовать? Стыдно признаться, я написал все мегабайты своего кода в PSPad и тестировал в браузере кнопкой F5, читая об ошибках и уведомлениях и снова возвращаясь для их исправления в редакторе.Как и что отлаживают правильные программисты? П.
П.
С.
Лечить пациента по известным симптомам проще, поэтому, пожалуй, приведу несколько примеров, чтобы проиллюстрировать бардак в голове.
Задам несколько глупых вопросов, которые меня преследуют: 1. Приведите минимальный пример, иллюстрирующий модель MVC, чтобы можно было увидеть практические преимущества ее использования? 2. Говорят: пишите безопасный код. Но каковы основные правила? Я, например, понимаю, что если что-то, пришедшее через GET или POST, отправить SQL-запросом без проверки и обработки, то будет беда.
Но какие еще есть типичные недостатки безопасности, которых следует сразу опасаться и не допускать в качестве SQL-инъекций? 3. Я встречал несколько различных руководств по форматированию кода.
Иногда они постулируют противоречивые вещи.
Есть ли где-нибудь хоть один русскоязычный гайд, где по каждому пункту было бы дано объяснение в духе «он должен быть отформатирован так, потому что он решает такие-то проблемы»?
Промежуточные результаты
В комментариях Юрасег рекомендовал «Идеальный код» Стива МакКоннелла, а несколько человек рекомендовали «Объекты, шаблоны и практики PHP».К сожалению, мой английский слаб, поэтому я прочитаю перевод. Шнур дал ссылки на конкретных русскоязычных статьях и даже поделился собственной программой «занятий», по которой тренирует свою команду.
Многие очень рекомендуют и поддерживают JetBrains PHP Шторм как самая правильная IDE для PHP. Также многие пишут, что раз у меня все получилось даже без идеологически правильных знаний программирования, то нет смысла злить судьбу, мне нужно продолжать заниматься тем, чем я занимаюсь, развивая свои управленческие навыки.
Что ж, многие советуют отказаться от PHP и обратить внимание на другие языки, в основном на Python. Понравилась эта тема философский комментарий от ЛэйнБучин что для того, чтобы троллить и объективно критиковать PHP, нужно очень хорошо знать PHP. Теги: #нуб #новичок #обучение #php #ide #обучение программированию #обучение программированию #советы начинающим #процесс обучения #учебные материалы #учебники #личный опыт #php
-
Повысьте Эффективность Вашего Ит-Хранилища
19 Oct, 24 -
Автоматизация Сети. Случай Из Жизни
19 Oct, 24 -
Генетический Код 2.0
19 Oct, 24 -
Электронная Форма Modx
19 Oct, 24