Что почитать или посмотреть на предмет логики программирования?

10 лет назад интересовался бейсиком, паскалем, ООП, но все это не входило в школьных курс информатики - у нас её не было. Студентом я был не долго - отчислили 2 раза с I курса. Вообщем информатике меня не учили, самоучка.

Так вот - могу прочитать код php, java, бейсика, паскаля. Прочитать и понять что он выполняет. Могу взять чужой кусок кода, переписать под свои нужды.

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

Что почитать? Какие лекции послушать?
  • Вопрос задан
  • 3797 просмотров
Решения вопроса 2
xenohunter
@xenohunter
Epistemological anarchist
Пожалуй, книга Structure and Interpretation of Computer Programs (SICP) вам очень поможет. После SICP можете почитать Дональда Кнута. Также можете попробовать найти что-то интересное здесь.
Ответ написан
Комментировать
Никлаус Вирт - "Алгоритмы + структуры данных = программы"
Эдакий экспресс курс, по сравнению с Кнутом.
Там есть упражнения.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
Да не надо ничего читать когда такая проблема, надо сделать несколько простых скриптов и всё поймёт он.

Допустим, тебе нужен калькулятор.

Значит: тебе нужны числа (скопируй форму приёма откуда ни будь), с числами надо работать - присвоим переменные им, далее тебе нужны действия с ними, найди и скопируй в скрипт действия (сложения, вычитания), выведи то что получилось на экран (если не знаешь как это сделать то скопируй у кого ни будь echo). Всё. Где тут логика программирования?

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

PHP. Объекты, шаблоны и методики программирования 2-е издание — Мэтт Зандстра
PHP. Объекты, шаблоны и методики программирования 3-е издание — Мэтт Зандстра
Приемы объектно-ориентированного проектирования. Паттерны проектирования -
Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес
Рефакторинг. Улучшение существующего кода — Мартин Фаулер
Человеческий фактор: успешные проекты и команды — Том Демарко, Тимоти Листер
Мифический человеко-месяц или Как создаются программные системы — Фредерик Брукс
Факты и заблуждения профессионального программирования — Гласс Роберт
Чистый код. Создание, анализ и рефакторинг — Роберт Мартин
Zend Framework 2.0. Разработка веб-приложений — Кришна Шасанкар


Читаю сейчас:
Применение UML 2.0 и шаблонов проектирования. Введение в объектно-ориентированный анализ, проектирование и итеративную разработку — Крэг Ларман
Совершенный код — Стив Макконнелл

seyferseed.ru/life/projdennye-kursy-i-prochitannye...
Ответ написан
Комментировать
@MinasAbrahamyan
разработчик и лид с большим(20л) опытом,информатик
<<информатике меня не учили
могу прочитать код ... понять что он выполняет... взять чужой кусок кода, переписать под свои нужды.
Но я совсем не могу писать что-то с ноля - я не понимаю с чего начинать, как связывать функции, методы, и т.п. Не понимаю логику и связность в программировании.>>

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

Архитектура программ сначала была основана на процедурах (структурное программирование), потом объектах (ООП) потом компонентное программирование (КОП) (это последнее, жаль, не сильно распространено)
Для этого можно по соответствующей парадигме почитать книжку или статью в википедии, но главное самостоятельно тренировать навык разбития задачи на подчасти. Не чтения готовых кодов, а самостоятельного мышления как разбить задачу на решаемые куски, и так до конца реализации.

Второе, практика самостоятельного написания программ очень важный этап. Необходимо писать самому, без этого никак. Даже у знающих людей без практики навыки притупляются (как если разработчик пойдет поддерживать уже написанный проект)
Тут надо найти такие условия при которых надо будет что-то самостоятельно писать, с нуля. пусть сначала маленькое.
Ответ написан
Комментировать
@carbon88
.NET developer/ORM developer
Есть же куча книг а-ля "XXX для новичков". тут подставить конкретрый язык. на тостере есть ответы про "почитать по java" и про "почитать по С#"
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы