Я так багато хочу прочитати, чого не читав, що на це треба десять життів… :( Тепер взявся за монументальні, без перебільшення, праці Марка Лутца (Mark Lutz) «Learning Python» (5-е вид., 2013) та «Programming Python» (4-е вид., 2010). 2,5 тисячі сторінок! Хочу ґрунтовно осягнути мову (Python) і мову (англійську). Настають лихі часи, мо’ доведеться їхати з України світ за очі, то може придатися…
Лутца не раджу. По-перше, багато води, по-друге, застарів. Основа пітона - проста і 80% освоїли тільки її. Зауваж, що пітон на своєму місці для всяких разових речей, наприклад наукових розрахунків, разових скриптів, сайтік на джангі зробити та й забути. І програми на пітон - це невідчуждаємі програми, бо динамічна типізація.
Ну і шоб мав на увазі. В пітоні 100500 мілких фіч, імплементованих прямо в мову. Кожна сама-по собі - удачна, але особисто я не можу втримати в голові їх всі, не кажучи вже про тонкі відмінності. Це - погана ознака.
Лутца я обрав читати з двох причин. По-перше, його книжки радять як такі, що допомагають глибоко зрозуміти саму мову, її засади та фільозофію. По-друге, я вчився давно, ще в минулому столітті, і хоч англійською загалом вільно читаю, та мовної практики нема, словника часом бракує. То я собі взяв Лутца і зі словником, виписуючи забуті та незнайомі слова, помалу читаю. І воно таки вже дає користь.
Щодо дрібних фіч — так, згоден. Ось просто нині вичитав з одної книги, щоправда іншої, про різницю між функціями input та raw_input у, відповідно, третьому та другому Пітоні. А перед тим довго не міг второпати, чому в мене мій навчальний скрипт працює у третьому, але не працює у другому. Лутц, власне, ще в передмові пише, що у своїх книгах послідовно розглядає всі такі моменти і обіцяє навчити писати програми, що однаково працюватимуть в обох гілках Пітону.
Мені майже випадково довелося звернутися до Пітону, коли я хотів піднести до великого ступеня число. Скажімо, я хочу порахувати, скільки буде 1488^1488 або навіть 100500^100500. Калькулятори (крім bc) або не вміють рахувати такі великі числа, або показують їх в кастрованому вигляді. А я хочу побачити число у всій його красі, навіть якщо воно потребує для себе кілька екранів або сторінок тексту. Писати для одноразового обчислення окрему програму на якійсь компільованій мові — нема досить знань і бажання. Ну от, а Пітон все це вміє робити — і цим одразу полонив моє серце.
А в голові то все розмаїття функцій тримати не треба — є ж бо довідка.
>що допомагають глибоко зрозуміти саму мову, її засади та фільозофію.< Це тобі знадобиться у двох випадках: якщо ти хочеш комітити в пітон, або якщо ти хочеш бути програмістом на.
>Лутц, власне, ще в передмові пише, що у своїх книгах послідовно розглядає всі такі моменти і обіцяє навчити писати програми, що однаково працюватимуть в обох гілках Пітону.< О! про те, що там люблять поламати зворотню сумісність на рівні батарейок я й забув сказати. Саме тому придумали ці всі virtualenv.
>є ж бо довідка.< І не завжди зміни там відображаються, доводиться лізти в ісходніки. Причому, поведінку в батарейці поміняли, а сказати тобі забули. А ти потім такий в охуєнії, чому у тебе чуже бабло неправильно рахується, а числа там шестизначні в долярах. Це я за decimal, якщо що. Воно то, канєшно TDD помогає, але тестів доводиться писати більше, ніж коду. Потім я плюнув і прикрутив вєлосіпєда для перевірки типів в рантаймі. А потім плюнув і перейшов на java та emacs
Якщо Пітон дасть мені в примарній перспективі еміґрантського життя змогу заробити на шматок хліба, то воно вартує часу і сил. Не те щоб я вже пакував валізи, але на душі тяжко і сумно.
тоді краще заплати 50 баксів на курсері. Заодно і знайомства зав'яжуться.
Як на мене, ти не туди копаєш. Язикі-шмазикі, то всьо дурня. Платять за вирішення задач, а не за дрочить вприсядку. Люба мова вчиться за 2-4 тижні на рівні почати писати та розуміти код. Що набагато важливіше, це знати які бувають мови, точніше, парадигми програмування, алгоритми і патерни/антипатерни. Ще важливіше - це знати предметну область в якій ти збираєшся заробляти. Справа, звісно, твоя, але я б не викидав 2-4 місяці саме на Лутца. Почитай, що саме зможеш освоїти за 2-3 тижні і побільше пиши.
Замість виписувати слова, можеш скористатись цією прогою. Як на мене, саме те, що треба для вивчення слів. Не без недоліків, але основне, що потрібно робить - формуєш свій власний словник, завчиваєш слова, тренуєш вимову і прога перевіряє твої знання. Мені подобається.
Писати свій словничок мене ще в школі навчали. Але тепер я не на папері пишу, а маю у бравзері окрему вкладку з Гугло-перекладачем, до якого дописую невідомі слова. Коли зустрічаю слово, значення якого мені невідоме або забулося, то спершу пробую згадати чи так дотямити з контексту, а вже потім заглядаю до словника. От за місяць часу вже маю певний результат: читати мені стало суттєво легше, суцільний масив англомовного тексту вже не виглядає таким страшним, як раніше. :) І то при тому, що я читаю дуже помалу, якісь хвилини перед сном.
Проблема в тому, що тікать закордон потрібно було 5 років тому. Зараз уже всьо, ти тільки відскочиш, бо проблеми почнуться багато де. Хіба на Галичину переїхати, але теж, хтозна як там вийде.
5 років тому ми вистояли, бо очільники були стійкі і хитрі. Що робити з окупантом - зрозуміло. Що робити з 60% придурків у власному суспільсті - ні. Точніше, зрозуміло і добре. Але це вже будуть зовсім не демократичні методи. І особисто я не настільки розумний, щоб грати першу скрипку в цьому процесі, тож будемо дивитися на Пороха і Пастора.
Хоча, якщо хочеш вкластися саме в мову, я раджу swift. Не так, щоб я в захваті від нього, але мушу визнати, що заробітки яблочників завжди вище, ніж у пітонщиків і попит на них завжди є. А пітонщиків пучок за п'ято́к, а веб перегрітий. А яблочна платформа хоча й обмежена яблуком, але дуже калорійна.
На жабі теж заробітки гарні, але потрібно знати ще купу фреймворків на кшталт Spring чи потворний Hibernate. А щє краще, тільки не смійся, Cobol. І це вже интерпрайз.
Просто програміст оперує вирішенням задачі і використовує найбільш підходящий інструмент. Часто їх комбінацію або створює спеціалізований інструмент і вже на ньому вирішує задачу.
Я ніколи не сміюся зі старих мов, бо їх проєктували дуже розумні люди, що досконально розумілися не лише на комп’ютерах, але на галузях, для яких робилися ті мови. На моє глибоке переконання, це досконалі предметно-орієнтовані мови, що б там не базікали Дейкстра так інші сноби. :) Маю купу книжок з Коболу та АБАПу, але читатиму вже після Пітону. Мені дуже бракує систематичних знань та розуміння багатьох речей, я ж бо ніде цього не вчився, самоук. Тож читаю паралельно цілий стос різних книжок з різних предметів, аж до Андре Ламота (його книжка про написання забавок — вельми файний підручник, маю сказати). Проте за основу свідомо взяв оті грубезні книжки Лутца, щоби покращити англійську мову і докладніше зрозуміти Пітон.
У планах читати «Introduction to Algorithms» (by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein).
Я собі виробив такий метод вправ. Беру якусь навчальну вправу або довільну задачу і пробую вирішити на різних мовах: на Перлі, на Пітоні, на Сі. Виглядає це приблизно так:
no subject
Date: 2019-04-17 05:25 am (UTC)Крис Нейлор. Как построить свою экспертную систему: Пер, с англ. — М.: Энергоатомиздат, 1991. — 286 с.: ил. ISBN 5-283-02502-0
(є там)
Читатиму і на Вільному Васіку (FreeBASIC) вправлятимусь. :)
no subject
Date: 2019-04-17 11:25 am (UTC)no subject
Date: 2019-04-17 09:12 pm (UTC)no subject
Date: 2019-04-18 05:43 am (UTC)Ну і шоб мав на увазі. В пітоні 100500 мілких фіч, імплементованих прямо в мову. Кожна сама-по собі - удачна, але особисто я не можу втримати в голові їх всі, не кажучи вже про тонкі відмінності. Це - погана ознака.
no subject
Date: 2019-04-18 06:06 am (UTC)Щодо дрібних фіч — так, згоден. Ось просто нині вичитав з одної книги, щоправда іншої, про різницю між функціями input та raw_input у, відповідно, третьому та другому Пітоні. А перед тим довго не міг второпати, чому в мене мій навчальний скрипт працює у третьому, але не працює у другому. Лутц, власне, ще в передмові пише, що у своїх книгах послідовно розглядає всі такі моменти і обіцяє навчити писати програми, що однаково працюватимуть в обох гілках Пітону.
Мені майже випадково довелося звернутися до Пітону, коли я хотів піднести до великого ступеня число. Скажімо, я хочу порахувати, скільки буде 1488^1488 або навіть 100500^100500. Калькулятори (крім bc) або не вміють рахувати такі великі числа, або показують їх в кастрованому вигляді. А я хочу побачити число у всій його красі, навіть якщо воно потребує для себе кілька екранів або сторінок тексту. Писати для одноразового обчислення окрему програму на якійсь компільованій мові — нема досить знань і бажання. Ну от, а Пітон все це вміє робити — і цим одразу полонив моє серце.
А в голові то все розмаїття функцій тримати не треба — є ж бо довідка.
no subject
Date: 2019-04-18 06:22 am (UTC)Це тобі знадобиться у двох випадках: якщо ти хочеш комітити в пітон, або якщо ти хочеш бути програмістом на.
>Лутц, власне, ще в передмові пише, що у своїх книгах послідовно розглядає всі такі моменти і обіцяє навчити писати програми, що однаково працюватимуть в обох гілках Пітону.<
О! про те, що там люблять поламати зворотню сумісність на рівні батарейок я й забув сказати. Саме тому придумали ці всі virtualenv.
>є ж бо довідка.<
І не завжди зміни там відображаються, доводиться лізти в ісходніки. Причому, поведінку в батарейці поміняли, а сказати тобі забули. А ти потім такий в охуєнії, чому у тебе чуже бабло неправильно рахується, а числа там шестизначні в долярах. Це я за decimal, якщо що. Воно то, канєшно TDD помогає, але тестів доводиться писати більше, ніж коду. Потім я плюнув і прикрутив вєлосіпєда для перевірки типів в рантаймі. А потім плюнув і перейшов на java та emacs
no subject
Date: 2019-04-18 06:33 am (UTC)no subject
Date: 2019-04-18 06:58 am (UTC)Як на мене, ти не туди копаєш. Язикі-шмазикі, то всьо дурня. Платять за вирішення задач, а не за дрочить вприсядку. Люба мова вчиться за 2-4 тижні на рівні почати писати та розуміти код. Що набагато важливіше, це знати які бувають мови, точніше, парадигми програмування, алгоритми і патерни/антипатерни.
Ще важливіше - це знати предметну область в якій ти збираєшся заробляти.
Справа, звісно, твоя, але я б не викидав 2-4 місяці саме на Лутца. Почитай, що саме зможеш освоїти за 2-3 тижні і побільше пиши.
no subject
Date: 2019-04-18 07:08 am (UTC)no subject
Date: 2019-05-22 06:32 am (UTC)no subject
Date: 2019-04-18 05:54 am (UTC)no subject
Date: 2019-04-18 06:07 am (UTC)no subject
Date: 2019-04-18 06:40 am (UTC)no subject
Date: 2019-04-19 06:14 am (UTC)На жабі теж заробітки гарні, але потрібно знати ще купу фреймворків на кшталт Spring чи потворний Hibernate. А щє краще, тільки не смійся, Cobol. І це вже интерпрайз.
Просто програміст оперує вирішенням задачі і використовує найбільш підходящий інструмент. Часто їх комбінацію або створює спеціалізований інструмент і вже на ньому вирішує задачу.
no subject
Date: 2019-05-22 06:42 am (UTC)no subject
Date: 2019-05-22 07:00 am (UTC)no subject
Date: 2019-05-22 07:12 am (UTC)Я собі виробив такий метод вправ. Беру якусь навчальну вправу або довільну задачу і пробую вирішити на різних мовах: на Перлі, на Пітоні, на Сі. Виглядає це приблизно так:
no subject
Date: 2019-06-03 05:03 am (UTC)Algorithms (McGraw-Hill, 2006, MHID 0-07-352340-2, ISBN 978-0-07-352340-8, ISBN 0-07-352340-2)
Автори:
- Sanjoy Dasgupta (University of California, San Diego)
- Christos Papadimitriou (University of California at Berkeley)
- Umesh Vazirani (University of California at Berkeley)
Є й у перекладі москвосуржем:
https://habr.com/en/company/compscicenter/blog/222427
Пишуть, що легша для читання та сприйняття, ніж Кнут чи Кормен & Co. Та й значно менша за обсягом.