Общие знания программирования? - PullRequest
10 голосов
/ 18 октября 2008

Я совершенно новичок в программировании - меня интересует PHP и MySql для создания динамического веб-приложения для целей управления военным оркестром. т.е. общая информация и социальные сети для участников + добавлены функциональные возможности для эффективной работы управленческой команды.

Хорошо, поэтому вопрос: поскольку я больше узнаю о PHP, используются термины, которые я не понимаю, и которые должны исходить из общего понятия о знакомстве между всеми языками, т.е. «переполнение стека» кажется очевидным - «использование слишком многие рекурсивные функции могут разбить стек "- это другое.

Так есть ли книга (возможно, учебник для начинающих) о программировании в целом, которая позволяет таким, как я, лучше понять, что все это значит?

Имейте в виду, мне 57 лет (молодой), и я только начинаю.

Стив

Ответы [ 9 ]

9 голосов
/ 18 октября 2008

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

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

Наконец, я настоятельно рекомендую книгу Head First SQL для изучения баз данных. Все примеры в книге используют MySQL. Вся серия Head First великолепна. Я слышал, что у них тоже есть книга по PHP, но я ее не читал.

Обновление: Head First PHP & MySQL теперь доступен.

5 голосов
/ 18 октября 2008

Звучит так, как будто вы упускаете некоторые из основ, охватываемых программой по информатике. Не волнуйтесь, информация легко доступна. Вам не нужно платить кому-то, чтобы научить этому (хотя иногда это приятно). Запись по информатике в Википедии неплоха для выделения основных областей, с которыми вы, вероятно, столкнетесь. Темы, которые стоит знать:

  • Дискретная математика (Помогает понять формальную логику, сложность алгоритма, вероятность)
  • Основы программирования (звучит так, как будто у вас есть хорошее начало)
  • Структуры данных (Храните и манипулируйте вашими данными соответствующим образом для задачи. Например, зачем использовать хеш-таблицу по сравнению с массивом по сравнению со связанным списком? Из вашего списка стек в stackoverflow является структурой данных.)
  • Алгоритмы (Управляйте своими структурами данных наиболее эффективным способом или, по крайней мере, узнайте стоимость. Из вашего списка использование слишком большого количества рекурсивных функций для "разбивания стека" является алгоритмическим выбором.)
  • Архитектура компьютера (Понимание того, что на самом деле происходит с вашим кодом после его компиляции или интерпретации.)
  • Сети (Изучите протоколы, что происходит с вашим программным обеспечением, когда оно хочет общаться с компьютером, на котором оно не работает)
  • Сравнительные языки программирования (PHP - это всего лишь один из способов избавиться от кошки. Узнайте, почему его дизайнеры приняли решения, которые они приняли, и ознакомьтесь с альтернативами.)
  • Операционные системы (Знание того, как аппаратное обеспечение взаимодействует с вашим программным обеспечением, хорошо, но, вероятно, важнее понять, как оно взаимодействует с операционной системой. Файловые системы, управление процессами, управление памятью, безопасность)
  • Формальные языки / Теория вычислений (Модели вычислений, грамматики [используемые для проверки и интерпретации кода], пределы вычислений. Обычно не используется изо дня в день в качестве инженера-программиста. С другой стороны, регулярные выражения, наконец, имели смысл после этого класса .)
  • Методология разработки программного обеспечения и жизненного цикла (Будьте внимательны при разработке, кодировании, тестировании, выпуске и обслуживании вашего программного обеспечения.)

Что касается книг, я бы начал с проверки чтения программы информатики в проверенной школе.

Стэнфорд предлагает бесплатный набор занятий онлайн: http://see.stanford.edu/see/courses.aspx

MIT позволяет бесплатно загружать материалы курса: http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/

Проверьте YouTube для лекций, связанных с информатикой.

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

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

2 голосов
/ 18 октября 2008

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

1 голос
/ 18 октября 2008

Чтобы получить хорошее представление о внутренней работе компьютерного оборудования и программного обеспечения в очень удобочитаемой (не слишком технической) манере, я могу порекомендовать Код, Скрытый язык компьютерного оборудования и программного обеспечения , автор Charles Petzold .

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

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

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

0 голосов
/ 30 августа 2015

Если вы более опытный визуал, я бы посмотрел несколько видеоуроков. Начните с таких вещей, как базовые концепции программирования, а затем перейдите к заголовкам, таким как «Запуск и работа с PHP», «Расширенный PHP и MySQL». Тогда я бы предложил MVC-фреймворк, такой как codeigniter.

Вы можете найти отличные видеоуроки на Lynda.com или Pluralsight.com и в нескольких других местах.

0 голосов
/ 19 октября 2008

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

Одно место для начала может быть в sitepoint , но есть и другие места

0 голосов
/ 18 октября 2008

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

По сути, с сегодняшними системами вам действительно не нужно знать все детали систем низкого уровня. На самом деле, нет.

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

Правда в том, что сегодня компьютерные технологии просто невероятны, что проект, который вы хотите реализовать, является просто прекрасной возможностью узнать больше о тайном мире вычислений. Тот факт, что люди могут продвинуться настолько далеко, насколько они могут, «не имея ни малейшего понятия», является свидетельством того, насколько далеко продвинулась область. Это хорошо.

Хорошо ли понимать процесс супа с орехами? Конечно. Вам действительно нужно это понимание, чтобы быть продуктивным и получить полезные результаты из ваших временных вложений? Нет, не надо.

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

Компьютеры сегодня похожи на «Home Depot». Вы можете сделать это, мы можем помочь. Существуют сотни форумов и тысячи страниц документации, книг, блогов и обсуждений, доступных практически для любой темы.

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

Вы будете ослеплены вариантами, техниками, шаблонами, структурами и т. Д. Мало того, что существует «более одного способа сделать это», есть сотни способов «сделать это». Не обращайте внимания на сотни и сосредоточьтесь на том, чтобы «делать это», однако вам это кажется естественным.

И не позволяйте Yahoo в своих башнях из слоновой кости обнюхивать ваши вопросы или разрушать ваш дизайн. Если только их не зовут «Бэббидж» или они не рубили шестерни для артиллерийских компьютеров еще во Второй мировой войне, мы все стоим здесь на плечах гигантов, и мы все где-то начали. Честная критика должна всегда приветствоваться, но некоторые люди, кажется, не в состоянии предложить это и вместо этого прибегают к унижению.

Я восхищаюсь приложениями, которые я видел "взломанные", "зарубленные" и "OMG'd" вместе, которые люди получают реальное, практическое использование - и это настоящее название игры.

Удачи в вашем путешествии. Удачи во всех ваших начинаниях.

0 голосов
/ 18 октября 2008

Прошло уже пару лет с тех пор, как я его прочитал, но Программирование PHP проделало хорошую работу по внедрению фундаментальных концепций программирования. Это не помогло понять более продвинутые концепции, такие как MVC (что редко встречается в мире PHP), такие вещи, как массивы , функции , обратные вызовы , классы и т. Д., Где охвачены.

0 голосов
/ 18 октября 2008

Я не уверен, есть ли одна книга, которая научит вас «Основам программирования». Единственный способ узнать все эти вещи - это просто практика . Получить учебник PHP и начать строить вещи. Всегда держите свой ум открытым для изучения новых вещей. Когда вы найдете лучший способ сделать что-то, чем, вероятно, очень неэффективный хак, который вы собрали из неполного знания, используйте его, изучите и интегрируйте в свои знания ... через несколько лет вы станете золотым. 1003 *

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