powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Мышление программиста???
25 сообщений из 62, страница 1 из 3
Мышление программиста???
    #34757040
30+
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
30+
Гость
День добрый!
За последнее время все больше убеждаюсь в том, что как-то не на том делаю упор в самообучении. По специальности я не программист, но жизнь заставила. Поэтому все приходится изучать самостоятельно. Но, изучая, Java, Oracle, C++ понял одну вещь. Нужно делать акценты не на конкретике, а на принципах. Т.е. в итоге нужно иметь такое мышление, чтобы язык программирования стал всего лишь удобным инструментом для воплощения задуманного. Исходя из этого есть одна просьба ко всем присутствующим: порекомендуйте, пожалуйста, литературку для формирования соответствующего образа мышления.
Ну, может, еще какие-то рекомендации будут.
За все, заранее спасибо.
с уважением.
...
Рейтинг: 0 / 0
Мышление программиста???
    #34757164
belugin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Structure and Interpretation of Computer Programs

это учебный курс MIT

еще мно понравилось по ООП книжка Шлеер, Меллор

по метолодогиям книжка алистера коберна
...
Рейтинг: 0 / 0
Мышление программиста???
    #34757246
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
30+Т.е. в итоге нужно иметь такое мышление, чтобы язык программирования стал всего лишь удобным инструментом для воплощения задуманного. Исходя из этого есть одна просьба ко всем присутствующим: порекомендуйте, пожалуйста, литературку для формирования соответствующего образа мышления.
Вы абсолютно правы.

Рекомендовать достаточно сложно.... как мне представляется, Вам нужны фундаментальные труды - книги с названиями типа "Алгоритмы" и "Структуры данных", методологические пособия. Конкретно.... конечно, советуя вслепую велика вероятность ошибиться, но я бы посоветовал попробовать "Искусство программирования" Кнута, с первого тома.
...
Рейтинг: 0 / 0
Мышление программиста???
    #34757523
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
30+Т.е. в итоге нужно иметь такое мышление, чтобы язык программирования стал всего лишь удобным инструментом для воплощения задуманного.

Язык программирования - это ничто. Все они, на самом деле, идентичны (SQL - это не язык программирования).
А все поведенческие/мировоззренческие модели идут больше из библиотек, и знания общих принципов, принятых в том или ином сообществе.
По поводу Java и C++ ничего советовать не буду (тем более, я отчаянный критик их идей и подходов, впрочем, колокольня у меня строго своя, от задач подобранная).

А вот по поводу Oracle +/-грамотное мышление даёт:

а) вдумчивое прочтение Concepts (полезно данный кирпич прочитать даже в... довольно внятном переводе от РДТЕХ-а, если совсем с нуля, т.е. оригинал штудировать в данном случе - не обязательно). Все что не понял сразу - лучше пометить закладками (не лучше, а обязательно).

б) в обязательном порядке прочтение всех изданий некого Томаса Кайта (и никого больше)

в) и уже в качестве окончательной доводки и шлифовки п.а и п.б (т.к. концепции - это общее бла-бла-бла и терминология, а Кайт больше бъет по сути практических методов) - чтение Oracle University (эти бьют больше по площадям), причём последние - как общего назначения (тома Dxxxxx), так и мегасуперпуперспециализированного (так называемые DSI - главное, чтоб вот от них крышу не сорвало).

д) а потом можно уже и всяким разным баловаться - к примеру - почитать Льюиса по вопросам CBO, отдельно Миллсапа и Хольта (по вопросам общего Perf Tunig-а), ну и так далее, вплоть до
http://www.ixora.com.au/resources/ (кстати Oracle 8i Scaling - актуален и абсолютно на заслуженно забытый толмуд)

---

Гы, только по Oracle - теория и практика приведения себя в спортивную форму (чисто как DBD) может занять минимум пять-десять лет. Как после этого смотреть на Java и C++ (ресурсы головного мозга - имеют таки ограниченность) - без понятия (многие и не смотрят - EJB и Hibernate - вообще абсолютно безграмотная, с т.з. Oracle RDBMS, хрёнь, и в теории, и в практике, появившаяся исключительно для того, чтобы можно было строгать поделки на коленке, не вникая в п.а) - п.в)).

А на практике... каждый практик просто вырабатывает для себя десяток другой паттернов, и строго по ним строит свои решения (не всегда мегаоптимально, но хоть работоспособно, и ладно).
...
Рейтинг: 0 / 0
Мышление программиста???
    #34757603
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
30+ , а кто ты по образованию и специальности?
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
Мышление программиста???
    #34757635
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerРекомендовать достаточно сложно.... как мне представляется, Вам нужны фундаментальные труды - книги с названиями типа "Алгоритмы" и "Структуры данных", методологические пособия. Конкретно.... конечно, советуя вслепую велика вероятность ошибиться, но я бы посоветовал попробовать "Искусство программирования" Кнута, с первого тома.

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

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

P.S. Кстати, бытует мнение, что лучшие программисты-разработчики получаются, как правило, отнюдь не из бывших математиков-физиков (больше из гуманитариев, к примеру - лингвистов, либо людей, психо-соматически склонных к данной професии).
И более того, с этим мнением - я даже абсолютно согласен (есть ряд практических наблюдений и выводов и на этот счет). Т.е. математическая школа (построенная, как водится, от засилья физико-технических моментов) - и бесполезна, и даже вредна (т.к. прививает несвойственный для computer science базовый аппарат мышления).

Т.е. декларативно-описательные моменты vs (что там принято у математиков, особенно в аналитических направлениях)?

Но опять же, безусловно - это смотря с какой стороны направлений IT смотреть.
...
Рейтинг: 0 / 0
Мышление программиста???
    #34757681
30+
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
30+
Гость
krvsa 30+ , а кто ты по образованию и специальности?
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT


Первое н/высшее - медицинское. Вовремя понял, что не мое.
Второе высшее - радиотехническое. Специальность - проектирование и технология РЭС.
...
Рейтинг: 0 / 0
Мышление программиста???
    #34757697
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa 30+ , а кто ты по образованию и специальности?
----------


?

К примеру - у меня образование CAПР (CAD/CAM/CAE), специальность - инженер-системотехник(конструктор/технолог/прораммист). Работаю как программист (не совсем по изначальной специальности, больше IS в чистом виде, даже без MES (хоть есть желание)).

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

Зато с удовольствием ходил (будучи уже программистом практиком и даже со стажем) на инженерную графику, теорию машин и механизмов, детали машин и даже сопромат (в части МКЭ). т.е. туда, где были принципы системности и именно - декларативно-описательные модели, как основа.

Многое, кстати, почерпнул полезного из "старой школы" (т.е. из общей инженерной деятельности), что в виде аналогий было перепроецированно на IT (к примеру - методы и принципы оптимизации конструкций, метод технологической базы, принципы эргономичности, инжереного дизайна в целом, ну и так, всякое разное).

Программированию (как водится) в ВУЗ-е никто серьёзно не учил, не учит, да и не будет учить (нет у нас школы в постсовке, хоть тресни).
...
Рейтинг: 0 / 0
Мышление программиста???
    #34757698
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhideЭто полезно только с точки зрения общей образованности, которая, на практике - довольно бесполезна, хоть и является основой (кого сейчас интересуют реализации собственных двусвязных списков, хешей и прочего, если есть уже готовые?)
Это полезно именно с точки зрения постановки мышления - как подробный пример уже решенных задач, над которыми "лучшие умы" провели более чем достаточное количество времени.
...
Рейтинг: 0 / 0
Мышление программиста???
    #34757748
30+
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
30+
Гость
grexhide softwarerРекомендовать достаточно сложно.... как мне представляется, Вам нужны фундаментальные труды - книги с названиями типа "Алгоритмы" и "Структуры данных", методологические пособия. Конкретно.... конечно, советуя вслепую велика вероятность ошибиться, но я бы посоветовал попробовать "Искусство программирования" Кнута, с первого тома.

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

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

P.S. Кстати, бытует мнение, что лучшие программисты-разработчики получаются, как правило, отнюдь не из бывших математиков-физиков (больше из гуманитариев, к примеру - лингвистов, либо людей, психо-соматически склонных к данной професии).
И более того, с этим мнением - я даже абсолютно согласен (есть ряд практических наблюдений и выводов и на этот счет). Т.е. математическая школа (построенная, как водится, от засилья физико-технических моментов) - и бесполезна, и даже вредна (т.к. прививает несвойственный для computer science базовый аппарат мышления).

Т.е. декларативно-описательные моменты vs (что там принято у математиков, особенно в аналитических направлениях)?

Но опять же, безусловно - это смотря с какой стороны направлений IT смотреть.

Неужели совсем беполезна? Недавно, читая учебник по дискретной математике, в разделе описания операций над множествами обнаружил, что эти самые операции я уже применял при составлении запросов в SQL. Это, так, для примера.
Но, вообще, хотелось бы знать, к примеру, как составить алгоритм в том или ином случае.
...
Рейтинг: 0 / 0
Мышление программиста???
    #34757767
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer grexhideЭто полезно только с точки зрения общей образованности, которая, на практике - довольно бесполезна, хоть и является основой (кого сейчас интересуют реализации собственных двусвязных списков, хешей и прочего, если есть уже готовые?)
Это полезно именно с точки зрения постановки мышления - как подробный пример уже решенных задач, над которыми "лучшие умы" провели более чем достаточное количество времени.

Он (Кнут) не даёт системное мышление. IMHО - вообще.

Кстати, насчёт системного мышления я бы таки посоветовал OOD Буча (ранние издания, не зашоренные рекламой "рациональной розы"), и... очень даже незаслуженно забытых стариканов Шлеера и Меллора (я в бытность утерял их книжку по OOA, хоть перечитал раз пять, не меньше).

Имхо, это (ООА и ООД) куда полезнее, чем старина Кнут (хоть его тоже никто не отменял, но он - излагает только "алгебру"). Опять же, в качестве альтернативы - уметь видеть задачи в целом vs уметь решать частные задачки известными методами (соответственно).

P.S. Есть, правда, масса изданий на этот счёт (системный подход) в смежных направлениях (вообще не IT), куда более серьёзных (особенно у архитекторов/строителей). Но советовать не стану (последнее утверждение довольно спорно, да и под рукой у меня их нет, хотя, в период студенчества я читал их в библиотеке - просто взахлеб, как развёрнутое практическое дополнение к принципам ООД и ООА, которые, по сути, ничего то нового в общую инженерию и не внесли).
...
Рейтинг: 0 / 0
Мышление программиста???
    #34757769
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
30+Первое н/высшее - медицинское.
Второе высшее - радиотехническое.
Эко тебя метало!

Просто меня также интересовал тот факт что у некоторых программирование получается на "ура", у кого-то это титанический труд... А есть те, которые так и не поймут что "тут пора делать цикл"...
...
Рейтинг: 0 / 0
Мышление программиста???
    #34757817
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
30+ Недавно, читая учебник по дискретной математике.

Ах, да, извиняюсь, дискретка - это must read в любом случае. Кстати - она вовсе не математика в чистом виде (собственно математического аппарата там очень мало, разве в направлении упрощения логических выражений... которые (упрощения) можно упрощать и графическими методами в т.ч.).

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

Автоматы - так вообще - основа построения компиляторов (т.е. формальных грамматик) - направление лингвистики, по сути (которая бедняга, правда, с живыми языками совладать с его помощью не в состоянии (неподъёмные объёмы конструкций), исключительно по причине неформальности идиоматичности, но это уже лирика, и к IT имеет отношение вон только в направлении автоматического перевода, проверки грамматики и прочего).
...
Рейтинг: 0 / 0
Мышление программиста???
    #34757879
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
30+Но, вообще, хотелось бы знать, к примеру, как составить алгоритм в том или ином случае.

В общем случае это всего три конструкции (Законы алгоритмизации):

а) последовательное выполнение
б) логическое ветвление
в) возврат (цикл)

Вот и весь общий случай, все остальное - уже следствия (вариации). Ну и плюс - память - линейный массив и любые вычисления можно сделать сложением и операцией изменения знака (т.е. все IT построенно на машине фон Неймана).
...
Рейтинг: 0 / 0
Мышление программиста???
    #34757969
30+
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
30+
Гость
grexhide 30+Но, вообще, хотелось бы знать, к примеру, как составить алгоритм в том или ином случае.

В общем случае это всего три конструкции (Законы алгоритмизации):

а) последовательное выполнение
б) логическое ветвление
в) возврат (цикл)

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

Вот, я как раз о том, что "все" программирование построено на каком-то математическо-логическом аппарате, который нужно изучить...
...
Рейтинг: 0 / 0
Мышление программиста???
    #34758072
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
30+Вот, я как раз о том, что "все" программирование построено на каком-то математическо-логическом аппарате, который нужно изучить...

Вот еще ссылочга: http://russian.joelonsoftware.com/index.html
Как раз по теме мышления программистов (Лорд Палмерстон в программировании, Закон Дырявых Абстракций - обязательны к прочтению, IMHO).

Кстати, новые переводы вот здесь: http://local.joelonsoftware.com/mediawiki/index.php/Russian

Спольски - один из немногих блогов, которые полезно читать (многое спорно, но пишет он по сути, в отличии от).
...
Рейтинг: 0 / 0
Мышление программиста???
    #34758150
KGP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
30+Ну, может, еще какие-то рекомендации будут.

проект имеет стадийность: анализ, проектирование, реализация, тестирование
я бы рекомендовал специализироваться на первых двух.
...
Рейтинг: 0 / 0
Мышление программиста???
    #34758390
Babah_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почитайте Гради Бутча. Про основы объектно-ориентированного подхода.
Это не столько концепции практики программирования - это помогает понять, что нужно вам/заказчику, разложить на части и классифицировать, выделить общности и т.д.
Следуя методам объектно-ориентированного анализа и проектирования можно преодолевать сложность изучаемых и создаваемых систем поэтапно, иерархически.
Базовые понятия объектно-ориентированного анализа помогут вам работать с ОО языками не на уровне знания - а на уровне понимания.
...
Рейтинг: 0 / 0
Мышление программиста???
    #34758722
тыц
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
30+День добрый!
За последнее время все больше убеждаюсь в том, что как-то не на том делаю упор в самообучении. По специальности я не программист, но жизнь заставила. Поэтому все приходится изучать самостоятельно. Но, изучая, Java, Oracle, C++ понял одну вещь. Нужно делать акценты не на конкретике, а на принципах. Т.е. в итоге нужно иметь такое мышление, чтобы язык программирования стал всего лишь удобным инструментом для воплощения задуманного. Исходя из этого есть одна просьба ко всем присутствующим: порекомендуйте, пожалуйста, литературку для формирования соответствующего образа мышления.
Ну, может, еще какие-то рекомендации будут.
За все, заранее спасибо.
с уважением.решайте олимпиадные задачки по информатике + чтиво по алгоритмам, эти вещи сильно голову ломают... хотя имхо надо хотябы склонность к этому иметь...
...
Рейтинг: 0 / 0
Мышление программиста???
    #34758793
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
30+ wrote:

> Ну, может, еще какие-то рекомендации будут.
В продаже была неплохая книжечка "Жемчужины программирования" - там было
несколько очень оригинально решнных задач, может быть полезно.

Касательно книг. По-моему, нужный образ мысли можно получить если
1) хорошо изучить два языка высокого уровня. (даст базовые знания)
2) ознакомительно посмотреть ещё 4 или более языков. (даст знания о схожести
языков/общих принципах)
3) пообщаться с ассемблером/машиной на низком уровне. (даст знания о
том, "как оно работает")
4) Почитать про design patterns. (полезно для ООП мышления, плюс самому до
этих идей доходить придется дольше)
5) все это обильно применять на практике пару лет. (закрепить и запомнить)
6) любить программировать.

Это долго, но других вариантов не могу посоветовать, хотя они могут
существовать.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Мышление программиста???
    #34759369
30+
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
30+
Гость
Благодарствую! Информации море, теперь буду разбирать.
...
Рейтинг: 0 / 0
Мышление программиста???
    #34759722
MX -- ALEX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
30+Благодарствую! Информации море, теперь буду разбирать.

не надо
программирование - фанатам
нормальным - жизнь
...
Рейтинг: 0 / 0
Мышление программиста???
    #34759767
ve301
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
30+
Но, изучая, Java, Oracle, C++ понял одну вещь. Нужно делать акценты не на конкретике, а на принципах. Т.е. в итоге нужно иметь такое мышление, чтобы язык программирования стал всего лишь удобным инструментом для воплощения задуманного.


то есть, что же надо задумать программировать?

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

это АРМ-Магазин, и интернет-проект, мне так каажется

нужно стать провайдером постоянных услуг

Лондонская биржа 40% доходов имеет от предоставления информации о ценах, о коньюнктуре

нужно понять в какой информации есть потребность и просто стать провайдером этой информации

меня в своем АРМ-Магазин на 60тыс.строк SQL кода странным образом кормит всего 1 процесс - работа с прайсами поставщиков - робот сканит интернет каждый час и закачивает новые цены
и все видят - Дима ежедневно работает, хотя Дима уже 4 года делает другой интернет-проект, но в том же ключе - провайдер услуг+юзеры
...
Рейтинг: 0 / 0
Мышление программиста???
    #34760258
30+
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
30+
Гость
ve301

то есть, что же надо задумать программировать?




Не совсем так... В идеале, мне это видится следующим образом. Заказчик (начальник и т.п.) описывает мне софтину простым человеческим языком. Типа, нужно чтобы софтина делала то-то и то-то и выглядело это (внешне) так-то. Я составляю алгоритм и реализую его, причем делаю это не только на Java (потому что я знаю, скажем, только Java), а на том языке, который больше всего подходит для решения данной задачи (в пределах разумного, естественно).
...
Рейтинг: 0 / 0
Мышление программиста???
    #34760442
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
30+В идеале, мне это видится следующим образом. Заказчик (начальник и т.п.) описывает мне софтину простым человеческим языком.

Не-а. Простым человеческим языком - можно только на заборе неприличное слово написать.

Если заказчик невменяем, и не может оформить нормальное ТЗ (не говоря уже о Техпроекте) - то
нужно нанимать аналитиков и проектировщиков, которые сделают диагностику заказчику, напишут
много всякого разного (схем, формул, графиков, табличек-формочек), на что Заказчик посмотрит-
и скажет: "О крута (хоть я ничего не понял". Ну а программисты тоже, должны всю эту хрень
переварить, сказать свое громкое фи, и сделать так, как считают нужным.

И это есть правильно и хорошо.

30+ Типа, нужно чтобы софтина делала то-то и то-то и выглядело это (внешне) так-то. Я составляю алгоритм и реализую его,


Фигня полная. Даже Фредерик Брукс (ха, классика - мифический человеко-месяц, тоже, обязательно к прочтению) говорил примерно следущее:

- Нафиг мне Ваши алгоритмы, покажите мне Ваши структуры данных (таблицы).

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

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

Еще раз, для тех кто на бронепоезде (без обид) - язык это ничто. Все определяют библиотеки, фреймворки.
Язык это основа. Это лишь средство. То, что ты обладаешь русским языком - не даст тебе возможность написать новую Войну и мир (хоть в мире Java и .NET бытует иное мнение, в известной притче о тысяче кодирующих обезьян).

---

Кстати, а про паттерны GoF тебе еще никто не рассказывал?
...
Рейтинг: 0 / 0
25 сообщений из 62, страница 1 из 3
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Мышление программиста???
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]