Форум программистов, компьютерный форум CyberForum.ru

идеи, идеи, идеи для начинающих - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 36, средняя оценка - 4.75
luciys
5 / 5 / 1
Регистрация: 27.11.2012
Сообщений: 160
27.08.2013, 02:09     идеи, идеи, идеи для начинающих #1
доброй ночи, уважаемые форумчане. перейдем сразу к делу =) в общем, собираюсь с 2 одногруппниками написать какой-нибудь проект, но вот идей у меня совсем нету =\ может гуру программирования вспомнят свои первые проекты, буду очень признателен) или такие же студенты как мы, поделитесь идеей) средней сложности, чтоб не за выходные написали и даже не за одну неделю
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.08.2013, 02:09     идеи, идеи, идеи для начинающих
Посмотрите здесь:

Идеи насчет коммандной строки C++
Есть идеи? C++
C++ подскажите интересные идеи программ
C++ Eсть хоть какие-то идеи?
C++ Чисто идеи
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
luciys
5 / 5 / 1
Регистрация: 27.11.2012
Сообщений: 160
27.08.2013, 21:35  [ТС]     идеи, идеи, идеи для начинающих #41
Цитата Сообщение от AnyOne697 Посмотреть сообщение
бОльшее значение имеет поддержка продукта
я не думаю, что поддержка будет занимать всё рабочее+всё уделяемое свободное время, можно же заниматься и созданием)
нужно будем как-то позже познакомиться с бд, а то они повсюду и не понимаю, что там может быть сверхсложного.
Цитата Сообщение от AnyOne697 Посмотреть сообщение
Если есть интерес в Си++ лично я бы сильно рекоммендовал Java, но это оффтоп.
да не, не интерес, просто у нас по программе в этом году с++, вот я и взялся за плюсы.

Цитата Сообщение от AnyOne697 Посмотреть сообщение
Тем более, после спортивного программирования ситуация и без того, скорее всего, печальна.
что Вы имеете ввиду?

Добавлено через 4 минуты
Цитата Сообщение от AnyOne697 Посмотреть сообщение
Да, забыл добавить. Очень важный эффет от написания собственного языка программирования. Это понимание того, как вообще языки программирования работают. В процессе ведения проекта выясниться огромное количество бесценной для программиста инфы, касающиеся не только Си или Си++, а программирования в целом. Как пишутся программы, что с ними происходит. Зная, что твориться под капотом, можно будет избежать много подводных камней и добиться от машины невероятных результатов.
я думал для этого необходимо поработать с "низким уровнем"
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
AnyOne697
 Аватар для AnyOne697
134 / 106 / 5
Регистрация: 22.05.2010
Сообщений: 532
28.08.2013, 01:30     идеи, идеи, идеи для начинающих #42
Цитата Сообщение от luciys Посмотреть сообщение
я не думаю, что поддержка будет занимать всё рабочее+всё уделяемое свободное время, можно же заниматься и созданием)
нужно будем как-то позже познакомиться с бд, а то они повсюду и не понимаю, что там может быть сверхсложного.
Ну это не про Вас, это была лирика по поводу того, что придётся делат "на рабочем месте".
Цитата Сообщение от luciys Посмотреть сообщение
да не, не интерес, просто у нас по программе в этом году с++, вот я и взялся за плюсы.
А то что интереса нет, это скорее печально, чем весело.
Цитата Сообщение от luciys Посмотреть сообщение
Цитата Сообщение от AnyOne697 Посмотреть сообщение
Тем более, после спортивного программирования ситуация и без того, скорее всего, печальна.
что Вы имеете ввиду?
Нет, это нисколько не умаляет Ваших способностей, просто спортивное программирование разительно отличается от "абстрактного программирования в вакууме" на рабочем месте. Когда программируешь нqа скорость, забиваешь на архитектуру и масштабируемость кода, используешь нечитаемые и труднопонимаемые "хаки", да и от Си++ остаётся только компилятор и расширение файла.
Цитата Сообщение от luciys Посмотреть сообщение
Цитата Сообщение от AnyOne697 Посмотреть сообщение
Да, забыл добавить. Очень важный эффет от написания собственного языка программирования. Это понимание того, как вообще языки программирования работают. В процессе ведения проекта выясниться огромное количество бесценной для программиста инфы, касающиеся не только Си или Си++, а программирования в целом. Как пишутся программы, что с ними происходит. Зная, что твориться под капотом, можно будет избежать много подводных камней и добиться от машины невероятных результатов.
я думал для этого необходимо поработать с "низким уровнем"
Собственно, придётся поработать с низким уровнем. Если делать компилируемый язык программирования с выходом в виде исполняемого файла, придётся погрузиться в дебри форматов исполняемого файла, в ассемблер глубоко спуститься, понять, как процессор исполняет инструкции, что происходит с данными, с инструкциями, что такое контекст исполнения, можно расскопать и про конвейр при реализации оптимизации кода. В общем, много, очень много чего низкоуровнего можно будет расскопать.
В случае с виртуальной машиной придётся узнать про технологии виртуализации памяти, как ОС работает с памятью и в чём различие между *nix и windows, при проектировании виртуальной машины подниметься вопрос о архитектуре: стек-машина, или на регистрах или ещё что экзотическое. А при оптимизации виртуальной машины точно также встанет вопрос о архитектурах CPU: CISC vs RISC, i486 -> i686 -> amd64 (в чём разница, а что общее); ведь 100% КПД виртуальной машины достигается тогда, когда инструкии буквально пробрасываются на CPU в нативном виде, а набор инструкций VM равен набору инструкций CPU (равно как и архитектура такая же).

В общем, погрузитесь в самый низкий уровень кода, который только может быть. Научитесь писать *.exe файлы без компиляторов и языков программирования (напрямую в опкодах), будут доступны разные фокусы оптимизации кода, придёт понимание работы компьютера - его самой главной части - CPU.

Добавлено через 2 минуты
Цитата Сообщение от luciys Посмотреть сообщение
нужно будем как-то позже познакомиться с бд, а то они повсюду и не понимаю, что там может быть сверхсложного
Ничего, абсолютно ничего в БД сложного нет. Эта тема проста как пробка. Если дело заходит только об использовании, а не оптимизации. Вхождение - ночь, обучение - неделя. ИМХО, лучше тогда уж сначала почитать теорию про реляционные базы данных, и только потом начать изучать сами БД.
luciys
5 / 5 / 1
Регистрация: 27.11.2012
Сообщений: 160
28.08.2013, 01:43  [ТС]     идеи, идеи, идеи для начинающих #43
Цитата Сообщение от AnyOne697 Посмотреть сообщение
А то что интереса нет, это скорее печально, чем весело.
ёмаё, как Вы перекручиваете))) я просто пока не хочу привязывать свой интерес к конкретному языку, к программированию огромный интерес))



Цитата Сообщение от AnyOne697 Посмотреть сообщение
Собственно, придётся поработать с низким уровнем. Если делать компилируемый язык программирования с выходом в виде исполняемого файла, придётся погрузиться в дебри форматов исполняемого файла, в ассемблер глубоко спуститься, понять, как процессор исполняет инструкции, что происходит с данными, с инструкциями, что такое контекст исполнения, можно расскопать и про конвейр при реализации оптимизации кода. В общем, много, очень много чего низкоуровнего можно будет расскопать.
В случае с виртуальной машиной придётся узнать про технологии виртуализации памяти, как ОС работает с памятью и в чём различие между *nix и windows, при проектировании виртуальной машины подниметься вопрос о архитектуре: стек-машина, или на регистрах или ещё что экзотическое. А при оптимизации виртуальной машины точно также встанет вопрос о архитектурах CPU: CISC vs RISC, i486 -> i686 -> amd64 (в чём разница, а что общее); ведь 100% КПД виртуальной машины достигается тогда, когда инструкии буквально пробрасываются на CPU в нативном виде, а набор инструкций VM равен набору инструкций CPU (равно как и архитектура такая же).
В общем, погрузитесь в самый низкий уровень кода, который только может быть. Научитесь писать *.exe файлы без компиляторов и языков программирования (напрямую в опкодах), будут доступны разные фокусы оптимизации кода, придёт понимание работы компьютера - его самой главной части - CPU.
Вы как бы понимайте, что говорите не с равным, что я только на пути к вершинам понимания, а то разбрасываетесь тут понятиями и определениями налево и направо


наверное сначала стоит познакомиться близко с каким-то одним языком, а потом уже лезть во все эти дебри)
AnyOne697
 Аватар для AnyOne697
134 / 106 / 5
Регистрация: 22.05.2010
Сообщений: 532
28.08.2013, 02:20     идеи, идеи, идеи для начинающих #44
Цитата Сообщение от luciys Посмотреть сообщение
Вы как бы понимайте, что говорите не с равным, что я только на пути к вершинам понимания, а то разбрасываетесь тут понятиями и определениями налево и направо
Вы просили совета, чтобы было интересно и не на одну неделю. Вот. Тем более, раз интерес к программированию огромный, то это отличный вариант, как я вижу. Тем более, что даже если ничего не получиться - то наоборот, получиться - опыт. А он бесценен.
То что я разбрасываюсь понятиями - я лишь даю отсылки, что можно почитать. Если тема интересна, могу попробовать подробнее рассказать или ссылок накидать. Тем более, что именно эта тема даст огромный и всеобъемлющий опыт. И матан там очень простой, тесно связанный непосредственно с программированием. Экшена здесь тоже очень много - будет что вспоминать.
Цитата Сообщение от luciys Посмотреть сообщение
наверное сначала стоит познакомиться близко с каким-то одним языком, а потом уже лезть во все эти дебри
Так знакомьтесь. Если нет привязки к определённому языку, то программируйте. Это именно то программирование в своём истинном лице без всяких абстракций в виде самого языка программирования. В то же время, будет удобная прослойка в виде ОС и не надо будет лезть в нетривиальные вещи - работу с оборудованием. Здесь важен лишь CPU. А он на самом деле очень прост.

К слову, наш преподаватель в университете говорил: "Есть три типа задач: простые, тривиальные и... ещё не решённые". Я ставлю простую задачу - она не тривиальная, требует опыт (который Вы несомненно получите), но в тоже время сто раз решённая и десяток раз расписанная.
luciys
5 / 5 / 1
Регистрация: 27.11.2012
Сообщений: 160
28.08.2013, 02:40  [ТС]     идеи, идеи, идеи для начинающих #45
AnyOne697, нуу, не буду Вас утруждать, давайте лучше ссылки =)
AnyOne697
 Аватар для AnyOne697
134 / 106 / 5
Регистрация: 22.05.2010
Сообщений: 532
28.08.2013, 04:45     идеи, идеи, идеи для начинающих #46
Немного о грамматике и бизоне.
Много о бизоне.
Ещё больше о бизоне.
Это всё читкоды, но для начала сойдёт. Чтобы было проще проектировать и программировать грамматику и синтаксис.
Вот ещё забавная статья.
Вот вики по созданию собственной ОС. Там есть много информации о прерываниях, форматах исполняемых файлов и прочем. Очень много как теоретической, так и практической.
Конечно, можно (и нужно, имхо) использовать википедию: здесь найдётся коллосальное количество теоретической информации по сабжу или околосабжа. Впрочем, в английской вики как правило всё рассписано много лучше. Сразу предостерегаю, что руководства к действию там не будет, как бы Вы не искали.
Ещё советую погуглить все непонятные термины, что я писал раньше, старался нигде ничего не наврать и писать только релевантно
Собственно, скорее всего повторюсь, но желательно поискать теорию и практику по конечным автоматам, связь с регулярными выражениями. Было бы не плохо покопать в области теории логики обследуя экспертные системы (в первую очередь советую испробовать prolog). По этой теме могу посоветовать Карпова Ю. Г. "Теория автоматов", где конечные автоматы и всё, что с ними связано расписано очень хорошо. К слову, у Карпова немало релевантной литературы.
Как-то так.
Если непосредственно по Си++, то есть релевантная тема в шапке, рекомендую ознакомиться. Оттуда советую почитать "Фислософию Си++" (особенно, если в дальнешем хотелось бы связаться с Си++ основательнее) и "Решение сложных задач", но это скорее в качестве факутальтива.
Алсо, на форуме также в шапке есть тема "Написание интерпретатора BASIC". Собственно, доказательство, что всё не так уж и сложно.
Удачи. Если будут какие-то конкретные вопросы - помогу чем смогу.
luciys
5 / 5 / 1
Регистрация: 27.11.2012
Сообщений: 160
28.08.2013, 04:54  [ТС]     идеи, идеи, идеи для начинающих #47
спасибо Вам огромное за помощь) что не прошли мимо и так досконально проинструктировали =)
AnyOne697
 Аватар для AnyOne697
134 / 106 / 5
Регистрация: 22.05.2010
Сообщений: 532
28.08.2013, 05:01     идеи, идеи, идеи для начинающих #48
Цитата Сообщение от luciys Посмотреть сообщение
спасибо Вам огромное за помощь) что не прошли мимо и так досконально проинструктировали =)
Да не за что. Обращайтесь, если возникнут какие-то конкретные вопросы. Если захотите и у меня будет время, возможно даже помогу с реализацией, ибо самому жутко интересен предмет. Дабы не захломлять топик, можно перенести общение в другую форму (icq, jabber, google groups, e-mail - на выбор), а в здесь только отписываться об успехах (правда надо будет переименовать тему и скорректировать шапку, в чём должны помочь модераторы).
luciys
5 / 5 / 1
Регистрация: 27.11.2012
Сообщений: 160
28.08.2013, 05:18  [ТС]     идеи, идеи, идеи для начинающих #49
AnyOne697, кстати, могла бы послужить каким-то ориентиром или подобием ФАКа для таких же новичков
только как это всё делать чёрт его знает)
AnyOne697
28.08.2013, 05:54
  #50

Не по теме:

Цитата Сообщение от luciys Посмотреть сообщение
AnyOne697, кстати, могла бы послужить каким-то ориентиром или подобием ФАКа для таких же новичков
только как это всё делать чёрт его знает)
Есть такой трюк, чтобы сообщить модератору что-то, то можно нажать на кнопку жалоба (прямая черта в белом треугольнике с красным ободком) и там написать, что хотелось бы отредактировать шапку, перенести или переименовать тему, а если не хватает прав для нажатия кнопки "Спасибо", то и попросить сделать это за Вас. Это верно для большинства форумов и если не злоупотреблять, то в общем-то не возбраняется.

luciys
28.08.2013, 05:58  [ТС]
  #51

Не по теме:

AnyOne697, я имел ввиду про

Цитата Сообщение от AnyOne697 Посмотреть сообщение
отписываться об успехах
и
Цитата Сообщение от luciys Посмотреть сообщение
кстати, могла бы послужить каким-то ориентиром или подобием ФАКа для таких же новичков
, что и как здесь

AnyOne697
28.08.2013, 06:03
  #52

Не по теме:

Цитата Сообщение от luciys Посмотреть сообщение
я имел ввиду про
Немного не понял. Если хочеться сделать ЧаВо по созданию собственного языка программирования, то нужно связаться с модератором, чтобы он изменил заголовок топика и исправил шапку. Это чтобы открыв тему, не надо было листать в самый конец и читать мои огромные простыни =)
И каждый раз при обновлении топика, всё что имеет непосредственное отношение к продвижению можно просить копировать под спойлер в шапку или вешать ссылку на сам ответ. Это для того, чтобы на форуме был порядок и эти самые новички, которые обычно не утруждают себя поиском ответа на их вопрос перед тем, как его задавать, имели больший шанс обнаружить, что ответ уже есть.

luciys
28.08.2013, 06:23  [ТС]
  #53

Не по теме:

Цитата Сообщение от AnyOne697 Посмотреть сообщение
ЧаВо по созданию собственного языка программирования
хммм, звучит круто)) это был бы ценный опыт. только вот одно дело разобраться самому, а другое объяснять

AnyOne697
28.08.2013, 06:27
  #54

Не по теме:

Цитата Сообщение от luciys Посмотреть сообщение
хммм, звучит круто)) это был бы ценный опыт. только вот одно дело разобраться самому, а другое объяснять
Пора бы начать делать, а с пониманием прийдёт и понимание, как объяснить. Серьёзно, возьми те flex, опишите правила, создайте парсер с помощью GNU Bison. Это легко, а если копипастить - пара часов. Чего же мы ждём? Когда что-нибудь получиться - отвечайте здесь: что было проделано и каковы результаты. Так и материал для FAQ накопиться.

ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
28.08.2013, 07:44     идеи, идеи, идеи для начинающих #55
Цитата Сообщение от luciys Посмотреть сообщение
хммм, звучит круто)) это был бы ценный опыт. только вот одно дело разобраться самому, а другое объяснять
Есть задание в книге Дейтела, там нужно создать свой компилятор языка Simple типа бейсика. Там сначала первые задания ты моделируешь свой компьютер simpletron (простой) простой компьютер в котором есть регистр памяти например на 100 ячеек и в них записываешь инструкции в виде четырехзначных чисел (1134 2322 3442), что то вроде машинного кода, заставляешь этот компьютер симплетрон понимать эти инструкции, это в начале книги задание по созданию своего компьютера, уже ближе к концу нужно написать компилятор, который компилирует код в эти инструкции которые понимает компьютер симплетрон, так я скажу это не простое задание, оно отнимает много времени и сил, я за неделю ели сделал рабочую версию и то только для одной программки там вроде для вычисления суммы. Это еще при том что некоторые части компилятора были уже набраны, например выражения компилятор переводит из инфиксной a + b * c в постфиксную abc*+ , их нужно уметь вычислять, даже что бы эти выражения вычислить уже нужно знать что такое стек, много тем нужно разбирать.

Мое ИМХО сложное это задание и без перспективное язык новый и нафиг никому не нужен будет, тем более я думаю он убогий получится, а если и нормальный получится, то его еще нужно разрекламировать, что бы люди о нем узнали. Разве что в учебных целях, но мне честно это задание было ОЧЕНЬ неинтересно делать, я его еле доделать, скучное задание. НЕ СОВЕТУЮ ОЧЕНЬ НУДНО.

Лучше уже разработать кокой нить свой класс, для чего нить, а возможно и библиотеку небольшую, это будет практичнее чем язык придумывать, ну это почти то же самое что новый язык . Класс ты хоть сам можешь использовать в дальнейшем.
luciys
5 / 5 / 1
Регистрация: 27.11.2012
Сообщений: 160
28.08.2013, 07:49  [ТС]     идеи, идеи, идеи для начинающих #56
ninja2, да ну, из инфиксной в префиксную не так уж сложно, у нас была на одном предмете такая лаба
ксати, моя кураторша рассказывала, что был у неё один паренек, который написал программу которая переводила из машинного кода в обычный) на 1 или 2 курсе
как говорится, сколько людей, столько и мнений))
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
28.08.2013, 08:27     идеи, идеи, идеи для начинающих #57
Цитата Сообщение от luciys Посмотреть сообщение
да ну, из инфиксной в префиксную не так уж сложно,
Перевести не сложно, а еще вычислить? Оно все несложно, но времени заберет много. Ты что думаешь ты за час возьмешь и переведешь и вычислишь, если ты это не делал? Да даже если и делал, тоже морочно. Что бы язык создать у вас троих небось месяц уйдет, а то мб и месяца два, при том что вы я так понял с С++ незнакомы, то я думаю за пол года мб и что то напишите работающее, это еще нужно смотреть на общий уровень знаний с других предметов, возможно если никакой базы нету, то и за год нифига не сделать.

Добавлено через 4 минуты
Цитата Сообщение от luciys Посмотреть сообщение
на 1 или 2 курсе
Есть люди за которыми неугнатся, а есть которые и после окончания вуза дуб дерево. Так что все индивидуально. Конечно как говориться без труда не вытянешь и рыбку из пруда .
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5549 / 2563 / 233
Регистрация: 01.11.2011
Сообщений: 6,334
Завершенные тесты: 1
28.08.2013, 08:30     идеи, идеи, идеи для начинающих #58
Цитата Сообщение от AnyOne697 Посмотреть сообщение
Если хочеться сделать ЧаВо по созданию собственного языка программирования, то нужно связаться с модератором, чтобы он изменил заголовок топика и исправил шапку. Это чтобы открыв тему, не надо было листать в самый конец и читать мои огромные простыни =)
 Комментарий модератора 
Изначальный вопрос темы был в поиске каких-либо всесторонних идей для вдумчивой реализации группой начинающих разработчиков. Так что эта тема полностью соответствует вопросу и менять название не надо.
Если поиск идей завершился и выбор остановился именно на создании своего языка, то следует создать новую тему, озаглавить ее соответствующие, и размещать уже в ней все мысли, обсуждения и наработки касательно этого конкретного вопроса. А уже потом из этой темы, по ее результатам начинать создавать какие-либо факи и справочные материалы.
luciys
5 / 5 / 1
Регистрация: 27.11.2012
Сообщений: 160
28.08.2013, 08:32  [ТС]     идеи, идеи, идеи для начинающих #59
ninja2, Вы так говорите, будто это что-то неземное, там же обычная работа со стеком)))

ЗЫ соврал, мы делали постфиксную, но её стоит только перевернуть

так нет, он там не супер гений, обычный такой студент, но просто зафанатил, вот захотелось и всё)

Добавлено через 59 секунд
Цитата Сообщение от SatanaXIII Посмотреть сообщение
Изначальный вопрос темы был в поиске каких-либо всесторонних идей для вдумчивой реализации группой начинающих разработчиков. Так что эта тема полностью соответствует вопросу и менять название не надо.
Если поиск идей завершился и выбор остановился именно на создании своего языка, то следует создать новую тему, озаглавить ее соответствующие, и размещать уже в ней все мысли, обсуждения и наработки касательно этого конкретного вопроса. А уже потом из этой темы, по ее результатам начинать создавать какие-либо факи и справочные материалы.
благодарю, буду иметь ввиду.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.08.2013, 08:39     идеи, идеи, идеи для начинающих
Еще ссылки по теме:

C++ Реализация идеи
История, нужны идеи без религии C++
Идеи проектов C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
ninja2
 Аватар для ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
28.08.2013, 08:39     идеи, идеи, идеи для начинающих #60
Цитата Сообщение от luciys Посмотреть сообщение
Вы так говорите, будто это что-то неземное, там же обычная работа со стеком)))
ЗЫ соврал, мы делали постфиксную, но её стоит только перевернуть
Я как первый раз делал, то еле еле додела, бросать хотел, алгоритм был расписан, но все таки доделал. Ну потом в одном из заданий пришлось класс делать для простых арифметических выражений, там уже я легко переводил в постфиксную форму и в постфиксной форме спокойно высчитывал выражения. Если не разу не делал, то тяжело будет.
Yandex
Объявления
28.08.2013, 08:39     идеи, идеи, идеи для начинающих
Ответ Создать тему
Опции темы

Текущее время: 03:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru