Вверх ↑
Этот топик читают: Гость
Ответов: 9906
Рейтинг: 351
#16: 2014-11-26 14:08:25 ЛС | профиль | цитата
CriDos писал(а):
Ну разве не красота?

Нет
карма: 9

0
Ответов: 1841
Рейтинг: 369
#17: 2014-11-26 14:39:21 ЛС | профиль | цитата
Galkov писал(а):
Нет

Зато теперь можно сломать себе мозг (временно ) конструкцией вида:
auto vglambda = [](auto printer)
{
return [=](auto&& ... ts)
{
printer(std::forward<decltype(ts)>(ts)...);
};
};
auto p = vglambda( [](auto v1, auto v2, auto v3){std::cout << v1 << v2 << v3;} );
p(1, 'a', 3.14); // выводит: 1a3.14
карма: 1
0
Ответов: 963
Рейтинг: 12
#18: 2014-11-27 15:17:10 ЛС | профиль | цитата
Доброй ночи!
Давно хотел спросить, но не знал куда задать вопрос. Недавно познакомился с такой замечательной программой Hiasm, не смотря на то что я абсолютно не владею навыками программирования, данный конструктор позволяет мне создавать хорошие, надежные программы которые сам часто использую в быту. Конечно понимаю что незнание языков программирования ограничивает меня в возможностях, и приходится надеяться только на одну палитру компонентов конструктора. Пришел момент когда нужно решить для себя, на чем начать программировать, или какой язык программирования выбрать? В данной теме говориться о C++ как язык он сложен в усвоении новичку? просто я хочу научиться программировать для дела, т.е. создавать клиентов работающих с локальной сетью и с базой данных на SQL server, а так же офисных приложений для автоматизации рабочего процесса компаний в сфере документооборота. Многие почему то выбирают C#, но почему именно его я не знаю. Подскажите пожалуйста с чего можно начать новичку, и стоит ли сразу изучать языки высокого уровня такие как С#, или все же нужно изучать те что попроще как Delphi?

Рекомендую Лазарус Это как не странно НЕ "бесплатный Дельфи" а мощная крос платформенная среда разработки в которой как и в Си++ можно один и тот же код использовать практически на всех существующих платформах Windows Linux Android и тд...
А то что в о основе лежит не Си а ОбжектПаскаль(точнее компилятор FPC) (ИМХО) только плюс .
Практически ВСЕ возможности Си и Си++ доступы и там, просто часть неявно не поощряется "менее хаотическим" стилем программирования .

То что есть частичная совместимость с Дельфи тоже плюс (Почти все учебники по дельфи вполне подходят и для Лазаруса ) Возможность применять альтернативы библиотеке LCL отлично видны и в ХайАсме где тоже используют FPC ...
Для Лазаруса также как и для Дельфи есть "библиотека зеркальных" классов
МКС для КОЛ так что можно использовать преимущества "экономного стиля КОЛ" и удобства визуального программирования .
Разумеется у свободно распространяемой среды разработки нет полного совершенства фирменных продуктов от Borlanda или Микрософта однако с каждой версией надежность и удобство становятся выше.

карма: 0

0
Ответов: 1841
Рейтинг: 369
#19: 2014-11-27 18:51:42 ЛС | профиль | цитата
AlexKir, я тоже раньше так считал (относительно простоты паскаля)...
Я много пересмотрел проектов на C++ и Lazarus(FPC)/ Delphi.
Проекты на чистом C++ (без буста и других вспомогательных средств) - ужас.
Я очень долго не мог понять этот ужас и зачем на нём что либо пишут
Пару раз пытался познакомиться с Qt, но при всех его крутых штуках и как писали, офигенной документации, я отказывался от него, т.к. меня сильно пугал C++ (насмотрелся "гомнокода" ).
Это было пару лет назад (может больше).

При знакомстве с Lazarus (FPC)/Delphi, очень сильно расстраивало отсутствие единой и полной документации.
http://wiki.freepascal.org - не в счёт, там ОЧЕНЬ многое отсутствует...
Информация разбросана по всему интернету, а имена классов/методов/переменных/констант из-за любви сообщества/разработчиков к безумным сокращениям, ужасны и часто - не очевидны
Несмотря на это и на некоторые недоработки, Lazarus мне понравился.
Чего уж говорить, за пару недель умудрился на нём реализовать прототип 2D движка для HiAsm Open, практически с нулевыми знаниями
Так же, мне очень не нравились некоторые моменты в синтаксисе паскаля: in, then, begin, end и тд.
Не знаю почему, но, мне намного проще запомнить конструкцию вида: if(condition){}.

Потом, я решил ещё раз попробовать Qt.
Я понимал, что его не имеет смысла изучать без базовых знаний C++.
Полистал литературу, вроде понравилось и не так сложно как казалось.
Следующие пару месяцев, были полностью израсходованы на чтение литературы и изредка ковырял Qt с уже имеющими знаниями...
С тех пор, мой мир перевернулся
Имена классов очень хорошо описывают то, что делает этот класс.
Имена методов очень хорошо продуманы, даже имена аргументов соответствуют своему предназначению!
Очень понравилась документация... Это просто нечто.
Ты можешь выбрать константу/функцию/метод/класс, нажать F1, и узнать о нём прямо в среде ВСЮ исчерпывающую информацию с примерами... это было круто
Не надо рыскать в сети в поисках примеров или нюансов.
Нужно прочитать содержимое файла? QFile в помощь.
Документация: http://qt-project.org/doc/qt-5/qfile.html
Как пример.
QFile file("system.ini");
file.open(QIODevice::ReadOnly);
qDebug() << file.readAll();
Нужно запустить процесс? QProcess в помощь.
Я просто вставил в редактор #include <QProcess> и нажал F1.
Там куча примеров описания нюансов.
Я выбрал описание всех статических публичных методов и увидел то, что мне нужно:
int execute(const QString & command)
Далее, в коде можно писать QProcess::execute("моя_программа"); - всё!
Распараллелить какую либо задачу? Мьютексы? Синхронизация? Отдельно класс писать?
Просто пишем, "QtConcurrent::run(func, args);".
Эта штука сама запустить метод/функцию в отдельном потоке и далее, сигналами/слотами получаем результат.
Такого, я нигде не видел (документация и продуманность Qt)...

p.s. На профильных форумах по Qt, очень часто встречаю бывших паскалевцев (delphi/fpc) .
p.p.s Да что говорить, при изучении многих исходников, видишь стиль паскаля
карма: 1
0
Разработчик
Ответов: 4697
Рейтинг: 426
#20: 2014-11-27 19:05:02 ЛС | профиль | цитата
CriDos писал(а):
Ну разве не красота?

На практике еще лучше:
#cpp
shell.notFound([&](args_t args){
if (args.size() > 0){
printf("Command '%s' not found!\n", args[0].c_str());
}
});

shell.command("exit", [&](args_t args){
contf = false;
});
карма: 10
0
Ответов: 1841
Рейтинг: 369
#21: 2014-11-27 19:31:16 ЛС | профиль | цитата
Assasin писал(а):
На практике еще лучше:

Есть и такое
Везде найдутся умельцы
------------ Дoбавленo в 20.31:
Assasin писал(а):
args.size() > 0

Вот тут кстати, потенциальная возможность улучшить оптимизацию, и заменить args.size() > 0 на !args.emty(), в случае, если в классе предусмотрен такой метод
карма: 1
0
Разработчик
Ответов: 4697
Рейтинг: 426
#22: 2014-11-27 19:55:41 ЛС | профиль | цитата
CriDos писал(а):
Вот тут кстати, потенциальная возможность улучшить оптимизацию, и заменить args.size() > 0 на !args.emty(), в случае, если в классе предусмотрен такой метод

Да, можно. Это обычный typedef vector<string> args_t.
карма: 10
0
Ответов: 1841
Рейтинг: 369
#23: 2015-01-07 02:30:03 ЛС | профиль | цитата
Отличная статья - Пять популярных мифов про C++, часть 1
И вторая подоспела - Пять популярных мифов про C++, часть 2
карма: 1
0
Ответов: 1841
Рейтинг: 369
#24: 2015-01-12 06:42:32 ЛС | профиль | цитата
Помогу начинающим (и не очень ) в освоении любых аспектов C++(98, 11, 14) и Qt 4.x5.x.
Бесплатно и анонимно.
Средство связи: skype(возможна вербальная коммуникация), jabber, icq или можно создать отдельную тему, дабы любой мог ознакомиться с информацией и задать вопрос.
Полностью курс я не буду проводить, лишь отвечать на вопросы и давать пояснениярекомендациизадания.
Заинтересовавшихся прошу отписать в ЛС или на почту (в профиле).

Предложение действует только для участников данного форума!
карма: 1
0
Ответов: 1841
Рейтинг: 369
#25: 2015-04-28 13:14:20 ЛС | профиль | цитата
Добавил в коллекцию:
Роберт Сикорд - Безопасный код на C и C++ (включая стандарты C11 и C++11), 2-е издание (2014)

Данная книга отсутствует в общем доступе: http://www.williamspublishing.com/Books/978-5-8459-1908-3.html
Ну что-же, по C++ вроде всё собрал
Осталось по Qt, но, у меня сейчас на руках только печатное издание:
Qt 5.3. Профессиональное программирование на C++
Как только появится в электронном формате, добавляю в коллекцию.

В дальнейшем, приоритетным становится Python 3.x.
Т.е. буду стараться добавлять в коллекцию всё связанное с оным и отсутствующим в публичном доступе.
Хотя, сам по себе Python очень прост в освоении и после такого гиганта как C++, осваивается буквально за неделю
карма: 1
0
Разработчик
Ответов: 4697
Рейтинг: 426
#26: 2015-04-28 17:40:17 ЛС | профиль | цитата
CriDos, синтаксис языка изучается за сутки, программировать на языке учишься всю жизнь
карма: 10
0
Ответов: 1841
Рейтинг: 369
#27: 2015-04-28 20:00:38 ЛС | профиль | цитата
Assasin, полностью согласен
карма: 1
0
Ответов: 498
Рейтинг: 39
#28: 2015-04-29 12:14:41 ЛС | профиль | цитата
https://github.com/vhf/free-programming-books/blob/master/free-programming-books-ru.md
карма: 0

0
Ответов: 1841
Рейтинг: 369
#29: 2015-04-29 12:53:06 ЛС | профиль | цитата
Muz-Tv, странная подборка
По пайтону и плюсу очень устаревшие материалы (кроме нескольких статей на wikibooks)...
А так, я частенько тут нахожу интересные материалы, недоступные обычным смертным : https://skladchik.com
И тут есть много чего интересного из открытого:
https://ru.wikibooks.org
https://ru.wikisource.org

По Python, ещё рекомендуют для углублённого понимания почитать исходники: https://github.com/python/cpython
Хорошо, что проект на гцц писан
Однако, ихний стиль описания имён функций, убивает меня
voidaddfirstsets(grammar *g)
Ведь намного понятней было бы:
void addFirstSets(grammar *g)
или, хотя бы
void add_first_sets(grammar *g)
карма: 1
1
Голосовали:Minkovsky
Ответов: 1841
Рейтинг: 369
#30: 2015-09-05 22:58:53 ЛС | профиль | цитата
Добавил в коллекцию 4 полных курса по Qt 5.x (168 часов, цена: 61890р.):
Курсы по теме: Разработчик С++ (Комплексная программа Qt).
В общем доступе отсутствует.
http://www.specialist.ru/track/t-sipp

p.s. По поводу материала пишем ЛС.
карма: 1
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)