Свежие публикации

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

18 Октября 2020

Ответ на пост «Изучение языка программирования»

Чтобы выбрать первый язык программирования нужно всего лишь…


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

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


0. Осознать истинную цель, заглянуть дальше своего носа.

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


1. Обучение, что это?

Процесс обучения в любом деле одинаков, начинаешь с чего-то простого и идешь по восходящей к сложному. И чем проще и дружелюбнее инструменты с которыми ты начинаешь - тем больше шансов что удастся сохранить темп и не бросить дело на полпути. Сделаем отступление про физиологию. Мозг наш так устроен что учиться не любит. Потреблять информацию любит, даже очень, а учиться очень не любит. Поэтому мы любим смотреть сериальчики, залипать в ютубе и прочие визуальные радости. Почему не книжка? Потому что книжка заставляет думать. Если что - есть термин цифровой псевдодебилизм. Мало кто видит, но катастрофа уже наступила. Тут я оставлю первое предупреждение - видеоуроки хороши, но имеют и обратную сторону медали, не пренебрегайте текстовой информацией. Если вдруг кто не знает - программирование (естественно если речь о хорошем программисте) это постоянное обучение, эта область развивается так стремительно что держаться на гребне волны очень сложно. Это можно сказать о многих профессиях, но IT это явление очень гипертрофированно. Вот сколько буков написал а о языке и не заикнулся… Я лишь хочу обосновать свое видение проблемы и почему пришел к этим выводам.


2. Так с чего начать?

Итак, программирование это про учебу. Для самых азов, чтобы понять как вообще эти буковки превращаются в программы может быть подойдет какой-нибудь академический язык типа паскаля. Не знаю, учил его еще в универе и не скажу что от этого был толк. Я бы предложил что-нибудь повеселее, например Python. Причем не просто сферический питон в вакууме а с конкретной книжки - Майкл Доусон “Программируем на python”. Поясню свой выбор, ведь книг для начинающих просто море. Не исключаю что это не самая лучшая, но точно очень хорошая. Когда мы говорим об обучении то редко обращаем внимание на практику, а именно практика является вторым необходимым элементом. Можно сколько угодно долбиться головой о теорию, без практики да хоть на зубок выучи - толку не будет. Чем мне понравилась книга - она сразу бросает новичка в практику и заставляет писать простейшие программы. Без практики теория мертва, это точно. Питон много прощает и писать на нем приятно (что обусловлено его происхождением). На этом этапе я рекомендую изучить простейшие понятия, например типы данных, переменные, простая арифметика и циклы. В общем добивать книги до победного конца необязательно. Почему? Потому что дальше можно взяться за другой язык. На этом начальном этапе поймешь что такое программирование в приблизительном виде и вообще готов ли ты решать постоянные головоломки, что-то доучивать, разбираться в нюансах и постоянно помнить о принципе запятой “казнить нельзя помиловать”. Переходим на следующий уровень.


3. Так что же выбрать в фундамент?

Учиться лучше сразу хорошему. Если научишься делать плохо, потом будет тяжело переучиваться, кривой фундамент это всегда плохо. Поэтому основным первым языком должен стать строго типизированный, например Java. И не надо путать с JavaScript, который создавался на коленке и лишь бы работало, но тут сработало как в поговорке - нет ничего постоянней временного. Он оказался весьма удачным и быстро выгрыз себе нишу. Почему он плохой для начала? Опять причина в его происхождении. Итак, Java очень больно бьет по рукам метровой линейкой приучая думать правильно и вникать в процессы происходящие в программе. Второй книгой рекомендую из серии Head First - “Изучаем Java” авторов Сьерра Кэти, Бэйтс Берт. Многие сразу бросят в меня грязью за эту книгу, но это их проблемы - игнорируем их желание заставить нас страдать так, как страдали они грызя скучные справочники. Если человек задает вопрос “какой ЯП мне выбрать?” то он однозначно не справится со сложными и скучными справочниками, так как просто еще не умеет собирать и анализировать информацию. В общем, эта книга просто шикарна в своих объяснениях на яблоках, снимаю шляпу. Я между тем не новичек в IT,  успешно работал админом долгое время и как бы с головой. Но даже для меня эта книга была очень полезна, она с легкостью объясняет сложные концепции. Это просто сэкономит вам кучу времени и сил. Еще раз - книга потрясающая находка для новичка. В принципе вся серия Head First очень не дурна.


4. Обвязочку не забываем, без неё никуда.

И навыки программирования не ограничиваются лишь одним знанием языка, хочу еще раз заострить на этом внимание. Язык это азбука. Дальше надо впитывать алгоритмы (например “Алгоритмы. Руководство по разработке.” Стивен С. Скиена или\и “Грокаем алгоритмы” Адитья Бхаргава), от баз данных точно никуда не денетесь, например “Изучаем SQL” Бейли Линн, без знания хоть сколько нибудь распространенных фреймворков и инструментов разработчика вы никому не нужны, так что - Spring in Action, Hibernate in Action, Maven in Actinon, Pro GIT… и дальше понеслось по наклонной.

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


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


Если кратко, то:

Этап 0.

Если нет никаких навыком начинаем с питона. Майкл Доусон “Программируем на python” - в книге неплохо объяснены самые азы сразу закрепляемые на практике. Как альтернатива есть ресурсы типа CodeCombat, Code Hunt или Codewars где все это в развлекалочек, но я олд и предпочитаю книжки.


Этап 1.

Head First - “Изучаем Java” авторов Сьерра Кэти, Бэйтс Берт. Очень просто на яблоках о сложном. Даже если будете дальше учить не Java, будет очень полезно ознакомиться с концепциями программирования.


Этап 2.

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


Прикольные дядьки в ютубе у кого можно многое почерпнуть.

Петр Арсентьев

АйТиБорода

SHIFU

S0ER


Это те кого вспомнил навскидку, они не единственные адекватные на этой площадке но для начала сойдет.


PS несколько раз пытался все структурировать… но и так сойдет ^_^ иначе просто сотру все к чертям.

Показать полностью

Как мы всей семьей угарали

Несмотря на название, история вообще не про веселье.
Дело было 10 лет назад, тогда я и мой младший брат учились в школе. Поэтому вечером в нашей трехкомнатной квартире собиралась вся семья : мама, папа, мы с брательником, черепаха с немецким именем и попугай, который боялся даже собственного голоса.
Небольшое погружение в атмосферу происходящего :
Наша двухэтажка попала под какую- то гос.программу модернизации и помимо того, что ее утеплили, покрасили и всем жителям поставили пластиковые окна, было принято решение надстроить третий этаж , дабы увеличить количество квартир для врачей из нашего села.
Всё круто, только дело происходит в России, а значит, ремонт идёт поздней осенью. С крыши второго этажа сняли покрытие, строители подготавливают площадку для надстройки.

Собственно, суть. Вечер. Я делаю уроки, готовлюсь к ЕГЭ. Приняла ванну, наполняю новую для маленького брата. Тем временем, он вместо обычного вечернего детского бешенства постоянно прикладывается к подушке. Маму начинает беспокоить его вялость,и пока она пытается выяснить, что с ним происходит, его начинает беспричинно тошнить во все стороны света.
Папа звонит в скорую, и надо отметить, село - счастье для больных в плане скорости реакции на проблему.
Врач скорой осматривает братика и в этот же миг мой огромный ( похожий на непобедимого Брюса Уиллиса) папа падает в обморок. Мы с мамой мягко говоря ВООБЩЕ НЕ ПОНИМАЕМ КАКОГО ЧЕРТА происходит. Мама даже немного злится, типа «Дима, не время тут лежать, у нас сын болеет». Врачи берут папу под белы рученьки, хватают брата и отправляются в больницу на предмет обследования странных симптомов.

Мама велит мне собирать какие- то вещи, задаёт кучу вопросов, а я просто очень устала и хочу спать. Я перестаю думать о том, что мужская половина семьи в больнице, мне так тепло и хочется только на минутку прилечь. Я плетусь ватными ногами в зал и вижу, что мама уже лежит на диване. Я беру ее за руку и говорю:
- Мы немножко поспим и всё сделаем, хорошо?
Веки тяжелые, как свинец. По телу расплывается тягучая, но такая приятная усталость.
Мама кивает и просит позвонить двоюродной сестре, сказать, что папа в больнице и его надо забрать. И тут я начинаю осознавать, что номер, который набираю с домашнего телефона несколько раз в день, я совершенно не помню. Я смотрю на трубку и каким - то чудесным образом ( может мышечная память вмешалась, понимая, что мне крандец) набираю номер из пяти цифр.

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

Сидя на крыльце больницы с зелёными лицами и синими от холода пальцами, нам сообщили что это - угарный газ.
Товарищи строители засыпали нашу шахту мусором и прочими остатками крыши второго этажа. Газовая колонка, которая грела нам воду для тех водных процедур в этот день, медленно нас убивала.

Мы сидели, обнявшись вчетвером, плакали и благодарили силы, которые нас в этот день спасли.
Организм брата, который единственный из всех среагировал на газ отторжением.
Папу и его странный обморок, который удивил его сильнее, чем напугал.
Сестру, которая открыла окна и спасла пернатого и мою любимую рептилию.

Никакие суды мы не выиграли. Я даже и не помню, чтобы нас это сильно заботило. Мама говорила : «живы, главное - живы».

Зато теперь над квартирой родителей живут целых 3 врача.
Хоть бы их помощь нам больше не потребовалась...

Показать полностью

Мои впечатления от valve index

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

1. Зарегистрировался в агентстве, занимающейся пересылкой (я использовал shipito)


2. Нашёл не-браузерный vpn, не находящийся в чёрном списке steam. (не так просто найти бесплатный)


3. Зарегистрировал новый аккаунт, якобы в соединённых штатах с адресом shipito и заказал valve index


4. Они написали, что заказ будет отправлен через как минимум 8 недель. Эти как минимум 8 недель оказались недель 12-14 где-то.


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

6. Пишу подруге, что живёт в штатах перевожу её деньги через paypal (потерял где-то тысяч 5), она оплачивает 999$ (+ 120 $, ибо заказываю я на склад shipito в калифорнию, а её карточка из другого штата, а за это какой-то налог).

7. Я заказывал двое очков через два разных аккаунта, но купились только одни. Никакие пляски с бубном и обращение в поддержку не помогли.


8. Почта до МСК стоит 170$ из-за большого объёма коробки.


9. Я ступил и задекларировал стоимость, таможня взяла налог. (потерял еще 9тр)


10. ̶К̶у̶р̶ь̶е̶р̶,̶ ̶д̶о̶с̶т̶а̶в̶л̶я̶в̶ш̶и̶й̶ ̶п̶о̶с̶ы̶л̶к̶у̶ ̶г̶о̶п̶с̶т̶о̶п̶н̶у̶л̶ ̶м̶е̶н̶я̶ ̶

В общем, вышло 999$ + 36500 руб. Пля.


Из плюсов.
Виртуальная реальность действительно сделала здоровенный шаг за последние 5 лет.

Я еще только часа 4 в halve life: Alyx. И из них я только час рисовал письки на стекле фломастером. Ну а дальше, где бои - страшно, шо ппц. Прикрываешься всякими коробками от хэдкрабов, инстинктивно пытаешься их зафигачить кулаками (это им не наносит вреда).

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

В общем, я почувствовал себя "бумером". 8-летний племянник намного быстрее освоился в vr, нежели я.

Следующее на повестке недели - поставить достаточно модов на Fallout 4, чтобы можно было играть без слёз и попробовать что-то типа этого

https://www.reddit.com/r/fo4vr/comments/jb3nds/ive_always_wa...

Спасибо :)

Показать полностью

Вопрос-предложение администрации

Господа, каждый раз включая видео, мне приходится убивать бегунок громкости на самый возможный минимум, в ВСЕ РАВНО мне режет уши эта дичайшая громкость! Приходится убивать громкость и на пикабу и на компе (процентов до 30и) чтобы не оглохнуть. А если домашние спят - то вообще пиши пропало.

Отсюда несколько вопросов: это так задумано? У меня у одного так? Ни кого больше это не выбешивает?

Блестящая догадка

На кассе стоит парень и выкладывает на ленту пять бутылок красного. Пять бутылок белого. Две розового. Четыре шампанского. Одну "Мартини". Два коньяка. Три водки. И в самом конце –семь пакетиков кошачьего корма. Мужик сзади спрашивает:

– День рождения кота?

Ребят, скажите это что такое? Это нормально сейчас? Я не в теме просто

Еще недавно пребывал в полной уверенности, что время "голодных" гаишников как-то прошло уже, что ли. Выходит, ошибался...

Намедни еду утром на работу "огородами", проезжаю по Эриванской, что между Верхним и Средним Суздальскими озерами. Еще издали заметил - стоят, у пляжа.

Ну, стоят и стоят, не первый раз их там вижу. Еду спокойно. Всё же тормозят.

Сворачиваю на обочину, сижу в машине.

Подходит дэпс, всё по уставу, представился, просит права и документы на машину, но добавив что, мол, есть ориентировка на автомобиль Вашей модели.

- А что за модель? - говорю, - Какой модели? (у меня древний американец Олдсмобиль Аврора, на весь Питер таких сейчас, наверно, максимум штук десять наберется).

- Эээм... "Вашей" модели.

- Ну хорошо.

Даю документы. Очень долго всё изучает, смотрит права, сравнивает СТС и страховку...

Отдает, но просит выйти из машины. Фиг с ним, вышел.

- Откройте пожалуйста багажник.

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

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

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


Водитель - собственник машины, трезв как стеклышко, единственный вписанный человек в идеально заполненный оригинал полиса ОСАГО, права в порядке, всё в порядке, машина в порядке... тонировки вообще нет, даже сзади.

Честно, думал, с таким раскладом не должно проблем быть...

Показать полностью 1

Дай ключи, я поведу

Дай ключи, я поведу Кот, Машина, Водитель, Вислоухий, Scottish, Длиннопост
Дай ключи, я поведу Кот, Машина, Водитель, Вислоухий, Scottish, Длиннопост
Дай ключи, я поведу Кот, Машина, Водитель, Вислоухий, Scottish, Длиннопост
Показать полностью 3

Ответ на пост «Извечное противостояние языков программирования»

Загрузочный экран с режима «Deep Dive» игры Deep Rock Galactic.


Код с видео, дабы проникнуться:

module Main where


multiply :: Int -> Int -> Int

--Объявляем функцию


multiply x1 x2 = x1 * x2

--Определяем функцию


main = do

putStrLn ("Скажи имя, пикабушник")

name <- getLine --Пикабушник

putStrLn ("Привет, пикабушник " ++ name)

putStrLn "Результат умножения:"

print $ multiply 10 5

--вызываем функцию multiply


Желающие попробовать код ставим stack

https://docs.haskellstack.org/en/stable/README/

И запускаем через stack ghci main.hs


@moderator,  Прошу добавить в IT-юмор , не хватает рейтинга

Показать полностью
Мои подписки
Подписывайтесь на интересные вам теги, сообщества, авторов — и читайте свои любимые темы в этой ленте.
Чтобы добавить подписку, нужно авторизоваться.

Отличная работа, все прочитано! Выберите