Как начать программировать на C/C++/C#?
=========================================

Приветствую всех, кто все-таки решил зайти и ответить на этот, наверное, тысячный вопрос, на который ни один из новичков не может найти дельного ответа.

В общем, если вкратце, то начал я программировать еще в 7 классе, после 2-ух лет теории в школе, мы наконец-то перешли на практику и не абы куда, а сразу в Pascal. Получалось у меня все хорошо, даже очень. Учитель хвалил неимоверно, посылал на олимпиады, где я занимал 1-2 места. Но. В определенный момент, по мере продвижения, я где-то застрял, да так, что вообще перестал понимать о чем идет речь. Сидел нехотя на уроках информатики и выл, когда же это закончится. 

Далее помаленьку мы перешли на Deplhi. Что сказать, я будто снова ожил, но как бы то ни было, осталась прежняя проблема, я понимал, но недоконца.

Шаг за шагом приплыли к HTML и тут те же грабли. И в конечном счете забил (о чем жалею, кстати).
Итак, сейчас я окончил школу, поступаю на факультет информатики в следующем году и во мне пробудилось желание изучить C/C++/C#, ведь я хочу программировать в дальнейшем под iOS/ OSX. Прочитал на Хабре, что лучший учебник по Си - Кернигана "Программирование на C" 2-ое издание. Дочитал до самой первой задачи про "hello, world", если кто помнит, и тут началась проблема: где бы я не пытался осуществить эту "программу", везде вылетала ошибка. Пробывал в MS Visual C++, C++ Builder, CodeLite, но к успеху не пришел.
Хотелось бы узнать, в чем моя проблема и как ее решить. Может не те компиляторы выбрал? И вообще, какой компилятор взять, что бы решать задачи из книги Кернигана? А может я не за то взялся? В голове каша и сам я ее точно не разгребу.

 

Ну вы уж определитесь, что вы хотите, C, С++, C#, это 3 разных языка программирования, если C++ поддерживает библиотеки C, то C# это совсем другой язык программирования, C++/Cli в данном случае так же другой язык, который не имеет ничего общего с C# и позволяет генерировать управляемый код в C++.

Вообще я когда-то поставил Visual C++ 6.0, открыл сайт <http://firststeps.ru> и понеслось. Начал с туториалов, потом начал читать книги по C++. Страуструпа, Элджера, потом и до Александреску добрался.

А Керниган это C.

Ставьте Visual Studio 2013 Express и не мучайтесь (если под Win). К C++ Builder лучше вообще не прикасайтесь. CodeLite вообще IDE, а не компилятор. Предыдущие 2 идут со своими компиляторами. Ну и создавайте проекты консольных приложений.

 

`Си - Кернигана "Программирование на C" 2-ое издание`
  

Тоже читал эту книгу, пока остановился.
Для компиляции пользовался DevC++. Создавал пустой проект, сохранял как файл проекта .c всё компилировалось и работало.

 

Скачайте Visual Studio и пройдите простые уроки [тут](http://cpp.6te.net/index.php/lessons) они упорядочат вашу кашу.

 

1. Берите случайную задачу из списка <http://eax.me/programming-language-learning/>
2. Решайте
3. Goto 1

 

Я начинал свой путь к iOS программированию с книги Кернигана и Ритчи, о которой вы упоминали ранее.

В качестве среды разработки использовал Eclipse + MinGW под Windows.
<http://www.eclipse.org/>
<http://www.mingw.org/>

Для изучения Objective-C использовал:
iOS Programming: The Big Nerd Ranch Guide - Joe Conway , Aaron Hillegass.
Programming iOS 5 - Matt Neuburg.
Работал и изучал язык на VM.

 

Кернигана сейчас читать в качестве первого учебника тяжело. 
Потому, что например, helloworld от Кернигана записывается примерно так:

```
main()
{
  printf("Hello World!");
}

```
а если у Вас на самом деле компилятор не С, а С++, что весьма вероятно с учетом указанных сред разработки (кроме CodeLite - про нее ничего не знаю), то это на самом деле ошибка. Надо 

```
int main()
{
  printf("Hello World!");
  return 0;
}

```
 

И еще уж раз Вы хотите под iOS/OS X, то C# для Вас не лучший выбор.

 

Я бы сначала определился, под что хочу писать:
что-то низкоуровневое - c, c++, оно же с вариациями под linux /macos
Windows - Marketplace, Desktop, Windows Phone - C#, XAMl, HTML, Asp.Net MVC....

 

Если интерсует С++, то как бывший любитель Delphi, могу посоветовать начать с книг Герберта Шилдта, конкретно "С++. Базовый курс". Очень доступно и хорошо написано, легко читается.

Так же посмотрите в сторону Qt. Замечательный мультиплатформенный фреймворк С++, с простой и удобной IDE, отличной документацией и при этом бесплатный. Можно даже немного программировать мышкой, так что переход с Delphi будет менее болезненый.

 

Комментарии нельзя редактировать? Хм, тогда вот ссылка на: [Dev-C++](http://www.bloodshed.net/devcpp.html)

 

Да типичная проблема при изучении нового языка. 
Не так сложно написать свою первую программу, как сложно откомпилировать свою первую программу. :)
Авторы подобных книг, этот пункт либо опускают, либо он безнадежно устаревает.

 

Для начала C++ **Шилдт Г. С++ Базовый курс (3-е издание, 2010)** хороший вариант. Аналогично от этого же автора есть C#. Но как уже сказали, языки разные.

 

K&R C
vim
clang или gcc

 

А вообще, сколько займет времени изучение C++ по Кернигану?
Просто я второй день как бы не отлипаю от книги, а дошел только до 1.5.4 "Подсчет слов", при том, что последние 3 задачи сам решить я не смог. Это же не признак моего слабоумия, как я считаю?

Еще есть один минус: у меня нет знакомых\друзей\приятелей, кто бы даже слышал о C++, так что разбираться приходится самому, а те три задачи я нашел их пояснение с решением в интернете, но все равно, мне кажется, это не принесло никакой пользы.

 

Аналогично, с той же проблемой компилляции сталкивался, IDE с компилятором вываливает гору ошибок и программа не запускается. Из книги код вставлял в IDE.

 

 Установил CodeLite 7.0 (ОС WinXP SP3).  

Подскажите, как её настроить? Проблема в том, что простейшая программа "Hello World" не компилируется (в консоли нет этого текста), а также внизу выводится "порченный" текст (т.е. проблема с кодировкой):  

> C:\WINDOWS\system32\cmd.exe /C "mingw32-make.exe -j 1 -e -f Makefile"  
> 
> "mingw32-make.exe" ¥ ï¢«ï¥âáï ¢ãâà¥¥© ¨«¨ ¢¥è¥©  
> 
> ª¬ ¤©, ¨á¯«ï¥¬© ¯à£à ¬¬© ¨«¨ ¯ ª¥âë¬ ä ©«¬.  
> 
> 0 errors, 0 warnings  
> 

  

Также установил компилятор в папку "C:\MinGW\". Может быть путь к этому компилятору необходимо прописать где-то ещё?  
[Скрин работы программы](http://www.img.radiokot.ru/files/91755/kqkc7a9iu.png) 

 Качай PyCharm и погнал [http://comuedu.ru/post/как-программировать-на-mac](http://comuedu.ru/post/%D0%BA%D0%B0%D0%BA-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-%D0%BD%D0%B0-mac)