Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Операционные системы > Софт
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.10.2010, 12:11   #1
sofen.ru
 
Регистрация: 31.10.2010
Сообщений: 8
По умолчанию С+++ концепция

Как Вам мой проект? Вот ссылка c3plus.ru

Интересно было бы выслушать мнение программистов на С++
sofen.ru вне форума Ответить с цитированием
Старый 31.10.2010, 12:52   #2
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Задумка, конечно, интересная, однако "Разработка в стиле «пофигизма»" в конечном счете все равно заведет вас в тупик. Хотя ценный опыт во время работы вы, несомненно, получите.
Дизайн сайта строг, лаконичен и приятен для глаз. Однако новости, пожалуй, стоило бы вывешивать в очередности "новые вверху".
Мельком глянул ваши исходники, проглядел класс String. Реализация, прямо скажем, на уровне ниже среднего. Как минимум, надо хранить данные о длине строки в отдельной переменной - вы замаетесь каждый раз вызывать strlen. Ужасно нерационально. Для хорошего класса строки не хватает, к примеру, генерации исключений и отложенного копирования. Для небольшого проекта это, может быть, было бы и не страшно, но если проект амбициозный, то это Очень большой недостаток.
У Страуструпа есть хороший пример реализации класса строки (в Специальном издании - глава 11.12), настоятельно советую почитать.

Вот еще глянул на класс List - тоже плохо. Во-первых, если это список общего назначения, то его надо бы делать на шаблонах, а не с членами класса Object. Во-вторых, это определенно не тот самый список, который должен быть оптимизирован под вставку и удаление элементов - делать представление в виде динамического массива не самая удачная идея для реализации такой концепции; это разве что какой-нибудь вектор может быть. В-третьих, очень странно выглядит сочетание virtual и private в одном классе. Либо класс может иметь потомков, и тогда его данные должны быть protected, либо нет, и тогда virtual вам нафиг не нужно.

Это то, что сразу бросилось в глаза при беглом просмотре.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 31.10.2010, 13:36   #3
sergey.d
Пользователь
 
Регистрация: 23.08.2010
Сообщений: 98
По умолчанию

Цитата:
Сообщение от sofen.ru Посмотреть сообщение
Как Вам мой проект? Вот ссылка c3plus.ru
Интересно было бы выслушать мнение программистов на С++
А сам-то что думаешь, в стиле пофигизма?
Да, и вот это :
Цитата:
Скажем сразу открыто: нам «пофиг» на педантичное продумывание и проектирование системы, ещё больше нам «пофиг» на тестирование отдельных частей проекта во время кодинга, комментарии пишем строго по желанию, а что такое хелп – забудем об этом навсегда!
убъет этот велосипед до зачатия.
sergey.d вне форума Ответить с цитированием
Старый 31.10.2010, 14:04   #4
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Цитата:
Главной характеристикой нашего языка должна быть универсальность в разработке всех типов приложений:
Десктоп-приложения
Веб-приложения
Mobile-приложения
1. Это не все типы приложений
2. Логичнее ориентироваться на платформы (ОС), а не типы приложений.
Цитата:
Кстати, не стоит забывать, что есть ещё вещественный тип bool.
Вещественный?о_О

То, что подразумевается под началом библиотеки - унылое г**но.
То, что касается классов для GUI - тоже никуда не годится.

Когда я был совсем молодым, учился в ВУЗе, проникался плюсами, тоже было желание сделать что-то эдакое. Ничего. С годами "наполеонизм" проходит и взгляд на жизнь становится более трезвым
Подведу итог: концепция не взлетит. Изначально она не продумана, делается чтобы было, без наличия для этого каких-либо идей. Есть установка: сделать, чтобы было всё, сразу и красиво. Нет идей о реализации. Такие проекты не взлетают, а умирают не успев родиться. Прежде, чем создавать концепции для десктопов, веба, мобильных устройств, нужно поработать программистом во всех этих областях и понять что чего и где не хватает, что откуда можно позаимствовать,... Нет опыта - нет мыслей по решению неизвестных проблем.
pu4koff вне форума Ответить с цитированием
Старый 31.10.2010, 17:14   #5
sofen.ru
 
Регистрация: 31.10.2010
Сообщений: 8
По умолчанию

Цитата:
Задумка, конечно, интересная, однако "Разработка в стиле «пофигизма»" в конечном счете все равно заведет вас в тупик.
Цитата:
А сам-то что думаешь, в стиле пофигизма?
Да, и вот это :

Скажем сразу открыто: нам «пофиг» на педантичное продумывание и проектирование системы...

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

Это касается, например, тех же классов String и List. Которые были сляпаны на скорую руку. В будующем, обязательно, учту ваши замечания! Кстати, сочетание virtual и private не нашёл.

Цитата:
Логичнее ориентироваться на платформы (ОС), а не типы приложений.
Наоборот! Идея писать на С++ с помощью этой библиотеки и под десктоп и под веб (возможно и под мобайл). Я как раз предполагаю пользоваться только своими классами, чтобы была совместимость с любой операционкой. А вот чтобы работало под десктоп и под веб, тут ещё придётся помозговать...

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

Наверное, я рановато выложил данный сайт на обсуждение. Нужно вначале написать то, что можно было бы уже сейчас потрогать, потестировать... Но всё равно большое спасибо! Думаю, через месяц, другой можно будет увидеть результат... Я об этом обязательно сообщу на этом форуме!!!
sofen.ru вне форума Ответить с цитированием
Старый 31.10.2010, 17:51   #6
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Цитата:
Наверно я погорячился назвать это пофигизмом...
Я как раз имел в виду не термин, а его значение.
Цитата:
Скажем сразу открыто: нам «пофиг» на педантичное продумывание и проектирование системы, ещё больше нам «пофиг» на тестирование отдельных частей проекта во время кодинга, комментарии пишем строго по желанию, а что такое хелп – забудем об этом навсегда!
Без хорошего проекта, который будет хотя бы мало-мальски продуман, этот проект быстро загнется. Библиотека - это не просто кучка классов, которые можно быстренько тяп-ляп накропать по одному, не глядя на остальные классы; взаимодействие классов крайне важно и если вы не продумаете всю систему в комплексе - мало что у вас получится. Если не тестировать проект пока это еще можно сделать, то после "завершения" проекта всплывет колоссальное количество засевших очень глубоко ошибок, исправить которые уже не удастся. Без комментариев вы уже на второй-третьей тысяче строк кода взвоете и пойдете вешаться с тоски, если не раньше. Ну а если у библиотеки не будет хелпа - ей никто не будет пользоваться.
Цитата:
Кстати, сочетание virtual и private не нашёл.
Код:
class String : public Object
//Строка символов
{
//тут неявный private
	char *memory; //Указатель на строку типа char
public:
//...
//Куча виртуальных функций
};

class List : public Object //Список указателей на объекты класса CObject
{
private:
	int count, capacity;
	Object **memory;
	Object **iMemory;
public:
	List(); //Конструктор
	virtual ~List(); //Деструктор
	virtual void assign(List *list);
//...
};
Если есть виртуальные функции - предполагается, что от класса будет происходить наследование. При этом private-члены будут недоступны для потомков.

Прежде чем заниматься такими проектами - хотя бы подучите матчасть и как следует попрограммируйте на реальном языке.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 31.10.2010, 17:53   #7
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2Гром
паблик виртуальные функции вообще моветон)
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 31.10.2010, 19:41   #8
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

слишком плюсанутый плюсатый
Levsha100 вне форума Ответить с цитированием
Старый 31.10.2010, 20:35   #9
Ivan_32
somewhere else
Участник клуба
 
Аватар для Ivan_32
 
Регистрация: 17.07.2008
Сообщений: 1,409
По умолчанию

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

А команду кстати можно найти, нужно лишь сделать наработки и показать на каком ни будь форуме посвященному OpenSource.
"Тяжело в учении, легко в бою" - А.В. Суворов
Ivan_32 вне форума Ответить с цитированием
Старый 31.10.2010, 22:22   #10
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Мне кажется или это и на самом деле хотят реализовать собственный велосипед аля Borland C++ ?
Будь проще и люди к тебе потянутся

Последний раз редактировалось spamer; 01.11.2010 в 01:51.
spamer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
"Общая концепция динамического web-сайта" vedro-compota PHP 9 08.09.2010 12:41