>>795472 (OP) 1) прочитай прикреплённый тред 2) взлольнул с его внешнего вида и рабочего стола, знатный КОЧКА 3) >Для изучения принципов лучше всего взять простой современный язык, например Python или Ruby. И избегать слишком навороченных и сложных языков типа C++ или Java. Также не стоит тратить время на непопулярные и отмирающие языки типа Pascal, Visual Basic.
Да. Поэтому все вузы успешные выбираю пейтон или С, смотря с чего начинают работа на низком уровне или абстрактные кампуктер саенс вещи.
Простой, только если не выходить в изучение итераторов, замыканий (aka анонимных функций), системы наследования где все (на самом деле нет) есть объект. Простой если не изучать паттерны, типа делегатора, синглтоны и т.п.
Но, oh wait, если это все не изучать то получится какой-нибудь Турбо Паскаль.
А если изучать, то новичек себе мозг сломает, не раз и два. Нихера руби не простой, а сложный, иногда неитуитивный (привет, тебе пустое истинное множество), и порой, сука, весьма нелогичный, взять хотя бы цирк с иммутабельными строками, когда от версии к версии языка меняется синтаксис определения иммутабильности (хорошо хоть метод фриз не трогают), а в удаленной перспективе будет изменено дефолтное состояние таких строк с мутабельных на иммутабельные (дефолтное состояние строк в некоторых других популярных языках).
Аргументация в видео говно, короче говоря. Язык сложный, для н овичка не подходит, но если он готов тратить по 3-5 часов в день, то когда-нибудь выучит его.
>>795472 (OP) Пиздец не пойму почему во всех этих советах суют эти ебучие языки. Самый простой, как мне кажется, c#. Дальше уже можно идти в более сложные.
>>795515 >не выходить в изучение итераторов А зачем изучать, как они изнутри работают? >замыканий Бля, их даже в кресты завезли, может даже в сишку завезут, а для кого-то это все еще ебать сложна. >Простой если не изучать паттерны, типа делегатора, синглтоны и т.п. Да и не надо нахуй их специально изучать. >привет, тебе пустое истинное множество Не позорься. https://en.wikipedia.org/wiki/Empty_set >For every element of ∅ {\displaystyle \emptyset } \emptyset the property holds (vacuous truth); >There is no element of ∅ {\displaystyle \emptyset } \emptyset for which the property holds.
>>795515 Я согласен, Руби не простой (посложнее Питона, хотя по сути они одно и то же). Впрочем, я ни с того, ни с другого не рекомендовал бы, потому что нужно понять базовые вещи - указатели, сложность алгоритмов, управление памятью, куча и стек - чтобы знать потом слабые места в своих программах на динамических языках.
Но с указанными тобой недостатками не согласен:
>Простой, только если не выходить в изучение итераторов Не помню, чтобы мне приходилось писать класс итератора хоть раз. Пару раз было желание, но хватило блоков.
>замыканий (aka анонимных функций) Такие же, как в Питоне. Тут скорее сама тема сложная для новичков.
>системы наследования где все (на самом деле нет) есть объект. Согласен, самая сложная вещь в Руби. Но мне хватило одной годной статьи про singleton-классы.
>Простой если не изучать паттерны, типа делегатора, синглтоны и т.п. А в Питоне ты всё процедурно пишешь? Ну первое время это подходит, но так и в Руби писать можно. А рано или поздно код всё равно надо структурировать. И эти паттерны одинаково применимы во всех ОО языках.
>иногда неитуитивный (привет, тебе пустое истинное множество) Это логично - более строгое неявное преобразование в булевый тип, чем в Питоне. Вот что тебе кажется логичным: пустая строка истинна? А строка из пробелов? А массив nil'ов? Каждый язык вводит свои правила, иногда доводя до абсурда (PHP, JS). Нельзя позволять любые неявно подразумеваемые преобразования, с ними приходится гадать, что имел ввиду писавший код. Когда код надо поддерживать, а не только писать, это важно.
>взять хотя бы цирк с иммутабельными строками, когда от версии к версии языка меняется синтаксис определения иммутабильности Ничего такого нет. Строки всегда мутабельны, если ты явно не вызвал freeze.
>а в удаленной перспективе будет изменено дефолтное состояние таких строк с мутабельных на иммутабельные Всё согласно семантическому версионированию - обратная совместимость сломается лишь в мажорной версии. RuboCop позволяет очень легко осуществить постепенный переход, ругаясь на мутабельные строки. Можно включать эту проверку лишь в файлах, хорошо покрытых тестами, чтобы быть уверенным, что это ничего не сломает. Я, конечно, не совсем согласен, что стоит делать ВСЕ строки иммутабельными, но вообще да - иммутабельные должны быть дефолтом.
>>795515 > Простой если не изучать паттерны, типа делегатора, синглтоны и т.п. Паттерны-то тут причем, наркоман? Их можно хоть на QBASIC реализовывать. По теме - Python самый лучший выбор для начинающего, это и в дизайне языка заложено (те же отступы).
>>795543 > Бля, их даже в кресты завезли, может даже в сишку завезут, а для кого-то это все еще ебать сложна. Они есть даже в JavaScript и Delphi (с 2009 года).
>>795648 >С питоном согласен, а вот с руби нет, поскольку он менее популярен чем питон Работы по Питону на Upwork в полтора раза больше, чем по Руби. Но разброс задач в работе на Питоне намного больше - от системного программирования до веба и машинного обучения, в то время как по Руби 90% работы - это Рельсы. По моему опыту, работу на Руби на Upwork найти гораздо легче, чем на Питоне.
>>795472 (OP) Насамом деле это не совсем прав нужно учить фундаментальные вещи и лучше всего начинать с Sicp мы как раз в конфе разбираем задачи по сикп и вообще помогаем людям вкатится. по ссылки не дискорд http://webtalks.ga
>>796348 Перловика найди попробуй. На Upwork некоторые области разработки вообще не представлены. На Си работу хрен найдёшь. На С++ только Qt, OpenCV и машинное обучение.
>>796375 Вкатись в Си, алгоритмы и структуры данных, порешай олимпиадные задачи (хотя бы самый простые, на acmp.ru). После этого ты легко вкатишься во что угодно.
>>796381 >define нормальный программист Как минимум, знает, что такое указатель, рекурсия, двоичное дерево поиска, обход в глубину и ширину >define скрипт ПРограмма на динамически типизированном языке
>>796385 >указатель Переменная, содержащая адрес в памяти. >рекурсия Вызов функцией самой себя. >двоичное дерево поиска Не знаю. >обход в глубину и ширину Предполагаю, что речь идет о циклическом обходе массива, где под глубиной подразумеваются вложенные массивы, а под шириной - элементы верхнего массива.
Отвечал честно, без гугла. Насколько я говнокодер?
>>796396 >обход в глубину и ширину >это зачем когда обход любой коллекции можно выразить через обычный fold? Пиздец ты дно. >>796409 Ты тоже, но ты и не претендовал ни на что. >Предполагаю, что речь идет о циклическом обходе массива, где под глубиной подразумеваются вложенные массивы, а под шириной - элементы верхнего массива. Нет, это простейшие алгоритмы на графах.
посмотрел ответ на первый вопрос, проблевался с аргументации, походил, подумал, вот мои мысли по этому поводу (надеюсь, тут найдется хотя бы один анон, собирающийся вкатиться в кодинг, иначе кому нахуй мои мысли вообще сдались) Тот, кто собирается вкатиться в кодинг, должен понимать, зачем ему это надо. Исходя из этого, я решил разделить нюфань на две категории. 1) Говнари, которым и так есть, чем заняться, но им бы хотелось немного облегчить свою наделенную страданиями (и не наделенную смыслом) житуху, иными словами, относящиеся к программированию утилитарно. Какие-нибудь адвокаты, врачи, ютуберы и тп. Для них ответ на вопрос этого треда однозначен - питон. Если бы универсальность чего-либо измерялась каким-нибудь прибором, то этот прибор образовал бы сверхновую, при виде этого языка. По его возможностям автоматизации рутины пишут книги, он может в скрипты, сайтики, игоры, биг дата, кулхацкинг да все блять он умеет, ведь его стандартная библиотека, по последним данным, уже больше твоей мамаши хотя источники весьма ненадежны. А при его популярности и размере коммьюнити на каждый чих из перечисленного в гугле можно найти столько готового кода и туториалов, что остается только выбирать. Еб твою мать, да за это еще и деньги платят! А на производительность людям таких сортов глубоко плевать. Но довольно тупых мемов, тут таких людей нет, поэтому перейдем ко вторым. 2) школьники и прочие довны, которым нехуй делать, но которые твердо решили, что будут добывать дошираки с помощью кода. Тут уже сложнее. Одним питоном нельзя исповедать пути господни, из-за этого в мире существует еще овер9000 языков, каждый из которых решает свою задачу. Можно, конечно, внезапно найти смысл жизни и понять, какую из задач ты хочешь решать для общества, и просто копать стек технологий данной отрасли. Но такой подход почти гарантированно обречен на невероятно тернистый и бугуртистый путь к своей мечте и бесчисленные регреты тру стори, даже если ты с лету вкатишься в пхп и тебе сама Фортуна через месяц хелловорлдов предложит работу, ни о какиз адекватных зарплатах можешь не мечтать, пока, о боже, не выучишь основы. Кстати об основах. Если коротко, то учи любой язык, который без явной дрочильни на определенную парадигму и достаточно простой. Это, например, те самые делфи, бейсик, паскаль и си. Взяв любой из них, ни в коем случае не забудь про code style, нагугли его, называй все переменные и функции по контексту, будь няшей. Да, это будет скучно, нудно, и в реальной жизни никогда неприменимо, но затерев такой язык до уверенного написания кода, любой из реальных языков будет даваться очень быстро, надо лишь будет освоить основные концепции и парадигмы. Кстати о парадигмах, если ты собрался зарабатывать на коде реальные деньги (а ты собрался, сучья ты морда), то следующим языком будет объектно ориентированный. Ретрограды и прочие любители совать гвозди в анус возможно посоветуют тебе всякие смоллтолки, но тебе пора бы писать что-нибудь применимое вне лаборатории, поэтому настоятельно рекомендую выбрать что-либо из джавы и с#. Они строго ооп, явно и статическитипизарованы, очень просты (второй немного сложнее из-за функциональных приблуд и в целом возможностей языка, но они тебе не понадобятся) их стандартная библиотека позволяет даже накидать пару формочек и делать http запросы. После такой базы (и сопутствующего чтения всяких хабров и прочей околопрограммистской хуйни) всякие пхп и питоны тебе будут ни по чем. Останется только сделать выбор, какую задачу решать, и выбрать нужный язык. thats it, folks %%хуй знает, нахуй я столько писал,
Прав ли он?