Задача 0xfe03 Изучаю Python. Предпосылки, поиск учебников.
Раньше я думал что Си это язык всего, и любую программу нужно писать именно на нем. А как можно подумать иначе, если я порой ошивался в университетах среди таинственных немногословных дядек, которые советовали использовать именно этот язык и, как мне казалось тогда, только на нем и писали. А еще в нем были какие то указатели, из-за которых нужно было ставить непонятные закорючки перед аргументами в функции scanf(), и из-за которых программист Си мог считать себя круче других, ну по крайней мере круче программистов Fortran уж точно (хотя там тоже есть указатели). Язык простой и универсальный с, всего-то, 32-мя служебными словами. Можно сказать, кросплатформенный ассемблер, ведь сишный код можно компилировать практически с любой платформы под любую архитектуру. Язык низкоуровневый, на нем можно писать код для микроконтроллеров. Не говоря уже о том, что язык создавался для системного программирования, и вообще на нем пишут все что угодно. При этом сам язык создан ни когда нибудь, а в далекие 70-е, и ни кем нибудь, а серьезными дядьками с длинными бородами, причем некоторые из них уже умерли, что делает его просто легендой.
Но время прошло, облако таинственности и легендарности растворилось и появились простые задачи, которые нужно решить. Например, мне захотелось написать небольшой парсер, который запустить нужно всего пару раз. При этом хотелось сделать это побыстрее, а на си только файл четыремя строчками открывается, а еще постоянные заморочки с указателями, типами данных и т.д. Тут я и решил изучить какой нибудь простенький сценарный язык, для этого мог бы подойти bash (true unix way, ну вы понимаете), но он довольно таки древний, не очень читабелен, да и вообще умеет только целочисленную арифметику.
И тут внезапно я открыл для себя Python (в 2016, блин, году, идиот, уже третья версия успела выйти, а я только его обнаружил). Простой и понятный, с кучей библиотек, есть в репозиториях под любую линуксу. Да и с легендарностью у него все в порядке, один только дзен питона чего стоит (если прошел по ссылке и не понял что делать дальше, жми на кнопку Execute, смотри в терминал и постигай). Хороший язык, изучаем его.
Можно изучать и методом тыка, но вот не правильно это как то, что ли. Поэтому идем на хабру за советами, там какой то тип настойчиво советует почитать книжку Марка Лутца "Изучаем Python". Прочитав первые 100 страниц я понял что он тот еще балабол, на эитх страницах была размазана только самая общая и занудная информация, вроде "Python это сценарный интерпретируемый язык программирования", или попытки доказать что питон не на много медленнее Си (ага, так я ему и поверил). И если K&R уже практически сразу предлагал читателю конструкции вроде:
Но в этой книге все было слишком неторопливо, и я устал перебирать буквы, прочитав всего 1/12 часть. А после отправился искать дальше.
Набрел на курс по Python на Codeacademy, но и там, все слишком тщательно разжевывается. Хотя если я буду пьян, то могу по развлекать себя прохождением этих заданий. В итоге нашел книжку "A byte of Python" - укус питона или байт питона, как вам удобнее. Хоть задачки там и простые, но пустой болтовни там вовсе нет, все коротко и по делу. Поэтому можно ставить питон, качать книжку и начать рубать на клавиатуре.
Практическую часть ожидайте в следующем посте.
Раньше я думал что Си это язык всего, и любую программу нужно писать именно на нем. А как можно подумать иначе, если я порой ошивался в университетах среди таинственных немногословных дядек, которые советовали использовать именно этот язык и, как мне казалось тогда, только на нем и писали. А еще в нем были какие то указатели, из-за которых нужно было ставить непонятные закорючки перед аргументами в функции scanf(), и из-за которых программист Си мог считать себя круче других, ну по крайней мере круче программистов Fortran уж точно (хотя там тоже есть указатели). Язык простой и универсальный с, всего-то, 32-мя служебными словами. Можно сказать, кросплатформенный ассемблер, ведь сишный код можно компилировать практически с любой платформы под любую архитектуру. Язык низкоуровневый, на нем можно писать код для микроконтроллеров. Не говоря уже о том, что язык создавался для системного программирования, и вообще на нем пишут все что угодно. При этом сам язык создан ни когда нибудь, а в далекие 70-е, и ни кем нибудь, а серьезными дядьками с длинными бородами, причем некоторые из них уже умерли, что делает его просто легендой.
Но время прошло, облако таинственности и легендарности растворилось и появились простые задачи, которые нужно решить. Например, мне захотелось написать небольшой парсер, который запустить нужно всего пару раз. При этом хотелось сделать это побыстрее, а на си только файл четыремя строчками открывается, а еще постоянные заморочки с указателями, типами данных и т.д. Тут я и решил изучить какой нибудь простенький сценарный язык, для этого мог бы подойти bash (true unix way, ну вы понимаете), но он довольно таки древний, не очень читабелен, да и вообще умеет только целочисленную арифметику.
И тут внезапно я открыл для себя Python (в 2016, блин, году, идиот, уже третья версия успела выйти, а я только его обнаружил). Простой и понятный, с кучей библиотек, есть в репозиториях под любую линуксу. Да и с легендарностью у него все в порядке, один только дзен питона чего стоит (если прошел по ссылке и не понял что делать дальше, жми на кнопку Execute, смотри в терминал и постигай). Хороший язык, изучаем его.
Можно изучать и методом тыка, но вот не правильно это как то, что ли. Поэтому идем на хабру за советами, там какой то тип настойчиво советует почитать книжку Марка Лутца "Изучаем Python". Прочитав первые 100 страниц я понял что он тот еще балабол, на эитх страницах была размазана только самая общая и занудная информация, вроде "Python это сценарный интерпретируемый язык программирования", или попытки доказать что питон не на много медленнее Си (ага, так я ему и поверил). И если K&R уже практически сразу предлагал читателю конструкции вроде:
while( (c = getchar()) != EOF )
То Лутц предложил закодить hello world только лишь на сотой странице. Не то что бы я был фанатом чего нибудь такогоНабрел на курс по Python на Codeacademy, но и там, все слишком тщательно разжевывается. Хотя если я буду пьян, то могу по развлекать себя прохождением этих заданий. В итоге нашел книжку "A byte of Python" - укус питона или байт питона, как вам удобнее. Хоть задачки там и простые, но пустой болтовни там вовсе нет, все коротко и по делу. Поэтому можно ставить питон, качать книжку и начать рубать на клавиатуре.
Практическую часть ожидайте в следующем посте.
Комментариев нет :
Отправить комментарий