Форум программистов, компьютерный форум, киберфорум
Священные войны
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.97/76: Рейтинг темы: голосов - 76, средняя оценка - 4.97
Начинающий Линуксоид
18 / 18 / 0
Регистрация: 24.05.2011
Сообщений: 221
Записей в блоге: 1

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

21.07.2013, 17:57. Показов 17626. Ответов 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,544
Записей в блоге: 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,544
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
Жара жесть.
kumehtar 18.08.2026
Пролетают летом дни Тридцать пять жары в тени. Каждый август год от года Дарит жаркую погоду.
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru