9 / 9 / 4
Регистрация: 19.08.2013
Сообщений: 31
|
|
1 | |
Выбор "инструмента"22.08.2013, 00:22. Показов 1151. Ответов 9
Метки нет (Все метки)
Предположим есть 2 «инструмента» - C и С++. Помогите понять для какой работы выбирается тот или иной «инструмент». А так же определиться в какую степь углубляться.
На 1 вопрос(про «инструмент») хотелось бы увидеть ответы похожие на что-то такое: для написание графических приложений — какой-то инструмент(или оба одинаковы) для разработки всяких микропроцессоров\драйверов — такой-то инструмент. И все в таком духе. Что на счет 2 вопроса, то: Например, есть желание написать свой калькулятор\управляемую игрушку(не в плане консольного приложения, а именно как настоящий калькулятор). На каком языке лучше(не обязательно проще) будет писать код для данных целей? Есть ли для данной цели довольно сильные различия в C и C++? Или стоит вообще думать о Assembler?(или он будет нужен в частности как поддержка и не стоит окончательно выбирать его). Ко 2 языку, если окажется, что C с Assembler важнее, то, если есть возможность, так же к ответу предложите достойные книги по ним(да и в целом книги с тем, что нужно для знаний для данной цели). Книги по C++ предлагать не надо, нашел вроде бы и сам(только если там что-то важное будет для данной темы). Не стоит спорить какой язык лучше в целом(или описание цель - инструмент, или что для 2 вопроса лучше). Благодарю за внимание.
0
|
22.08.2013, 00:22 | |
Ответы с готовыми решениями:
9
Выбор инструмента/технологии Использование инструмента friend в проекте Выбор инструмента Выбор инструмента Выбор инструмента для задачи |
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|
22.08.2013, 09:46 | 2 |
углубляйся в C, потому что рано или поздно в C++ придётся спускаться на его уровень
а когда человек не умеет программировать в процедурном стиле, то всё его ООП оставляет желать лучшего я попробовал Visual C++, там нужно поставить .NET, чтобы программа работала, но делать её легко, даже школьник справится чего мне не хватает в C, так это классов, чтобы можно было создавать сложные объекты gcc на C++ перевели ради таких элементов языка
1
|
Антикодер
1804 / 869 / 48
Регистрация: 15.09.2012
Сообщений: 3,081
|
|
22.08.2013, 10:00 | 3 |
я уже давал ссылку на хорошие лекции
Для того чтобы выучить С++ по книге Бьёрна Страуструпа Почему будет вам полезно посмотреть эти видеолекции? -К курсу есть список литературы, который охватывает С и С++.(эти книги нужно читать и решать задачи) -Курс ориентирован на C++ -В курсе ярко описаны различия между C и С++ -В нём часто упоминается про ассемблер От себя добавлю, если вы хотите в коде описывать объекты реального мира, то скорее всего вам будет легче это сделать при помощи ООП. При этом вы немного жертвуете производительностью. Хотя для новичка производительность программы на любом языке окажется слишком низкой, чтоб её учитывать, поэтому это роли не играет. ООП особенно полезно при создании игр, в которых удобно описывать объекты и поведение объектов вместе. Микроконтроллеры с их растущей производительностью также удобно программировать на C++. Так как можно описать поведение светодиодов и двигателей в классах. На C это было бы в виде разбросанных по всему файлу функций и структур. Многие эксперты не видят преимущества использования ООП и C++. Надеюсь кто нить из них отпишется. Чтоб более подробно раскрыть разные точки зрения. можно так с натяжкой сказать, что C++ умеет всё, что умеет C. причем в любом месте кода можно использовать ассемблер. Упор нужно делать не на конкретные языки программирования, а на понимание математики.
1
|
567 / 198 / 70
Регистрация: 25.05.2012
Сообщений: 816
|
|
24.08.2013, 23:54 | 4 |
Все просто. Нужно понять C, чтобы хорошо писать на C++. C++ - это просто некое расширение языка, упрощающее работу. Сначала всегда нужно понять основы и для этого стоит учить СИ.
0
|
25.08.2013, 00:08 | 5 |
Главным критерием является не столько язык, сколько наличие удобной инфраструктуры для написания графического приложения. То бишь библиотеки, удобная среда разработки, что-то ещё. Оконные приложения, написанные на C и чистом WinApi в общем случае более топорные и менее удобные, чем аналоги, написанные на C++ под MSVC или Borland. И вовсе не потому, что язык Си "хуже", чем "Си++", а потому, что при использовании Си++ есть хорошие инструменты для разработки удобных приложений.
Если для драйверов , то однозначно C + Assembler. Про микропроцессоры не понял, микропроцессоры - это железо, их не создают на языках программирования Выбор, как я уже писал выше, в первую очередь должен определяться наличием графической библиотеки. При написании калькулятора конкретный язык роли не играет. Про ассембелр нужно думать в трёх случаях: 1. Написание низкоуровневого кода, работающего близко к аппаратуре (языки программирования этого не позволят сделать) 2. Написание высокопроизводительного кода, в котором используются аппаратные операции со сложной семантикой (обычно мультимедийные операции типа MMX, SSE и т.п.). Языки программирования высокого уровня не имеют встроенных языковых операций, которые бы эффективно преобразовывались в требуемые аппаратные операции. Хотя зачастую в этих чаще используют язык высокого уровня с использованием ассемблерных вставок 3. Для общего развития и понимания (на мой взгляд, самая весомая причина)
1
|
Антикодер
1804 / 869 / 48
Регистрация: 15.09.2012
Сообщений: 3,081
|
|
25.08.2013, 00:24 | 6 |
а попробуйте язык D, просто некоторое ознакомление с возможностями языка должно привести вас в правильный ступор.
Я не советую углубляться ни в один язык программирования. нужно пытаться понять принципы по которым строятся решения задач.
0
|
9 / 9 / 4
Регистрация: 19.08.2013
Сообщений: 31
|
|
25.08.2013, 12:38 [ТС] | 7 |
Я имел ввиду калькулятор, который покупаем в магазине, например. А не приложение на компьютере(и игрушки в том же духе). Или там тоже нужны графические библиотеки и Вы меня правильно поняли?
А для "Linux" какой "инструмент" имеет более удобную инфраструктуру для написания графических приложений?
0
|
25.08.2013, 13:24 | 8 |
При такой постановке я не понимаю, при чём тут программирование
Для GUI-приложений (формочки, кнопочки, пимпочки) удобные библиотеки обычно реализуются на Си++. Для работы с графикой для полноэкранного режима - обычно библиотеки на Си и всякие надстройки на Си++. Конкретные IDE можешь посмотреть тут: Бесплатные среды (IDE) для программирования на С/С++ Там в том числе есть и под linux
0
|
Антикодер
1804 / 869 / 48
Регистрация: 15.09.2012
Сообщений: 3,081
|
|
25.08.2013, 14:07 | 9 |
0
|
9 / 9 / 4
Регистрация: 19.08.2013
Сообщений: 31
|
|
25.08.2013, 15:19 [ТС] | 10 |
Ну там же все, в калькуляторе, действия выполняют не просто внутренности. А запрограммировали действия при разных нажатиях кнопок(ну типо того). Т.е. если в графическом приложении нажимаешь что-то то просто выполняется код изменения, а тут, наверное, идет сигнал на микросхемы(или как правильно называть внутренность устройства). Вот именно про эти "сигналы" и спрашивал.
Добавлено через 2 минуты Смотрел, но только пару первых лекций. А там еще только разборы компиляторов\makefile и т.д. Да не, оцениваю нормально консоль, просто интересно стало насчет граф. приложений, надо же узнавать новые вещи, пока не решил, что тебе важнее из всего многообразия.
0
|
25.08.2013, 15:19 | |
25.08.2013, 15:19 | |
Помогаю со студенческими работами здесь
10
Выбор инструмента тестирования мидлвара Выбор инструмента для тестирования Построить график: выбор инструмента Создание интерактивной карты: выбор инструмента Написание службы Windows. Выбор инструмента. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |