>>153881356 Он не догадается. >>153881248 Потому что оно состоит из этого, блджад. Профессиональное программирование это сплошная мозгоебля и перманентное задрачивание новых технологий.
Тренируй язык, который у тебя во рту. Самое надежное вложение времени. Почекай вакансии. Питонисты без опыта идут на хуй, си, плюсы тоже никому не нужны. Самое простое - стать веб-макакой (пхп, хтмл, жс).
ПХП. На нем столько говна понаписано, что лет на 50 хватит поддерживать. Есть только одна проблема - в основном пользователи этого говна - нищеброды, органически не способные платить нормально, даже если на кону их бизнес и анус.
Ищем сейчас тестировщика - 2 из 3 вакансий имеют позицию "ява-джуниора", или курсы по джаве. На вопрос нахуя в тестеры - отвечают "да чота блядь сложна нахуй, все говарили чьто с явкой стану зашибать деньгу, а ана блядь непонятная, мозги кипят нахуй"
>>153882245 Sykabldjad, хуй знает насчет мозгов, но сомневаюсь что в любой конторе заинтересую своим желанием пахать и трезвым взглядом на жизнь.он же и подсказывает, что этого мало для заинтересовывания хотя я хз как там у ойти устроено все
C - если хочешь написать говна в ядро линукса или программировать микроконтроллеры. Python - если хочешь стать вебмакакой и задрачивать фреймворки и новые фичи до конца жизни.
>>153881094 (OP) Нет ни одного годного погромиста, который пользовался бы одним языком. Поэтому начинай с простейшиго - питона или пхп, а дальше сам поймешь
Ну к нам процентов 70 на джунов - приходят нихуя не знающие говноеды, которые весь собес рассказывают на какие конференции в европе и США они хотят поехать в первые 3 месяца работы, сколько мониторов самых дорогих в комплект к эппловской прохе им надо чтобы тестики делать, и спрашивают какой диплом у нашего баристы (мысли что кофе делаем сами им и в голову не приходит), по какой схеме вейпаем и во сколько в офисе подают смузи.
Серьезно, ожидания от ИТ у нубов - просто пиздец, они берут статью-стеб про гугль, умножают на 10, и ждут этого от абсолютно любой конторы.
>>153881094 (OP) А хуй знает. Си тебе точно не нужен, т.к. ты даун, скорее нужен С++ или C# - но на них таки качество важно, python подходит для всего того, что нужно клепать быстро и хуёво.
>>153882355 >второй скрин Первая строчка необязательна, семиколон в третьей не нужен. В си чаще всего компилируется без 1 строчки, она как правило включается компилятором по умолчанию как минимум со стандарта ANSI.
>>153881094 (OP) Начни с php, сможешь через пару месяцев зарабатывать около 500$. Далее можно углубиться в php, дойдя до 1.5-2к или перескочить на что-то другое, что душе будет ближе. Вместо php можно питон учить, сорта говна, но работы меньше.
p.s. Зарплату ясен хуй от 3500 евро на руки хотят. И про бонусы спросить не забывают. Спросил у одного бородатого ребенка считающего что автоматизация тестов - это когда "рука набита кликать кнопки" сколько бонусов он хочет - тот важно ответил "ну в районе зарплаты годовой хотелось бы иметь для начала".
>>153882578 >Перенасыщение рынка Количество заказов только растёт в скаждым годом, а испольнителей больше не стало. Это я сужу по ситуации на апворке, реально в 2017 стало лучше.
>>153882429 Для меня да, я больше предпочитаю языки, которые не меняются каждые несколько месяцев с добавлением фич вроде: "вы теперь можете объявлять хуйню поставив залупу перед ебатой" или "мы выпустили новый расхайпаный джем с кучей синтаксического сахара - только забыли вас предупредить что он переопределяет типы/функции/классы ядра"
>>153882617 >которые не меняются каждые несколько месяцев с добавлением фич вроде: "вы теперь можете объявлять хуйню поставив залупу перед ебатой" или "мы выпустили новый расхайпаный джем с кучей синтаксического сахара - только забыли вас предупредить что он переопределяет типы/функции/классы ядра" Ты только что питон
Ну если язык который запилила самая крупная софтверная компания при помощи самых ярких специалистов в своей области - параша для тебя, то расскажи-ка нам, на чем надо писать системные штуки в 2017?
>>153882594 Бля ну не знаю. Сейчас хуярю физически за 30к, а как узнаю что соплежуи в конторах требуют в испытательный срок минимум 40-50к - волосы на жопе встают от борзоты.
>>153882748 Года 3 пердолинга на AVR, потом на STM32 перекатился и немного работал с ESP8266, сейчас поглядываю в сторону ESP32 (вайфай, блютуз, 160 мгц с разгоном до 240, 2 ядра, шифрование и полный фарш 32битных мк вроде STM).
>>153881094 (OP) Есть элитные языки, которые очень сложно освоить, эти специалисты ценятся на вес золота и их с руками отрывают топовые компании. Это c++, ява и подобные. И есть говно для вёрстки гостевух, типа жабаскрипта и питона. Если ты дерзок и смел можешь попробовать вкатиться в нашу секту, сам я явист.
>>153882935 А я хуесосю на ардуине пока что, лол. Пояснишь за работу? Фриланс даже, может. Я не знаю, насколько востребованна эта хуйня, на ардуине я много всякой хуйни только для себя делал, но ты сам понимаешь, какая там разница.
Маня, у тебя там криокапсула протекла? Явистам-джунам откровенно советуют переучиваться на тестеров или фронтендеров - настолько затарен рыночек. Да и сеньоров многие разгоняют - понтов много, выхлопа мало. Миддлы держатся ок, но там и зарплаты сопоставими с пыхо-пидорами, а напрягаться надо куда больше.
Я бы на месте опа в депопсы вкатился - что это такое никто нихуя не понимает, а платят много. Главное с умным еблетом говорить "кубернетес-сворм-докер-содомия-оркестрация-сбор метрик"
В универе не могли найти преподов по современным языкам, и наняли сморчка старого про кобол затирать. А он оказался башковитый, и организовал контору "вам нужен кобол - нам нужны деньги", и начал продавать труд наш банкам у которых дохуя всего на коболе.
>>153883245 нет. это когда админов уволили, показали разработчикам где консоль продакшена и отрапортовали начальству выше, что все круто оптимизировано.
не, вообще новая штука. ты типа когда нужен админ - говоришь что девелопер, когда нужен девелопер - говоришь что админ. нихуя не делаешь, катаешься на конфы, и всем затираешь про виртуализацию, гибридные контейнеры, любовь к сатане, роллинг апдейты и софтваре-дефайнд нетворки внутри докеров внутри вмваре внутри ксенов внутри дедика внутри облака.
>>153881094 (OP) Знать Си недостаточно - это как уметь пользоваться инструментами. Но чтобы зарабатывать, надо знать то, с чем ты будешь этими инструментами работать - устройство ОС, кучу библиотек, кучу деталей и тонкостей. С питоном попроще. Но знать нужно оба, они оба сейчас мастхэв, если ты не для веб пишешь.
>>153883090 Разрабатываешь устройство которое пользуется спросом, но можно сделать лучше (регулятор мощности нагревателей, PID контроллер температуры, контроллер теплицы, йоба домашнюю станцию с веб интерфейсом и т.д.), прикручиваешь свои фишки, покупаешь корпуса (готовые типа на DIN рейку и им подобные), заказываешь печатные платы, запуешь детали на али, выставляешь на нескольких торговых площадках или задвигаешь в местный магазин специализирующийся на продаже такой хуйни. Желательно сделать несколько разных девайсов, если какой-то взлетает, останавливаешься на нем, перекладываешь пайку, сборку на других и нихуя не делаешь.
>>153881094 (OP) В тред врывается IT-тян, и проводит тебе пелоткой по губам. Скорее всего ты лентяй, оп. У нас в оффисе все программисты получают минимум 150к, и это даже не джуниоры, а какие то духи 16-ти летние после школы. Я Синьор спешалист по саппорту, сижу на телефоне и решаю проблемы клиентов, у меня ЗП 500к+ премии, я всего добилась сама, в 20 лет у меня Х6М ProSport Elite Tunning изсалону, элитный тюнинг, занижение -10, музыка HarmanCardon по спецзаказу на 3 миллиона, всего 5 машин в мире, хата на Кутузовском двухуровневая, дом в Италии и земля в Айдахо, на старости заведу ферму и буду пасти там коров. Или что там делают старые фермеры, не знаю. Причём у меня нету богатых родителей, нету отца, мне в 16 лет было нечего есть. Я всего добилась сама и своим трудом. А местных петухариусов, которые создают нытик треды мне искренне жаль, честно. Надо было учиться, а не бухать по подъездам, ныть на дваче и сидеть на шее у мамок.
>>153883420 На асме сейчас пишут катастрофически мало кода. Скажем, 10 килобайт на 10-метровый бинарник в лучшем случае, но чаще полкило на такой же бинарник. И это считая библиотечные функции, которые были написаны на асме.
>>153883444 > IT-тян > Синьор спешалист по саппорту - Ваш звонок очень важен для нас. - (в это же время в корпоратичном чатике) Вась, тут клиент вот такую хуйню спрашивает: "..."
>>153883434 Еще збс вариант, если живешь в районе, где дохуя мелких фабрик (производство ПЭТ бутылок, всяких капроновых мешков и тому подобного, где используется автоматика), с вероятностью 99% у них будет стоять древнее оборудование, которое хоть и хуево работает, но хоть как-то, и из-за которого выходит приличный процент брака. Договариваешься с ними на пробную партию девайсов в несколько штук, если процент брака уменьшится, закажует еще, а потом можно и в инет выкладывать опробованное и доработанное устройство.
доставляет C своей минималистичностью, но он никому не нужен сейчас. Нахуй так жить? В шараге принуждают кодить на плюсах, меня просто выворачивает от этой ебли с ВЕКТОРАМИ АБСТРАКТНЫХ ШАБЛОНОВ КЛАССОВ. Чисто неприятна сама суть, когда ты тупо насилуешь язык (язык насилует тебя), в Си такого ощущения не было никогда, даже если ты не понимал чего-то
Да, няшная сишка - как домашние тапочки, или то самое далекое лето, когда ты не думал ни о чем, ничто тебя не тревожило, и ты бездумно мотался один по безлюдным улицам, залитым солнцем и тишиной.
А плюсы скорее как ебанутая тян - с ней конечно было круто, но как вспомнишь все заебы и истерики - да ну нахуй.
>>153881094 (OP) Абсолютно похуй на каком. Главное чтобы не совсем мусорным был. Бери просто тот, код на котором по твоему мнению приятней выглядит(примеры найдешь). Дело не в языке - любой язык на нормальном уровне можно за пару недель осилить, мб даже быстрее. Главное - научиться программировать.
Не интуитивен он только для левых лохов, решивших "вайти в айти патаму шта там денюжек мноооха плотють, большы чем мастиру на заводи!"
Так что охуенный чек - если человечек жалуется что в виме не разобрался - то человечек говно, и никуда его брать-звать не надо, пусть до конца жизни сайты на пхп делает за 25 долларiв и отзiв.
>>153883957 Те, кто работает на пхп как раз-таки сталкиваются с вимом или нано почти каждый день, когда надо на сервер по ssh зайти конфигурации поправить.
>>153883943 > язык на нормальном уровне можно за пару недель осилить Пару десятков необходимых фрейворков тоже за пару недель осилишь? Всякие подводные камни - тот же undefined behavior в Си?
>>153881094 (OP) Давай начнет с твоего уровня на текущий момент. Чем класс от интерфейса объяснишь? А как определить, что данные попали в регистровую память? А почему запись while i>n do sleep 100, лучше чем while i>n do. Это просто стандартные вопросы на собеседовании. Кароче, если только для денег затея, не советую...
>>153885730 Ещё один петушок с симпл жава программинг головного мозга. Ну давай, теперь расскажи мне в "простой" яве, зачем нужна такая запись this.x=x;
>>153886010 Удивлю. Это ссылка на текущий экземпляр класса, повсеместно используемая для работы с теми же конструкторами. К примеру, что бы из одного конструктора, вызвать другой. Кароче, все ЯСНО@ПРЕЯТНОЕ. Лёгкая Java традиционно для мамкиных ПОГРОММИСТОВ, которые смогли в HelloWorld.java
>>153886154 >Это ссылка на текущий экземпляр класса, повсеместно используемая для работы с теми же конструкторами. Пизданутый хуесос, ссылка на текущий экземпляр класса (ОБЪЕКТ называется) это THIS, а THIS.X это ссылка на ПОЛЕ ОБЪЕКТА, которое может принимать любое значение. Чтобы из одного конструктора вызвать другой конструктор надо в нем ПРОСТО СОЗДАТЬ ЭКЗЕМПЛЯР ДРУГОГО ОБЪЕКТА, ТУПОЙ ТЫ ХУЕСОС.
>>153886154 И никакого отношения к джаве это не имеет, ебанько, эти принципы есть и в питоне, и в джаве, и в сисярпе, и в тайпскрипте, и в с++, и в пхп.
>>153886415 Не знаю, что конкретно для тебя сложно. Пишу различные скрипты, которые плодят процессы и треды, делаю сложные запросы в бд, делал видеочатик на вебртс, писал сервер игры на ноде и 2д-движок на канвасе, подключал систему телефонии на астериске к джанго-црмке, которую сам и написал, сложного в этом нет, но это широкий стек, сейчас пишу на реакт-редакс-тайпскрипте, собираю галпом и вебпаком, умею в докер и вагрант. А что умеешь ты?
Программирование Голубая мечта типикал битарда 2017 года. Ахуенная зарплата, красивый большой офис в модном БЦ, обтянутое кожаное кресло, три монитора по 26 дюймов, макбук, и работа за которую платят за то что ты сидишь и чото там делаешь на компюктере.
А начинается все с одного и того же "АНОНЫ ХОЧУ В ПРОГРАММИРОВАНИЕ ВАШИ СОВЕТЫ КУДА ВКАТЫВАТЬСЯ С/ДОТНЕТ/ЖАВА/КЛОЖУР ? А ГЛАВНОЕ ГДЕ ПЛАТЯТ БОЛЬШЕ???"
И блять почему всегда все воняют вокруг какого то конкретного яп? Программирование это всегда в 99% обработка каких то данных, а яп это только инструмент обработки под конкретную структуру и объемы. Я к тому что сначала нужно определиться с чем ты хочешь работать, а уже потом подбирать нужный инструмен. А ставить C и Python в один ряд, ебать нахуя?
>>153886603 >почему всегда все воняют вокруг какого то конкретного яп? Потому что у работодателей используются определенные технологии, выбор которых обусловлен бизнес-процессами, что в свою очередь ведет к появлению вакансий, что возвращает к выбору конкретного яп и конкретных технологий.
>>153886603 >три монитора по 26 дюймов, макбук СУКА!!! КАК ТЫ УЗНАЛ?! И ДА, У МЕНЯ ДВА, ДЖВААА, ПИДОРСКИХ МАКБУКА! Как же я хотел бы это променять на тихий сервер по ссш и уютный дебиан.
>>153886476 В таком случае я думаю ты знаешь, что нельзя назвать синглтон/борг однозначно антипаттерном и всё зависит от ситуации. И мне непонятно твое предполагаемое допущение. В докер сейчас не умеет только ленивый поскольку порог вхождения крайне низок, правда если ты умеешь в докер и осознаешь концепцию 12 factor application непонятно зачем ты плодишь процессы и треды. Может и в оркестрацию умеешь swarm/kubernetes? ci/cd?
>>153886674 Стать очередной веб-макакой? Язык простой, куча умственно отсталых в него вкатывается, от того конкуренция огромная, а зарплаты относительно маленькие.
>>153886709 Нет, сейчас на нём всё пишут, даже нейросети и ИИ, можно сразу идти в бигдату, если его знать и ещё немного чего-нибудь знать. Это лучший язык для изучения сейчас, а зарплаты достойные, и если быть хорошим специалистом, то очень и очень высокие.
>>153886694 Я имел в виду контекст, в котором он становится анти-паттерном. Что касается оркестрации, ci/cd и swarm/kubernetes, то с первым и третьим не знаком, а второе знаю только концептуально. Там, где я работаю, надо закрывать таски, особо нет времени интегрировать что-то новое. Пложу процессы и треды, потому что это быстрее и привычнее, один обслуживающий скрипт на питоне, который запускается по крону.
>>153886727 Ты это говоришь с высоты какого положения? Потому что пхп слишком узок в своей направленности, да и как язык обучения он так себе. Для сравнения, всякие джависты, крестовики и питон-челы более перспективны и зарплаты у них больше, да и работа там более интересная попадается.
>>153886804 можеш развернуто ответить, что по твоему мнению нельзя , нормально, написать на PHP и почему? И естественно я не о написании драйверов к видео карте спрашиваю, а хотябы о том что можно, по твоему мнению, написать на python и нельзя на PHP ?
>>153886860 Дело не в этом. Вопрос в том, что лучше писать на python а что на php. Сайт, знаешь, и на сишке написать можно. Но никто этого не делает, так-как есть бекэнд стак. Так же никто не пишет .exe файлы на php, так-как есть язык более пригодные для этого.
собственно все языки программирования примерно одинаковые. Да, везде есть своя специфика: где-то есть байтоёбство даже в высокоуровневых структурах (кресты), где-то наоборот для того, чтобы создать структуру нужно изъебнуться и накостылить (перл). Есть языки, где на любой чих есть либа, но ни одна из них не решает твоей задачи в точности, а для того, чтобы ёё решить надо либо сделать свою либу, либо закостылить что-то, поэтому ты кодишь вопреки (java). Есть языки, где всё похоже на пиздец и хуй знает, как это поддерживать, но все на этом пишут (Javascript) Отака хуйня
>>153886860 Опять же, сейчас можно что угодно писать на любом языке программирования, это понятно, но тут есть такая вещь как на сколько это эффективно. ПХП заточен под сайты, на нём можно писать и другие вещи, но работадатели будут требовать от тебя сайты. То есть, вся твоя работа на ПХП акроме сайтов можно сказать впустую. А питон - раздолье, на нём пишут игры, приложения, серверную часть, скрипты, в научной сфере очень его котируют и много публикаций на нём.
>>153886916 >Есть языки, где всё похоже на пиздец и хуй знает, как это поддерживать, но все на этом пишут (Javascript) Как там в 2012? Давно завезли TypeScript, Flow, npm, webpack, AMD и т.д. и т.п.
>>153886880 >На пхп отстойно работать с вебсокетами (кушает память). ну вот откуда такой бред? Писал вебсокеты на чистом PHP, а также в связке RabbitMQ+PHP и все охуенно работает.
>>153886880 >На пхп отстойно писать обслуживающие консольные скрипты.
ну это вообще бред человека который не разу консольку на PHP неписал. У меня 60% всех консольных скриптов на PHP, остальные на Perl (раньше писал). Пробовал писать их на Python, это какойто пиздец, как только нужно чтото не стандартное, начинаются жудкие костыли и горождение немерных зависимостей, причем даже в самых элементарных местах
>>153886973 >ну вот откуда такой бред? Писал вебсокеты на чистом PHP, а также в связке RabbitMQ+PHP и все охуенно работает. Ты смотрел, сколько это кушает памяти? А сколько это займет, используй ты ноду и сокетио? А сколько, используй ты питон и фласк? А как быстро можно запустить такое приложение? А насколько легко его поддерживать?
>ну это вообще бред человека который не разу консольку на PHP неписал Писал кроновые скрипты. На питоне их писать на порядок удобнее.
>>153886916 Какой-нибудь Prolog сильно отличается от Erlang, который в свою очередь сильно иной в сравнении с сишкой. >>153881094 (OP) Вначале на первом, потом на втором.
>>153886937 >А питон - раздолье, на нём пишут игры, приложения, серверную часть, скрипты, в научной сфере очень его котируют и много публикаций на нём.
Но только если ты повнимательнее посмотриш на эти проэкты, то поймеш что все это пробы пера, после которого все перепсывалось на Clang или чтото другое. Все эти приложения на Python жудко проблемные, а некоторые вообще, из за того что на нем писались, убили продвижение новых идей в массы, пример BitMessage, который весь на питоне, и при отправке и получании собщении тормозит как говно, иногда виснет до даже 2 минут и это на нормальных компах
>>153887038 >У пхп в глобальном неймспейсе вообще все зависимости.
хотябы погуглил что такое зависимости, перед тем как такое высирать. Да и причем тут глобальный неймспейс? Ну он есть и что в этом плохого, так и должно быть! При этом, есть объекты, со своим неймспейсом, плюс есть Namespaces для разграничения.
>>153886925 haskell тоже примерно одинаковый, там всё различие исключительно из-за хуёвой документации, когда даже какие-то банальные вещи описываются так, что ты не просто родил 10 строчек говнокода, а диссер прямо тут защитил. В итоге получается, что ты открываешь любой мануал и охуеваешь от монад, свёрток и стрелочек, каждая из которых описывает какую-то банальщину: последовательное выполнение функций с непредсказуемым результатом, функцию, принимающую список и возвращающую одно значение или передачу результата одной функции в качестве аргумента другой.
>>153887053 Нет, мне самому питон не нравиться, я считаю его жутко неудобным и проблемным. Но для обучения и своих проектов вполне себе. Питон благодаря огромному количеству библиотек на разные темы позволяет неплохо так освоить различные ипостаси программирования и понять, к чему лежит душа.
>>153886942 там в 2017 есть дохуя диалектов того же тайп скрипта, а ещё есть люди, которые считают, что npm install && npm server это способ развернуть приложение на продакшене и это-то в изолированной среде, ога.
>>153887146 >Ты щас спизданул, что у питона стандартная библиотека хуже что ли? Про стандартную не говорил, но раз ты спросил, то да конечно хуже, у php в стандартной дохуя функций для работы с темиже строками и массивами, у python в стандарте такого нет
>>153887129 Во-первых, я говорил про клиент, и он у тебя, очевидно, есть. Во-вторых нахуя ты сам к себе подключаешься, ебанат? В-третьих, sshd на маке поднимается одной командой или пятью кликами.
>>153887202 Значит, с зависимостями разобрались - import мало отличается от require_once. На счет стандартной либы - да в пхп, блядь, функции для работы с массивами массив принимают то первым, то вторым аргументом, это что за хуйня? А в питоне достаточно всего и для списков и для строк. Те же слайсы, это просто божественная опция. А encode/decode чем тебе не угодили?
>>153887044 я писал и на сишке и на erlang, есличо. да, там есть мощные вещи типа тех же описаний функции, которые по сути компилятся в switch case: jopa("a") -> action_for_a(); jopa("b") -> action_for_b(). Это, кстате, взято из пролога, да spawn/3 тоже охуенне.
>>153887130 Что же там такого проблемного, кроме динамической типизации? Все, что проседает по CPU выносится в сишные модули. GIL проблема, но не настолько критичная. GC полезен, у тебя же не real time или bare metail. Только не говори про отступы, иначе я тебе ебало разобью.
>>153887159 туть есть две вещи: 1) у npm есть экшон install и isntall, но это так чисто поржать 2) собственно всё это хорошо, когда ты это деплоишь в топке локалхоста, а когда у тебя есть 3 десятка серверов в закрытой сеточке и тебе это нужно поддерживать
>>153887249 Абсолютно разные парадигмы же. Попробуй на сишку Okasaki перевести, охуеешь. Нет, в принципе можно, но ты для этого свой говнолисп изобретешь, с GC и lazy evaluation. А уж упомянутый pattern matching особо отношения к парадигме ни имеет, просто сахар, вырастающей из наличия человеческой системы типов.
>>153887216 То как osx может работать с озу, на данный момент не может не даже пропатченое ядро. Пожалуй это единственное за что я люблю мак. В остальном, после настройки iterm, и vim. Разницы между линью не вижу.
Не понимаю людей который не обоснованно полевают говном ту или иную ос
>>153881094 (OP) Хаскель охуенный язык, базарю. Только сложный. Но охуенный. Но работы на нём мало, нет практически, так что питухон и жава. Слышите, хацкеры, какого хуя я только с Китая капчевать могу? Что за нахуй?
>>153887327 вот, честно говоря, на erlang можно писать почти как на няшной сишечке, но без вот этого всего передачи указателей в функцию и с принудительным final (это джавовское, да), для каждой переменной.
>>153887458 Хаскел сильно сложный, в этом его проблема. Нужно реально разбираться как оно все под капотом работает, а оно сильно нетривиально, иначе сразу же получишь thunk-hell. А еще все новые фичи ни хуя не документирую толком, все эти линзы-хуинзы и прочее говно, только и остается что сорцы читать, по-другому никак. >>153887468 Чувак, ты немного не в теме про что разговор вообще. Приходи лет через 5.
>>153887522 Я вот ща пойду курить и перед этим скажу тебе, что если честно не считаю Хаскелл языком программирования лол, это короче РЕДУКТОР ВЫРАЖЕНИЙ, во. Как тебе такая мысль?
>>153887458 А вторая проблема в том, что чтобы заимплеменить какое-нибудь тривиальное, но кастомное говно, вроде очереди с приоритетом и хеш-таблицей перед ней (на деле любой алгоритм или структуру данных), нужно изебнуться только так. Ансейфы-хуейфы, везде стрикт где только можно и прочая объебосина. В итоге, все вырождается в тупую сишку с кучей костылей для обхода, собственно, хаскеля.
А вообще никому не советую тратить свою жизнь на программирование. В жизни много более выгодных и интересных вещей, которые принесут больше денег без мучений.
Например, 3D скульптинг, рисование спрайтов, написание музыки и саундтрэков, даже просто банальное умение сверстать сайт может принести больше радости и денег, чем фундаментальное программирование.
>>153887608 >банальное умение сверстать сайт может принести больше радости и денег, чем фундаментальное программирование. Нихуя не больше и не больше радости.
>>153887604 >не язык программирования а редуктор выражений Так о том и речь, такое чувство, будто программирование на ХАскеле это костыльное его применение, типа кто-то его так популяризовать решил, а нормальное его применение это автоматическое доказательство теорем какое-нибудь.
>>153887551 Ну епта, оно все редуктор выражений, у тебя весь комп это конечный автомат, как ты не крути. Если ты конкретно про applicative order, то какой-нибудь лисп (но не CL) поприятнее будет.
>>153887672 Ну не, всё же там всё совсем по другому принципу строится. То есть понятно, да, но тут заточка конкретно под академические задачи. >А вторая проблема в том, что чтобы заимплеменить какое-нибудь тривиальное, но кастомное говно, вроде очереди с приоритетом и хеш-таблицей перед ней (на деле любой алгоритм или структуру данных), нужно изебнуться только так. Ансейфы-хуейфы, везде стрикт где только можно и прочая объебосина. В итоге, все вырождается в тупую сишку с кучей костылей для обхода, собственно, хаскеля.
>>153887627 На заводе программист чпу получает 30-40к в зависимости от опыта.
При этом верстальщик получает 40-80к. Найти работу ему проще.
Программисты уже не нужны практически. Почти везде требуются всякие скриптеры, специалисты по базам данных, сисадмины и прочий скам.
Многие называют их программистами, но это не так. Программист это прежде всего инженер, который не правит код, не пишет скрипты, а именно создаёт приложения, алгоритмы, логику. То есть это не макака, которая по готовому заданию код НАБИРАЕТ.
>>153887710 В лиспах по крайней мере макросы человеческие есть, там легко можно писать высокоуровневое говно, которое будет раскрываться в то, что тебе надо и не больше.
>>153887727 >Программист это прежде всего инженер, который не правит код, не пишет скрипты, а именно создаёт приложения, алгоритмы, логику. Одна из задач программиста это перевести с человеческого на формальный, но это не значит, что остальные не программисты. Все это деление по степени элитарности надумано, реальные задачи требуют реальных трудочасов.
>>153887771 Ну мне вообще кажется, что для промышленного программирования ООП единственная адекватная парадигма. Остальное костыльно как-то выглядит, хз, по ощущением забивание гвоздей микроскопом.
Оп, тебе понадобится сайт. Можешь начать осваивать html. А там и до css с js дойдёт.
Если не зацепит даже это веселье, дальше лучше не суйся.
Ни в коем случае не ебись с компилляторами и крестами как советуют гуру треда. Наоборот, обучаться проще языками высокого уровня, а не учить машинный код, так как макро языки научат тебя думать об алгоритмах и логике, а не о типах и прочих частных вещах, которые ты познаешь намного позже.
Но даже простые вещи могут оказаться дьявольски сложными. Придумай себе причину, почему тебе нужно научиться программировать. Просто деньги это не мотивация, придумай на что ты хочешь заработать благодаря программированию, поставь себе цель и ебошь
>>153887816 Это на самом деле роли не играет, все давно ушли в микросервисы (в большинстве отраслей), так что у тебя практически ветхозаветное ООП из Smalltalk, только теперь средой идет либо HTTP, либо AMQP. А уж что под капотом каждого поебать.
>>153887864 Почему и пишу, что ради поиграться Хаскель заебись выбор. Правда немного математики нужно, ну так это только в плюс же. Бонусом идёт понимание рекурсии, её плюсов и минусов, надобности и ненадобности превращения её в цикл и обратно и вообще много-много плюшек, связанных с типами, пониманием функции как отображения и тд
>>153887885 Когда работаешь с базами данных, постоянно думаешь о сложности алгоритмов и бизнес-логике. Когда пишешь бекенд, постоянно думаешь о бизнес-логике и сложности алгоритмов. И это гораздо больше программирование, чем ковыряние вилкой в памяти. Сейчас программистом должен быть каждый, но при этом он должен быть спецом еще в чем-то.
>>153887864 Вот, кстати, хуй знает. Если начать с высокоуровневых вещей, ОП и через десять лет не будет понимать как работает GC и та же lazy evaluation в хаскеле. Мое ебанутое мнение, что начинать надо с паскакаля (или сишки, если смелый) и дрочева олимпиадных задачек. И только потом можно подпускать к питону и прочему дерьму.
>>153887987 Хз, я тоже вот снизу вверх шёл, с паскаля, потом асм и вверх. Но жалею вот, что не начал с Хаскеля, лол. Блядь, да просто его сектанты делали, как и линукс, обращают в свою веру незаметно для себя!
>>153881722 Пхп+html разметка, css и Ява скрипт. Мускл и жиквери будут хорошим бонусом. Вкатиться быстро, работа независимая, клиентов дохуя. Остальные сиплюсы и Явы для РАБоты в корпоративных концлагерях онли.
>>153887987 Отчасти ты прав. Как бы это ни странно звучало, но синтетические задачи очень хорошо помогают приобрести скилл, который потом поможет в боевых условиях. Так что подрочить какую нибудь абстракщину просто джаст фор лулз бывает крайне полезным. Я вот фапаю на парсинг консолек. Хотя сейчас приперло написать ленивый синглтон для мониторинга fs. Кароче, по возможности, желательно дрочить не только продакшен, но и что то по фану.
>>153888004 Если бы ты шел сверху вниз, ты бы так никогда и не узнал, почему бинарный поиск из книжки говно, как calloc и realloc на линуксах отрабатывают за константное время и почему тебя все хуесосят за удивление вещам вроде 0.1 + 0.2 != 0.3
>>153888039 Блядь, это какой то платиновый вопрос. Во первых Java это слишком абстрактное понятие. Тебе какую Java именно интересно рассмотреть SE(Core)/EE/ME или может что то особое ака EJB интересует? А вообще, почитал бы чтоль про JVM, байткод и вопросы бы сразу отпали.
>>153888090 > почему бинарный поиск из книжки говно Почему? Я и сейчас не знаю, годнота же, разве нет? > как calloc и realloc на линуксах отрабатывают за константное время Потому что не аддитивная там O(n^2), мультипликативная схема перевыделения? выделяется в (1+sqrt(5))/2 раза больше памяти? Я тебе это даже методом потенциалов доказать могу. >удивление А я не удивлён.
>>153888166 Потому что на кэш-миссах всосешь. Дело не в схеме перевыделения, а в том как ядро реализует mmap/mremap, при наивной реализации ты ниже линейной сложности не уйдешь, у тебя копируется (обнуляется) же все, а если грамотно юзать MMU, то можно все за константное время (на самом деле нет, то та функция на всех мыслымых объемах данных неотличима от константной с некоторой константой).
>>153888290 Так я думал ты про calloc realloc. Почему всосёшь? Он будет отрабатывать не за логн, а за линейное? Или типа на самом деле можно сделать всё быстрее, к этому ты пишешь? >>153888300 Ага, вижу, почитаю. Так в чём суть твоего
>>153888239 > при наивной реализации ты ниже линейной сложности не уйдешь >всё обнуляется Не понял, что обнуляется, типа копируется в массив большего размера? А можно прицепить к существующему массиву кусок памяти грубо говоря, ты об этом?
>>153888313 Можно сделать быстрее. Будет все так же логарифмическое, что с сильно меньшей константой. Вся проблема книжек по CS в том, что за big-O они скрывают, что доступ к памяти сам по себе нихуя не константный. IRL на реальных данных больше решают memory access паттерны, а не алгоритмы. В итоге квадратичная сортировка вставками чаще быстрее, чем логлинейная быстрая, например.
>>153888385 Наивная реализация calloc: вызвать malloc и обнулить memset'ом все n байт. Наивная реализация realloc: выделить новый кусок памяти, скопировать все n байт из старого и освободить старый. На деле все решает обьюз MMU.
>>153888410 Как не константный? Константный же, ну я не понимаю просто, хочешь сказать доступ к памяти зависит от длины массива? Типа 5 элемент я достану за 20 единиц времени, а 1 за 1, лол, типа того что ли? А про это где ты прочитал? Дай ссылку. >>153888440 Ну гарантировано математикой линейное время и за линейное всё делается. Так ведь? Или не так? На каком деле? Где это реализовано? Или просто типа хак?
>>153888497 >>153888440 И что будет, если там что-то записано? Короче, это хак типа? Ситуационная тема? Потому что сделали бы так уже везде, если бы было безопасно, наверное.
>>153888518 Это я понял. Или не понял. А то есть короче вся залупа хранится в кэше и тупо оттуда по хитрому берётся имитируя выделение невыделение хуйпампение? > mremap() uses the Linux page table scheme. mremap() changes the mapping between virtual addresses and memory pages. This can be used to implement a very efficient realloc(3). >сделали бы так
>>153887901 > Тогда пусть двигает черепашку Бля, нормальная тема кстати была в 7-м классе. Я там целый ШИНДОШС сделал со своим пейнтом, вордами и играми.
>>153888518 >If you read this function’s code, you first see various arguments checks, and trivial cases being handled (especially shrinking a mapped memory block, which is just freeing the pages on the tail).
The kernel then attempt to expand the mapped area by growing it (as would do an allocator in a C library with sbrk), and successfully return if expanding the area was possible.
>А можно прицепить к существующему массиву кусок памяти грубо говоря, ты об этом?
>>153888525 Речь про разные вещи же. Кеши к бинарному поиску. Обьюз PTE к выделению. Там на самом деле все сложнее еще, так как поверх L1/L2/L3 (которые могут быть псевдо-NUMA) еще вся прослойка виртуальной памяти с TLB и охуевшей схемой инвалидации.
>>153888558 То есть типа есть адрес 12345 в нём 10 байт лежит , то есть там тупо размечено, что конец 12355, при вызове realloc ядро смотрит а там нули ещё до адреса 12555, и такое типа ну ок, и просто там зде записан конец 12355 пишет 12555 тип тго? >>153888572 Дак я уже запутался. Давай про выделение сначала.
>>153888558 Правильно. Смысл в том как конкретно обеспечивается рост региона (и почему, как следствие, копирование почти не нужно). Но в целом один хуй.
>>153888655 Так это же уже не массив технически. Какой-то наёбомассив. Он же непрерывным куском должен быть. Хотя тут тоже непрерывный кусок с точки зрения наблюдателя выходит. Бля. Порвался шаблон. Это только в линупсах так? Потому винда тормозит вечно а тут всё так летает?
>>153888655 Oh, by the way, did you know that O(N) was in many cases misleading ?
In this case, N can be at most 248 (the maximum virtual space size). Most machines only deal with few gigabytes of memory, at most 64GB for most architectures, that is, 236 bytes. A huge page is 221 bytes, leaving 215 operations at most for a mremap (yes, that’s only 32768 operations).
Well, the worst case scenario is cheap in all cases, and this is what I suspected from the beginning. Но погоди, он всё же ни о каком константом времени не говорит.
>>153888676 Он у тебя и так непрерывным быть не обязан, виртуальная память же, страницы по 4 Кб по дефолту. В винде все тоже самое, но как NtAllocateVirtualMemory работает я уже не помню, но realloc там точно нет. Винда тормозит больше из-за дисковых кешей, в линупсах http://www.linuxatemyram.com/ Хотя я виндой после XP не пользовался, не знаю как сейчас.
>>153888738 Все верно, это линейная с очень маленькой константой, близкой к нулю. На реальных объемах (до сотен гигабайт) это все равно что константная.
>>153888745 >виртуальная память же, страницы по 4 Кб по дефолту. Да, вспомнил уже. >>153888769 Да нет же, он пишет что машинам максимум нужен 64 гб памяти, да и то редко, а 2^46 может быть, а по факту 2^15, типа не будет бесконечного роста n, типа память не будет бесконечно долго пытаться выделяться ,но бля, это ведь один хуй не константа, а O(n).
>>153888824 Еще раз: технически это линейная, я в самом начале это написал. Практически: константа настолько мала, что на всех реальных объемах тебе похуй на это.
>>153888864 Да не константа там, почему константа? И наоборот, максимум N настолько максимум, что в среднем даже до половины степени редко когда доходит. А, ну из-за скорости проциков и прочей поебалы да, даже огромный кусок быстро выделяется, ну так если наивно реализовывать будет ну на 1 мс медленнее. И что?
>>153888898 Ну в этом и твоя проблема, что у тебя и там O(n), и там O(N), только первая будет на паре мегабайт за 500 мкс, условно, выполняться, а вторая за 1 мкс. >>153888937 Ты вообще в курсе определения big-O? Или ты на словах не понимаешь отличие константной сложности или константы конкретного алгоритма? Речь про второе.
>>153888984 >первая будет на паре мегабайт Да не будет, лол, он рассматривал худший случай The problem is to understand if the reallocation strategy is good enough. If you take a look at the complexity, assuming realloc is O(N), you quickly conclude that adding a single byte is on average O(1), which is good.
But what is the worst-case complexity, when reallocating a buffer ?
Эта N на худший случай, то есть если все эти хитрости не прошли, блядь. И вообще это был ответ на вопрос
Guy: Are you sure this is the good strategy ? It looks like you have a big performance issue if you extend the size of a large array – say, one gigabyte for example. Imagine the impact, especially if the buffer has to be moved from the swap.
Типа может вообще выделить здоровенный кусок и не париться сразу. >Ты вообще в курсе определения big-O? Или ты на словах не понимаешь отличие константной сложности или константы конкретного алгоритма? Речь про второе.
>>153889020 Ты какой-то дурачок. ITT речь и шла про худший случай, про что статья и написана. Одно дело ты копируешь гигабайт холодной, потенциально выгруженной в своп, памяти, совсем другое лишь трогаешь ~1 Мб горячей. И там, и там линейная сложность, но константы сильно разные.
>>153889216 В худшем случае там тоже будет копирование гигабайта холодной памяти. Просто благодаря исхищрениям это происходит крайне редко. Но даже когда происходит происходит быстро, потому не нужно придумывать реализации перевыделния памяти через связный список или как-то ещё,вот главная мысль статьи. Ты читал анусом. И сука, ещё раз скажешь константы я тебе лицо обглодаю, мудак.
>>153889279 > там тоже будет копирование гигабайта холодной памяти. Похоже, это ты у нас жопочтец. - instead of copying entire pages of 4KB (or 2MB for huge pages), we are swapping integers inside the kernel structure - we are touching hot structures in the kernel, neither cold memory, nor bytes swapped on disk Therefore, we are O(N), but with a huge divisor. > ещё раз скажешь константы я тебе лицо обглодаю Подучись сперва, ебанат. https://en.wikipedia.org/wiki/Big_O_notation That is, f(x) = O(g(x)) if and only if there exists a positive real number M and a real number x_0 such that |f(x)| <= M |g(x)| for all x >= x_0. M здесь это константа, про которую я тебе, блядь, десять постов твержу. У разных алгоритмов разные константы сложности.