Начинающий Линуксоид
18 / 18 / 0
Регистрация: 24.05.2011
Сообщений: 221
Записей в блоге: 1

Что учить? Си или C++?

21.07.2013, 17:57. Показов 17768. Ответов 191
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
1.5 года программирую на PHP, пол года назад немного выучил java. Вот сейчас хочу попробовать что нибудь новенькое. Для себя я поставил выбор: Или Ассемблер, или Си, или C++. Ассемблер я решил отбросить сразу, ибо с мат частью не очень хорошо, поэтому теперь не знаю что учить Си или С++. Что будет для меня легче учитывая мои сегодняшние знания?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.07.2013, 17:57
Ответы с готовыми решениями:

Что учить первым си или си ++ или c#
Что учить первым си или си ++ или c#

Что учить? Delphi или c++
Что из них учить?Хорошо владею vb.net и средне c#

А что лучше учить С++ или Делфи ?
Я просто не знаю что нужно учить. Подскажете ?

191
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
21.07.2013, 22:58
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Retyrn0 Посмотреть сообщение
Ассемблер - тоже хорошая вещь на самом деле, но его лучше использовать когда нужно максимальное быстродействие
лет так много назад, так оно и было
сейчас оптимизаторы очень крутые, например деление заменяет умножением
да и процессоры изменились
распараллеливание команд, кэш ....
для того чтобы написать эффективный код мало знать синтаксис придется не один раз изучить даташит, и не один, на процессор, знать как он работает с памятью чтобы не было холостых ходов ....
короче кроме языка придется досконально знать железо
0
~ Эврика! ~
 Аватар для OhMyGodSoLong
1258 / 1007 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
21.07.2013, 23:48
Цитата Сообщение от Егор Грушко Посмотреть сообщение
Можно какие-то аргументы, пожалуйста?
Сишечка значительно проще Плюсов.
0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
22.07.2013, 07:52
Цитата Сообщение от Егор Грушко Посмотреть сообщение
Что учить? Си или C++?
после C ты выучишь что угодно: он компактный, легко собирается и разбирается, не клинит от пыли и песка

Цитата Сообщение от Егор Грушко Посмотреть сообщение
правда никогда не понимал зачем нужны модификаторы доступа
и сможешь понять, что это и нужны они тебе или нет

C реально выучить весь, и там мало лишних вещей, тогда как в C++ лишних вещей предостаточно, и они рассеивают внимание и забирают время

небольшое сравнение

Не по теме:

помнится раньше, когда появились компьютеры - игровые приставки с двумя джойстиками и кассетой - была проблема найти много разных игр на одной кассете: были либо кассеты с десятью разными играми с надписью "10 игр", либо кассеты с десятью разными играми с надписью "500 игр"
и вот у меня была кассета с 64-мя разными играми, в которую я играл до самого персонального компьютера

вот C - это кассета с 64-мя разными играми, которой хватит на всю жизнь, а C++ - это кассета с 20-ю играми, на которой написано "1000 игр"

0
 Аватар для nullxdth
2305 / 1064 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
22.07.2013, 12:50
Цитата Сообщение от accept Посмотреть сообщение
после C ты выучишь что угодно
На самом деле это не совсем правда.
Цитата Сообщение от accept Посмотреть сообщение
он компактный, легко собирается и разбирается, не клинит от пыли и песка
Си скорее - "опасная бритва". Простая и очень опасная. Обращаться нужно очень умело.

Добавлено через 4 минуты
Цитата Сообщение от KOPOJI Посмотреть сообщение
и что будет, когда вы дойдете до указателей, например..?
Глупости. Чтобы понимать указатель и модель памяти совершенно не обязательно знать asm.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6725 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
22.07.2013, 12:53
Цитата Сообщение от nullxdth Посмотреть сообщение
Глупости. Чтобы понимать указатель и модель памяти совершенно не обязательно знать asm.
Я не говорил, что надо знать asm. Пожалуй, следует у вас спросить - модель памяти, по вашему, в понятие
Цитата Сообщение от Егор Грушко Посмотреть сообщение
мат часть
не входит?
0
Начинающий Линуксоид
18 / 18 / 0
Регистрация: 24.05.2011
Сообщений: 221
Записей в блоге: 1
22.07.2013, 12:54  [ТС]
Цитата Сообщение от KOPOJI Посмотреть сообщение
не входит?
всмысле "не входит?"?
0
 Аватар для nullxdth
2305 / 1064 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
22.07.2013, 12:58
Цитата Сообщение от KOPOJI Посмотреть сообщение
Пожалуй, следует у вас спросить - модель памяти, по вашему, в понятие
Ну под моделью нынче понимается плоское адресное пространство. Что бы понять, что есть указатель, как его двигать, каков его размер и как его разыменовавать совершенно не обязательно знать asm. Ну и плюс нужно конечно ознакомиться, что такое heap и стек и как с этим работать. Опять же asm знать не обязательно.
0
22.07.2013, 13:00

Не по теме:

-->

Цитата Сообщение от KOPOJI Посмотреть сообщение
Я не говорил, что надо знать asm
Цитата Сообщение от Егор Грушко Посмотреть сообщение
Ассемблер я решил отбросить сразу, ибо с мат частью не очень хорошо

0
 Аватар для nullxdth
2305 / 1064 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
22.07.2013, 13:04
Егор Грушко, бери вот эту книгу http://www.books.ru/books/yazy... 01/?show=1. Учится и понимается максимум за недельку. Си знать конечно же надо любому программисту. А вот конкретно программировать на Си, вероятно, не стоит без весомых на то причин.
0
Начинающий Линуксоид
18 / 18 / 0
Регистрация: 24.05.2011
Сообщений: 221
Записей в блоге: 1
22.07.2013, 13:04  [ТС]
Я слышал об ассемблере, что надо знать математику, ну не сказать что я ее хорошо знаю...
0
 Аватар для nullxdth
2305 / 1064 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
22.07.2013, 13:29
Цитата Сообщение от Егор Грушко Посмотреть сообщение
Я слышал об ассемблере, что надо знать математику, ну не сказать что я ее хорошо знаю...
Это не правда. Понимать asm может любой человек осиливший элементарную арифметику.

Добавлено через 19 минут
Цитата Сообщение от Егор Грушко Посмотреть сообщение
Я слышал об ассемблере, что надо знать математику, ну не сказать что я ее хорошо знаю...
Но математику тоже нужно знать, конечно. Не относительно ассемблера, но ради программирования вообще. Если в школе/ВУЗе всё продолбал (как я, например), то можно начать с алгебры. Вот очень простой (не требует вообще знаний никаких), но сверхполезный учебник по алгебре - http://www.mccme.ru/free-books... lgebra.pdf. После этого можно переходить к дискретке.

Добавлено через 4 минуты
Егор Грушко, а на C++ вообще забей. Не нужен он.
0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
23.07.2013, 07:24
Цитата Сообщение от nullxdth Посмотреть сообщение
Цитата Сообщение от accept Посмотреть сообщение
после C ты выучишь что угодно
На самом деле это не совсем правда.
это что имеется в виду ?

Цитата Сообщение от nullxdth Посмотреть сообщение
Си скорее - "опасная бритва". Простая и очень опасная. Обращаться нужно очень умело.
не, бритва - это ничто, просто кусок металла, в то время как автомат - это конструкция, эффективная конструкция

Цитата Сообщение от nullxdth Посмотреть сообщение
а на C++ вообще забей. Не нужен он.
не, классы можно взять и всё, для создания модулей
0
 Аватар для Kuzia domovenok
4268 / 3328 / 926
Регистрация: 25.03.2012
Сообщений: 12,545
Записей в блоге: 1
23.07.2013, 10:07
Цитата Сообщение от accept Посмотреть сообщение
не, бритва - это ничто, просто кусок металла, в то время как автомат - это конструкция, эффективная конструкция
кусок металла - это ассемблер. А Си это вполне высокоуровневый язык программирования. Проще С++. Даёт понять, что происходит в компьютере. И вполне актуален для профессиональной работы.

Я повторю. Кто же виноват, что некоторые чайники в С++ не способны сдвинуть и битика в байте, зато считают, что << это "оператор вывода"?
Цитата Сообщение от accept Посмотреть сообщение
Простая и очень опасная
А что же это в нём опасна? Делает именно то, для чего создан процессор. Без всяких финтифлюшек.
0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
23.07.2013, 10:24
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
кусок металла - это ассемблер.
не, ассемблер - это руда
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
23.07.2013, 12:11
Цитата Сообщение от accept Посмотреть сообщение
не, ассемблер - это руда
А что тогда машинные коды?
гора в которой руда лежит?
0
 Аватар для nullxdth
2305 / 1064 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
23.07.2013, 14:56
Цитата Сообщение от accept Посмотреть сообщение
это что имеется в виду ?
А то, что Си вряд ли поможет в изучении высокоуровнывых ЯП. Может даже помешать.

Добавлено через 1 минуту
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
А Си это вполне высокоуровневый язык программирования.
Си кажется высокоуровневым, если ничего другого не знать. Фактически же Си - кроссплатформенный асм.

Добавлено через 1 минуту
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Кто же виноват, что некоторые чайники в С++ не способны сдвинуть и битика в байте
И правильно. В большинтсве прикладных задач не надо никакие битики сдвигать.

Добавлено через 3 минуты
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
А что же это в нём опасна? Делает именно то, для чего создан процессор. Без всяких финтифлюшек.
Опсано абсолютно всё. Нет никакого контроля со стороны языка/компилятора. memory leaks, memory corruptions, buffer overflows - всё это типичные ошибки, часто являющиеся фатальными и сложными в отладке.

Добавлено через 2 минуты
Цитата Сообщение от accept Посмотреть сообщение
в то время как автомат - это конструкция, эффективная конструкция
Ага. Такой автомат, который расстреляет тебя на месте, если не позаботишься о куче низкоуровнывых деталей отвлекающих от непосредственной задачи.
0
 Аватар для Kuzia domovenok
4268 / 3328 / 926
Регистрация: 25.03.2012
Сообщений: 12,545
Записей в блоге: 1
23.07.2013, 18:01
Цитата Сообщение от nullxdth Посмотреть сообщение
Си кажется высокоуровневым, если ничего другого не знать. Фактически же Си - кроссплатформенный асм
Для тех, кто сидит на Яве, и Си и асм - один тёмный лес. Либо просто такое мнение унаследовано от пиндосских "умников", вроде Эккеля, Мейерса и Александреску.
Цитата Сообщение от nullxdth Посмотреть сообщение
Ага. Такой автомат, который расстреляет тебя на месте, если не позаботишься о куче низкоуровнывых деталей отвлекающих от непосредственной задачи.
Таки что такого в Си опасного? А! Знаю, что скажешь!
Цитата Сообщение от nullxdth Посмотреть сообщение
Опсано абсолютно всё
Ну конечно! Только это абсолютно всё сводится к одной функции malloc и работе с динамической памятью. Чаще всего любители Явы только за это и ругают Си.
Цитата Сообщение от nullxdth Посмотреть сообщение
В большинтсве прикладных задач не надо никакие битики сдвигать.
А большинство из этого большинства можно вообще на Яве решить... но зачем?

Добавлено через 1 минуту
Цитата Сообщение от nullxdth Посмотреть сообщение
А то, что Си вряд ли поможет в изучении высокоуровнывых ЯП. Может даже помешать.
И чем же это? Тем, что покажет, что данные хранятся не в абстрактной виртуальной машине, а во вполне реальной памяти?

Кстати, а Си++ этому делу может помешать? Там от указателей ведь не то, что не отказались, но и вовсю используют их?
Или турбо Пас... а ну да, мир праху его. НО ТАМ ТОЖЕ УКАЗАТЕЛИ БЫЛИ!

Добавлено через 6 минут
Но я что-то отошёл от темы. Тема о том, что начинать изучение программирования с Сей не только можно, но и очень даже правильно. (Не с Турбо Паскаля же или Бейсика начинать?!)
Те, у кого проблемы с указателями, могут на первых порах поделать сортировки пузырьком и прочие упражнения на алгоритмы, не касающихся никаких сложностей Сей!
Я собственно с Си и начинал обучение. Потом ассемблер. Потом оконные приложения то на Си, то на асме с WinAPI. Потом уже Си++.

Добавлено через 9 минут
Цитата Сообщение от nullxdth Посмотреть сообщение
о куче низкоуровнывых деталей отвлекающих от непосредственной задачи.
теперь о кучах. Это зависит от того, с какой стороны подходить.
Для изучения Си достаточно небольшой книги Керигана и Ритчи и небольшой практики. Для знания С++... ооо сколько деталей. Изучил классы? - нет! Ещё не знаешь ООП! Иди смотри на паттерны и ещё на несколько книжек по ООП от гуру. Теперь изучил шаблоны - потрать ещё полгода на освоение STL. (Ну если потратил меньше - это всё равно не конец) ...Изучай boost... Изучай Qt... Изучай...
И этих вещей, что надо изучить в С++ на несколько порядков больше, чем у Си.
0
45 / 48 / 5
Регистрация: 24.06.2013
Сообщений: 677
23.07.2013, 18:29
Цитата Сообщение от Егор Грушко Посмотреть сообщение
Я слышал об ассемблере, что надо знать математику, ну не сказать что я ее хорошо знаю...
Хорошая логика может опровергнуть необходимость в математике(с)

Добавлено через 5 минут
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Там от указателей ведь не то, что не отказались, но и вовсю используют их?
Неужели у кого-то есть проблемы с указателями? о_О Думаю это самое простое и мощное средство ЯП, ИМХО.
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
23.07.2013, 20:18
Цитата Сообщение от nullxdth Посмотреть сообщение
И правильно. В большинтсве прикладных задач не надо никакие битики сдвигать.
а когда будет надо?
вот например 8 лампочек сделать "бегущий огонь как решишь на яве?
0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
23.07.2013, 20:18
Цитата Сообщение от nullxdth Посмотреть сообщение
А то, что Си вряд ли поможет в изучении высокоуровнывых ЯП. Может даже помешать.
C не является мультипарадигменным
но его парадигма всё равно основная в мире программирования

Цитата Сообщение от nullxdth Посмотреть сообщение
Фактически же Си - кроссплатформенный асм.
это да, для того он и делался

Цитата Сообщение от nullxdth Посмотреть сообщение
Нет никакого контроля со стороны языка/компилятора. memory leaks, memory corruptions, buffer overflows - всё это типичные ошибки, часто являющиеся фатальными и сложными в отладке.
есть юнит-тесты, профайлеры, парное программирование
как-то ведь люди пишут программы на C, и даже очень надёжные

Цитата Сообщение от ValeryS Посмотреть сообщение
А что тогда машинные коды?
гора в которой руда лежит?
это тоже руда; почему руда? да потому что её в чистом виде никто не использует, она нужна для переплавки и создания
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.07.2013, 20:18

Что лучшие учить новичку C# или Java
Привет, последние время мне приходиться работать с Web это HTML CSS JS PHP MySQL, и не много с такими CMS WordPress и фреймворк Laravel...

Подскажите что лучше учить - C# или PHP
Хочу выучить или C# или php вот только не знаю что более востребовано. Я знаю что это два совершенно разных языка. На шарпе пишут под...

Что учить: химию-биологию или программирование?
Всем доброго времени суток! Не знаю куда лучше написать,поэтому пишу здесь. Меня зовут Никита,мне 17лет. Я студент первого курса...

Что учить - с шарп, с++?
всем привет! я немного знаю язык с шарп. и вот не знаю продолжать ли учить его или же изучать какой-то другой язык например с++. Конкретно...

Что учить после Visual Basic"а ?
Сейчас обучаюсь Visual Basic как первый язык программирования. Через пару месяцев пробиваясь сквозь лень и преграды по обучению и теперь...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Опции темы

Новые блоги и статьи
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru