Модераторы: Се ля ви

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> А можно без классов? 
:(
    Опции темы
Lazin
Дата 29.12.2008, 13:29 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 1
Всего: 154



Цитата(ksili @  29.12.2008,  13:07 Найти цитируемый пост)
Есть базовые классы, они хорошо отработаны. их хватает для большинства часто решаемых задач. Если их не хватает, значит проект наверняка большой  и используй ООП на здоровье. Но все это 
Цитата

область памяти выделенная под строку, указатель на строку, куча переменных хранящих длину строки, кодировку символов и тд и функция, принимающая в качестве параметра указатель на область в памяти и кодировку символов

у тебя опять же  будет, только кроме этого ещё куча воды. 

Только я ее видеть не буду, это уже кое-что
А насчет больших и маленьких проектов, ты слышал когда-нибудь про принцип DRY, разве ты не захочешь использовать повторно код, который ты писал для маленького проекта? В случае если это ООП код, то это легко сделать, если код, к примеру чтения из реестра размазан по коду программы, то даже в маленьком проекте его будет трудно изменить а использовать в другом проекте, то что ты уже делал крайне затруднительно. Мне однажды пришлось переписать такую "небольшую" программу. Там было всего около 4к строк, но это был абсолютно не сопровождаемый и не читаемый код, все состояло из пары десятков функций и такого-же количества глобальных переменных, все отправилось в унитаз =)
PM MAIL Skype GTalk   Вверх
ksili
Дата 29.12.2008, 13:34 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: нет
Всего: 17



Цитата(Lazin @  29.12.2008,  17:29 Найти цитируемый пост)
но это был абсолютно не сопровождаемый и не читаемый код

а комментарии там были читаемые? Готов поспорить, что их там не было или почти не было
Цитата(Lazin @  29.12.2008,  17:29 Найти цитируемый пост)
ты слышал когда-нибудь про принцип DRY

неа
Цитата(Lazin @  29.12.2008,  17:29 Найти цитируемый пост)
разве ты не захочешь использовать повторно код

обычно я для этого использую CTRL-C  CTRL-V, но вообще обычно делать то, что уже делал раньше, не берусь. Как-то так получается

Это сообщение отредактировал(а) ksili - 29.12.2008, 13:35


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
Lazin
Дата 29.12.2008, 14:01 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 1
Всего: 154



какая разница были там комментарии или нет, мне что-бы что-то изменить в программе нужно весь код разбирать что-ли?
Don't Repeat Yourself smile 
Цитата(ksili @  29.12.2008,  13:34 Найти цитируемый пост)
обычно я для этого использую CTRL-C  CTRL-V, но вообще обычно делать то, что уже делал раньше, не берусь. Как-то так получается

вот представь, есть у тебя код для работы с реестром, скажем добавление ключа в реестр, ты его скопипастил в N проектов, потом выходит windows vista, в которой немного изменилась работа с атрибутами безопасности и этот код перестал работать, ты будешь руками править все эти N проектов?
PM MAIL Skype GTalk   Вверх
ksili
Дата 29.12.2008, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: нет
Всего: 17



Цитата(Lazin @  29.12.2008,  18:01 Найти цитируемый пост)
вот представь, есть у тебя код для работы с реестром, скажем добавление ключа в реестр, ты его скопипастил в N проектов, потом выходит windows vista, в которой немного изменилась работа с атрибутами безопасности и этот код перестал работать, ты будешь руками править все эти N проектов?

если там много работы с реестром, то для этого у меня будет пара соответствующих функций. Собственно их и надо будет переправить. 


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
Lazin
Дата 30.12.2008, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 1
Всего: 154



Цитата(ksili @  29.12.2008,  14:08 Найти цитируемый пост)
если там много работы с реестром, то для этого у меня будет пара соответствующих функций. Собственно их и надо будет переправить.

функция это уже какая-то абстракция, один шаг до ООП, к примеру функции такие:
Код

  void regstry_addkey(HANDLE h, LPCSTR key, LPCSTR value);//добавить ключ в реестр
  void registry_remkey(HANDLE h, LPCSTR key);//удалить ключ из реестра

это уже ООП, только ты не знаешь об этом smile 
лично я тут вижу класс registry, и два его метода, то что это его методы нам говорит название ф-й и то, что они принимают в качестве первого аргумента один и тот-же параметр, который определяет экземпляр объекта
Это все эквивалентно такому коду:
Код

class registry
{
  HANDLE h;
public:
...
  void addkey(LPCSTR key, LPCSTR value);//добавить ключ в реестр
  void remkey(LPCSTR key);//удалить ключ из реестра
};

этот код с вашей с троллем точки зрения содержит много лишнего, а с моей точки зрения он понятней, к тому-же безопасней, так как нельзя вызвать метод с неверным аргументом smile 
PM MAIL Skype GTalk   Вверх
nerezus
Дата 30.12.2008, 10:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: нет
Всего: 43



Цитата

это уже ООП, только ты не знаешь об этом
 О да, void * — офигенческий ООП.
Тогда можно сказать, что асм - самый оопный язык, т.к. там вообще типов нет.

Добавлено через 13 минут и 42 секунды
Lazin, а представь, что ты наследуешь "класс", т.е. дополняешь структуру(на которую тьвой void* смотрит) новыми данными.
Что получишь? Рантайм-ошибку конечно же.

На самом деле тебе придется при наследовании ПЕРЕписывать все ф-ии, т.е. писать над ними обертку для наследника.

+ отсутствует контроль во время компиляции, не говоря уже о подчеркивании красным в IDE.

Это сообщение отредактировал(а) nerezus - 30.12.2008, 10:06


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
ksili
Дата 30.12.2008, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: нет
Всего: 17



Цитата(Lazin @  30.12.2008,  13:57 Найти цитируемый пост)
нельзя вызвать метод с неверным аргументом

для этого надо будет ещё постараться.

Цитата(Lazin @  30.12.2008,  13:57 Найти цитируемый пост)
функция это уже какая-то абстракция, один шаг до ООП

не передергивай. Также можно сказать, что создание своего типа типа - еще один шаг до ООП.

Цитата(Lazin @  30.12.2008,  13:57 Найти цитируемый пост)
это уже ООП, только ты не знаешь об этом

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

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


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
nerezus
Дата 30.12.2008, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: нет
Всего: 43



ksili, ООП возможно и без классов, если все принципы ООП соблюдаются.

Цитата

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


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
ksili
Дата 30.12.2008, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: нет
Всего: 17



Цитата(nerezus @  30.12.2008,  14:26 Найти цитируемый пост)
ksili, ООП возможно и без классов, если все принципы ООП соблюдаются

Ну я просто не знал, что их можно соблюсти и без классов

Добавлено через 7 минут и 56 секунд
А это реально бывает? или так, существует вероятность...


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
Lazin
Дата 30.12.2008, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 1
Всего: 154



Цитата(nerezus @  30.12.2008,  10:01 Найти цитируемый пост)
О да, void * — офигенческий ООП.


Цитата(nerezus @  30.12.2008,  10:01 Найти цитируемый пост)
Lazin, а представь, что ты наследуешь "класс", т.е. дополняешь структуру(на которую тьвой void* смотрит) новыми данными.
Что получишь? Рантайм-ошибку конечно же.

На самом деле тебе придется при наследовании ПЕРЕписывать все ф-ии, т.е. писать над ними обертку для наследника.


Код

struct my_base
{
    char* name;
    int data;
};

my_base* ctor_base(void* mem, char* name, int data)
{
  my_base* p = (my_base*)mem;
  size_t name_len = strlen(name);
  p->name =  (char*)malloc(name_len);
  strcpy(p->name, name);
  p->data = data;
  return p;
}

void base_method(by_base* self)
{
  print("%s, %d", self->name, self->data);
}

void dtor_base(my_base* self)
{
  free(self->name);
}

...
my_base* inst = ctor_base(malloc(sizeof(my_base)), "inst name", 111);
base_method(inst);
dtor_base(inst);
free(inst);
...

//Наследование
struct my_derived
{
    my_base base;
    double value;
}

my_derived* ctor_derived(void* mem, char* name, int data, double value)
{
  my_base* b = ctor_base(mem, name, data);
  my_derived* d = (my_derived*)b;
  d->value = value;
  return d;
}

void derived_method(my_derived* self)
{
  base_method((my_base*)self);
  print("%g", self->value);
}

void dtor_derived(my_derived* self)
{
  dtor_base((my_base*)self);
}

...
my_derived* inst = ctor_derived(malloc(sizeof(my_derived)), "derived", 111, 3.14159);
derived_method(inst);
dtor_derived(inst);
free(inst);
...

как видишь переписывать не пришлось, в общем, так выглядит наследование если убрать синтаксический сахар в виде классов smile 
что-бы такое не писать и придумали классы
вообще я тут не изображал виртуальные ф-ии, это не сложно в принципе, достаточно в my_base добавить указатель на таблицу виртуальных функций
Цитата(ksili @  30.12.2008,  10:21 Найти цитируемый пост)
Не используя классы, я избавляюсь от 
1) неявных действий в виде конструкторов/деструкторов
2) глупых ограничений, типа "эту функцию над этими данными выполнить нельзя, т.к. они вообще друг друга не знают" (как же они меня бесят) 

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

void send_to(int* where)
{
   while(somethig) *where++ = anything;
}

это плохо
Код

template<class Iter>
void send_to(Iter where)
{
   while(somethig) *where++ = anything;
}

а это хорошо, так-как будет работать как с std::vector<int>::intertor так и с int*
Цитата(ksili @  30.12.2008,  10:21 Найти цитируемый пост)
для меня ООП - это классы со всей их байдой. Если у меня в программе много сложных данных, я разруливаю это при помощи структур и функций, работающих с этими структурами. Как то я вот так привык. 

для меня ООП - это способ ясно выразить архитектуру приложения, классы в этом помогают smile 

Это сообщение отредактировал(а) Lazin - 30.12.2008, 10:58
PM MAIL Skype GTalk   Вверх
Shaggie
Дата 30.12.2008, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Завсегдатай
Сообщений: 570
Регистрация: 21.12.2006
Где: outer space

Репутация: нет
Всего: 72



Цитата(ksili @  29.12.2008,  11:48 Найти цитируемый пост)
А вот читаемость могут повысить только комментарии, внятные имена переменных и документация.

У меня в legacy проекте есть комментарии и документация, два пункта из трёх. Но этого, оказывается, маловато. И даже переименовывание переменных не помогает. Чую отчётливый запах серы.

Цитата(ksili @  29.12.2008,  11:48 Найти цитируемый пост)

Больше всего в ООП мне не нравятся всякие неявные действия - конструкторы и особливо десктрукторы. От того, что в программе выполняется функция, которой нет в тексте исполняемого модуля, по-моему ни фига не проще программировать.

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

Неявный вызов деструкторов? Это не std::auto_ptr ли в коллекциях замешан? Тут несколько другая ситуация, неоднократно упомянутая в различных источниках. Другой случай? Давай разберёмся - я искренне заинтересован.

Чем дальше, тем больше в программировании неявных действий. Ты же не ругаешься, что компилятор без твоего участия сам PE заголовок виндовому экзешнику выстраивает, секции кода/данных/стека размечает. Никогда не было трудностей с пониманием работы коллбеков (мне крышу сорвали в своё время начисто)? Сейчас даже в программировании на ассемблере неявностей выше крыши, и сделано это не ради запутывания несчастных мятущихся программерских душ, но для упрощения процесса программирования. И это ты ещё АОП не видел!

А по факту, современные скриптовые языки (самые известные - перл, пайтон, руби), все как один обладают вагоном неочевидных на первых взгляд тонкостей. Перловые "$<symbols>", пайтоновые "__<functions>__", и так далее. Я лично от таких плюшек в полном восторге.

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


--------------------
Цитата(alina3000 @  6.3.2014,  10:47 Найти цитируемый пост)
Сорри что не по теме 
PM MAIL ICQ GTalk Jabber   Вверх
ksili
Дата 30.12.2008, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: нет
Всего: 17



Цитата(Shaggie @  30.12.2008,  15:32 Найти цитируемый пост)
Другой случай? Давай разберёмся - я искренне заинтересован

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

Цитата(Shaggie @  30.12.2008,  15:32 Найти цитируемый пост)
Да, процесс программирования имеет постоянную тенденцию к усложнению, обсуждено тысячи раз. А всё для того, чтобы один программист мог как можно дольше удерживать в голове картинку происходящего.

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

Вообще таких специалистов как топикстартер сейчас пожалуй даже не хватает в реальном производстве. Я имею в виду людей который не ломает писать на ассемблере или С без использования каких бы то ни было шаблонов. А ООП-шников навалом. Предложи человеку, который первое что узнал - ООП, что-нибудь написать для микроконтроллера, так он и на С наверно этого сделать не сможет.


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
Lazin
Дата 30.12.2008, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 1
Всего: 154



Цитата(ksili @  30.12.2008,  12:04 Найти цитируемый пост)
Вообще таких специалистов как топикстартер сейчас пожалуй даже не хватает в реальном производстве. Я имею в виду людей который не ломает писать на ассемблере или С без использования каких бы то ни было шаблонов. А ООП-шников навалом. Предложи человеку, который первое что узнал - ООП, что-нибудь написать для микроконтроллера, так он и на С наверно этого сделать не сможет. 

я думаю это заблуждение, программирование развивается в сторону большей абстракции, так-как:
  • железо стоит дешево
  • программисты стоят дорого
то-есть, нанимая 10 программистов на Си, работодатель получает через какое-то время готовый проект который относительно быстро работает, но он его разработка обошлась дорого и его сложно поддерживать, так-как для этого опять-же нужны программисты на Си. 
В то-же время можно нанять одного ООП-шника программиста на python, java, C# etc (в зависимости от задачи), который сделает то-же самое, но быстро, этот проект сможет поддерживать кто угодно, а разницу в скорости работы программы можно очень недорого компенсировать лучшим железом. В общем это намного дешевле, соответственно конечный продукт при том-же функционале будет стоить намного меньше.
Кстати, контроллеры нынче часто программируют на java, и в этом нет ничего плохого smile

user posted image

Это сообщение отредактировал(а) Lazin - 30.12.2008, 12:54
PM MAIL Skype GTalk   Вверх
ama_kid
Дата 30.12.2008, 13:40 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


АСУТП-кодер
***


Профиль
Группа: Комодератор
Сообщений: 1460
Регистрация: 5.3.2007
Где: Москва

Репутация: нет
Всего: 95



Цитата(Lazin @  30.12.2008,  13:51 Найти цитируемый пост)
Кстати, контроллеры нынче часто программируют на java, и в этом нет ничего плохого
Можешь привести парочку наименований? Я хоть для общего развития почитаю про них, а то не слышал про такое... Кстати, хорошего на мой взгляд в этом ничего нет, но возможно, у меня взгляд замылен, и технологии уже утопали настолько далеко, что я безнадежно отстал от них. Тогда надо наверстывать smile
Цитата(Lazin @  30.12.2008,  13:51 Найти цитируемый пост)
то-есть, нанимая 10 программистов на Си, работодатель получает через какое-то время готовый проект который относительно быстро работает, но он его разработка обошлась дорого и его сложно поддерживать, так-как для этого опять-же нужны программисты на Си. 
В то-же время можно нанять одного ООП-шника программиста на python, java, C# etc (в зависимости от задачи), который сделает то-же самое, но быстро, этот проект сможет поддерживать кто угодно, а разницу в скорости работы программы можно очень недорого компенсировать лучшим железом.
Я думаю, ksili не зря упомянул про реальный сектор. А там - всякие питоновцы, пхп-вцы, C#-цы и прочие (около)web-кодеры места себе не найдут или найдут, но где-то на очень высоком уровне абстракции от собственно реального уровня промышленного оборудования... 
Для темы общесофтварной разработки - ты, конечно, прав... smile 
Цитата(Lazin @  30.12.2008,  13:51 Найти цитируемый пост)
железо стоит дешево
Опять же, сертифицированное железо, применяемое в реальном (т.е. околотехнологическом) производстве, стоит ОЧЕНЬ дорого (по сравнению с себестоимостью, конечно). Несертифицированное - просто мало кто применяет, а кто применяет - на свой страх и риск и как правило на некритичных\вспомогательных участках и\или в условиях недофинансирования...
Цитата(ksili @  30.12.2008,  13:04 Найти цитируемый пост)
Вообще таких специалистов как топикстартер сейчас пожалуй даже не хватает в реальном производстве. Я имею в виду людей который не ломает писать на ассемблере или С без использования каких бы то ни было шаблонов. А ООП-шников навалом. Предложи человеку, который первое что узнал - ООП, что-нибудь написать для микроконтроллера, так он и на С наверно этого сделать не сможет. 
правильно сказал, я бы даже немного добавил - очень нехватает людей, которые могут с легкостью обучиться чему-то нестандартному и подхватить на лету "идею", и именно люди с незашоренным философией ООП взглядом могут проявить себя в таком качестве максимально эффективно. Собственно, берусь это утверждать именно потому, что за несколько лет работы в этой отрасли из всех студентов, что у меня были - только два смогли реально быстро включиться в работу и оба, как ни странно, очень хорошо знали только ассемблер\базовый С, ну и аппаратно\электронную сторону железа. Всякие ООП им нафиг не сдались на то время...


--------------------
самурай без меча подобен самураю с мечом, но только без меча 
PM MAIL   Вверх
Lazin
Дата 30.12.2008, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 1
Всего: 154



вот например

Добавлено через 3 минуты и 23 секунды
Цитата(ama_kid @  30.12.2008,  13:40 Найти цитируемый пост)
Я думаю, ksili не зря упомянул про реальный сектор. А там - всякие питоновцы, пхп-вцы, C#-цы и прочие (около)web-кодеры места себе не найдут или найдут, но где-то на очень высоком уровне абстракции от собственно реального уровня промышленного оборудования... 

реальный сектор это не только встраиваемые системы smile 

Цитата(ama_kid @  30.12.2008,  13:40 Найти цитируемый пост)
правильно сказал, я бы даже немного добавил - очень нехватает людей, которые могут с легкостью обучиться чему-то нестандартному и подхватить на лету "идею", и именно люди с незашоренным философией ООП взглядом могут проявить себя в таком качестве максимально эффективно. Собственно, берусь это утверждать именно потому, что за несколько лет работы в этой отрасли из всех студентов, что у меня были - только два смогли реально быстро включиться в работу и оба, как ни странно, очень хорошо знали только ассемблер\базовый С, ну и аппаратно\электронную сторону железа. Всякие ООП им нафиг не сдались на то время... 

так ведь это не проблема ООП подхода а проблема обучения, кто мешает знать и то и другое?
PM MAIL Skype GTalk   Вверх
Страницы: (6) Все « Первая ... 2 3 [4] 5 6 
Ответ в темуСоздание новой темы Создание опроса
Правила раздела "Философия программирования":
Се ля ви

Форум "Философия программирования" предназначен для обсуждения вопросов, так или иначе связанных с философскими аспектами разработки ПО:

• вопросы перспективного развития методов написания ПО;

• изменяющиеся языки и методологии программирования;


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Се ля ви.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Философия программирования | Следующая тема »


 




[ Время генерации скрипта: 0.1081 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.