Книги по программированию - страница 2

 

Вообще, наткнулся когда-то на рекомендацию программиста, в какой последовательности нужно изучать С++. Цитирую:

Изучая C++ важно понимать, что не зная языка не следует браться за Windows API, DirectX, редактирование кодов Apache и т.п. как будучи эмигрантом и браться за преподавание английского языка в Штатах, если вы находитесь в стране второй день.


 Сначала следует изучить язык, не замутнённый никакими библиотеками, кроме стандартной, иначе услужливая библиотека VCL и MFC проведут вас мимо многих вещей, знать которые следует в обязательном порядке, например, того, что в C++ нет строк и массивов, а за каждый байт памяти отвечаете вы сами. Брать 1000 страничное издание Страуструпа можно для коллекции или почитать на третьем годе изучения C++. Философские взгляды и мотивация ввода той или иной конструкции в язык вещь интересная, но для восприятия материала сам язык следует неплохо знать. Вообще с 1000 страничного руководства лучше не начинать - можно захлебнуться - книга должна быть 600-700 страниц. Например,


 1) Г. Шилдт. C++ Базовый курс.


 Избежать 1000 страничной книги полностью не удастся, хотя бы по тому, что в 600 стр. C++ объективно не влазит. Поэтому следующей книгой можно выбрать двухтомник Б. Эккеля


 2) Б. Эккель. Философия C++. Введение в стандартный С++

 3) Б. Эккель. Философия C++. Практическое программирование


 Во всех перечисленных выше книгах описание STL будет не на высоте, для его изучения лучше выбрать специализированное издание,


 4) Б. Страуструп. Язык программирования C++. Специальное издание (тут весь язык, но STL очень подробно рассматривается)

 5) Н. Джосьютис. C++ Стандартная библиотека

 6) П. Плаугер, А. Степанов STL. Стандартная библиотека шаблонов C++


 Изучать язык просто так в вакууме не получится, вы будете зависеть от инструментов и компиляторов, поэтому придётся подобрать книгу по вашей среде программирования. И купить одной из первых, чтобы просто знать, как проект построить. Ну и потом конечно потребуется специализированная литература в тех областях, где собираетесь работать (графика, игры, системное или прикладное программное обеспеченье)...


 PS Если кому-то кажется, что любая другая область потребует меньше книг - это не так. Чтобы работать в Web-области, также требуется пару книг по серверному языку программирования (если язык один, а не два и не три), одна по базе данных, две по JavaScript, одна по Flash и одна по ActionScript, одна-две по Apache, а также одну-две по протоколам. Чтобы стать профессионалом в области нужно знакомиться со многими наработками и чем дальше идёт прогресс, тем с большим количеством материала требуется знакомиться начинающему.

 

Зачем тут нам на форуме MQL язык С++?

Дело в том, что языки MQL - это С-образные языки. Поэтому всецело поддерживаю топикстартера - изучение С++ будет только во благо тем, кто программит на MQL 4/5

 
Vitaly Murlenko:

Зачем тут нам на форуме MQL язык С++?

Дело в том, что языки MQL - это С-образные языки. Поэтому всецело поддерживаю топикстартера - изучение С++ будет только во благо тем, кто программит на MQL 4/5

Так Виталий, а нет других вариантов, учебника по MQL5 ведь нет. Как человек изучит хотя бы основы ООП, ну не по хелпу же. А принципы ООП в плюсах и MQL4/5 ну очень похожи.

Надо просто помнить про отсутствие нативных указателей в MQL и вперед с песнями. Циклы, условия, массивы, арифметические и логические операции идентичны. Есть отличия вроде динамических массивов в MQL и еще такие же мелочи, но уж надо фильтровать.

 
Vitaly Murlenko:

Вообще, наткнулся когда-то на рекомендацию программиста, в какой последовательности нужно изучать С++. Цитирую:

Изучая C++ важно понимать, что не зная языка не следует браться за Windows API, DirectX, редактирование кодов Apache и т.п. как будучи эмигрантом и браться за преподавание английского языка в Штатах, если вы находитесь в стране второй день.


 Сначала следует изучить язык, не замутнённый никакими библиотеками, кроме стандартной, иначе услужливая библиотека VCL и MFC проведут вас мимо многих вещей, знать которые следует в обязательном порядке, например, того, что в C++ нет строк и массивов, а за каждый байт памяти отвечаете вы сами. Брать 1000 страничное издание Страуструпа можно для коллекции или почитать на третьем годе изучения C++. Философские взгляды и мотивация ввода той или иной конструкции в язык вещь интересная, но для восприятия материала сам язык следует неплохо знать. Вообще с 1000 страничного руководства лучше не начинать - можно захлебнуться - книга должна быть 600-700 страниц. Например,


 1) Г. Шилдт. C++ Базовый курс.


 Избежать 1000 страничной книги полностью не удастся, хотя бы по тому, что в 600 стр. C++ объективно не влазит. Поэтому следующей книгой можно выбрать двухтомник Б. Эккеля


 2) Б. Эккель. Философия C++. Введение в стандартный С++

 3) Б. Эккель. Философия C++. Практическое программирование


 Во всех перечисленных выше книгах описание STL будет не на высоте, для его изучения лучше выбрать специализированное издание,


 4) Б. Страуструп. Язык программирования C++. Специальное издание (тут весь язык, но STL очень подробно рассматривается)

 5) Н. Джосьютис. C++ Стандартная библиотека

 6) П. Плаугер, А. Степанов STL. Стандартная библиотека шаблонов C++


 Изучать язык просто так в вакууме не получится, вы будете зависеть от инструментов и компиляторов, поэтому придётся подобрать книгу по вашей среде программирования. И купить одной из первых, чтобы просто знать, как проект построить. Ну и потом конечно потребуется специализированная литература в тех областях, где собираетесь работать (графика, игры, системное или прикладное программное обеспеченье)...


 PS Если кому-то кажется, что любая другая область потребует меньше книг - это не так. Чтобы работать в Web-области, также требуется пару книг по серверному языку программирования (если язык один, а не два и не три), одна по базе данных, две по JavaScript, одна по Flash и одна по ActionScript, одна-две по Apache, а также одну-две по протоколам. Чтобы стать профессионалом в области нужно знакомиться со многими наработками и чем дальше идёт прогресс, тем с большим количеством материала требуется знакомиться начинающему.

Если читать литературу по С++ ради освоения MQL4/5, то STL можно смело исключить. Если хотим освоить и С++, то да, полезно хотя бы ориентироваться и знать, что там есть. Я вот с STL сейчас мало работаю, все перезабыл. Но книжки дома в шкафу есть, при нужде вспомню все за час.

Что касается среды, не выеживаться и качать либо VS2017, либо 2019 Preview. 2019 вроде будет доступна свободно до осени, потом придумают кря-кря ))
 
Я предпочитаю среду от Borland ещё 2006 года; да и не так часто на нём программить приходится.
 

А есть литература по самым основам устройства машин? Вот, допустим, еще нет современных компьютеров, а есть только кусок железа, на которое необходимо установить прообраз какой-то ОС. Как этот кусок железа заставляют понимать команды. И что происходит на самом низком уровне машинной работы? Что из себя представляют элементы процессора и как они работают?


Предпочтительно в духе "для чайников" )

 
Yevhenii Levchenko:

А есть литература по самым основам устройства машин? Вот, допустим, еще нет современных компьютеров, а есть только кусок железа, на которое необходимо установить прообраз какой-то ОС. Как этот кусок железа заставляют понимать команды. И что происходит на самом низком уровне машинной работы? Что из себя представляют элементы процессора и как они работают?


Предпочтительно в духе "для чайников" )

По памяти, в трехтомнике "Искусство схемотехники" Хоровиц и Хилл есть разбор устройства микроконтроллера 8085, по тем временам крутая штука. Он конечно устарел, зато простой и для основ понимания самое то. 

И на youtube полно роликов, вот например https://www.youtube.com/results?search_query=микропроцессор

 
Pavel Verveyko:

когда то давно когда трейдеры встречались в реале чаще чем в интернете.
я заметил что Форекс иногда привлекает странных людей))
от стиля одежды  до логики мышления))

например 6 высших образований и 7-е в кредит)))
к сожалению уже забылись те вопросы которые они спрашивали.. но было весело))

Я как-то давно проводил тут опрос Количество сумасшедших на форуме?

Первое место с количеством голосов 28% занял ответ "Все" ))).

 
Vitaly Murlenko:

Удалось найти 2 книги Липмана по С++ для начинающих. ОБН ОНИ РАЗНЫЕ!!!! и разных лет издания. Вот ссылки на скачивание:

https://yadi.sk/i/JGmWEVQvvnHk8g

https://yadi.sk/i/6EoKwu4ypMwb5g

Я же написал название "Язык программирования C++. Базовый курс"

Очевидно вторая ссылка)))

Vitaly Murlenko:

 4) Б. Страуструп. Язык программирования C++. Специальное издание (тут весь язык, но STL очень подробно рассматривается)

Страуструп в чем то хорош(мыслит интересно), но не как учебник, про "весь язык" речи не идёт, даже на базовом уровне, где лямбды? где конструкторы переноса? Я молчу уже про последний "сахар". STL также рассмотрен в специфической проекции, как для разработчиков компиляторов. Я бы вообще не рекомендовал его "Язык программирования C++" к прочтению, но другое дело " Программирование. Принципы и практика с использованием C++", для кодера, с хотя бы опытом джуна.

Evgeniy Zhdan:
Зачем с СИ? Тогда уж с основы основ - Истории создания ЭВМ и первых языков. Постепенно и до СИ дойдете

На самом деле в Вашем сарказме есть доля правды. И историю ЭВМ по верхам полезно знать и на asm чуток побаловаться имеет очевидный смысл, всё верно :)

Си - в каком то смысле фундамент программирования, к тому же он ИМХО проще ныне трендового пайтона, но тренды как все тут знают заканчиваются флетом и разворотом, а фундамент не рушим, Си будет и через 100 лет, на лидирующих позициях, вангую.
 
Алексей, с твоим опытом пора свою книжку написать ;-)