Поиск:

Ответ в темуСоздание новой темы Создание опроса
> основы программирования, литература и ресурсы 
:(
    Опции темы
ingenerum
Дата 20.8.2015, 20:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 20.8.2015

Репутация: нет
Всего: нет



Здравствуйте, уважаемые форумчане.

Хочу освоить программирование. Целей пока конкретных нет , т.е. область с которой буду работать пока не выбрал , конкретный язык программирования тоже пока не выбран. Хочу начать непосредственно с азов, чтобы уловить самую суть так сказать. Слышал что начинать надо с Алгоритмов программирования. И первый вопрос какую книгу(ги) посоветуете для освоения. Погуглив наткнулся на советы о трех авторах Кормен, Кнут и и Н. Вирта Но первые два удивили математической направленностью в своих задачах . Вопрос считаете ли вы эти книги реально хорошими для освоения алгоритмов ( если да, то почему?) или может стоит начинать с более простых книжек чем книги первых двух авторов . Второй вопрос почему большая часть книг по алгоритмам завязывается на математике , ведь программированием занимаются не только с целью вычислительных задач (математических толка) , но и множества других , так почему тогда большинство советует этих авторов?
Еще вопрос какие еще знания кроме алгоритмов потребуются начинающему или следующим шагом следует выбрать конкретный ЯП и уже делать на нем какие-то задачи?
Слышал так же что хороший программист должен понимать как машина преобразует конкретный ЯП в машинный код то есть как она его интерпритирует и преобразует. Какую литеру на этот счет подскажите или не стоит этим на начальном этапе забивать голову?

И последний вопрос , какой язык на данный момент является перспективным( и в плане широты спектра решаемых задач и в плане влияния на з/п) , что посоветуете?
PM MAIL   Вверх
disputant
Дата 20.8.2015, 21:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 210
Регистрация: 28.11.2011

Репутация: 2
Всего: 3



Ну видите ли, а как вы себе представляете алгоритм НЕ математической направленности? Компьютер-то оперирует с числами, даже если потом это оказывается музыка или игровой персонаж smile

Да, Кнут переполнен математикой, и уж точно не годится для начинающего.

Я бы посоветовал Кормена - но не "Алгоритмы, построение и анализ", а "Алгоритмы, вводный курс". Существенно проще. Еще есть Левитин, "Алгоритмы. Введение в разработку и анализ". Тоже не самый сложный уровень.

Но на мой взгляд, сами по себе алгоритмы мало что дадут, если вы не будете сразу же программировать. Язык... ну, я очень пристрастен, для меня лучший язык - это С++, но тут выбор за вами. Кстати, обычно программист не ограничивается одним языком, так что начинайте с чего хотите. Но не с Бейсика smile Pascal, C, С++, Java - выбор богат.

Кстати, если выбираете C+, то есть еще вариант "Алгоритмы - просто как 2x2" Красиковых. Это не учебник, скорее, справочник для чайника, но его плюс - в нем сразу приводятся тексты на C+. Минус - C++там не совсем для чайников...

Лично я в свое время начинал с "Алгоритмов и структур данных" Вирта, но это было слишком давно, когда Кормена еще и близко не было, а Кнут имелся только 1962 года издания...

Кстати, есть такая хорошая книга - скорее всего то, что вам надо: Страуструп, "Программирование. Принципы и практика с использованием С++". Это в первую очередь как раз не язык, а основы программирования. Но заодно и язык выучите. Если решитесь с C++дело иметь.

Только искренний совет - не берите перевод первого издания. Там переводчик ко всем ошибкам Страуструпа добавил на порядок больше своих. Если дружите с английским (кстати, программисту без этого - никак), возьмите второе издание в оригинале. Если не дружите - то по моим сведениям, осенью выйдет второе издание на русском, и в этот раз ее таки отдали в очень хорошие руки smile



Это сообщение отредактировал(а) disputant - 20.8.2015, 21:19
PM MAIL   Вверх
Cheloveck
Дата 20.8.2015, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1578
Регистрация: 26.7.2008
Где: Тула

Репутация: нет
Всего: 32



Первое, что надо изучить -- любой язык программирования высокого уровня. Я бы рекомендовал компилируемый и компилируемый в нативный код. Лучше всего, чтобы это был C или C++. Тут не особо важно, какую книгу ты возьмешь -- основы почти везде описаны достаточно хорошо. Я учился по этой книге, для старта -- самое то!
На первой книге я просидел месяца два, придумывая себе какие-то задачи. Дальше можно взяться за какую-то более или менее серьёзную программу и просидеть с ней ещё пару месяцев в обнимку с гуглом и этим форумом. После эту программу следует заархивировать вместе с исходниками и положить туда, где ты её точно не потеряешь (очень ржачно на это потом смотреть =)).
Теперь пришёл тот самый момент, когда надо понять, как работает компилятор. Для этого подойдёт любая книжёнка по ассемблеру. Я читал эту.
После всего этого уже станет понятно то, что пишут в книгах по алгоритмам и зачем тебе это надо.
К сожалению, C++ не является сегодня самым популярным языком среди работодателей (по крайней мере в том городе, где я живу). Наиболее используемым у нас является C# и Java. После C++ переход на них занимает пару недель, так что не особо парься на первых парах.
Удачи!

PS C++ -- это такой язык, который будет открывать свои тайны ещё многие годы после того, как ты посчитаешь, что знаешь о нём всё...
PPS Must read для любого C++ программера http://www.ozon.ru/context/detail/id/2610625/
PPPS Must read для любого ООП программера http://www.ozon.ru/context/detail/id/2457392/


--------------------
user posted image
PM Jabber   Вверх
Pavia
Дата 21.8.2015, 01:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 6.12.2008

Репутация: 11
Всего: 12



Вам надо начать с более простых книжек.

Выучите хотя бы один язык. Остальные языки похожи.

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

1. Основы программирования: арифметика и логика, простые типы, циклы, условный оператор, массив, матрицы, функции и рекурсия, составные типы: 
2. Структуры данных и основные алгоритмы: списки, деревья, графы, таблицы, сортировка, поиск, вставка, обход графа;
3. Сложные алгоритмы; 
4. ООП и шаблоны проектирования;
5. Качественный код;
Затем второстепенные дисциплины.

Цитата

Вопрос считаете ли вы эти книги реально хорошими для освоения алгоритмов ( если да, то почему?) 
 Они для тех кто уже знает основы.

Цитата

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


Цитата

Слышал так же что хороший программист должен понимать как машина преобразует конкретный ЯП в машинный код то есть как она его интерпритирует и преобразует. Какую литеру на этот счет подскажите или не стоит этим на начальном этапе забивать голову?
 Есть такая вещь как абстрактное мышление. Абстракция заключается в выделение общих свойств из частных.  А интуиция это попытка не выделять не исследовать все частные случаи. От сюда явно видно отставания человека не изучившего низов. Он будет владеть только крупицей данных. А изучивший будет владеть кучей вариантов. Он сможет их лучше комбинировать и так далее. Но в целом этого не требуется. Лучше больше читайте.

Добавлено через 1 минуту и 35 секунд
Так уж сложилось что лет десять назад время в России был популярен Паскаль. Поэтому вкратце о нём.
Вирт конечно хорошая книга. Но я бы взял Окулова. Пишет также если не более подробно. Или книгу Попова у него тоже хорошая книга, только подход обучения не столько на примере сколько на задаче. 

По Си++:
Прата С.-Язык программирования С++. Лекции и упражнения-ИД Вильямс(2012)
По Си:
«Язык программирования Си» Брайана Кернигана и Денниса Ритчи
По Паскалю:
Попов В. Б. Turbo Pascal для школьников. (2-издание 1999 или 3-издание)
Вирт Н. "Алгоритмы + структуры данных = программы"-Мир (1985 вариант книги паскаль)
Окулов С. М.-Основы программирования - (2002)
Окулов С. М.-Программирование в алгоритмах - (2002)
PM MAIL   Вверх
bag2013
Дата 2.11.2015, 02:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 2.11.2015

Репутация: нет
Всего: нет



Здравствуйте! Я новичок в системе программирования. Не могли бы Вы мне помочь решить вот эту задачу: "Записать алгоритм, с помощью псевдокода, и программу на языке Pascal". Просто за 2 недели невозможно с нуля выучить язык программирования.

PM MAIL   Вверх
Cheloveck
Дата 2.11.2015, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1578
Регистрация: 26.7.2008
Где: Тула

Репутация: нет
Всего: 32



bag2013, домашнии работы и курсовые в центре помощи!
 smile 


--------------------
user posted image
PM Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0428 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.