|
|
|
Мышление программиста???
|
|||
|---|---|---|---|
|
#18+
softwarerРекомендовать достаточно сложно.... как мне представляется, Вам нужны фундаментальные труды - книги с названиями типа "Алгоритмы" и "Структуры данных", методологические пособия. Конкретно.... конечно, советуя вслепую велика вероятность ошибиться, но я бы посоветовал попробовать "Искусство программирования" Кнута, с первого тома. Уважаемый softwarer, а что Вы думаете о книге, например, Л. Константайна "Разработка программного обеспечения" или о книге Э.Д. Брауде "Технология разработки программного обеспечения" или о книге С. Макконнелла "Совершенный код"? Было бы интересно узнать Ваше мнение. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2007, 11:03 |
|
||
|
Мышление программиста???
|
|||
|---|---|---|---|
|
#18+
grexhideНе-а. Простым человеческим языком - можно только на заборе неприличное слово написать. Если заказчик невменяем, и не может оформить нормальное ТЗ (не говоря уже о Техпроекте) - то нужно нанимать аналитиков и проектировщиков, которые сделают диагностику заказчику, напишут много всякого разного (схем, формул, графиков, табличек-формочек), на что Заказчик посмотрит- и скажет: "О крута (хоть я ничего не понял". Ну а программисты тоже, должны всю эту хрень переварить, сказать свое громкое фи, и сделать так, как считают нужным. И это есть правильно и хорошо. grexhide Фигня полная. Даже Фредерик Брукс (ха, классика - мифический человеко-месяц, тоже, обязательно к прочтению) говорил примерно следущее: - Нафиг мне Ваши алгоритмы, покажите мне Ваши структуры данных (таблицы). И тут он - абсолютно прав. Алгоритм - это ничто, его любой недоученный студент слабает. А вот правильно спроектировать схемы данных - это нужно уметь-с. Может быть. Только, в настоящее время, мне приходится учиться работать почти так, как я написал. Т.е. мне, буквально, показывают отчет на бумаге и говорят, что софтина, которую ты пишешь, должна выдавать такой же отчет, только "красивше". Я сам колупаю структуру БД, допетриваю, какие таблицы используются в данном отчете, соображаю, исходя из исходных данных, как получилась та или иная цифирь... Рисую похожую форму и вперед... grexhide Еще раз, для тех кто на бронепоезде (без обид) - язык это ничто. Все определяют библиотеки, фреймворки. Язык это основа. Это лишь средство. Абсолютно согласен!!!! Я же и говорил о том, чтобы выбирать язык под задачи, а не отталкиваться от языка. Вот меня и интересует формирование мозгов так, чтобы можно было "Войну и мир" написать" grexhide Кстати, а про паттерны GoF тебе еще никто не рассказывал? Пока нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2007, 11:19 |
|
||
|
Мышление программиста???
|
|||
|---|---|---|---|
|
#18+
grexhide - Нафиг мне Ваши алгоритмы, покажите мне Ваши структуры данных (таблицы). И тут он - абсолютно прав. Алгоритм - это ничто, его любой недоученный студент слабает. А вот правильно спроектировать схемы данных - это нужно уметь-с. а я бы по другому сказал - нафиг мне ваши структуры данных - покажите форму и юзеров форма определяет структуру данных предложить новую форму старого - вот путь броска конкурента через х%й другое дело что микрософт предлагает новые свои формы вместо своих же старых форм - сама себя зачморила - не вижу в этом смысла - от виста, офиса2007 меня уже чуть не стошнило и причина понятна - приходят менеджеры там на работу им надо делать карьеру - отличаться от предыдущих - вот и делают отличия но к нам то это думаю не имеет отношения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2007, 11:33 |
|
||
|
Мышление программиста???
|
|||
|---|---|---|---|
|
#18+
юзеры определяют форму - форма определяет алгоритм - алгоритм определяет структуру данных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2007, 11:39 |
|
||
|
Мышление программиста???
|
|||
|---|---|---|---|
|
#18+
30+Не совсем так... В идеале, мне это видится следующим образом. Заказчик (начальник и т.п.) описывает мне софтину простым человеческим языком. Типа, нужно чтобы софтина делала то-то и то-то и выглядело это (внешне) так-то. Я составляю алгоритм и реализую его, причем делаю это не только на Java (потому что я знаю, скажем, только Java), а на том языке, который больше всего подходит для решения данной задачи (в пределах разумного, естественно). Теперь стало понятнее. Вы хотите освоить полный цикл разработки ПО. Тут действительно нужно двигаться поэтапно, но на детальное изучение всего процесса уйдет лет так несколько. тыцрешайте олимпиадные задачки по информатике + чтиво по алгоритмам, эти вещи сильно голову ломают... хотя имхо надо хотябы склонность к этому иметь... Очень верное замечание в плане развития алгоритмических навыков. Правда, я бы еще усилил требования: взять любую классическую задачу, алгоритмы решения которой уже изъезжены вдоль и поперек, и дополнить чертами из реальной жизни. Например, в задаче Коммивояжера, кроме дальности маршрута можно учитывать и фактор стоимости переездов. Проблема представляется совсем в новом свете! Вообще, думаю, тут больше поможет не теория, а практика. Попробуйте прогнать несколько собственных небольших проектов: сделать ПО, нужное лично вам (например что-то вроде классификатора заметок или менеджера паролей - разумеется, задачи должны быть требуемого уровня). "Узкие места" сами укажут направления дальнейшего совершенствования! grexhideзашоренно бесполезный матан, которым до потери вменяемости пичкают на специальностях Прикладная математика Матан на полную мощность работает в физике. Вот где потребуется весь его аппарат для моделирования реальных процессов. Помню на 2-м курсе в РГР у нас были физические задачки, которые сводились к составлению единственного интегралла и его решению. Причем решить его особого труда не составляло, а вот СОСТАВИТЬ... Тут как раз и требовалось весьма развитое системное мышление! Большинство студентов выло! (Я, кстати, закончил институт как раз по ПМ, и ничуть об этом не жалею). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2007, 11:40 |
|
||
|
Мышление программиста???
|
|||
|---|---|---|---|
|
#18+
30+ grexhide Кстати, а про паттерны GoF тебе еще никто не рассказывал? Пока нет. Паттерны - вещь хорошая, когда необходим плотный диалог рабочих групп, работающих над одним проектом. Если вы работаете один и у вас хороший, технический склад ума, то акцентировать особое внимание на этих буржуазных стандартах не стоит. Многие из паттернов вы применяете не задумываясь. Pool и Singleton я начал использовать даже не зная их названия. Декоратор мы все используем каждый день и повсеместно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2007, 11:55 |
|
||
|
Мышление программиста???
|
|||
|---|---|---|---|
|
#18+
maytonПаттерны - вещь хорошая, когда необходим плотный диалог рабочих групп, работающих над одним проектом. Если вы работаете один и у вас хороший, технический склад ума, то акцентировать особое внимание на этих буржуазных стандартах не стоит. Многие из паттернов вы применяете не задумываясь. Pool и Singleton я начал использовать даже не зная их названия. Декоратор мы все используем каждый день и повсеместно. Поддерживаю. Во всяком случае - совсем не стоит делать из них кумира, тем более, ряд GoF паттернов (к примеру - Immutable, Memento, Flyweight) вообще надерганы яверами, извиняюсь, что волосы из носа (в нормальных языках такого безобразия просто нет). Да и особой там америки нет, в паттернах этих. Впрочем, опять же, только яверы страдают такой хренью, как строгое следование этим лекалам, включая явное участие в именах классов (...Controller, ....Proxy, ...Facade, ...Factory, ...Singleton). Что (последнее лекалирование) - и вовсе признак дурного вкуса и прочего моветона (зачем банальности эти расписывать?) -- Хоть ничего эти GoF не открыли. Просто описали то, что было известно десятки лет назад до них. Но провели классификацю - ну и ладно, спасибо и на этом (лишь бы сильно мозги на заформатировались у кого). Но в любом случае - для прочтения полезно (я вот так все и не осилил - надоело мусолить банальности). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2007, 12:30 |
|
||
|
Мышление программиста???
|
|||
|---|---|---|---|
|
#18+
30+ wrote: > описывает мне софтину простым человеческим языком И в результате по завершению работы выясниться, что вы друг друга не поняли - чувак просил тетрис, а ему сделали базу данных сотрудников. Не прокатит. Пусть пишет не "нормальным" языком, а тем, который не позволяет двусмысленных трактовок требований. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2007, 12:34 |
|
||
|
Мышление программиста???
|
|||
|---|---|---|---|
|
#18+
ve301а я бы по другому сказал - нафиг мне ваши структуры данных - покажите форму и юзеров форма определяет структуру данных Не-а... ответ не верный. Форма определяет лишь форму, но не содержание. Делать содержание только от формы - довольно глупо (вот у меня содержание одно, а форм представления несколько - см. сущность Документы). Хоть даже в общей инженерии это взаимосвязанные процессы, но там больше проблема габаритов, у нас, слава богу, этот вопрос не так актуален (как впихнуть все оборудование в ограничение по весу 2 тонны, ограничение объема - 1 куб.м). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2007, 12:35 |
|
||
|
Мышление программиста???
|
|||
|---|---|---|---|
|
#18+
ErV 30+ wrote: > описывает мне софтину простым человеческим языком И в результате по завершению работы выясниться, что вы друг друга не поняли - чувак просил тетрис, а ему сделали базу данных сотрудников. Не прокатит. Пусть пишет не "нормальным" языком, а тем, который не позволяет двусмысленных трактовок требований. Posted via ActualForum NNTP Server 1.4 Он мне еще и показывает, как это должно выглядеть, соответственно, сложно, в итоге, получить не то, что хотел заказчик. В любом случае, это мои проблемы, а не заказчика... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2007, 13:09 |
|
||
|
Мышление программиста???
|
|||
|---|---|---|---|
|
#18+
grexhide ve301а я бы по другому сказал - нафиг мне ваши структуры данных - покажите форму и юзеров форма определяет структуру данных Не-а... ответ не верный. Форма определяет лишь форму, но не содержание. Делать содержание только от формы - довольно глупо (вот у меня содержание одно, а форм представления несколько - см. сущность Документы). И вот подходим к любопытному аспекту - а где содержание? и что за чудо документы нужны? Есть мнение что нет в программах содержания - содержание, осмысление и польза от информации - это работа юзеров, унифицированный же "содержательный документ" - купюра. то бишь не нужны юзерам сильно "умные программы" - юзерам нужна оперативная инфа от компьютеров, чем "умнее программа" тем меньше у нее юзеров, и тем труднее программисту, разработчики же конвертора мелодии в пиликающие рингтоны мобильника стали миллионэрами, путешествуют по Австралии (http://www.kraynov.com/) и у них совершенно не болит голова ни о чем незаменимый же каждую секунду специалист по Оракле в итоге сам себя законопатит в бункер какого банка и заболеет болезнью легионеров - вот видимо итог ума мораль как бы такова - если на досуге подумать про стек юзеров - это и определит стек технологий, вот и все юзеры смотрят на форму глазами и слушают ушами а победит тот, кто займет руки - руки - вот с чего начался человек (у меня на эту тему есть линк ) я сейчас по крупному делаю ставку на деловых - протягиваю им руку помощи (может дадут на продукты :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2007, 13:49 |
|
||
|
Мышление программиста???
|
|||
|---|---|---|---|
|
#18+
ve301 И вот подходим к любопытному аспекту - а где содержание? и что за чудо документы нужны? Еще раз. Очень просто. Есть документы. Финансовые, к примеру. Платежки, накладные, ордера, счета-фактуры и прочая всякая разная. Ясен пень, все они могут быть основанием для проведения всяческих коррекспонденций в бухгалтерских и не очень учетах. Итого: правильный способ: создать мегасущность, которая содержит все описательные поля всех возможных документов в рамках данной задачи (их там, кстати, не много, полей этих) неправильный способ: хреновертить каждый документ от его формы, каждый раз с удовольствием обсасывая всю необходимую (к примеру триггерную или процедурную) обвязку. каждый раз, для каждого вида документа. Вот против неправильного подхода - форма задаёт содержание - я и был категорически против. На кой каждый раз изобретать один и тот же лисапет, если его можно один раз изобрести, и потом только опции довешивать, по заказам телезрителей, из набора стандартных комплектующих. Подумай. ve301 <бред поскипан, тындекс ужоснах тоже> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2007, 14:07 |
|
||
|
Мышление программиста???
|
|||
|---|---|---|---|
|
#18+
30+Может быть. Только, в настоящее время, мне приходится учиться работать почти так, как я написал. Т.е. мне, буквально, показывают отчет на бумаге и говорят, что софтина, которую ты пишешь, должна выдавать такой же отчет, только "красивше". Я сам колупаю структуру БД, допетриваю, какие таблицы используются в данном отчете, соображаю, исходя из исходных данных, как получилась та или иная цифирь... Рисую похожую форму и вперед...ты это реально делаешь или только представляешь, что делаешь? Я так понимаю, времени у тебя не особо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2007, 16:35 |
|
||
|
Мышление программиста???
|
|||
|---|---|---|---|
|
#18+
maXmo 30+Может быть. Только, в настоящее время, мне приходится учиться работать почти так, как я написал. Т.е. мне, буквально, показывают отчет на бумаге и говорят, что софтина, которую ты пишешь, должна выдавать такой же отчет, только "красивше". Я сам колупаю структуру БД, допетриваю, какие таблицы используются в данном отчете, соображаю, исходя из исходных данных, как получилась та или иная цифирь... Рисую похожую форму и вперед...ты это реально делаешь или только представляешь, что делаешь? Я так понимаю, времени у тебя не особо? Реально делаю... Вышеописанным способом написано уже 9 отчетных программ. Пользователям нравится. Но хотелось бы уйти от чистой отчетности... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2007, 16:46 |
|
||
|
Мышление программиста???
|
|||
|---|---|---|---|
|
#18+
Alex_soldier Например, в задаче Коммивояжера, кроме дальности маршрута можно учитывать и фактор стоимости переездов. Проблема представляется совсем в новом свете! Вообще, думаю, тут больше поможет не теория, а практика. Вроде бы, достаточно просто заменить скалярные аттрибуты рёбер на векторные, ну и ввести в постановку задачи метрику, позволяющую оценивать медленный, но дешёвый путь и быстрый, но дорогой. Алгоритмические изменения незначительны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2007, 16:53 |
|
||
|
Мышление программиста???
|
|||
|---|---|---|---|
|
#18+
30+Реально делаю... Вышеописанным способом написано уже 9 отчетных программ. Пользователям нравится. Но хотелось бы уйти от чистой отчетности... Опять откровение. Для того, чтобы делать отчётные формы - программирование не нужно. Вообще. Я в упор не помню ни одного отчета, который я не смор бы построить с помощью банального SQL и вменяемого репортера (бенд ориентированного - Crystall Reports, Fast Reports, ну и так далее). Не стой стороны копаете, уважаемый (и вообще - репортинг это не программирование... вообще). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2007, 17:10 |
|
||
|
Мышление программиста???
|
|||
|---|---|---|---|
|
#18+
grexhide 30+Реально делаю... Вышеописанным способом написано уже 9 отчетных программ. Пользователям нравится. Но хотелось бы уйти от чистой отчетности... Опять откровение. Для того, чтобы делать отчётные формы - программирование не нужно. Вообще. Я в упор не помню ни одного отчета, который я не смор бы построить с помощью банального SQL и вменяемого репортера (бенд ориентированного - Crystall Reports, Fast Reports, ну и так далее). Не стой стороны копаете, уважаемый (и вообще - репортинг это не программирование... вообще). Вот, поэтому и нужно соответствующие навыки (то о чем я писал в начале), чтоб не всю жизнь отчетами заниматься... Если бы это были отчеты сами по себе, согласен, обошлись бы SQL и jReports, но это (отчеты) часть системы. Т.е. нужен соответствующий GUI, где частенько приходится и компоненты лабать (не только по форме их раскидывать) и данные, получаемые из этих компонентов до помещения их в запрос соответствующим образом обработать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2007, 19:22 |
|
||
|
Мышление программиста???
|
|||
|---|---|---|---|
|
#18+
30+Вот, поэтому и нужно соответствующие навыки (то о чем я писал в начале), чтоб не всю жизнь отчетами заниматься... Если бы это были отчеты сами по себе, согласен, обошлись бы SQL и jReports, но это (отчеты) часть системы. Т.е. нужен соответствующий GUI, где частенько приходится и компоненты лабать (не только по форме их раскидывать) и данные, получаемые из этих компонентов до помещения их в запрос соответствующим образом обработать... У..... как все запущено то. Вообще то есть такой режим: Запрос/просмотр данных/правка. А отчет (любой), по сути не должен требовать никаких дополнительных контролов, а работать от текущего контекста (просмотра). Что запросили, то и получили (хоть как). Генератору отчетов просто передаётся текущий контекст, и не важно, какие фильтры туда наложены (это не отчетово дело - источником данных рулить). Впрочем, озвученный изначально подход (к отчету тулим толпу контролов для фильтрации) вполне себе характеризует яверов (впрочем, не только). Они любители все делать дважды, трижды, четырежды (fine grained part of), размазывая задачу на сотни строк кода и человеко-месяцы там, где... ничего, по большому счету, кодировать не нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2007, 21:06 |
|
||
|
Мышление программиста???
|
|||
|---|---|---|---|
|
#18+
Отчет можно в Excel перебросить, предварительно наваяв SQL-запрос, да хоть бы и динамический. Не встречал ни одного вменяемого заказчика (читай - умеющего работать с Excel), который бы потребовал чего-нибудь другого. Кстати, не могу не поблагодарить grexhide за ссылку на новые переводы Джоэля Спольски. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2007, 12:08 |
|
||
|
Мышление программиста???
|
|||
|---|---|---|---|
|
#18+
softwarer я бы посоветовал попробовать "Искусство программирования" Кнута, с первого тома. +1 Когда я начал школьником читать эту книгу и разбирал первый алгоритм MIX- машины (по - моему это было нахождение максимума), я был просто поражен. Я помню свою мысль "Я никогда не смогу научиться ТАК думать" :-) Потом уже в институте пришло понимание. Тут еще ИМХО тот случай, когда мышление не только помогает решать практические задачи, но и обратное влияние работает : решение практических задач развивает мышление - получается такое вращающееся колесо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2007, 12:19 |
|
||
|
Мышление программиста???
|
|||
|---|---|---|---|
|
#18+
grexhide[quot 30+](fine grained part of) Во прицепился-то к фразе. Уже раз десятый встречаю. Пора требовать комисионные :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2007, 15:00 |
|
||
|
Мышление программиста???
|
|||
|---|---|---|---|
|
#18+
grexhide 30+Вот, поэтому и нужно соответствующие навыки (то о чем я писал в начале), чтоб не всю жизнь отчетами заниматься... Если бы это были отчеты сами по себе, согласен, обошлись бы SQL и jReports, но это (отчеты) часть системы. Т.е. нужен соответствующий GUI, где частенько приходится и компоненты лабать (не только по форме их раскидывать) и данные, получаемые из этих компонентов до помещения их в запрос соответствующим образом обработать... У..... как все запущено то. Вообще то есть такой режим: Запрос/просмотр данных/правка. А отчет (любой), по сути не должен требовать никаких дополнительных контролов, а работать от текущего контекста (просмотра). Что запросили, то и получили (хоть как). Генератору отчетов просто передаётся текущий контекст, и не важно, какие фильтры туда наложены (это не отчетово дело - источником данных рулить). Впрочем, озвученный изначально подход (к отчету тулим толпу контролов для фильтрации) вполне себе характеризует яверов (впрочем, не только). Они любители все делать дважды, трижды, четырежды (fine grained part of), размазывая задачу на сотни строк кода и человеко-месяцы там, где... ничего, по большому счету, кодировать не нужно. Проблема в следующем. У одного заказчика стоит Windows у другого Linux. Писать 2 разные системы под разные ОС накладнее. Не вдаваясь в подробности, система пишется взамен старой, к которой пользователь привык. А он привык, что у него отдельный отчет находится в отдельном модуле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2007, 15:11 |
|
||
|
Мышление программиста???
|
|||
|---|---|---|---|
|
#18+
30+Проблема в следующем. У одного заказчика стоит Windows у другого Linux. Писать 2 разные системы под разные ОС накладнее. Не вдаваясь в подробности, система пишется взамен старой, к которой пользователь привык. А он привык, что у него отдельный отчет находится в отдельном модуле.А в чем проблема то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2007, 18:03 |
|
||
|
Мышление программиста???
|
|||
|---|---|---|---|
|
#18+
30+..изучая, Java, Oracle, C++ понял одну вещь. Нужно делать акценты не на конкретике, а на принципах. Т.е. в итоге нужно иметь такое мышление, чтобы язык программирования стал всего лишь удобным инструментом для воплощения задуманного. Исходя из этого есть одна просьба ко всем присутствующим: порекомендуйте, пожалуйста, литературку для формирования соответствующего образа мышления. я советую тебе пообщаться с фанами программистами, причём с фанами - руководителями (организаторами) групп кодеров. Один очень хороший такой человек, который попался мне в универе, очень помог мне. Общаясь с ним я абсолютно никакого уровня существенно его повысил. Причём главное было не технические детали, а его психология (то, как он относиться к поставленной задаче, как её решает). Ему даже не важно, на чём программировать. А этих книг можно перечитать 10-ки, но пользы от них будет куда меньше. ps: главное, что я понял, общаясь с ним - нет ничего невозможного, можно написать практически любую программу. До этого, я не знал этого факта :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2007, 00:20 |
|
||
|
Мышление программиста???
|
|||
|---|---|---|---|
|
#18+
xm?!_(mo3roBa9_akTuBHocTb) главное, что я понял, общаясь с ним - нет ничего невозможного, можно написать практически любую программу. До этого, я не знал этого факта :) неправда, например на данном этапе развития технологии неполучиться написать программу, которая по словестному описанию нарисовала-бы картину с приемлемым качеством изображения (собственно сомневаюсь, что нарисует вообще хоть что-то). И книжки читать на самом деле полезно, хотя-бы что-бы иметь возможность сравнивать, что говорит твой гуру с тем, что по этому поводу думают другие, не менее уважаемые люди ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.09.2007, 17:59 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=34761377&tid=1345865]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
183ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
70ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 523ms |

| 0 / 0 |
