Форум программистов, компьютерный форум, киберфорум
C (Си)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
9 / 9 / 4
Регистрация: 19.08.2013
Сообщений: 31
1

Выбор "инструмента"

22.08.2013, 00:22. Показов 1151. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Предположим есть 2 «инструмента» - C и С++. Помогите понять для какой работы выбирается тот или иной «инструмент». А так же определиться в какую степь углубляться.
На 1 вопрос(про «инструмент») хотелось бы увидеть ответы похожие на что-то такое:
для написание графических приложений — какой-то инструмент(или оба одинаковы)
для разработки всяких микропроцессоров\драйверов — такой-то инструмент.
И все в таком духе.
Что на счет 2 вопроса, то:
Например, есть желание написать свой калькулятор\управляемую игрушку(не в плане консольного приложения, а именно как настоящий калькулятор). На каком языке лучше(не обязательно проще) будет писать код для данных целей?
Есть ли для данной цели довольно сильные различия в C и C++?
Или стоит вообще думать о Assembler?(или он будет нужен в частности как поддержка и не стоит окончательно выбирать его).
Ко 2 языку, если окажется, что C с Assembler важнее, то, если есть возможность, так же к ответу предложите достойные книги по ним(да и в целом книги с тем, что нужно для знаний для данной цели). Книги по C++ предлагать не надо, нашел вроде бы и сам(только если там что-то важное будет для данной темы).
Не стоит спорить какой язык лучше в целом(или описание цель - инструмент, или что для 2 вопроса лучше).
Благодарю за внимание.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.08.2013, 00:22
Ответы с готовыми решениями:

Выбор инструмента/технологии
Доброго времени суток! Есть следующая задача. На входе файл в dbf формате(с досовским набором...

Использование инструмента friend в проекте
Добрый день, я считаю, что дать полный доступ классу на все внутренности - это нарушение...

Выбор инструмента
Здравствуйте. Потребовался инструмент, сам я начинающий электронщик. С компами связан давно, но в...

Выбор инструмента
Всем привет! Проблемма в следующем: нужно написать прогу для больницы. Программа должна принимать...

Выбор инструмента для задачи
Всех с наступившим годом :drink: На фоне столь большого объема выбора реализации не могу...

9
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
22.08.2013, 09:46 2
Цитата Сообщение от Anitsirh Посмотреть сообщение
А так же определиться в какую степь углубляться.
углубляйся в C, потому что рано или поздно в C++ придётся спускаться на его уровень
а когда человек не умеет программировать в процедурном стиле, то всё его ООП оставляет желать лучшего

Цитата Сообщение от Anitsirh Посмотреть сообщение
для написание графических приложений
я попробовал 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
Цитата Сообщение от Anitsirh Посмотреть сообщение
Предположим есть 2 «инструмента» - C и С++. Помогите понять для какой работы выбирается тот или иной «инструмент». А так же определиться в какую степь углубляться.
На 1 вопрос(про «инструмент») хотелось бы увидеть ответы похожие на что-то такое:
для написание графических приложений — какой-то инструмент(или оба одинаковы)
для разработки всяких микропроцессоров\драйверов — такой-то инструмент.
И все в таком духе.
Что на счет 2 вопроса, то:
Например, есть желание написать свой калькулятор\управляемую игрушку(не в плане консольного приложения, а именно как настоящий калькулятор). На каком языке лучше(не обязательно проще) будет писать код для данных целей?
Есть ли для данной цели довольно сильные различия в C и C++?
Или стоит вообще думать о Assembler?(или он будет нужен в частности как поддержка и не стоит окончательно выбирать его).
Ко 2 языку, если окажется, что C с Assembler важнее, то, если есть возможность, так же к ответу предложите достойные книги по ним(да и в целом книги с тем, что нужно для знаний для данной цели). Книги по C++ предлагать не надо, нашел вроде бы и сам(только если там что-то важное будет для данной темы).
Не стоит спорить какой язык лучше в целом(или описание цель - инструмент, или что для 2 вопроса лучше).
Благодарю за внимание.
Все просто. Нужно понять C, чтобы хорошо писать на C++. C++ - это просто некое расширение языка, упрощающее работу. Сначала всегда нужно понять основы и для этого стоит учить СИ.
0
Evg
Эксперт CАвтор FAQ
21279 / 8301 / 637
Регистрация: 30.03.2009
Сообщений: 22,659
Записей в блоге: 30
25.08.2013, 00:08 5
Цитата Сообщение от Anitsirh Посмотреть сообщение
для написание графических приложений — какой-то инструмент(или оба одинаковы)
Главным критерием является не столько язык, сколько наличие удобной инфраструктуры для написания графического приложения. То бишь библиотеки, удобная среда разработки, что-то ещё. Оконные приложения, написанные на C и чистом WinApi в общем случае более топорные и менее удобные, чем аналоги, написанные на C++ под MSVC или Borland. И вовсе не потому, что язык Си "хуже", чем "Си++", а потому, что при использовании Си++ есть хорошие инструменты для разработки удобных приложений.

Цитата Сообщение от Anitsirh Посмотреть сообщение
для разработки всяких микропроцессоров\драйверов — такой-то инструмент
Если для драйверов , то однозначно C + Assembler. Про микропроцессоры не понял, микропроцессоры - это железо, их не создают на языках программирования

Цитата Сообщение от Anitsirh Посмотреть сообщение
Например, есть желание написать свой калькулятор\управляемую игрушку(не в плане консольного приложения, а именно как настоящий калькулятор). На каком языке лучше(не обязательно проще) будет писать код для данных целей?
Выбор, как я уже писал выше, в первую очередь должен определяться наличием графической библиотеки. При написании калькулятора конкретный язык роли не играет.

Цитата Сообщение от Anitsirh Посмотреть сообщение
Или стоит вообще думать о 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
Цитата Сообщение от Evg Посмотреть сообщение
Выбор, как я уже писал выше, в первую очередь должен определяться наличием графической библиотеки. При написании калькулятора конкретный язык роли не играет.
Я имел ввиду калькулятор, который покупаем в магазине, например. А не приложение на компьютере(и игрушки в том же духе). Или там тоже нужны графические библиотеки и Вы меня правильно поняли?
Цитата Сообщение от Evg Посмотреть сообщение
Главным критерием является не столько язык, сколько наличие удобной инфраструктуры для написания графического приложения. То бишь библиотеки, удобная среда разработки, что-то ещё. Оконные приложения, написанные на C и чистом WinApi в общем случае более топорные и менее удобные, чем аналоги, написанные на C++ под MSVC или Borland. И вовсе не потому, что язык Си "хуже", чем "Си++", а потому, что при использовании Си++ есть хорошие инструменты для разработки удобных приложений.
А для "Linux" какой "инструмент" имеет более удобную инфраструктуру для написания графических приложений?
0
Evg
Эксперт CАвтор FAQ
21279 / 8301 / 637
Регистрация: 30.03.2009
Сообщений: 22,659
Записей в блоге: 30
25.08.2013, 13:24 8
Цитата Сообщение от Anitsirh Посмотреть сообщение
Я имел ввиду калькулятор, который покупаем в магазине, например.
При такой постановке я не понимаю, при чём тут программирование

Цитата Сообщение от Anitsirh Посмотреть сообщение
А для "Linux" какой "инструмент" имеет более удобную инфраструктуру для написания графических приложений?
Для GUI-приложений (формочки, кнопочки, пимпочки) удобные библиотеки обычно реализуются на Си++. Для работы с графикой для полноэкранного режима - обычно библиотеки на Си и всякие надстройки на Си++.

Конкретные IDE можешь посмотреть тут: Бесплатные среды (IDE) для программирования на С/С++
Там в том числе есть и под linux
0
Антикодер
1804 / 869 / 48
Регистрация: 15.09.2012
Сообщений: 3,081
25.08.2013, 14:07 9

Не по теме:

Цитата Сообщение от Anitsirh Посмотреть сообщение
А для "Linux" какой "инструмент" имеет более удобную инфраструктуру для написания графических приложений?
не смотрел ещё видеолекции :D



может ты не дооцениваешь консоль? Такое и в правду можно сделать в консоли?
0
9 / 9 / 4
Регистрация: 19.08.2013
Сообщений: 31
25.08.2013, 15:19  [ТС] 10
Цитата Сообщение от Evg Посмотреть сообщение
При такой постановке я не понимаю, при чём тут программирование
Ну там же все, в калькуляторе, действия выполняют не просто внутренности. А запрограммировали действия при разных нажатиях кнопок(ну типо того). Т.е. если в графическом приложении нажимаешь что-то то просто выполняется код изменения, а тут, наверное, идет сигнал на микросхемы(или как правильно называть внутренность устройства). Вот именно про эти "сигналы" и спрашивал.

Добавлено через 2 минуты
Цитата Сообщение от XRuZzz Посмотреть сообщение

Не по теме:



не смотрел ещё видеолекции :D



может ты не дооцениваешь консоль? Такое и в правду можно сделать в консоли?
Смотрел, но только пару первых лекций. А там еще только разборы компиляторов\makefile и т.д.
Да не, оцениваю нормально консоль, просто интересно стало насчет граф. приложений, надо же узнавать новые вещи, пока не решил, что тебе важнее из всего многообразия.
0
25.08.2013, 15:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.08.2013, 15:19
Помогаю со студенческими работами здесь

Выбор инструмента тестирования мидлвара
Всем привет! Я занимался мануальным тестированием и не очень силен в автоматизации и...

Выбор инструмента для тестирования
Друзья, здравствуйте, прошу помощи в выборе инструмента для тестирования javafx приложения. Был...

Построить график: выбор инструмента
Нужно написать программу, которая строит графики по некоторым данным. Посоветовали использовать...

Создание интерактивной карты: выбор инструмента
Никогда не работала с Flash, но надо с ним разобраться. мне на сайт надо вставить карту торгового...

Написание службы Windows. Выбор инструмента.
Уважаемые форумчане, прошу помочь с информацией. Так сложилось, что в последние 8 лет не...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru