11:12

ООП

Ваша идея, конечно, безумна. Весь вопрос в том, достаточно ли она безумна, чтобы оказаться верной(с)
Здравствуйте.
Подскажите, пожалуйста, книгу про программирование, где бы ясно и понятно рассказывалось, что такое ООП, чем оно отличается от какого-либо другого вила программирования, что такое frontend и backend разработка, Framework, SQL и т.д. Ищу эдакий "Вступление до программирования". В юристов есть теория государства и права, где разложены по полочкам все базовые термины, понятия, классификации, разница между тем и этим, особенности вот этого. А в программистов что-то такое есть или эту базу начинаешь понимать, изучая каждый конкретный язык?

@темы: Учебники

Комментарии
08.06.2016 в 11:36

Эйвлинн, Википедия, иногда ещё встречаются вводные статьи на сайтах вроде https://tproger.ru/ (хотя не всё из них полезно к применению), что-то, например ООП упоминается в книгах по конкретному языку. А в целом - узнаётся по ходу кодинга и чтения статей. Тем более что направлений или отраслей много, и термины из одной могут отсутствовать в другой.
08.06.2016 в 12:17

"Transfixus Sed Non Mortuus" (с)
Эйвлинн, вы не найдете информацию про эти вещи в одной книге. Если нужна обзорная информация, то лучше поискать на тематических порталах статьи. Еще можно посмотреть в книгах и курсах Intuit.ru, или виртуальной академии Microsoft.
В большинстве учебников по программированию информация дается с учетом особенностей технологии, про которую рассказывается. Например, про ООП есть и у Павловской "C#. Программирование на языке высокого уровня", и у Эккеля в "Философии Java", но подается по-разному в зависимости от специфики описываемого программирования.
08.06.2016 в 12:43

Просто собака.
Эйвлинн, дело в том, что в программировании есть книги, поясняющие понятия, но относящиеся только к конкретным языкам или технологиям. Таких, чтобы они вмещали всё-всё-всё - нет. Про ООП расскажет Шилдт (Герберт Шилдт, "Справочник программиста по C/C++"), про SQL расскажут различного рода книги по базам данных. Но книги, которая будет объединять все понятия просто не существует - это конкретные термины из конкретных областей. Общие термины есть, про них расскажет любой талмуд (тот же Шилдт), но большинство вопросов придётся гуглить.
08.06.2016 в 13:01

родись военачальником, не родись поэтом(c)
Дональда кнута почитайте.
08.06.2016 в 14:19

Ваша идея, конечно, безумна. Весь вопрос в том, достаточно ли она безумна, чтобы оказаться верной(с)
Юрий Рэйн, Википедия не очень помогает нубу разобраться в вопросе, слишком много непонятных терминов. Спасибо за ссылку, буду смотреть там)

anioutka, спасибо, посмотрю.
Жаль, что нет каких-то Основ программирования для чайников( По каким-то книгам учатся же студенты-программисты, у них ведь есть Основы программирования, не сразу же изучаются языки?

*Волкодав *, спасибо. От Шилдта не уйти, вижу))

+Alecto+, Искусство программирования?
08.06.2016 в 14:44

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

По каким-то книгам учатся же студенты-программисты, у них ведь есть Основы программирования, не сразу же изучаются языки?
Сразу языки:). Лекции по конкретному языку, лабораторные по этому же языку. Если очень повезёт - на лабораторных будут ещё основы алгоритмов. В двух вузах по крайней мере точно.
Что по хорошему не есть хорошо (но не по названным причинам).

Вообще к слову, есть два базовых "кита": язык и алгоритмы (по последнему по памяти могу назвать Кнута, Стивена Скиену, Кормена). Уже на этом, или из этого идут разные способы применения (или подходы: то же ООП, паттерны) как первого, так и второго.
08.06.2016 в 15:09

Ваша идея, конечно, безумна. Весь вопрос в том, достаточно ли она безумна, чтобы оказаться верной(с)
Но как-то часть из этих терминов гуглится сразу, часть - откладывается на потом. (Когда был полным нубом, примерно описанным методом и действовал).
Юрий Рэйн, я в процессе гугления теряю первоначальную страницу и ухожу на более понятные)) Поэтому и хотелось книгу, чтобы не было соблазна сбежать в исторический отдел.

Сразу языки:). Лекции по конкретному языку, лабораторные по этому же языку.
Бедные студенты, их сразу на дно кидают.

Вообще к слову, есть два базовых "кита": язык и алгоритмы (по последнему по памяти могу назвать Кнута, Стивена Скиену, Кормена). Уже на этом, или из этого идут разные способы применения (или подходы: то же ООП, паттерны) как первого, так и второго.
Эм... что? Ничего не понятно из фразы, кроме авторов, каких надо почитать/посмотреть.
08.06.2016 в 16:19

Просто собака.
Эйвлинн, тут всё зависит от преследуемой цели. Если просто "разобраться в понятиях", тогда проще гуглить. Если же "научиться" - тогда читать серьёзную литературу. Хотя я бы советовал желающим научиться делать так: брать дешёвую книжку в духе "С++ для чайников", проходить её до конца, а потом браться за талмуды Шилдта. У справочников очень высокий порог вхождения, к сожалению. А бульварные бумажки не дают толком понимания, только принцип "хочешь это - вставь вот это".
08.06.2016 в 16:19

Давай попробуем так: ты пожмёшь мне руку или я вырву тебе сердце
Эйвлинн, нет такой книги, потому что запрос в целом можно перефразировать как "5-6 лет вышки в одну книжку" :)

Обычно языки и алгоритмы неотделимы друг от друга, ибо как писать-то иначе? Зная буквы, но не зная слова?
08.06.2016 в 16:45

Ваша идея, конечно, безумна. Весь вопрос в том, достаточно ли она безумна, чтобы оказаться верной(с)
Локи 7281, я ведь не зря приводила в пример теорию государства и права для юристов. В ней - основной базис, большинство общей терминологии и характеристик. Такие понятия, как закон, штраф, норма права, система права и система законодательства. По факту это изучается за полгода, а потом в каждой отрасли права повторяется раз за разом, чуть изменившись тут и там.

Обычно языки и алгоритмы неотделимы друг от друга, ибо как писать-то иначе? Зная буквы, но не зная слова?
Новичок, только-только открывший мир программирования, понимает, что такое язык, потому что видит: вот есть Java, вот C, вот php. А что такое алгоритмы? А ООП? Какие есть типы данных и зачем столько разных типов?

*Волкодав *, мне вручили томик Нейгела по С# на полторы тысячи страниц, а там ни слова, что такое ООП, чем отличается от других, поэтому ищу книгу-базис. Потому что одно дело что-то там писать, ориентируясь на книжку, другое - понимать.
08.06.2016 в 17:32

Эйвлинн,А что такое алгоритмы?
Последовательность действий, чтобы добиться результата. Например в быту примерами могли бы быть заваривание чая, или упорядочивание (так же называется сортировкой) денег по номиналу.

Небольшой словарик, надеюсь что-то прояснит.
08.06.2016 в 17:54

Ваша идея, конечно, безумна. Весь вопрос в том, достаточно ли она безумна, чтобы оказаться верной(с)
Юрий Рэйн, спасибо за объяснения, все становится понятнее))
можно несколько вопросов?
08.06.2016 в 18:13

Просто собака.
читать дальше
08.06.2016 в 18:33

Просто собака.
читать дальше
08.06.2016 в 19:46

Эйвлинн,
читать дальше
08.06.2016 в 20:02

Давай попробуем так: ты пожмёшь мне руку или я вырву тебе сердце
Эйвлинн, вторая фраза была не вам, а в пустоту дискуссии.
Тогда у программистов есть математика, и это база.

То, что вам написали, гуглится, как и советовали выше.
08.06.2016 в 20:23

родись военачальником, не родись поэтом(c)
Эйвлинн,

да. Там в основном описания всяких алгоритмов, рекурсии, сортировки, и прочей теоретической базы.
это надо знать, а то я фигею с нынешних прогеров, которые впадают в транс при слове «рекурсия».
08.06.2016 в 21:02

Эйвлинн, на английском можно советовать?)) мне кажется, в общем плане хороша серия head first (java) - имхо, очень хороший общий вводный обзор ООП, зачем он нужен и тп
09.06.2016 в 12:26

Ваша идея, конечно, безумна. Весь вопрос в том, достаточно ли она безумна, чтобы оказаться верной(с)
Nova Satori, мой английский не настолько хорош, чтобы понимать программные термины) Но спасибо, попробую постичь книгу.

+Alecto+, там четыре тома, не всякие добираются до теории, переходя к практике. Спасибо, почитаю.

Локи 7281, математика? Окей, как с помощью математики объяснить... ммм... ту же рекурсию?

*Волкодав *, большое спасибо за ответы
читать дальше

Юрий Рэйн, большое спасибо за ответы
09.06.2016 в 12:58

Просто собака.
Эйвлинн,
читать дальше

Не за что.) Было время, написал.)
09.06.2016 в 13:02

Просто собака.
Эйвлинн, простейший пример рекурсии в математике - деление уголком. А бесконечной рекурсии - деление уголком числа 10 на 3.
09.06.2016 в 14:31

Ваша идея, конечно, безумна. Весь вопрос в том, достаточно ли она безумна, чтобы оказаться верной(с)
*Волкодав *, спасибо ещё раз.
читать дальше
09.06.2016 в 14:54

Просто собака.
Эйвлинн, читать дальше
09.06.2016 в 15:03

Ваша идея, конечно, безумна. Весь вопрос в том, достаточно ли она безумна, чтобы оказаться верной(с)
*Волкодав *, читать дальше
09.06.2016 в 16:02

Просто собака.
Эйвлинн, пожалуй, существует слишком много ответов на этот вопрос. Что значит "как сохраняются данные в файл" ?
как это происходит с точки зрения кода, как это происходит с точки зрения фреймворка, конкретной операционной системы, процессора, винчестера, просто логики сохранения?
09.06.2016 в 16:05

Ваша идея, конечно, безумна. Весь вопрос в том, достаточно ли она безумна, чтобы оказаться верной(с)
*Волкодав *, подозреваю, что логики сохранения, раз вопрос был по курсовой, почему вы использовали сериализацию, а не сами прописали сохранение? чем отличается сериализация от сохранения?
Почему-почему... Потому что в задании написано!
10.06.2016 в 00:13

Просто собака.
Эйвлинн, потому что проще использовать стандартный механизм сохранения данных, а не писать его самостоятельно. Одно из золотых правил программирования - не изобретай велосипед. Есть такая концепция - K.I.S.S. Собственно, использовать сериализацию - это использовать стандартные средства сохранения, не писать их самостоятельно. Разница зависит от того, что конкретно вы сохраняете. Если, допустим, смешанный символьно-числовой файл, то с использованием сериализации проще эти данные вернуть в оперативную память и занести в те классы, которые вы сериализовали. Если бы вы сохраняли их, что называется, вручную, вам бы пришлось придумывать способ их сохранения, отделения данных друг от друга и восстановления из файла (поскольку в файле не сказано, что вот эти символы должны заноситься вот в эту строку, а вот эти числа - вот в тот массив).
10.06.2016 в 06:41

Эйвлинн, програмные термины как раз универсальны)) техническую литературу вполне можно читать со средним английским, по себе знаю)) а вам для чего надо, я как-то пропустила - для работы в дальнейшем или сдал-забыл? ;)
10.06.2016 в 12:34

Ваша идея, конечно, безумна. Весь вопрос в том, достаточно ли она безумна, чтобы оказаться верной(с)
Nova Satori, для работы в дальнейшем, потому что вариант сдал-забыл не прокатит. Зачем тогда учиться?

*Волкодав *, спасибо за ответ. Почитаю про концепцию)
11.06.2016 в 04:25

Эйвлинн, тогда серия head first должна вам подойти - да и английский прокачаете, что никогда не бывает лишним)) Я сама научилась (ну или я на это надеюсь :laugh: ) думать в стиле ООП именно после этой книги. Они не занудно написаны, их реально можно читать с удовольствием, там есть упражнения для остановиться и подумать.
Плюс посмотрите курсы на coursera.org - множество курсов разного уровня, на англ-руссокм-с субтитрами
да, и java пользуется спросом ;)