Учат в школе

Submitted by 0xd34df00d on Tue, 04/06/2010 - 21:40

Давно я не писал сюда. Это по большей части потому, что сейчас я обитаю в жуйке (да, сраный микроблоггинг поглотил и меня), учусь на втором курсе и въя^W работаю по трем направлениям.

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

Возьмем те же личкрафты. Казалось бы, отличный проект для командной работы: один программист пишет один модуль, второй — другой, третий — еще какой-то. Стандартизуешь API, если надо, между плагинами, и всё. А если плагины не связаны между собой (один пилит IM, а другой — плеер), то и этого не нужно. Но не все так просто.

Начнем с того, что ВНЕЗАПНО, несмотря на описания, хаутушки и мануалы (и даже гайд по написанию плагинов на примере простенькой скриншотилки), код среднему человеку, пытавшемуся тыкать личкрафты, кажется сложным. C++! STL! Qt! Boost!

IM, мессенджер, то бишь. Архитектура проста. Отдельным процессом ядро мессенджера, запускается, получает список .so-шек с реализациями протоколов от личкрафта, грузит их и использует для коннекта к серверу. Это чтобы от сервера не отключаться, когда личкрафты упадут. А ядро IM'а, в свою очередь, через какой-нибудь локальный IPC связывается с соответствующим плагином к личкрафтам, который уже рендерит ростер, показывает табы с чятиками и делает множество других интересных вещей.

API этого всего дела. Да не знаю я API. Не могу я сейчас предугадать, какие сегодня абстракции понадобятся для libpurple-based протокольного плагина, какие завтра — для iris-based, а через неделю — для SIP. API я буду рожать по мере написания кода. И изменять буду. И удалять старое, и добавлять новое. Да и код в моей голове. Архитектура в моей голове. Идеи и цели в моей голове. Я все это вижу, чувствую, но быстрее написать самому, нежели кому-то что-то объяснять.

Что делать, моя любимая жежешечка? И почему меня в моих физтехах учат какому-то жалкому подобию C++, учат умирающим технологиям типа SQL на примере MS SQL, но не учат таким банальным вещам?

Может быть стоит выписать

Может быть стоит выписать все, о чем ты сказал в предложениях, оканчивающихся на "в моей голове", но только начиная с последнего такого предложения, а не с первого?

Кстати, у меня такое же.