Форум программистов, компьютерный форум, киберфорум
Обо всем!
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.57/37: Рейтинг темы: голосов - 37, средняя оценка - 4.57
1 / 1 / 0
Регистрация: 23.08.2014
Сообщений: 84

С чего начать С или С++, зная веб-программирование?

10.06.2015, 21:46. Показов 10491. Ответов 209
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток эксперты! Заранее приношу извинения, наверное это такая же 1000 тема про что лучше. Суть такова - занимался web-программированием php,js, верстка..., и решил открыть для себя новую область в программирование на Си/Си++. Очень хочется работать с тем что актуально в C, C++ и не могу решить с чего начать с Си или Си++? Опыта программирования очень мало, и как студенту очень интересно что же выбрать для дальнейшей работы с Си языками?
Что актуальнее учить? Если я начну сразу с нуля С++, и без знаний С, это не грешно?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.06.2015, 21:46
Ответы с готовыми решениями:

с чего начать программирование?
Всем привет! хочу изучать программирование,только вот не знаю с чего начать? поискал в гугле но все по разнаму...

Программирование. С чего начать?
Всем привет.Интересует вопрос обучения на экономиста-программиста (инженерно-экономический факультет в радиотехническом...

С чего начать в веб-разработке?
Здравствуйте, я в форуме впервые! Прошу прощения, но мне ПОКА ЧТО ничто непонятно! Хочу заниматься разработкой сайтов, серверами!...

209
 Аватар для cybercitizen
204 / 26 / 5
Регистрация: 22.05.2015
Сообщений: 357
12.06.2015, 23:46
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от bodya_men Посмотреть сообщение
С ассемблером.Иначе не было бы такой гибкости.
Сегодня пересобирал свой nmap. Чет я там ассемблера не нашел. Большая часть - сишные исходники, меньшая - cc'шные. Ну и скрипты для сборки. Да и как-то эти два слова "ассемблер" и "гибкость" лично у меня ассоциируются как антонимы. С проф точки зрения, конечно.
Цитата Сообщение от mymedia Посмотреть сообщение
Но, мне кажется, что это стоит делать только после С++.
В этом уже не будет смысла. А вот будет ли смысл вообще обращать внимание на c++, после того как мастерски освоишь си. Это вопрос. Доступ к ОС api уже считай есть, а высокий уровень, так удобней тот же дотнет взять, джава, да мало ли, пайтон + tk - вот тебе и гуевина и функционал.

Добавлено через 1 минуту
Цитата Сообщение от Avazart Посмотреть сообщение
Думаю как веб программисту будет изучить сложнее, чем человеку с нулевыми знаниями
тонко
0
196 / 197 / 120
Регистрация: 27.05.2011
Сообщений: 545
13.06.2015, 00:56
Я всё же остаюсь приверженцем Страуструпа и считаю, что высокоуровневый код должен быть столь же эффективен как и его "аналог" на си. Тот же C#, Java, Python очень сильно проигрывают в производительности С++. Эти языки следует использовать лишь для небольших и средних проектов.
ИМХО, учить только голый Си и учить какой-нибудь высокоуровневый язык — вещи разные и нельзя смешивать их при рассмотрении.
Изначально вопрос стоял так: "Учить сначала Си, а затем С++, или наоборот, С++, а затем Си". Страуструп считает, и я с ним согласен, стоит начинать изучение с С++. Потом можно будет посмотреть отличия Си от С++, и, считай, ты уже выучил Си.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
13.06.2015, 01:27
Цитата Сообщение от mymedia Посмотреть сообщение
Java, Python
По моему не в той категории, они разве что выигрывают в скорости/стоимости разработки (что кстати тоже не маловажно) поэтому это лишь сужает область применения но не значимость.
Но думаю само сабой разумеется что писать неэффектывный код можно одинакого на любом языке.

Цитата Сообщение от mymedia Посмотреть сообщение
Потом можно будет посмотреть отличия Си от С++, и, считай, ты уже выучил Си.
А типа отличий так мало?
0
 Аватар для cybercitizen
204 / 26 / 5
Регистрация: 22.05.2015
Сообщений: 357
13.06.2015, 02:10
Цитата Сообщение от Avazart Посмотреть сообщение
писать неэффектывный код можно одинакого на любом языке
Тоже хотел об этом сказать. Как правило фанбои плюсисты приводят перфоманс как весомый аргумент. Любой опытный разработчик на это ответит так, что качество программы напрямую зависит от умения проектировать и прямоты рук тех кто ее написал и язык тут не при чем.
Цитата Сообщение от mymedia Посмотреть сообщение
ИМХО, учить только голый Си и учить какой-нибудь высокоуровневый язык — вещи разные и нельзя смешивать их при рассмотрении
Можно и нужно. Качественное знание сей открывает дорогу в ос api. Уже можно заниматься системщиной вовсю без каких-либо там плюсов. Современный с++ конечно дает высокий уровень, но допустим в сравнении с тем же common lisp нервно курит в сторонке. Разница в производительности не существенна, разница в уровнях абстракций - пропасть. По большому счету на него просто не стоит тратить свое время. Лет 20 назад, да, стоило. Сегодня - нет. Взять любую амер статью из области cs. Везде джава, питон, функциональщина. В приличных книгах за эталон ООП берут snalltalk как историю и java как реальность. А c++ как intell - с самого начала тащит за собой все свои дефекты.
0
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
13.06.2015, 02:19
Надо ли перед изучением С++ выучить С?
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
13.06.2015, 02:23
Цитата Сообщение от cybercitizen Посмотреть сообщение
что качество программы напрямую зависит от умения проектировать и прямоты рук тех кто ее написал и язык тут не при чем.
Не совсем так, также зависит от от применения -> и как следствие языка.
Крутые игры, браузеры итп пишут на С/С++.
Дрова на С / ASM
И тут вряд ли другим языкам есть "много места".
0
196 / 197 / 120
Регистрация: 27.05.2011
Сообщений: 545
13.06.2015, 02:25
Цитата Сообщение от Avazart Посмотреть сообщение
А типа отличий так мало?
Конечно, современные С++ и Си всё дальше и дальше отдаляются друг от друга. Но, тем не менее, все отличия можно перечислить и изучить за пару часов. Ну, хорошо, пару дней. Это не так много после того, как было потрачено несколько месяцев на С++.
Разрешите снова сослаться на Страуструпа: раньше в книжках у него был небольшой раздел про отличия Си и С++, сейчас же в новой "Теории и практике использования С++" он уже посявятил этому целую главу. Связано это с появлением новых стандартов, как у С++, так и у Си.
Вот я в своё время прочитал от корки до корки книжку Бьёрна Страуструпа — "Язык программирования С++. Специальное издание", издательство Бином, 2006. Можно сказать, что я одновременно изучил и С++, и Си, плюс ещё кое-что нового тогда узнал.
Цитата Сообщение от cybercitizen Посмотреть сообщение
Качественное знание сей открывает дорогу в ос api.
Из качественного знания С++ следует качественное знание Си. Обратное неверно.
Цитата Сообщение от cybercitizen Посмотреть сообщение
Уже можно заниматься системщиной вовсю без каких-либо там плюсов.
И получить множество гемороя в виде утечек памяти. Да, и обработка ошибок без ООП затруднена. Это ж надо в каждой функции не забыть какую-нибудь мелочь.
Цитата Сообщение от cybercitizen Посмотреть сообщение
Везде джава, питон, функциональщина.
И всё жутко тормозит…
Цитата Сообщение от cybercitizen Посмотреть сообщение
А c++ как intell - с самого начала тащит за собой все свои дефекты.
Ну, тут да, нельзя не согласиться. Но именно поэтому С++, как и Intel, так популярен. Более того, всё же не очень популярные возможности удаляются из С++, и чтобы старый код, который их использовал, заработал, его нужно будет переписать.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
13.06.2015, 02:28
Цитата Сообщение от mymedia Посмотреть сообщение
Это не так много после того, как было потрачено несколько месяцев на С++
Оптимистично.
К тому же может стоит посчитать сколько времнени уйдет на изучение не отличий Си а к примеру С# / Java ведь тоже похоже.

Цитата Сообщение от mymedia Посмотреть сообщение
И всё жутко тормозит…
Java - крооссплатформенно.
Python - малозатратно при простых задачах
0
196 / 197 / 120
Регистрация: 27.05.2011
Сообщений: 545
13.06.2015, 02:30
Цитата Сообщение от Avazart Посмотреть сообщение
Оптимистично.
Я имел ввиду, что после месяцев изуения С++, на нём можно более-менее сносно писать. Особенно, если до этого уже программировал. А чтобы полностью выучить С++, боюсь, и жизни не хватит
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
13.06.2015, 02:35
Цитата Сообщение от mymedia Посмотреть сообщение
Более того, всё же не очень популярные возможности удаляются из С++, и чтобы старый код, который их использовал, заработал, его нужно будет переписать.
Чего? Например?

Цитата Сообщение от mymedia Посмотреть сообщение
на нём можно более-менее сносно писать.
Говорю же оптимистично.
Если вы упустили некоторые моменты в С++ потом при сравнении с Си будет каша в голове.

Цитата Сообщение от mymedia Посмотреть сообщение
Вот я в своё время прочитал от корки до корки книжку Бьёрна Страуструпа — "Язык программирования С++. Специальное издание", издательство Бином, 2006. Можно сказать, что я одновременно изучил и С++, и Си, плюс ещё кое-что нового тогда узнал.
Ага а вы теперь попробуйте что нибудь написать на чистом Си или в исходниках на Си порыться, и думаю иллюзии развеются.
Одно дело использовать Си-код в С++ другое дело мыслить/писать на Си.
0
196 / 197 / 120
Регистрация: 27.05.2011
Сообщений: 545
13.06.2015, 02:42
Цитата Сообщение от Avazart Посмотреть сообщение
К тому же может стоит посчитать сколько времнени уйдет на изучение не отличий Си а к примеру С# / Java ведь тоже похоже.
Признаюсь, я не знаю ни C#, ни Java. Но, полагаю, изучении этих отличий займёт гораздо больше времени.
Цитата Сообщение от Avazart Посмотреть сообщение
Java - крооссплатформенно.
Python - малозатратно при простых задачах
У каждого языка свои плюсы. Я не спорю. Но я уже говорил, что использовать эти языки в больших и сложных программах — замедление их работы.
Цитата Сообщение от Avazart Посмотреть сообщение
Чего? Например?
Например, std::random_shuffle удалён в С++17.
Цитата Сообщение от Avazart Посмотреть сообщение
Ага а вы теперь попробуйте что нибудь написать на чистом Си или в исходниках на Си порыться, и думаю иллюзии развеются.
Одно дело использовать Си-код в С++ другое дело мыслить/писать.
Очень даже читается, так же как и код на любом другом языке. ИМХО, макросов много, но если они хорошо написаны, то не проблема.
Спасибо плюсам, после них на си писать гораздо проще. Но без тренировки не обойтись.
0
 Аватар для cybercitizen
204 / 26 / 5
Регистрация: 22.05.2015
Сообщений: 357
13.06.2015, 02:58
Цитата Сообщение от mymedia Посмотреть сообщение
Из качественного знания С++ следует качественное знание Си
Да никак оно не следует. Эти утверждения вообще наводят на мысль. Что ты написал на чистом си (и компилировал сишным компилтором)? Боюсь у тебя либо с компилятором будет серьезная война, либо твой проект в рантайме грохнется. Между этими языками такая же пропасть, как между фортран и форт.
Цитата Сообщение от mymedia Посмотреть сообщение
И получить множество гемороя в виде утечек памяти.
В плюсах уже gc появился? Давно?
Цитата Сообщение от mymedia Посмотреть сообщение
И всё жутко тормозит…
Надо просто нормально писать. Можешь привести реальные примеры? Г..кодить можно на любом языке.

Добавлено через 5 минут
Вот компания, все ее продукты написаны на java. Написаны настолько круто, что эти ребята вышли в мировые лидеры в своей области.

Добавлено через 26 секунд
Так что тормоза чаще в головах.
0
196 / 197 / 120
Регистрация: 27.05.2011
Сообщений: 545
13.06.2015, 03:12
Цитата Сообщение от cybercitizen Посмотреть сообщение
Да никак оно не следует. Эти утверждения вообще наводят на мысль. Что ты написал на чистом си (и компилировал сишным компилтором)? Боюсь у тебя либо с компилятором будет серьезная война, либо твой проект в рантайме грохнется. Между этими языками такая же пропасть, как между фортран и форт.
Если вы так утверждаете, это значит, что вы не знаете С++. И уж поверьте мне, я могу отличить буковки в названиях команд компиляции.
Цитата Сообщение от cybercitizen Посмотреть сообщение
Можешь привести реальные примеры?
Я не совсем понял, что вы имели ввиду. Но когда я пытался сменить IDE, я попробовал перейти на Eclipse. Честно она на моём компьютере жутко тормозила. Кроссплатформенно тормозила. Вполне возможно, что этот печальный опыт не типичен. И у вашей компании всё в пордке с производительностью.

Добавлено через 3 минуты
Цитата Сообщение от cybercitizen Посмотреть сообщение
В плюсах уже gc появился? Давно?
Если пользоваться техникой "выделение ресурса есть инициализация", то большинство утечек памяти можно избежать. Особенно те, которые на Си возникли просто по невнимательности
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
13.06.2015, 03:29
Цитата Сообщение от cybercitizen Посмотреть сообщение
Вот компания (jetbrains), все ее продукты написаны на java.
Ну и что PyCharm для Python тормозная IDE что под виндой что под линуксом, конечно можно терпеть, но факт остается фактом.
Ява известна своей прожорливостью как минимум и как максимум тормозами.


Цитата Сообщение от mymedia Посмотреть сообщение
Например, std::random_shuffle удалён в С++17.
Ну так "вроде как" этот стандарт еще не принят.

Цитата Сообщение от mymedia Посмотреть сообщение
ИМХО, макросов много, но если они хорошо написаны, то не проблема.
Спасибо плюсам, после них на си писать гораздо проще.
В плюсах макросы как раз плохой тон, в большенстве своём.

Цитата Сообщение от mymedia Посмотреть сообщение
Если вы так утверждаете, это значит, что вы не знаете С++.
Ну это я хотел сказать про вас но воздержался.

Добавлено через 9 минут
Цитата Сообщение от mymedia Посмотреть сообщение
Если пользоваться техникой "выделение ресурса есть инициализация", то большинство утечек памяти можно избежать. Особенно те, которые на Си возникли просто по невнимательности
И тем не менее, это тоже требует внимания, кроме того в многопочной среде и так же вряде других случаев наличие gc все же облегчает решение задач.

Добавлено через 2 минуты
Цитата Сообщение от mymedia Посмотреть сообщение
Но я уже говорил, что использовать эти языки в больших и сложных программах — замедление их работы
А в малых и средних может сэкомить время и стоимость разработки.
0
196 / 197 / 120
Регистрация: 27.05.2011
Сообщений: 545
13.06.2015, 03:35
Цитата Сообщение от Avazart Посмотреть сообщение
Ну это я хотел сказать про вас но воздержался.
Извиняюсь, если я был через чур резок в высказаваниях. Но по-моему, рекламировать C#, Java, Python и пр. в разделе С++ — это уж сликом. Тем более изначально вопрос был про С/С++
Цитата Сообщение от Avazart Посмотреть сообщение
Ну так "вроде как" этот стандарт еще не принят.
Ну, хорошо. Могут удалить.
Цитата Сообщение от Avazart Посмотреть сообщение
В плюсах макросы как раз плохой тон, в большенстве своём.
Цитата Сообщение от Avazart Посмотреть сообщение
А в малых и средних может сэкомить время и стоимость разработки.
Цитата Сообщение от Avazart Посмотреть сообщение
И тем не менее, это тоже требует внимания, кроме того в многопочной среде и так же вряде других случаев наличие gc все же облегчает решение задач.
Тут с вами согласен. У каждого языка своя область применения, ниша, которую он занимает. А вот отсутствие встроенного сборщика мусора в С++ не делает его хуже по сравнению с Си.

Добавлено через 3 минуты
Зато в С++ есть unique_ptr и shared_ptr которые несколько сглаживают факт отсутствия GC
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
13.06.2015, 04:23
Цитата Сообщение от bodya_men Посмотреть сообщение
Если хотите кодить с ООП-не берите C++
Если хотите программировать с ООП берите исключительно С++ и желательно от Борланд.
Цитата Сообщение от bodya_men Посмотреть сообщение
Гемороя наберетесь пока будете учить
Гемморой - это отсутствие указателей и автоматическое "управление" памятью.

Добавлено через 3 минуты
Цитата Сообщение от cybercitizen Посмотреть сообщение
В плюсах уже gc появился? Давно?
Насколько сталкивался - утечка памяти это таки проблема автоматического управления памятью. При ручном управлении проблема отсутствует НАПРОЧЬ. Ну во всяком случае если программист хотя бы чуть-чуть соображает что он делает.

Добавлено через 4 минуты
Цитата Сообщение от mymedia Посмотреть сообщение
Например, std::random_shuffle удалён в С++17.
А в С++ 20 удалят STL и правильно сделают Потому что учитывая направления развития процессоров потребуется перенести поддержку математических операций над массивами на уровень компилятора.
0
Нарушитель
 Аватар для bodya_men
54 / 55 / 8
Регистрация: 01.07.2014
Сообщений: 1,021
13.06.2015, 08:08
cybercitizen, асм как раз таки и гибкий.к примеру(относится к сис. Программированию) .например загрузчики.некоторые ос написаны на асм.доступ к прерываниям биоса и железу(в си тоже можно но геморойно)

Добавлено через 2 минуты
mymedia, сравнивать два разных яп для разных целей глупо.у каждого свои предпочтения.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
13.06.2015, 08:32
Цитата Сообщение от bodya_men Посмотреть сообщение
в си тоже можно но геморойно
Ниче не гемморойно. Потому как в с есть оператор asm{}
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
13.06.2015, 08:32
Цитата Сообщение от bodya_men Посмотреть сообщение
cybercitizen, асм как раз таки и гибкий.к примеру(относится к сис. Программированию) .например загрузчики.
перенеси-ка код написанный для х86 на ARM
да даже тот же код с x86 на x86 но совершенно с другим железом
то что можно достучатся до каждой железки, да, но уровень знаний архитектуры, процессора должен быть высок
тут знанием просто ассемблера не обойдешься
Цитата Сообщение от bodya_men Посмотреть сообщение
биоса и железу(в си тоже можно но геморойно)
че геморного то
C
1
2
strucTimer *st =(strucTimer *)0xADB0F000;
st->timH=20;
железо просто нужно знать досконально
Цитата Сообщение от bodya_men Посмотреть сообщение
сравнивать два разных яп для разных целей глупо
вот здесь согласен
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
13.06.2015, 08:34
Цитата Сообщение от mymedia Посмотреть сообщение
Но по-моему, рекламировать C#, Java, Python и пр. в разделе С++ — это уж сликом.
Давным давно, некоторые пользователи STL решили что указатели не нужны. В результате часть из них явилась, другая часть шарпнулась, а третья част спитилась. Но их мучает ностальгия по неограниченным возможностям С++ вот и лезут в этот раздел.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.06.2015, 08:34

С чего начать изучение веб дизайна?
Доброго всем времени суток! Недавно возникла идея научится веб дизайну и начать на этом зарабатывать. Сначала метался не знал с чего...

Программирование под Linux: с чего начать?
Здравствуйте ! Подскажите пожалуйста, в какой бесплатной среде лучше начать программировать под линукс (под МСВС) ? И если можно ссылочку...

Веб программирование или прикладное. И как быть, если плохая память?
Всем привет. Помогите разобраться, в какую сторону развиваться..Дело в том, что программирую на разных языках(с++,C#,php,...), но только на...

с чего начать WEB - программирование
Вот хотел у вас программистом, с чего начать WEB - программирование что почитать. Я сейчас изучаю HTML и CSS, а что дальше учить ? php или...

Веб-программирование или Gamedev?
Здравствуйте. Интересно ваше мнение, какое из этих двух направлений для вас наиболее привлекательно и почему бы вы пошли именно в этом...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов. Логика кажется понятной: 1. Находим ключевые слова. 2. Добавляем их на. . .
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302 Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru