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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Как сделать из двух функций одну) http://www.cyberforum.ru/cpp-beginners/thread944120.html
void Resize_Array_unsigned_int( unsigned int &_New_Size_, unsigned int *_Conteiner_ ) { unsigned int *tmp = new unsigned int; memcpy( tmp, _Conteiner_, _New_Size_ * sizeof( unsigned int )); delete_Conteiner_; _Conteiner_ = tmp; } void Resize_Array_bool(unsigned int &_New_Size_, bool *_Conteiner_) {
C++ Поиск циклов в графе. Поиск центра взвешенного графа В интернете, к сожалению, по этим вопросам не так уж много нашел. Можете посоветовать статью/пособие, где было бы подробно об этом написано? http://www.cyberforum.ru/cpp-beginners/thread944119.html
C++ Списки:нужны или нет?
Стоит ли изучать связные списки,они используются в дальнейшем? Может я туповат, но алгоритм их построения понять не могу. Уж больно все запутанно описывается в книжке. Пытался сам разбираться ,вот что вышло #include <iostream> using namespace std; class part { public: part *next; int item;
Путь символа C++
Здорова господа! Есть интересная задачка: "Проследите путь символа в вашей системе от клавиатуры до экрана на примере следующего кода:" char c; cin >>c; cout <<c<<endl; И как же его проследить????
C++ Ошибка: "case label not within a switch statement" http://www.cyberforum.ru/cpp-beginners/thread944082.html
Здравствуйте, работая с оператором switch произошла ошибка case label '1' not within a switch statement case label '1' not within a switch statement case label '1' not within a switch statement Вот код std::cin >> pEnter;
C++ Время для функции генерирующей случайные величины я написал функцию которая генерирует случайные величины в промежутке valarray<double> cRand::base_rnd(size_t N){ valarray<double> v; v.resize(N); int x,y; int x0 = time(0); x = fabs((a*x0 + c)%M); v = double(x)/M; for(size_t i = 1;i<N;i++){ подробнее

Показать сообщение отдельно
AnyOne697
 Аватар для AnyOne697
134 / 106 / 5
Регистрация: 22.05.2010
Сообщений: 532
27.08.2013, 06:30     идеи, идеи, идеи для начинающих
Я смотрю, что-много в оффтоп начали пихать, хотя по сути, это и есть тема топика.

В общем, между строк почитал топик. Вот что вылилось:
Синтаксический анализатор это довольно таки просто. Я имею ввиду, что там нет сколько-нибудь сложного матана, всё упирается в regex'ы, и это единственная сложность. Поначалу интересно, поднимаются интересные темы матана, то как всякие разные автоматы, программирование ИИ даже можно покопать. Но в целом, сама задача не так интересна. В данной теме можно попробовать написать чат-бота - вот это да, это и интересно и не так уж и сложно, как кажется на первый взгляд (хотя бот при этом будет не сильно уж и крутой, но просто так от живого человека будет сложно отличить).

Чтобы я рекомендовал? Это зависит от темы, которую хочеться прочувствовать. Можно, как например, "свой интернет" написать. По типу L2P, там много интересных вещей возникает - шифрование, хранение, передача данных. А это по сути и есть информатика в своём первоначальном виде. Единственная сложность - это изучать протоколы передачи данных, что не есть тривиально сегодня. Хотя можно и ограничиться TCP/IP - писать поверх него, каким-то образом обстрагировавшись от него. К слову, здесь же рядом есть тема bitcoin'а. Как например, сделать его аналог. Снова, здесь будет больше матана, чем непосредственно программирования, но матан своебразный. Даже дискретная математика, которой здесь много, выглядет иначе, чем её преподают. Совсем иначе. Но повторюсь, тема очень сложная, и не факт, когда из под клавиатуры программиста выйдет рабочий бинарник, в нём не будет критических уязвимостей. В общем, эта тема очень, очень актуальна сегодня в плане информатике как науки.

Есть ещё стек знаний, очень тесно связанный с матаном. Это 3D-моделирование. Здесь кроется действительно сложный, и, что неприятно, нудный матан. Но зато, после того, как всё будет сделано, ЧСВ поднимается непомерно сильно. Это потому, что здесь применяется математика, сильно абстрагированная от результата. И ощущение, что это действительно работает, сравнимо... Не знаю, попробуйте, и скажете как вам: понравилось или нет.

Наконец, если матан совсем не интересен, ну или просто поднадоел, то есть немало math-free областей. В основном, это всё, что связано с продакшном. Можно написать свой веб-фреймворк, это, конечно, плюсы, то есть Си с классами и выше. Здесь придётся много ночей посидеть, копаясь в стандартах, как происходит общение в TCP/IP, при чём здесь HTTP, как работает HTTPS, что такое websockets, а также немного поработать с разбором синтаксиса (тот самый синтаксический анализатор), когда дело дойдёт до template'ов, но здесь он очень простой - буквально пара-тройка regex'ов (хотя это и зависит от сложности шаблонов, но в общем случае так).
Есть ещё игрострой. Это, в принципе, собрание всех человеческих знаний о информатике в месте, но матан-фри он часто (особенно в инди), потому что весь матан покрывают библиотеки. Зато в них придётся разобраться.
Наконец, есть банальный и обычный энтерпрайз, нацеленный на разработку и продажу продуктов, таких как, базы данных, офисные пакеты, графические редакторы, множество специфичных продуктов (пример с потолка: система учёта пассажиров авиа-рейсов, где есть очень много вещей, присущих конкретно этой области); есть ещё embedded-systems, но это уж совсем специфическая область, в которых есть огромных подобластей, в основном благодаря тому, что для каждого случая разработка ведётся едва ли не с нуля, учитывая все ньюансы.

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

Добавлено через 15 минут

Не по теме:

Цитата Сообщение от gray_fox Посмотреть сообщение
Ну, что бы "просто что-то програмировать", знание матана конечно не нужно Программирование - это ремесло, не наука.
Но всегда есть какая-то область применения (что-ли?), за "абстрактное программирование в вакууме" никто платить не будет
Забавно, но будут. Абстрактное программирование в вакууме - это 90% энтрпрайз проектов (я имею ввиду те, которые будут использоваться не конечными потребителями в виде нас с вами, а другая большая компания и часто, одна единственная). В том смысле, что там уже всё готово и осталось лишь совместить несколько деталей конструктора. Но это не значит, что это просто. Во-первых, заказчик далеко не всегда сам понимает, что хочет. Во-вторых, в ТЗ обычно прописано столько много мелочей, на каждую из которых детальку нужно определённым образом поворачивать, а часто требуется ещё одна деталька... Наконец, не всегда получается с первого раза, да и вообще - поддержка продукта - основная прибыль аутсорс компаний, разрабатывающие софт. А поддержка - это обычно и есть программирование в вакууме: 1) узнали о баге, 2) нашли баг, 3) разобрались в баге, 4) устранили баг, 5) проверили и здесь либо возращаемся к 1, либо 6) сделали новый мастер-билд.

И что снова забавно: общий оборот от программирования тесно связанного с наукой, скорее меньше, чем в "абстрактном программировании в вакууме". Почему? Большая часть наукоёмких разработок - OpenSource и при университете, то есть так или иначе - OpenSource. Отсюда - один раз сделали, больше не надо. А энтерпрайз - две задачи очень и очень похожи, даже счетами на оплату. Я к тому, что в энтерпрайз (особенно аутсорс), очень часто возникают идентичные задачи. Тогда как скида предусматривается редко, очень редко. Нередко даже с нуля начинают банально потому, что подрядчики разные. Иначе сложно объяснить рост рынка программного обеспечения едва ли не на дрожжах. Рост рынка настолько быстрый, что зачастую кадров не хватает не смотря на то, что здесь едва ли не самый большой рынок труда в плане предложения. А спрос всё равно выше. И так будет ещё долго, пока не научимся использовать программный код повторно. Надеюсь, и не научимся.

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