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

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

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

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

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

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

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

209
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
13.06.2015, 16:38
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Почему тогда говорил что ими не надо пользоваться и вообще избегать арифметики указателей?
Ну вероятно это писалось конкретно для таких как вы ))
А вообще чет не встречал такого... хотя я не любитель его книг.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
13.06.2015, 16:40
Цитата Сообщение от Avazart Посмотреть сообщение
к примеру невозможность множественного наследования
Ну дык и не используйте с VCL классами. А там где нужно работает на ура.
Цитата Сообщение от Avazart Посмотреть сообщение
Я говорю лишь от том что фреймворки все же накладываю свои ограничения на использование языковых конструкций и стиль.
Если фрэймверк меня в чем либо ограничевает - сменить фрэймверк не такая уж и проблема, а особенно с C++ Builder.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
13.06.2015, 16:40
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
А у меня они не крешатся,
А ты лучше проверь таким инструментом как CodeGuard если не падает у тебя не значит что не упадет в час X у твоего клиента.
Я кстати на этом обжигался, ибо у меня тестировалось час-два, а у клиента сутки и там накапливалась утечка и программа падала.
(Правда проблема была не в моем коде- в стороннем компоненте была утечка).
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
13.06.2015, 16:47
Цитата Сообщение от Avazart Посмотреть сообщение
Ну вероятно это писалось конкретно для таких как вы ))
Угу. Я страшилок про бабайку (УЖААААСНЫЕ УКАЗАТЕЛИ) не боюсь. У нас от этой фобии хорошо отучали на 1-ом курсе.

Добавлено через 1 минуту
Цитата Сообщение от Avazart Посмотреть сообщение
Правда проблема была не в моем коде- в стороннем компоненте была утечка
Поэтому я их использую как можно меньше.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
13.06.2015, 16:49
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Если фрэймверк меня в чем либо ограничевает - сменить фрэймверк не такая уж и проблема, а особенно с C++ Builder.
Не большая проблема если твой код изначально писался из расчета что такое возможно.
В большинстве таких случаев это означат использование STL, boost и своих велосипедов вместо фрейворка X.

Добавлено через 2 минуты
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Угу. Я страшилок про бабайку (УЖААААСНЫЕ УКАЗАТЕЛИ) не боюсь. У нас от этой фобии хорошо отучали на 1-ом курсе.
А вы знаете что это вообще такое?
Ибо если вы не знаете что такое локальные переменные... то учили вас также как и меня... т.е нефига не учили.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
13.06.2015, 16:51
Цитата Сообщение от Avazart Посмотреть сообщение
Я кстати на этом обжигался, ибо у меня тестировалось час-два, а у клиента сутки и там накапливалась утечка и программа падала.
Писать что либо для АСУ-ТП (насколько понимаю что то в этом роде) в ремоте - ну как бы падать будет. разработку и особенно тестирование с пусконаладкой надо производить на объекте. Было тоже и там даже не обжогся, крешится не крешилось, но было на грани - на компе на котором софт пускался через неделю-две винт перегревался, причем в зависимости от интенсивности печати (эмулятор телетайпа и терминала), а нагрузка была в зависимости от фаз луны - интенсивности прокатки.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
13.06.2015, 16:56
Это совсем другое дело, я говорю про заведомо кривой код.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
13.06.2015, 17:06
Цитата Сообщение от Avazart Посмотреть сообщение
Не большая проблема если твой код изначально писался из расчета что такое возможно.
Фрэймверк нужен (я имею в виду оконную библиотеку типа VCL) нужен тока для визуализации (контейнеры не в счет, да и если надо свои пишутся быстро). Да и оконный библиотека (а-ля Turbo Vision только под графический режим, причем без всяких stl) написал еще на 1-ом курсе, так что...
Цитата Сообщение от Avazart Посмотреть сообщение
Ибо если вы не знаете что такое локальные переменные... то учили вас также как и меня... т.е нефига не учили.
Знаю. только чтоб в TList который в обработчике кнопки создается че нить в него загонять, потом очищать и удалять в том же обработчике - ну такого что у меня в коде нет. Необходимости такой нет.
Цитата Сообщение от Avazart Посмотреть сообщение
Не большая проблема если твой код изначально писался из расчета что такое возможно.
Ну task-oriented библиотеки обычно так и строятся, т.е. ни к чему не привязываясь. Библиотека сама по себе считай фрэймверк который извне разве что ввод берет и вывод осуществляет.

Добавлено через 1 минуту
Цитата Сообщение от Avazart Посмотреть сообщение
Это совсем другое дело, я говорю про заведомо кривой код.
В таких делах как прокатка результат один, что бы кривое не было.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
13.06.2015, 17:07
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Знаю. только чтоб в TList который в обработчике кнопки создается че нить в него загонять, потом очищать и удалять в том же обработчике - ну такого что у меня в коде нет. Необходимости такой нет.
Я привел банальный пример с локальным TStringList тоже качается TList думаю не нужно большой фантазии что бы придумать пример где это нужно.
И я не говорил что С++Builder нельзя или это большая проблема, я говорил про то что выглядит это не так лаконично как могло бы быть если не накладывались бы ограничения.


Если проблемы же проблемы с фантазией вот пример из моего блога

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{ // Динамическое создание
TIdHTTP* IdHTTP2= new TIdHTTP(NULL) ;
 
try
  {
     Memo1->Text= IdHTTP2->Get("https://www.cyberforum.ru");
  }
catch(EIdException &E)   // Ловим исключения Indy
  {
    ShowMessage("Ошибка:\n\""+E.Message+"\"");  
  }
 
delete IdHTTP2;
}
//---------------------------------------------------------------------------
Или проще:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//---------------------------------------------------------------------
#include <memory>    //std::auto_prt<>
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
// Динамическое создание с помощью  auto_ptr
std::auto_ptr<TIdHTTP> IdHTTP2 (new TIdHTTP(NULL) );
 
try { Memo1->Text= IdHTTP2->Get("https://www.cyberforum.ru"); }
catch(EIdException &E)   // Ловим исключения Indy
 {
  ShowMessage("Ошибка:\n\""+E.Message+"\"");
 };
}
//---------------------------------------------------------------------------
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
13.06.2015, 17:14
Цитата Сообщение от Avazart Посмотреть сообщение
я говорил про то что выглядит это не так лаконично как могло бы быть если не накладывались бы ограничения.
Ну ограничения связаны с маркетинговой политикой. Были. Ноги в этом плане растут от VCL на паскале. все таки тогда когда все это появилось борланд был чуть ли не монополистом в плане Паскаля. И соответсвенно большая часть постоянных клиентов были паскалисты. А тянуть два варианта либы, как к примеру Turbo Vision было накладно, вот и сделали либу на подтянутом за уши паскале, а с паскаля в C++ можно конвертить автоматически, как минимум хидеры вытягивать. Кстати из новшевств слышал Embarcodero и в паскале вроде множественное наследование приделало, так что ограничения отпадут.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
13.06.2015, 17:16
Вероятно этот код более уместен https://www.cyberforum.ru/blog... tom27.html как пример.

Добавлено через 1 минуту
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Ну ограничения связаны с маркетинговой политикой. Были. Ноги в этом плане растут от VCL на паскале. все таки тогда когда все это появилось борланд был чуть ли не монополистом в плане Паскаля. И соответсвенно большая часть постоянных клиентов были паскалисты. А тянуть два варианта либы, как к примеру Turbo Vision было накладно, вот и сделали либу на подтянутом за уши паскале, а с паскаля в C++ можно конвертить автоматически, как минимум хидеры вытягивать. Кстати из новшевств слышал Embarcodero и в паскале вроде множественное наследование приделало, так что ограничения отпадут.
Ок, но на сегодняшний день все не так!?
А главное - зачем тогда советовать его как лучшее подходящее средство?
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
13.06.2015, 17:18
Цитата Сообщение от Avazart Посмотреть сообщение
Вероятно этот код более уместен https://www.cyberforum.ru/blog... tom27.html как пример.
Из стринг грида? В файл? Ну если у меня такое нужно, там лучше сразу DBGrid, чтобы голову не морочить.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
13.06.2015, 17:20
Цитата Сообщение от Avazart Посмотреть сообщение
Кстати из новшевств слышал Embarcodero и в паскале вроде множественное наследование приделало, так что ограничения отпадут.
Ну касательно С++ они никак x32 компилятор не могут приделать нормальный.

Добавлено через 1 минуту
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Из стринг грида? В файл? Ну если у меня такое нужно, там лучше сразу DBGrid, чтобы голову не морочить.
Вы реально как баба базарная. Я вам привел пример локальной переменной TStringList, а не чет там.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
13.06.2015, 17:24
Цитата Сообщение от Avazart Посмотреть сообщение
А главное - зачем тогда советовать его как лучшее подходящее средство?
Потому что С++ у них тоже штука классная.Еще Turbo C++ 1.0, тот еще зверь.А С++ Builder так вообще. Сами расширения синтаксиса. VCL можно выбросить, и не заметить что ее нет. А когда нет расширений синтаксиса - ну как будто на 20 лет назад когда все что надо через кучу геммороя приходится делать, даже если надо не так уж и часто (типа __closure). а __property так вообще на каждом шагу, хотя они и у MSVC есть .
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
13.06.2015, 17:29
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Потому что С++ у них тоже штука классная.
Я вам привел только доводы почему это не так.
Как оно может быть "классным" если для того что бы писать код нужно в той или иной мере знать Delphi.

Добавлено через 1 минуту
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
а __property так вообще на каждом шагу,
А на кой оно надо в С++? Это по сути синтаксический сахар.
Во первых __property можно реализовать средствами языка не прибегая к расширению, во вторых это не та конструкция которая именно в духе "С++" кода.
0
 Аватар для SmittWesson
236 / 196 / 21
Регистрация: 04.06.2014
Сообщений: 1,309
13.06.2015, 17:33
Цитата Сообщение от Diwest Посмотреть сообщение
Что актуальнее учить? Если я начну сразу с нуля С++, и без знаний С, это не грешно?
Ваш вопрос понятен. Учите си++. Во-первых, Просто си, уже не катит (иначе зачем си++ выдумали).
Во-вторых, у си++ много библиотек, которые можно использовать без запарки над такими типами как char и т.д.
Есть там ещё одна библиотека - STL. Вообще, классная штука. Мне нравится.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
13.06.2015, 17:34
Такие вещь как __property как раз обусловлена необходимостью "экспорта" VCL из Delphi.
А если в общем наличие "свойств" необходимо именно для классов граф.интерфейса и дизайн.тайма.
Для реализации обычных классов С++ вполне достаточно геттеров и сеттеров.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
13.06.2015, 17:45
Цитата Сообщение от Avazart Посмотреть сообщение
Как оно может быть "классным" если для того что бы писать код нужно в той или иной мере знать Delphi.
А Delphi зачем?VCL конечно нужно, но при чем тут Delphi? Как Builder вышел, я дельфу не пользовал, только вот с месяц назад вспомнить пришлось. Мне может конечно не заметно, начинал с паскаля, попалась в руки дурная книга в 10-ом классе.
Цитата Сообщение от Avazart Посмотреть сообщение
во вторых это не та конструкция которая именно в духе "С++" кода
Дух он у каждого свой, а задача компилятора из этого духа код сделать.
Цитата Сообщение от Avazart Посмотреть сообщение
о первых __property можно реализовать средствами языка не прибегая к расширению
та можно конечно напрямую вызывать GetXX SetXX, но с __property как то... читабельней что ли... да и по моим делам скажем вектор или Float как индекс массива использовать тоже очень удобно (имеется в виду вектор 2D/3D координат), хотя как бы отличие действительно - круглые или квадратные скобки.
А вот AnsiString штука классная. Даже помнится как то сварганил ее в минимально необходимом наборе под BC 3.1 и TStringList до купы. За смену (12 часов) и написал и отладил. А вот долго дебагили из того проекта - это посылку подтверждения запроса на ввод. Недели две оссицилогрофом на ком-порте импульсы ловили (как они там скачут), причем всем бюро смотрели, а то шибко быстро проскакивали, чтоб хоть один разглядел.

Добавлено через 2 минуты
Цитата Сообщение от Avazart Посмотреть сообщение
Такие вещь как __property как раз обусловлена необходимостью "экспорта" VCL из Delphi.
Она обусловлена как и секция __published необходимостью отображения в Object Inspector в первую очередь. А чем она обусловлена в MSVC++?
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
13.06.2015, 17:50
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
как то... читабельней что ли...
Как код делфи стиле может быть читабильнее для с++ программиста?

Добавлено через 1 минуту
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
А Delphi зачем?
Исходники VCL на чем написаны? На Delphi ...
Если самому придется писать компонент куда нужно будет смотреть?

Добавлено через 1 минуту
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Она обусловлена как и секция __published необходимостью отображения в Object Inspector в первую очередь. А чем она обусловлена в MSVC++?
Кстати о __published - она нарушает инкапсуляцию, т.е один из принципов ООП.

Добавлено через 31 секунду
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
А чем она обусловлена в MSVC++?
В чем-чем ?
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
13.06.2015, 17:52
Цитата Сообщение от Avazart Посмотреть сообщение
Как код делфи стиле может быть читабильнее для с++ программиста?
Там теперь тоже шаблонов понатыкивали. Кстати у того стиля кода которого придерживается микрософт читабельность отвратительная, в отличии от Борланда, а с лямбдами и замыканиями вобще фиг разберешь где код а где что.
Цитата Сообщение от Avazart Посмотреть сообщение
Если самому придется писать компонент куда нужно будет смотреть?
Можно в мануал. А сам компонент на С++ писать.

Добавлено через 36 секунд
Цитата Сообщение от Avazart Посмотреть сообщение
В чем-чем ?
В Microsoft Visual C++
такие конструкции никогда не встречали:
C++
1
2
3
4
 
__declspec (property(get=FWidth))int Width;
__declspec (property(get=FHeight))int Height;
__declspec (property(get=GetRow))TMapCell* Rows[];
Эт мелкомягкий синтаксис пропертей.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.06.2015, 17:52

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
100
Ответ Создать тему
Новые блоги и статьи
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла: Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет Новости компьютерного мира и их обсуждение (4) Салют, шампанское, овации! :drink:
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru