Можно ли научиться программированию самостоятельно,по книгам? (подскажите самый легкий язык которому можно научиться и полезную литер)

Модератор: Модераторы разделов

Аватара пользователя
0xFF
Сообщения: 267
ОС: Gentoo

Re: Можно ли научиться программированию самостоятельно,по книгам?

Сообщение 0xFF »

(heil0 @ Oct 24 2006, в 22:16) писал(а):Повторю своё мнение - учиться можно на чём угодно и как угодно. Главное- желание.
Солидарен, но это в том случае, когда нет выбора на чём учится :)
Спасибо сказали:
Аватара пользователя
ReX Madgere
Сообщения: 275
ОС: Debian Etch

Re: Можно ли научиться программированию самостоятельно,по книгам?

Сообщение ReX Madgere »

alex1974

Послушай elide'а, он дело советует. Хотя я бы в первую очередь рекомендовал питон, это тот же бэйсик, но на внешних модулях, простой, гибкий и достаточно мощный. Что бы его учить не нужно никаких особых знаний, там всё логично и просто, синтаксис без извратов.
Учил его по этой доке http://book.it-arts.ru/files/start_with_python.pdf в ней всё просто и доступно описано. Мне хватило пары часов что бы ухватить соль, а дальше дело техники.
Читаешь доку и разбираешь все примеры, пытаясь понять каждую строчку, не боись модифицировать и всегда читай сообщения интерпретатора.
Не стесняйся рисовать на бумаге алгоритм прог (старые добрые ромбики и квадраты), они сильно помогают понять что и как должно быть в программе. Сразу старайся выносить все повторяющиеся куски в подпрограммы, это сильно упорядочивает код, плюс проще отлаживать и модифицировать в последствии.
Немного упорства и всё получится.

Сам я начинал учить со спектрум бэйсика по книжке, рисовал "снеговиков" из трех окружностей командами circle :)
Спасибо сказали:
Аватара пользователя
elide
Бывший модератор
Сообщения: 2421
Статус: Übermensch
ОС: лялих

Re: Можно ли научиться программированию самостоятельно,по книгам?

Сообщение elide »

все потому, что синтаксис языка описанный в его стандарте никто вообще не учит
ну и скажи мне, нахрена нужен язык с таким синтаксисом, что его невозможно понять не прочитав стандарта?
какие могут быть проблемы с указателями на функции в нормальных языках, где функции - это первокласные объекты, и указатель на них ничем не отличается от указателя на все остальное?
в smalltalk есть 5 ключевых слов и две базовых операции - присваивание и посылка объекту сообщения.
расскажи мне про простоту С, ага.
слава роботам!
Спасибо сказали:
Аватара пользователя
rolano
Сообщения: 845
Статус: еще один юзер FreeBSD
ОС: какая-то

Re: Можно ли научиться программированию самостоятельно,по книгам?

Сообщение rolano »

(elide @ Oct 24 2006, в 17:32) писал(а):ну и скажи мне, нахрена нужен язык с таким синтаксисом, что его невозможно понять не прочитав стандарта?

Не читать стандарты языка - не есть гут. Можно сколько угодно ругаться матом, что к произвольно взятой на стиральной машине гайке не подошел имеющийся в наличии ключ - надо было глянуть в схему. Другой вопрос, что стандарт не должен занимать энциплопедические тома - тогда это не стандарт (которых много - для строителей, для пожарных), а Библия (а она - одна единственная, истинная).
Я знаю только то, что ничего не знаю ... потому и обречен вечно учиться.
Спасибо сказали:
Аватара пользователя
ety
Сообщения: 358
ОС: Linux

Re: Можно ли научиться программированию самостоятельно,по книгам?

Сообщение ety »

elide писал(а):
24.10.2006 17:32
все потому, что синтаксис языка описанный в его стандарте никто вообще не учит
ну и скажи мне, нахрена нужен язык с таким синтаксисом, что его невозможно понять не прочитав стандарта?

в синтаксисе нет ничего сверх естественного, просто его начинают учит задом наперед.

какие могут быть проблемы с указателями на функции в нормальных языках, где функции - это первокласные объекты, и указатель на них ничем не отличается от указателя на все остальное?
в smalltalk есть 5 ключевых слов и две базовых операции - присваивание и посылка объекту сообщения.
расскажи мне про простоту С, ага.

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

стандарт не должен занимать энциплопедические тома

они их не занимает - у K&R, в приложении, он кратко изложен.
Образование - это вовсе не то, чему человека учили, а то, чему он научился.
-----
Время, необходимое на компиляцию пакета обратно пропорционально его полезности и важности его наличия в системе.
Спасибо сказали:
Аватара пользователя
elide
Бывший модератор
Сообщения: 2421
Статус: Übermensch
ОС: лялих

Re: Можно ли научиться программированию самостоятельно,по книгам?

Сообщение elide »

Сишка создавалась, как маинтабельная замена ассемблеру, без абстракций, посему не поддерживает того, что не может сделать машина.
и это дает право утверждать, что он лучший учебный язык? если машина этого не может, какое мне до этого дело? мне важно то, что _я_ это могу. поэтому язык должен поддерживать то, что может сделать человек...
учить программированию надо в абстракциях человека, а не машины. в абстракциях структу и алгоритмов. в абстракциях решений.
поэтому, если для решения задачи требуется заменить список чисел, списком строк, то [1,2,3].map {|x| x.to_s } - гораздо более правильный синтаксис, чем

Код: Выделить всё

char** str = (char**)malloc((хренпоймешькакполучитьдлинудинамическогомассива)*sizeof(char*)); int i; for(i=0;i<(тажесамаядлина);++i){str[i]=(char*)malloc(12);snprintf(str[i],11,"%d", ints[i]);}
а потом надо еще сборку мусора не забыть
....
да всем похрену как работает компьютер и как он внутри устроен... и уж тем более всем похрену, как и для чего создавалась "сишка".
важно знать способы решения задачи. а для обучения "способам решения задач" вот как раз "сишка" нихрена не подходит....
слава роботам!
Спасибо сказали:
Аватара пользователя
ety
Сообщения: 358
ОС: Linux

Re: Можно ли научиться программированию самостоятельно,по книгам?

Сообщение ety »

elide писал(а):
24.10.2006 18:09
и это дает право утверждать, что он лучший учебный язык?

мы программируем не где-то там в воздухе.

ну разумеется, если наш юнный друг не хочется выучится на скрипт-кидса, пишущего крутые вирусы на VB .NET :)

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

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

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

см. C++

поэтому, если для решения задачи требуется заменить список чисел, списком строк, то [1,2,3].map {|x| x.to_s } - гораздо более правильный синтаксис, чем

Код: Выделить всё

char** str = (char**)malloc((хренпоймешькакполучитьдлинудинамическогомассива)*sizeof(char*)); int i; for(i=0;i<(тажесамаядлина);++i){str[i]=(char*)malloc(12);snprintf(str[i],11,"%d", ints[i]);}
а потом надо еще сборку мусора не забыть

см. C++

да всем похрену как работает компьютер и как он внутри устроен...

no comments...
Образование - это вовсе не то, чему человека учили, а то, чему он научился.
-----
Время, необходимое на компиляцию пакета обратно пропорционально его полезности и важности его наличия в системе.
Спасибо сказали:
Аватара пользователя
elide
Бывший модератор
Сообщения: 2421
Статус: Übermensch
ОС: лялих

Re: Можно ли научиться программированию самостоятельно,по книгам?

Сообщение elide »

no comments...
ну... ты вполне продемонстрировал, как человек, разбирающийся в работе компьютера, может с легкостью завалить решение простейшей задачи, да (:
см. C++
ну и изложи мне что-нибдуь вроде lst = [1,2,3]; lst.map!{|x| x.to_s}; на С++
а новички посмотрят и подумают, что им дороже - решение задачи, или соответствие представлениям ety о правильном программисте.
слава роботам!
Спасибо сказали:
Аватара пользователя
ety
Сообщения: 358
ОС: Linux

Re: Можно ли научиться программированию самостоятельно,по книгам?

Сообщение ety »

elide писал(а):
24.10.2006 18:31
см. C++
ну и изложи мне что-нибдуь вроде lst = [1,2,3]; lst.map!{|x| x.to_s}; на С++

пожалуйста, на C++ будет в стиле:
list lst = {1,2,3};
cout << lst; // и вывести на экран или еще куда списком строк
или я неправильно понял?

и мы в общем даже не теряем близость и понимание машины при таком подходе :)
Образование - это вовсе не то, чему человека учили, а то, чему он научился.
-----
Время, необходимое на компиляцию пакета обратно пропорционально его полезности и важности его наличия в системе.
Спасибо сказали:
Аватара пользователя
edoc_modnar
Бывший модератор
Сообщения: 1638
Статус: Форум больше не посещаю

Re: Можно ли научиться программированию самостоятельно,по книгам?

Сообщение edoc_modnar »

ety
Я, хоть и не знаком с ruby, могу предположить, что создается список из трех чисел, после чего к каждому его элементу применяется лямбда-функция, преобразующая этот элемент в строку. Причем все изменения сохраняются в том же списке.
So long, and thanks for all the fish.
Douglas Adams, The Hitchhiker's Guide to the Galaxy
Спасибо сказали:
Аватара пользователя
elide
Бывший модератор
Сообщения: 2421
Статус: Übermensch
ОС: лялих

Re: Можно ли научиться программированию самостоятельно,по книгам?

Сообщение elide »

не, ты их просто напечатал, а мне нужно получить другой массив, у которого строки будут элементами.
сделать puts [1,2,3] в нормальном языке разумеется можно и без этого...
кроме того, я просил не "в стиле", а рабочий код, который можно скопировать из форума в файл, скомпилировать и убедиться в его работоспособности, да.
слава роботам!
Спасибо сказали:
Аватара пользователя
ety
Сообщения: 358
ОС: Linux

Re: Можно ли научиться программированию самостоятельно,по книгам?

Сообщение ety »

random_code писал(а):
24.10.2006 18:48
создается список из трех чисел, после чего к каждому его элементу применяется лямбда-функция, преобразующая этот элемент в строку. Причем все изменения сохраняются в том же списке.

спасибо, random_code, я оч непонятливый :)

тогда:
list lst = {1,2,3};
lst = lst.to_strings();

или:
list<string> lst = {1,2,3};
Образование - это вовсе не то, чему человека учили, а то, чему он научился.
-----
Время, необходимое на компиляцию пакета обратно пропорционально его полезности и важности его наличия в системе.
Спасибо сказали:
Аватара пользователя
elide
Бывший модератор
Сообщения: 2421
Статус: Übermensch
ОС: лялих

Re: Можно ли научиться программированию самостоятельно,по книгам?

Сообщение elide »

Код: Выделить всё

elide@serenity| ~ >> cat > list.rb
lst = [1,2,3]; p lst; lst.map!{|x| x.to_s}; p lst;
elide@serenity| ~ >> ruby list.rb
[1, 2, 3]
["1", "2", "3"]
elide@serenity| ~ >>
работает.

Код: Выделить всё

elide@serenity| ~ >> cat > list.cpp
list<string> lst = {1,2,3};
elide@serenity| ~ >> g++ list.cpp
list.cpp:1: error: expected constructor, destructor, or type conversion before '<' token
elide@serenity| ~ >>
хм.... что-то не работает....
слава роботам!
Спасибо сказали:
Аватара пользователя
ety
Сообщения: 358
ОС: Linux

Re: Можно ли научиться программированию самостоятельно,по книгам?

Сообщение ety »

elide писал(а):
24.10.2006 20:14
что-то не работает....

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

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

а в нормальном виде у ruby все равно будет функция main - обычные проги все-же линковать принято - так что не извращайтесь, а юзайте то что отлично работает последнии 30+ лет
Образование - это вовсе не то, чему человека учили, а то, чему он научился.
-----
Время, необходимое на компиляцию пакета обратно пропорционально его полезности и важности его наличия в системе.
Спасибо сказали:
Аватара пользователя
georgy_sh
Сообщения: 1172
Статус: thermonuclear...
ОС: GNU/Linux

Re: Можно ли научиться программированию самостоятельно,по книгам?

Сообщение georgy_sh »

elide писал(а):
24.10.2006 20:14

Код: Выделить всё

elide@serenity| ~ >> cat > list.cpp
list<string> lst = {1,2,3};
elide@serenity| ~ >> g++ list.cpp
list.cpp:1: error: expected constructor, destructor, or type conversion before '<' token
elide@serenity| ~ >>
хм.... что-то не работает....

Дык может все-таки main() хотя бы написать?
Спасибо сказали:
Аватара пользователя
elide
Бывший модератор
Сообщения: 2421
Статус: Übermensch
ОС: лялих

Re: Можно ли научиться программированию самостоятельно,по книгам?

Сообщение elide »

и снова слова, слова, слова.... кода нет. я так и думал.

He1mut
поверь мне, я знаю что и как пишется на С/С++.
к сожалению, приходится иметь с ними дело далеко не первый год. я просто просил рабочий код у ety. он мне его написал.
я просто продемонстрировал, что код от фанатиков - не работает....
и, кстати, если добавить туда main - он все равно не заработает, нет. тут все немножко сложнее. тут веры мало. разум нужен.
слава роботам!
Спасибо сказали:
Аватара пользователя
Ballantre
Сообщения: 114
ОС: Linux

Re: Можно ли научиться программированию самостоятельно,по книгам?

Сообщение Ballantre »

Ну, господа, вы даете! Тут уже не только новичков оторопь возьмет. Развели балаган.
Я кончно понимаю, что существует значительное количество языков программирования, но из них лишь небольшое количество получили сверхширокое применение и пригодны для решения большого класса задач. Я советую С++ именно с той точки зрения, что он наиболее полно отвечает этим требованиям. Я не беру Яву, объясню почему.
Ява содержит слишком много скрытого кода, поскольку изначально создавалась как интерпретатор. Это не позволяет раскрыть суть происходящего. На мой взгляд, переходить на нее стоит уже имея опыт.
По поводу С++. Этот язык дает хорошую возможность, что называется, покопаться. В то же время он достаточно строг. Это и делает его лучшим. :D
Не асм. После него и на всех других языках будут получаться "вырубленные топором" программы.
И не стоит сбиваться на конкретные задачи. Это частности.
Я двадцать лет знал его и всегда ненавидел, и всегда восхищался, и всегда по-рабски боялся его.
Спасибо сказали:
Аватара пользователя
ety
Сообщения: 358
ОС: Linux

Re: Можно ли научиться программированию самостоятельно,по книгам?

Сообщение ety »

elide писал(а):
24.10.2006 22:42
если добавить туда main - это все равно не заработает

я не собираюсь исписывать две страницы имплементацией никому не нужного класса.

ведь я ничего не доказываю - просто уверен, что все здравомыслящие люди выучат C++, рано или поздно, и революции с переносом всех исходников на ruby в ближайшее время не случится.

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

я просто продемонстрировал, что код от фанатиков - не работает....

что значит фанатизм? скептика в отношении к ruby?

как грится, каждый великий программист должен создать свой язык, написать на нем ОС, и спроектировать проц на котором это все летать будет :)
Образование - это вовсе не то, чему человека учили, а то, чему он научился.
-----
Время, необходимое на компиляцию пакета обратно пропорционально его полезности и важности его наличия в системе.
Спасибо сказали:
Аватара пользователя
georgy_sh
Сообщения: 1172
Статус: thermonuclear...
ОС: GNU/Linux

Re: Можно ли научиться программированию самостоятельно,по книгам?

Сообщение georgy_sh »

[начало жесткого оффтопа]
Ребята! У меня мысль суперская пришла!!!
БИНГО!!!
В этой теме уже все просто напросто голословно спорят. Но ведь это раздел - "Программирование". А за посты в нем инкрементируется счетчик сообщений в личном деле участника!!!
Потому и спорите :) :) :)
[конец жесткого оффтопа]
Спасибо сказали:
Аватара пользователя
Ballantre
Сообщения: 114
ОС: Linux

Re: Можно ли научиться программированию самостоятельно,по книгам?

Сообщение Ballantre »

Слушайте, у нас тут тема не о фанатизме, не о ruby и не о конкретных фрагментах кода! У нас тема об обучении. А уж что-то типа ruby врядли подойдет для обучения. Учить нужно понятный общеупотребительный язык. А уже потом, используя накопленные знания, открывать для себя более частный язык для конкретной задачи.
Я двадцать лет знал его и всегда ненавидел, и всегда восхищался, и всегда по-рабски боялся его.
Спасибо сказали:
Аватара пользователя
elide
Бывший модератор
Сообщения: 2421
Статус: Übermensch
ОС: лялих

Re: Можно ли научиться программированию самостоятельно,по книгам?

Сообщение elide »

что значит фанатизм? скептика в отношении к ruby?
это значит, что ты не видишь дальше того, что уже изучил.
я, в определенной степени, владею и С, и С++, и еще десятком языков, названия которых ты даже вряд ли когда-либо слышал. и поэтому я выбираю для разных задач оптимальные методы решения.
именно поэтому я могу _одной строчкой_ сделать то, про что ты говоришь "я не собираюсь исписывать две страницы имплементацией".
вот как раз расписывать на две страницы то, что можно сделать одной строчкой, лишь потому, что это труЪ - и есть фанатизм. смотреть на _работающую_ программу в одну строчку и кричать, что это все гавно, потому как не компилится в elf, и при этом не быть в состоянии написать это на С и скомпилить-таки в elf - это фанатизм.

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

Учить нужно понятный общеупотребительный язык
т.е. ты серьезно считаешь, что одна строчка на языке, описание которого занимает 10 страниц _менее понятна_ чем "две страницы имплементации" на С++, который настолько ужасен, что под него до сих пор нет ни одного полностью соответствующего стандарту (который занимает 776 страниц) компилятора?
слава роботам!
Спасибо сказали:
Аватара пользователя
Ballantre
Сообщения: 114
ОС: Linux

Re: Можно ли научиться программированию самостоятельно,по книгам?

Сообщение Ballantre »

Пора прикрывать эту тему.
Я двадцать лет знал его и всегда ненавидел, и всегда восхищался, и всегда по-рабски боялся его.
Спасибо сказали:
Аватара пользователя
georgy_sh
Сообщения: 1172
Статус: thermonuclear...
ОС: GNU/Linux

Re: Можно ли научиться программированию самостоятельно,по книгам?

Сообщение georgy_sh »

Давно уже пора. Предлагаю сформулировать ответ на поставленный в самом первом посте вопрос и закрыть тему нах. А то это будет продолжаться бесконечно.
Спасибо сказали:
Аватара пользователя
elide
Бывший модератор
Сообщения: 2421
Статус: Übermensch
ОС: лялих

Re: Можно ли научиться программированию самостоятельно,по книгам?

Сообщение elide »

люди, вы слепы? тут именно с ответами уже было постов надцать.... так что тема вполне раскрыта.

а мы тут тихо флеймим пользуясь тем, что мне по работе надо вчера, сегодня и еще завтра, много-много ползать по нету и читать. а это утомляет. не будьте зверьми, не мешайте снимать стресс (:
слава роботам!
Спасибо сказали:
Аватара пользователя
ety
Сообщения: 358
ОС: Linux

Re: Можно ли научиться программированию самостоятельно,по книгам?

Сообщение ety »

elide писал(а):
24.10.2006 23:18
я, в определенной степени, владею и С, и С++, и еще десятком языков, названия которых ты даже вряд ли когда-либо слышал.

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

и поэтому я выбираю для разных задач оптимальные методы решения.

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

именно поэтому я могу _одной строчкой_ сделать то, про что ты говоришь "я не собираюсь исписывать две страницы имплементацией".

пока твой язык это поддерживает, но мне быстрей написать имплементацию чем выучить и привыкнуть к новому специализированному языку.

вот как раз расписывать на две страницы то, что можно сделать одной строчкой, лишь потому, что это труЪ

не потому что тру, а потому-что не повезло, и до меня, извращенца, никому не было нужды до динамических типов.
Образование - это вовсе не то, чему человека учили, а то, чему он научился.
-----
Время, необходимое на компиляцию пакета обратно пропорционально его полезности и важности его наличия в системе.
Спасибо сказали:
Аватара пользователя
georgy_sh
Сообщения: 1172
Статус: thermonuclear...
ОС: GNU/Linux

Re: Можно ли научиться программированию самостоятельно,по книгам?

Сообщение georgy_sh »

ety писал(а):
24.10.2006 23:32
вот как раз расписывать на две страницы то, что можно сделать одной строчкой, лишь потому, что это труЪ

не потому что тру, а потому-что не повезло, и до меня, извращенца, никому не было нужды до динамических типов.

+1
ОПЯТЬ ОФФТОП (СОРРИ, БОЛЬШЕ НЕ БУДУ)
Хочу сохранить это обсуждение на дискете и раздавать всем :)

Давайте закрывать тему...
Уважаемые Модераторы! Вы ведь лучше меня понимаете, что это уже холивар настоящий.
Спасибо сказали:
Аватара пользователя
elide
Бывший модератор
Сообщения: 2421
Статус: Übermensch
ОС: лялих

Re: Можно ли научиться программированию самостоятельно,по книгам?

Сообщение elide »

не потому что тру, а потому-что не повезло, и до меня, извращенца, никому не было нужды до динамических типов.
вот это тоже фанатизм (:
потому что на самом деле повезло. и для нужд динамических типов были придуманы работающие средства. в том числе и тот же руби. и все уже давно написано, оттестировано и работает.
и только ты упрямо не обращая на это внимания будешь изобретать велосипед и писать это на С САМ.
потому что написать самому всегда круче, чем взять готовое, да.

а про обучение... ну ну... сколько нужно времени на изучение С с нуля до решения первой задачки типа ханойской башни? я лично за пиво ставил эксперимент на девушке знакомого, которя пугается вида открытого системника. на руби она смогла это сделать через 1 час (sic!) неспешной беседы. вообще с нуля. дольше всего пришлось объяснять блоки и перебор элементов списка. а попробуй объяснить кому угодно, далекому от С++, концепцию итераторов в STL за 1 час.....
слава роботам!
Спасибо сказали:
Аватара пользователя
polachok
Бывший модератор
Сообщения: 2199
Статус: главный форумный маргинал
ОС: gnu/linux

Re: Можно ли научиться программированию самостоятельно,по книгам?

Сообщение polachok »

да о чем спор? ety. He1mut - повторять перед приемом пищи как молитву "кадой задаче - свой инструмент"
И немедленно выпил.
Спасибо сказали:
Аватара пользователя
georgy_sh
Сообщения: 1172
Статус: thermonuclear...
ОС: GNU/Linux

Re: Можно ли научиться программированию самостоятельно,по книгам?

Сообщение georgy_sh »

polachok писал(а):
25.10.2006 00:07
да о чем спор? ety. He1mut - повторять перед приемом пищи как молитву "кадой задаче - свой инструмент"

А к чему Вы это?
Дык в споре я уже не учавствую и стараюсь избегать :)
Спасибо сказали:
Аватара пользователя
fatboy
Сообщения: 156
ОС: Zenwalk Linux, Windows XP

Re: Можно ли научиться программированию самостоятельно,по книгам?

Сообщение fatboy »

Ну зачем закрывать? Я вот почитал-почитал да и скачал себе SmallTalk и книжечку по нему. А еще на сайте Ruby сильно впечатлился. Не, закрывать не надо - полезная тема - лучше прикрепить.
Zenwalk 4.0
TOSHIBA Satellite A100
Спасибо сказали: