Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Форумное образование

87
02 декабря 2008 года
Kogrom
2.7K / / 02.02.2008
Мысли, которые хочу изложить навеяны темой "Поделитесь опытом".

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

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

Кроме того, так не появится опыт работы в команде и т.п.

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

---

Возможные альтернативы для развития, которые я вижу:

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

2. Копаться в исходниках крупных проектов с открытым исходным кодом. Желательно, чтобы эти проекты были бы аналогами того, что создает программист самоучка. Это непредсказуемый путь, так как не отличишь ошибочное решение от правильного, и поспорить об этом не с кем. Да и "переварить" кучу кода бывает тяжело.

3. Участвовать в развитии существующих проектах с открытым кодом. Если есть контакт с другими авторами, то, наверное, это хороший путь для развития. Недостаток тут в том, что проект уже готов, и многие этапы его развития останутся не прочувствованными. Хотя может это и не требуется для большинства программистов.

4. Создать собственный учебный проект с открытым кодом, рассчитанный на команду. Это хороший путь, но наиболее фантастический. Тут и идея интересная нужна, и команда самоучек с похожим опытом, и организатор, и какие-нибудь опытные кураторы... Вроде бы и самоучкам будет опыт, и кураторы будут знать кто на что способен, если надо будет найти программиста для работы. Но вот организовать такое дело обычно невозможно.

---

Вопросы. Заблуждаюсь ли я относительно возможностей форума? Есть ли еще какие-нибудь альтернативы для развития?

Извините, за большой текст.
Страницы:
353
02 декабря 2008 года
Nixus
840 / / 04.01.2007
А почему только форум? Это же не единственный и тем более не главный источник информации и знаний.
Все возможно. Главное - иметь желание.
13
02 декабря 2008 года
RussianSpy
3.0K / / 04.07.2006
Форум это не институт и не курсы повышения квалификации. Это место где можно попросиь совета у других людей. Чем выше средняя квалификация участников, тем на более сложные вопросы можно получить ответ.
8.4K
02 декабря 2008 года
z0rch
275 / / 02.09.2008
Мое мнение по поводу форума.
Форум может помочь в отдельных частях программы (полностью поддерживаю всю первую часть сообщения Kogrom). А вот насчет второй части, по поводу альтернатив. Почему не рассматривается вариант обучения ? Насколько я знаю, не все программисты в наше время работают по специальности. Следовательно они не знают некоторых деталей, которые преподают в ВУЗах

Пример. Я являюсь программистом - самоучкой. В школе информатику нам вообще не преподают (а я 11-классник!!!), мне понравилось когда я случайно наткнулся на программирование. Изучал исключительно с помощью форума(кстати именно CodeNet). Скачивал отсюда учебники. Учил Паскаль и С++ но понимаю, что многого не знаю. Например, я читал вопрос-ответы на форуме и почти уверен что тут если и сделаю ошибку, то смогу исправить. Но я не знаю азов! Поэтому я для себя определился, что хочу получить специальность "Программист". И надеюсь, что в ВУЗе мне расскажут и объяснят многие детали программирования....

Спасибо, что дочитали до конца)))
13
02 декабря 2008 года
RussianSpy
3.0K / / 04.07.2006
Как показала практика - ВУЗ скорее всего мало чем поможет. На всю страну считаные единицы достойных университетов. Остальные только выдают диплом. Но даже если ВУЗ лучший на планете - ничто не сможет вбить вам знания в голову если вы сами этого не захотите. Но очень часто бывает, когда к 2-3 курсу желание учиться резко пропадает. Тут играет роль усталось и разочарование. Вы думали вас будут учить программировать и разъяснять сложные алгоритмы, а вы, извиняюсь, трахаетесь с философией, физкультурой, социологией и предметами весьма сомнительного содержания и названия (никогда не забуду как нас, магистров по специальности "Цифровая оптика", на шестом курсе долбали предметом "Современные информационные технологии", где рассказывали про MS Word, Excel и как пользоваться гуглом и это при том, что на 4м курсе каждый из нас писал сложную дипломную программу на С++ расчитывающую поведение лазера или искажения оптики).
8.4K
03 декабря 2008 года
z0rch
275 / / 02.09.2008
2 RussianSpy
Ну все же, ВУЗ дал хотя бы начальные знания? Я не спорю, что для развития все же надо дополнительно читать книги, спрашивать на умных форумах и главное, конечно, не потерять интерес.

А про остальные предметы : меня уже морально подготовили к этому)))
Еще вопрос :
Цитата:
на шестом курсе долбали предметом "Современные информационные технологии", где рассказывали про MS Word, Excel и как пользоваться гуглом


проблема только в том, что скучно и неинтересно? Я только попробую предположить, что это можно уже пережить) в крайнем случае, заниматься в это время... цитирую с изменениями...

Цитата:
учиться программировать и разбирать сложные алгоритмы



Если я где-то ошибся, исправьте пожалуйста.

13
03 декабря 2008 года
RussianSpy
3.0K / / 04.07.2006
Ну нормальные люди в это время либо спали, либо были на работе. Остальные строчили конспекты (конспект по ворду - это же вообще немыслимо)
8.4K
03 декабря 2008 года
z0rch
275 / / 02.09.2008
Ну так вот! И все-таки, вопрос вот в чем: Вы ж не просидели втупую несколько лет в ВУЗе ничего так и не узнав нового??? Что то(особенно на 1-2 курсе) узнали? А про то, что многие студенты работают с 3-4 курса я слышал, но пока что особо не могу себе представить ситуацию. Это работа в интернете или физический контакт с работодателем есть?
6
03 декабря 2008 года
George
4.1K / / 05.01.2007
не, ну все таки имхо тема некорректная. Потому как образование на форуме получить невозможно. никакое. На форуме можно получить помощь в решении отдельной задачи, но не более. Здесь не описываются никакие основы и т.д. Это все надо читать в книгах. Ну а насчет вуза соглашусь таки с RussianSpy
288
03 декабря 2008 года
nikitozz
1.2K / / 09.03.2007
Форум рассматривать как источник образования, на мой взгляд, не стоит вовсе. Да зачастую форум заставляет расшевелиться: почитать в книжках то, что не знал или подзабыл, написать какой-то код или т.п. Но вот обучать - нет. Даже когда помогают на форуме, большинство просто списывает представленный код, принимая его как должное и не пытаясь понять почему.
Университет - здесь уже сложнее. Трудно сказать дадут ли там какие-то основы или нет. По-крайней мере трудно для меня, потому как я всегда бежал вперед программы. Вообще с университетами и нашей специальностью сейчас складывается нехорошая ситуация. Потому как к сожалению падает профессиональный уровень преподавателей, потому как те люди, который действительно хорошо смыслят в нашем деле, преподавать не останутся.
Лучшее образование - это однозначно книги и только книги. Без них никуда. Причем читать их приходится все время, чтобы не отстать от прогресса.
Ну и конечно книги хорошо, но без практики ничего путного не выйдет. Только на практике можно узнать все мелочи и тонкости нашей деятельности.
535
03 декабря 2008 года
Нездешний
537 / / 17.01.2008
ВУЗ (любой технической специальности) хорош двумя чертами:
1. Курсом математического анализа (1 - 2 курс), который "ставит" мозги (если, конечно, есть желание и нормальный преподаватель).
2. Системностью программы обучения. По книжкам очень многому можно научиться в отдельных областях, но упустить что-то элементарное и важное в смежной области.
Форум все же не источник образования, но позволяет самоучкам обнаружить пробелы в системе своих знаний. И, часто, пути их восполнения (конкретные книги и т.д.)
Цитата:
читать их приходится все время, чтобы отстать от прогресса

:)

63
03 декабря 2008 года
Zorkus
2.6K / / 04.11.2006
Цитата: z0rch
А про то, что многие студенты работают с 3-4 курса я слышал, но пока что особо не могу себе представить ситуацию. Это работа в интернете или физический контакт с работодателем есть?


Это вполне может быть и работа в офисе на полный рабочий день.

288
03 декабря 2008 года
nikitozz
1.2K / / 09.03.2007
Опечатался :)
87
03 декабря 2008 года
Kogrom
2.7K / / 02.02.2008
Цитата: Nixus
А почему только форум? Это же не единственный и тем более не главный источник информации и знаний.
Все возможно. Главное - иметь желание.


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

Второе. Книгу не поймешь, если не делать практические упражнения. При этом самоучка не всегда сможет понять - грамотно и оптимально он написал маленькую программу или нет. Форум же дает задачи для решения, опытные участники форума показывают ошибки самоучки. Так самоучка может грамотно научиться писать маленькие программы.

Цитата: RussianSpy
Форум это не институт и не курсы повышения квалификации. Это место где можно попросиь совета у других людей. Чем выше средняя квалификация участников, тем на более сложные вопросы можно получить ответ.


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

Еще хуже - если программа работает без ошибок, но написана самым кривым образом и самоучка этого не видит. Тут уже никто ему не поможет.

То есть, довольно трудно дать советы по проектированию больших программ, и т.п.


Цитата: z0rch
Почему не рассматривается вариант обучения ?


Если я не ошибаюсь, то в ВУЗах в лучшем случае научат хорошо писать маленькие программы, работать в одиночку. Но опыт создания большого проекта, созданного командой, в ВУЗе наверное не получают (возможно, я заблуждаюсь).

341
03 декабря 2008 года
Der Meister
874 / / 21.12.2007
[QUOTE=Kogrom]То есть, довольно трудно дать советы по проектированию больших программ, и т.п.[/QUOTE]Проектирование - не совсем программирование, на мой взгляд. Есть, например, программируемое электропианино: оно как обычное, но к нему есть такой программатор, который нажимает чёрные и белые кнопки пианины автоматически и когда надо. Суть: спрограммировать пианино - одно, сочинить фугу си-бемоль - другое.
Кто мешает читать книги, указанные в закреплённой теме "общих вопросов программирования", писать новые программы с учётом полученных знаний, а где непонятно - спрашивать на форуме? Вопрос вида "как разрулить такую вот диаграмму классов?" лично мне кажется более интересным, чем вопрос по взаимодействию двух форм.
Конечно, с профессионалами, обучаемыми другими профессионалами, такой подход вряд ли поможет сравниться, но для самостоятельного обучения будет весьма неплохим подспорьем.[QUOTE=Kogrom]Но опыт создания большого проекта, созданного командой, в ВУЗе наверное не получают (возможно, я заблуждаюсь)[/QUOTE]В ВУЗе получают любой опыт, который реально хотят получить.
63
03 декабря 2008 года
Zorkus
2.6K / / 04.11.2006
Цитата: Der Meister
В ВУЗе получают любой опыт, который реально хотят получить.


Смотря в каком вузе и какой опыт. Если конечно ты понимаешь под "в ВУЗе" - от официальных преподавателей, а не за годы, потраченные на получение ВО.

87
03 декабря 2008 года
Kogrom
2.7K / / 02.02.2008
Цитата: Der Meister
Кто мешает читать книги, указанные в закреплённой теме "общих вопросов программирования", писать новые программы с учётом полученных знаний, а где непонятно - спрашивать на форуме? Вопрос вида "как разрулить такую вот диаграмму классов?" лично мне кажется более интересным, чем вопрос по взаимодействию двух форм.


Если я правильно понял, пишете о том, о чем я писал в первом сообщении:

Цитата: Kogrom
Ну, возможно, если хорошо разобраться в паттернах, то можно пытаться говорить, о том, какие из них надо применять в той или иной программе. Но так могут быть упущены разные мелочи в коде, которые важны именно в больших проектах.

Кроме того, так не появится опыт работы в команде и т.п.


Ну что же. Можно и с этого начать, хотя такой путь немного ущербный.

Что посоветуете изучать для начала? "Паттерны проектирования" от "банды четырех" или может что-то про UML? Вон, смотрю, в Общих вопросах, в двух сообщениях еще какого-то Мартина Фаулера советуют. Может с него начать?

341
03 декабря 2008 года
Der Meister
874 / / 21.12.2007
[QUOTE=Kogrom]то посоветуете изучать для начала? "Паттерны проектирования" от "банды четырех" или может что-то про UML? Вон, смотрю, в Общих вопросах, в двух сообщениях еще какого-то Мартина Фаулера советуют. Может с него начать?[/QUOTE]Если брать конкретно анализ, то лично я бы примерно в таком порядке почитал: Фаулер "UML"->Фаулер "Рефакторинг"->Буч "ООАиД"->Современные технологии разработки программного обеспечения (RUP, хотя лично я им не доверяю: мож я и глухая деревня, но я реально не знаю ни одного приложения от Rational, кроме Rose; MSF, XP и так далее). Ну и по дороге смотреть какую литературу советуют авторы, присматриваться и читать. Паттерны (как анализа, так и проектирования) надо где-то в конце, по идее, когда уже сложилась собственная, подкреплённая опытом, точка зрения.[QUOTE=Zorkus]Смотря в каком вузе и какой опыт. Если конечно ты понимаешь под "в ВУЗе" - от официальных преподавателей, а не за годы, потраченные на получение ВО.[/QUOTE]Ну... Я в комплексе беру. Возможностей дают невероятно много, а вот реализуешь ли ты их - тебе решать.
8.4K
03 декабря 2008 года
z0rch
275 / / 02.09.2008
Итак, читая последние сообщения, остановился на вопросе и очень прошу подсказать. Есть смысл идти в ВУЗ учится на программиста? Или идти все-равно куда, главное по книгам изучать программирование?
Мне пока что не сильно страшно, но вообще меня это уже напрягает, что я не знаю элементарных действий. Например, как использовать отладку)) это вообще стыдно, но мне можно признаться, мне вообще никто не рассказывал про программирование. Все, что знаю, сам изучал.
244
03 декабря 2008 года
UAS
2.0K / / 19.07.2006
z0rch, ну вот я студент и прочее) Скажу тебе прямо - в универе научат многому, пусть и не нужному где-то. В моём универе (ТУСУР в Томске) на моей кафедре меня долбят сурово. Учусь на информационную безопасность, но гоняют нас по всем дисцплинам - и основы распараллеливания вычислений (чтобы быстрее считалось, типа под архитектуру процессора подгоняем), и принципы работы процессора, и схемотехника, и дискретка и ещё кучу чего, что относится и не относится к теме=)

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

Чисто на программиста учиться - смысла не вижу. Только зря годы потратишь. Лучше выбирай профессию, которая более востребована + требует навыков программирования. Так как программированию можно научиться и самому (сам научился тем языкам, которые знаю).
8.4K
03 декабря 2008 года
z0rch
275 / / 02.09.2008
UAS, там, куда я хочу поступить, дают специальность "программист - матматик". Насчет востребованности - вроде бы востребованная профессия, ничего против этого не слышал....
Цитата:
Чисто на программиста учиться - смысла не вижу. Только зря годы потратишь.



Если можно, поподробнее пожалуйста. При условии что программист все таки востребованная профессия. А востребованность я все таки проверю как-нибудь...

Цитата:
Так как программированию можно научиться и самому


Наверное ты хотел сказать "языку программирования". Тут не спорю. А вот сам процесс + отладка(как я говорил - больное место) самому будет ТЯЖЕЛО (я не говорю нереально) понять и разобраться. Особенно начать!

Ну, это только ИМХО

244
04 декабря 2008 года
UAS
2.0K / / 19.07.2006
Цитата: z0rch

Если можно, поподробнее пожалуйста. При условии что программист все таки востребованная профессия. А востребованность я все таки проверю как-нибудь...


Я к тому, что программистом можно быть и самоучкой) Причем на работе будут смотреть именно на твои умения. А программированию в универах учат так себе. У меня было 2-3 препода по программированию по С++. Если честно, то мне кажется, что я больше них соображаю. Когда один препод у меня просит исходники, чтобы разобраться как я со StringGrid работаю, с другим я вообще хавался из-за того, что я вот такие - /* */ - комментарии использовал, типа не надо так:D
Я к тому и говорю, что чистая профессия программист - это зря, потому что можно самому научиться программировать без хождения в универ. Надо что-то такое, чтобы было в комплексе.

Цитата: z0rch
Наверное ты хотел сказать "языку программирования". Тут не спорю.


Нет, именно программированию) Если научиться хорошо программировать на одном языке, то другие будут даваться в разы легче. Я, например, оч.хорошо знаю PHP и JavaScript. И, считай, только благодаря этому я очень быстро писал проги на С++ и паскале, так как знаю саму логику. Ну точнее как там строку обработать, как реализовать какой-то подход. А уж языки - это роли не играет.

Цитата: z0rch
А вот сам процесс + отладка(как я говорил - больное место) самому будет ТЯЖЕЛО (я не говорю нереально) понять и разобраться. Особенно начать!


Ну такие вещи с опытом приходят) Хотя это сложно, согласен

240
04 декабря 2008 года
aks
2.5K / / 14.07.2006
Цитата: Washington
Ну а насчет вуза соглашусь таки с RussianSpy


А я кстати не соглашусь в очередной раз. Рассуждать по конкретному ВУЗу о всех неправильно. Я например своим ВУЗом был вполне доволен. И преподаватели там были именно профессиональные и атмосфера соответствующая. Да хороших вузов может и немного в этом направлении. Да видимо отраслевые вузы - те вобще зачахают. Но надо просто грамотно выбрать сразу. Вы же когда себе технику или, например, автомобиль выбираете, тоже ведь не от балды первое попавшееся берете. =)

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

341
04 декабря 2008 года
Der Meister
874 / / 21.12.2007
[QUOTE=z0rch]там, куда я хочу поступить, дают специальность "программист - матматик"[/QUOTE]Я, когда поступал в университет, не мог никогда даже подумать, что специальность "прикладная математика и информатика" - самая фанарная, и что учиться на программиста проще, чем на дровосека: мне 4 ставили только за то, что я вообще приходил на экзамен. Стращали, конечно, и отчисляли даже (в первый и последний раз на третьем курсе, 25 человек было в группе, 22 доучились), но даже экономисты, по сравнению с нами, впухали порядков на 10 серьёзнее. Хотя мож это только мне так свезло...
87
04 декабря 2008 года
Kogrom
2.7K / / 02.02.2008
Что-то отвлеклись... Цель темы – не обсуждать высшее образование, а выяснить каким образом можно научиться грамотно писать большие программы, и как этому может помочь форум.

Книги – это конечно хорошо. Но они дают только теорию, которая без практики плохо воспринимается. Если самоучка в одиночку делает проект по книгам, то все равно будет "вариться в собственном соку". Он будет лишен необходимой критики, советов, и соответственно проекты его будут ущербными.

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

Отсюда вопрос. Есть ли люди, готовые участвовать в учебном проекте с открытым исходным кодом?

Цель проекта:

1 Освоить грамотное использование ООП в проектах среднего размера (около 10000-50000 строк кода).

2 Освоить грамотный рефакторинг кода.

3 Научиться использовать чужие разработки с открытым исходным кодом в проекте.

4 Освоить работу в команде удаленных разработчиков.

Задачи сделать полезный и оригинальный проект не ставится, главное, чтобы был рабочим.

Понимаю, что идея скорее всего не реализуема, но вдруг что-то получится.
87
04 декабря 2008 года
Kogrom
2.7K / / 02.02.2008
Чтобы было ясно, о чем говорю, добавлю конкретной информации.

Учебный проект с открытым исходным кодом

Предполагаемые условия и средства разработки:

1. Язык разработки – c++, как наиболее демократичный.

2. Операционная система – Windows XP (2000, Vista). Эту ОС используют большинство начинающих программистов-самоучек.

3. Готовые библиотеки классов на первом этапе не используются – только самодельные и стандартная (STL), с учетом наработок Boost, MFC, WTL, wxWidgets и т.д. Использование готовых библиотек отложено до этапа рефакторинга.

4. Компилятор для некоммерческого проекта должен быть свободно распространяемым, поэтому будет использоваться порт MinGW для GCC.

5. IDE: Code::Blocks. Обсуждается.

6. Репозиторий: SVN.

7. Сервер для репозитория – пока не найден.

8. Средства общения: IRC, ICQ, форум.

Идея проекта.

Редактор роликов для Театра Смайликов. Думаю, это для учебного проекта как раз подходит – весело и бесполезно. Если данная идея не нравится, то у меня есть еще парочка.

Участники:

1. Организатор. Пока я. Обязанности: освещать ход развития проекта, привлекать людей.

2. Разработчики: программисты-самоучки для которых и затевается этот проект. Обязанности: проектировать программу, писать код. Требования: знать основы ООП в c++ , STL (контейнеры, потоки, алгоритмы), основы Win32 API.

3. Кураторы: опытные программисты, имеющие опыт в создании крупных проектах. Обязанности: отслеживать изменения проекта, указывать на ошибки, давать советы. Требования: знания на уровне п.2 и опыт работы в крупных проектах.

4. Руководитель. Не знаю, для чего он нужен, но обычно таковой в больших проектах есть.

5. Возможно, художник. Художником также могу быть я (способностей на учебный проект хватит - уровень моего художественного мастерства можно оценить по аватарке).

Приблизительные сроки.

1. Поиск участников, согласование средств, идей: декабрь 2008 – конец января 2009.

2. Проектирование, написание кода: февраль 2009 – январь 2010.

Поясню: так как предполагается, что основное участие примут студенты, то лучше начинать проектирование и написание кода после зимней сессии. Кроме того, мне надо теорию почитать.

Выгода:

1. Для разработчиков – опыт, новые умения.
2. Для кураторов – пока не придумал. Возможно, любопытство.

Уфф... Надеюсь, правила форума не нарушил.
87
05 декабря 2008 года
Kogrom
2.7K / / 02.02.2008
Чтобы не смущать пессимистов создал социальную группу для проекта: Учебный проект.
6
10 декабря 2008 года
George
4.1K / / 05.01.2007
По теме грамотной организации проектов и программной инженерии обязательно читать книгу "Мифический человеко-месяц" Фредерик Брукс.
87
19 декабря 2008 года
Kogrom
2.7K / / 02.02.2008
Цитата: Washington
По теме грамотной организации проектов и программной инженерии обязательно читать книгу "Мифический человеко-месяц" Фредерик Брукс.



Книгу нашел и проглотил за день (хорошо идет, когда тайком вместо работы). Еще неделю буду осознавать.

Некоторые идеи понравились – их можно использовать и при программировании в одиночку.

Однако состав операционной бригады в книге подробно описан только для коммерческого проекта. Для учебного проекта он дан очень кратко: четыре человека, из которых один – архитектор, другой – менеджер, остальные двое – неизвестно кто. Наверно, тут можно назначить инструментальщика и отладчика.

Вроде бы, для лучшей работы необходимо, чтобы все участники учебного проекта прочитали книгу, но в ней много устаревших примеров (типа, как разделить один компьютер на 60 программистов). Да и в конце книги автор вдруг выкладывает, что некоторые идеи, изложенные в книге, были ошибочными. В общем, тут лучше какой-то конспект сделать. Хотя пока желающих принять участие проекта совсем мало, а как напишу ТЗ и план развития – их станет еще меньше :)

Отдельно порадовала глава про блок-схемы :D

9.7K
23 декабря 2008 года
oltzowwa
105 / / 15.02.2007
Цитата: nikitozz
Опечатался :)



Почему? Их не стоит читать???:rolleyes:

87
29 декабря 2008 года
Kogrom
2.7K / / 02.02.2008
Итоги моей подготовительной работы по проекту.

Вот к каким выводам я пришел, почитав теорию.

В идеале, хотелось бы создать программу со структурой, которая позволила бы с наименьшим трудом перенести программу на другую ОС, на другой язык (например, перенести с c++ на java). То есть представляется некоторая модель, в которой можно было бы с наименьшими усилиями заменить любую деталь на какую-то другую.

Пока же, к сожалению, есть опыт создания программ типа снежного кома. То есть некоторые детали, которые снаружи кома заменить сравнительно легко, а то, что внутри заменить невозможно, не разобрав весь ком. Да и вообще, на определенном этапе работать с таким "снежным комом" становится трудновато.

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

Пока всё. Продолжаю изучать теорию.
87
01 февраля 2009 года
Kogrom
2.7K / / 02.02.2008
Настало время предоставить какой-то материал для обсуждения.

Первое. До прочтения книг по проектированию я не знал, как разделить проект на нескольких участников. Теперь появились кое-какие мысли.

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

http://forum.codenet.ru/showthread.php?t=52913&page=2

Теперь один программист может создавать класс Chart, другой - Axis, третий — Field и т. д.

Вывод. Для начала нужно научиться проектировать программы.

Вероятно, тут лучше всего использовать какой-то упрощенный вариант UML. Для построения диаграмм UML есть разнообразные программы. Уважаемый Der Meister похвалил программу Visio. Так же есть бесплатный аналог — Dia. Однако, в связи с некоторой глючностью программы особо рекомендовать ее не буду.

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

Предлагаю использовать упрощенный проект адресной книги, который предложил участник форума kot_ на своем сайте в статье про STL.

Итак, выкладываю черновик ТЗ проекта, первый этап проектирования, ну и образец диаграммы сделанной с помощью Dia.
87
07 февраля 2009 года
Kogrom
2.7K / / 02.02.2008
Проект стартовал. Уже создано несколько диаграмм участниками (диаграммы размещены в соц. группе Учебный проект). Уже на этом этапе появились некоторые трудности, о которых я бы хотел поговорить так же с людьми, не являющими участниками проекта.

Трудности проекта:

1. Нет руководителя, который бы имел право последнего слова в спорных ситуациях.

По моему мнению, ни один из учеников (участников проекта, которые не работали в команде, да и вообще опыт программирования которых мал) не может быть руководителем, так как несет груз неверных представлений, как должен развиваться проект, как правильнее надо программировать. То есть, такой руководить точно заведет проект в тупик.

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

На месте руководителя я бы хотел видеть такого человека, как Green, Der Meister, или Zorkus. На мой взгляд, они сочетают в себе как опытность, так и адекватный характер. Думаю, для них это может быть полезно — тут они могут испытать какие-то модели руководства, которые в реальных проектах они не рискнут использовать.

2. Нет инструментальщика, который бы решал технические проблемы.

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

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

Есть еще некоторые проблемы, но они носят второстепенный характер.

То есть нужен человек, который искал бы нужные инструменты, настраивал их и объяснял участникам как ими пользоваться.

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

Думаю тут подошли бы люди типа Phodopus, Washington. Они толковые, вроде бы любят испытывать разные инструменты. Думаю, для них это может быть интересно — решить нужную задачу, используя минимум ресурсов. Опять таки, можно испытывать какие-то свои задумки, которые в реальных проектах страшновато использовать.

3. Пока участие кураторов носит неопределенный характер.

Но это уже проблема организатора (то есть моя).

Если кто-нибудь заинтересуется - буду рад.
87
08 февраля 2009 года
Kogrom
2.7K / / 02.02.2008
Философия учебного проекта.

1.Проблемы.

Недавно в очередной раз обсуждалась тема типа "До чего дошла современная молодежь", где возмущались наглым поведением ленивых студентов. Тогда у меня возникла мысль, что и с адекватным студентом говорить мало пользы. Ну что с того, что мы решим совместно задачку? К реальным проектам это имеет мало отношения.

Для иллюстрации следующей проблемы приведу интересную цитату:

Цитата:
За семестр расширил немного свой список!=)
Си/С++/С#, асм(основы), VB, ASP, HTML!=)



Это стандартный подход многих новичков: человек не видит куда и для чего расти и начинает изучать основы разнообразных языков программирования (и не программирования, и не языков).

2.Альтернатива.

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

Альтернативу, которую я хочу предложить — Учебный проект. Этот проект был бы моделью, на которой можно было исследовать различные методики программирования.

На первый взгляд, я предлагаю что-то вроде: "а давайте сделаем ММОРПГ". Это не так. В тех призывах главное результат. У меня же главной целью является процесс.

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

Или, например, можно читать про итеративное проектирование, про XP и т.д. Но как эти методы испытать в маленьком проекте, в одиночку?

3.Реализация проекта.

Как реализовать проект я плохо представляю — мало опыта. Но некоторые скромные результаты уже есть. Хотя, конечно, всегда хочется большего.

4.Выгоды.

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

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

Для инструментальщиков выгода может быть, если они давно хотели испытать какие-то инструменты, средства, но в текущих проектах это не оправдано.

Пример 1. Инструментальщик не одобряет политику ICQ, предпочитая другое средство общения. Тут он может пропагандировать другую систему. Трудность заключается в том, что он должен выбрать конкретный клиент, конкретный способ подключения и объяснить всем участникам, как использовать это средство, и чем оно эффективнее ICQ.

Пример 2. Инструментальщик хочет попрактиковаться в работе с сервером, который есть в его распоряжении. Тут он может установить (создать) систему контроля версий и испытывать ее на участниках.

6
09 февраля 2009 года
George
4.1K / / 05.01.2007
Цитата: Kogrom

Думаю тут подошли бы люди типа Phodopus, Washington. Они толковые, вроде бы любят испытывать разные инструменты. Думаю, для них это может быть интересно — решить нужную задачу, используя минимум ресурсов. Опять таки, можно испытывать какие-то свои задумки, которые в реальных проектах страшновато использовать.


Так то оно конечно так, коли оно не эдак (с). Только вот я "дельфин" =), а "дельфины" тебе не нужны вроде. Да и время как-то нифига лишнего нет. :(

87
09 февраля 2009 года
Kogrom
2.7K / / 02.02.2008
Цитата: Washington
Только вот я "дельфин" =), а "дельфины" тебе не нужны вроде.


Инструментальщик - это вроде как сисадмин. Не особо важно какие языки программирования он знает.

С другой стороны полезно изучить C++, так как много умной литературы есть по проектированию программ, где примеры даются на этом языке. Хотя, есть определенное количество авторов (Фаулер и его последователи) приводят примеры на Java...

Цитата: Washington
Да и время как-то нифига лишнего нет.


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

Ну, в общем команда уже собрана - не хватает только инструментальщика. Вот я и развел тут шум.

6
09 февраля 2009 года
George
4.1K / / 05.01.2007
Цитата: Kogrom
Инструментальщик - это вроде как сисадмин. Не особо важно какие языки программирования он знает.


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

Цитата: Kogrom
С другой стороны полезно изучить C++, так как много умной литературы есть по проектированию программ, где примеры даются на этом языке. Хотя, есть определенное количество авторов (Фаулер и его последователи) приводят примеры на Java...


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

Цитата: Kogrom
Тут же никаких сроков нет. Проектом занимаемся чисто из интереса. Ну типа, как если бы кто-то от нечего делать установил Убунту и начал ее изучать, или создал свой блог :) Ведь находится же время.


экий ты. я это все делал до того, как устроился на работу. Сейчас вот думал перевести блог на Wordpress а времени то нема. :(

Цитата: Kogrom

Ну, в общем команда уже собрана - не хватает только инструментальщика. Вот я и развел тут шум.


А кто еще есть?

87
09 февраля 2009 года
Kogrom
2.7K / / 02.02.2008
Цитата: Washington
А я щас до вечера работаю, а вечером реализовываю собственный проект...


Я весь декабрь и январь работал так: 8 часов на работе + брал работу на дом. И почти без выходных. Бывает.

Сейчас вроде намного проще - всего только 8 часов на работе, да и выходные вроде появляются.

Цитата: Washington
А кто еще есть?


Тут они
http://forum.codenet.ru/group.php?groupid=7

535
09 февраля 2009 года
Нездешний
537 / / 17.01.2008
Похоже, вложение в социальной группе прикрепить низя. Или это я не нашел. Набросок модели прикреплю здесь
14
09 февраля 2009 года
Phodopus
3.3K / / 19.06.2008
Блин, в качестве справочника я бы мог еще поработать, но в качестве человека ищущего инструменты.. настраивающего и предагающего их - это надо за всей темой следить.. У меня и так времени на сам форум мало - хорошо хоть сообщений сейчас совсем немного. А так 2 форума где активно участвовал уже похерил с нового года :)
87
09 февраля 2009 года
Kogrom
2.7K / / 02.02.2008
Цитата: Phodopus
Блин, в качестве справочника я бы мог еще поработать


Это как?

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог