Копипаста:Программирование
Материал из Lurkmore
Разнообразная копипаста, связанная с программированием, живущая преимущественно в соответствующих разделах борд.
[править] Забей на SICP/TAPL/HtDP парашу
Забей на SICP/TAPL/HtDP парашу. Сразу читай Lambda The Ultimate, затем OnLisp, наконец плавно переходи к Introduction to MIPS Architecture - идеальная архитектура для реализации своего первого Lisp-компилятора на основе CPS. Если интересуют структуры данных, то только MIT-овский 6.851 Advanced Data Structures. Виртом и Ахо-Копрофтом можешь сраку подтереть. Кнута не читай, ему есть адекватная замена - книга Hacker"s Delight.
[править] Ответ
Забей на Lambda The Ultimate/OnLisp/Introduction to MIPS Architecture парашу. Сразу читай SICP, затем TaPL и наконец плавно переходи к HtDP - идеальное руководство для реализации своего первого первого полноценного проекта. Если интересуют структуры данных, то только Аховский Data Structures and Algorithms. Маккарти и Тернером можешь сраку подтереть. Уоррена не читай, ему есть классическая замена - книга The Art of Computer Programming.
[править] Python
Завтра ищешь в интернете книжку Dive into python. Похуй если ничего не поймешь. Затем идешь на python.org и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию питоньего кода - PEP8, чтобы от зубов отскакивало. Когда напишешь свою первую имиджборду, по пути изучив верстку на html+css, скачиваешь и изучаешь любой питоний асинхронный вебсервер, рекомендую Tornado или Gevent. Как переделаешь имиджборду, чтобы выдавала по крайней мере 5 тысяч запросов в секунду, можешь идти дальше - тебя ждет увлекательный мир хайлоада. Apache Hadoop, сверхбыстрые асинхронные key-value хранилища, MapReduce. Отсос хиккующих выблядков / просто неудачников типа рейфага или сисярп/джава-хуесосов, которые сосут хуй по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь[1] при одном упоминании твоей зарплаты.
[править] Компиляция
Забей на SICP/TAPL/HtDP парашу. Завтра ищешь в интернете книжку Dive into python и перепидорашиваешь под себя, что грузовой бобрик будет течь при одном упоминании капустный бархан. Ебать, если вы не понимаете.
[править] Только хардкор!
- ПАЦАНЫ, Я КОРОЧЕ ШЕЛ СЕГОДНЯ ПО ОФИСУ И УВИДЕЛ ПРОГЕРА В МАЙКЕ "С# IS THE FUTURE", НУ Я ПОДСКОЧИЛ К ЕГО КОМПУ И РЕЗКО НАПИСАЛ "std::cout << std::endl;" И ПОЯСНИЛ ЭТО ОДНОСТРОЧНЫМ КОММЕНТОМ, ПОТОМУ ЧТО Я УГОРЕЛ ПО ПЛЮСАМ, ПАЦАНЫ ДУХ ООП ЖИВЕТ ТОЛЬКО В МНОЖЕСТВЕННОМ НАСЛЕДОВАНИИ, ГДЕ В ПЕРЕГРУЗКЕ ОПЕРАТОРОВ НА ОДИН ПАРАМЕТР МЕНЬШЕ, ГДЕ ЕБАШАТСЯ ПО СТАТИЧЕСКИМ МАССИВАМ, ГДЕ ПАЦАНЫ ЖИВУТ УКАЗАТЕЛЯМИ, ЧИСЛЕННЫМИ ЗНАЧЕНИЯМИ В УСЛОВИЯХ И ЕБУТ СБОРЩИКИ МУСОРА В РОТ! ТОЛЬКО С++, ТОЛЬКО ХАРДКОР!!! СТРАУСТРУП ХАРДКОР С++!!! пацаны ебашьте дельфикодеров, шарперов, пехапешников, жаверов, угорайте на компиляции в машинный код, любите Страуструпа, плюсокодеров и IDE! ГОВОРИТЕ ОТКРЫТО И СМЕЛО ПРЯМО В ЛИЦО! С++!
- ПАЦАНЫ, Я СЕГОДНЯ ШЁЛ КОРОЧЕ ПО ОФИСУ И УВИДЕЛ ЗАПУЩЕННУЮ СПЕРМЕРКУ А РЯДОМ КЛОУНА В МАЙКЕ "ENTERPRISE PROGRAMMER", НУ Я ПОДСКОЧИЛ И РЕЗКО ДЕИНСТАЛЬНУЛ НА МАШИНЕ NЕТ ФРЕЙМВОРК К ХУЯМ: И ПОЯСНИЛ ЕГО КРИКОМ "НЕ ЛЮБЛЮ УПРАВЛЯЕМЫЙ КОД", ПОТОМУ ЧТО Я УГОРЕЛ ПО ДИСТРИБУЦИИ РЕГИСТРОВ, ПАЦАНЫ ДУХ СТАРОЙ ШКОЛЫ ЖИВЁТ ТОЛЬКО В СТАТИЧЕСКИ ЛИНКУЕМЫХ ЛИБАХ, ГДЕ ИНКРЕМЕНТИРУЮТ УКАЗАТЕЛИ, ГДЕ КОДЕРЫ ЖИВУТ KERNEL.DLL, USER32.DLL И ЕБАШАТ АНСЕЙВ КОД! ТОЛЬКО ПУР CИ, ТОЛЬКО ФАСМ!!! ЮНИТИ УЛЬТРАХОРДКОР mov edx, dword [esp+4*eax+8]!!! Пацаны, компиляйте в нейтив, дебажте идой, прописывайте относительные смещения, сбрасывайте регистры флагов, цените свободу! ПИШИТЕ БЛОКНОТОМ СМЕЛО И ПРЯМО В БИНАРНИК! 0xDEADBEEF!
- ПАЦАНЫ, Я СЕГОДНЯ ШЁЛ КОРОЧЕ ПО ГОРОДУ И УВИДЕЛ ЧЕЛА В МАЙКЕ "Я ЛЮБЛЮ СИШАРП", НУ Я ПОДСКОЧИЛ И РЕЗКО ПЕРЕЕБАЛ ЕМУ В ЩЩИ С ВЕРТУШКИ И ПОЯСНИЛ ЕГО КРИКОМ "НЕ ЛЮБЛЮ ООП", ПОТОМУ ЧТО Я УГОРЕЛ ПО ЛИСПУ, ПАЦАНЫ ДУХ СТАРОЙ ШКОЛЫ ЖИВЁТ ТОЛЬКО В ФУНКЦИОНАЛЬНОМ ПРОГРАММИРОВАНИИ, ГДЕ ЕБАШАТСЯ ПО ХАРДКОРУ, ГДЕ ПАЦАНЫ ЖИВУТ ЛИНЕЙНЫМИ СИМВОЛАМИ, ХВОСТОВОЙ РЕКУРСИЕЙ И ЕБУТ СИСТЕМУ В РОТ! ТОЛЬКО ЛИСП ТОЛЬКО ФУНКЦИИ, ТОЛЬКО СКОБКИ!!! ЮНИТИ УЛЬТРАХАРДКОР ЛИСП!!! пацаны ебашьте дотнетоблядей, сишарперов, одинесников, формошлепов, быдлокодеров, угарайте по рекурсии любите Лисп, списки и Скобки! ГОВОРИТЕ ОТКРЫТО И СМЕЛО ПРЯМО В ЛИЦО! ЛИСП!
- ПАЦАНЫ, Я СЕГОДНЯ ШЁЛ КОРОЧЕ ПО РЫНКУ И УВИДЕЛ ЗАДРОТА В МАЙКЕ "HASKELL", НУ Я ПОДСКОЧИЛ И РЕЗКО ПЕРЕЕБАЛ ЕМУ В ЩЩИ С ВЕРТУШКИ И ПОЯСНИЛ ЕГО КРИКОМ "НЕ ЛЮБЛЮ ФУНКЦИОНАЛЬНОЕ ПРОГРАММИРОВАНИЕ", ПОТОМУ ЧТО Я УГОРЕЛ ПО ООП, ПАЦАНЫ ДУХ СТАРОЙ ШКОЛЫ ЖИВЁТ ТОЛЬКО В КЛАССАХ, ГДЕ НАСЛЕДУЮТ И ПЕРЕОПРЕДЕЛЯЮТ МЕТОДЫ, ГДЕ ПРОГРАММИСТЫ ЖИВУТ ИНКАПСУЛЯЦИЕЙ, ПОЛИМОРФИЗМОМ И ЕБУТ ЛЯМБДА ИСЧИСЛЕНИЕ В РОТ! ТОЛЬКО С++, ТОЛЬКО ЯВА!!! пацаны ебашьте лисп, хаскель, эрланг, угорайте на питоне, любите свой Smalltalk, Ruby и Perl! ГОВОРИТЕ ОТКРЫТО И СМЕЛО ПРЯМО В ЛИЦО! ПАТТЕРНЫ ПРОЕКТИРОВАНИЯ!
- АНОНИМНЫЕ ЭКСПЕРТЫ, Я СЕГОДНЯ ШЕЛ ПО ИНСТИТУТУ И ВДРУГ УВИДЕЛ ПИТОНОЁБА В ФУТБОЛКЕ "I LOVE PYTHON", НУ Я РЕЗКО ПОДСКОЧИЛ К ДЕКАНАТУ, РЕШИТЕЛЬНО ЗАБРАЛ ДОКУМЕНТЫ И ПОЯСНИЛ ИХ КРИКОМ "НЕ ЛЮБЛЮ ПРЕСМЫКАЮЩИХСЯ"! ПОТОМУ ЧТО Я УГОРЕЛ ПО RUBY, ПАЦАНЫ, ДУХ Smalltalk ЖИВЕТ ТОЛЬКО В РУБИ, ГДЕ ФУЛЛ ООП, ГДЕ РУБИСТЫ ЖИВУТ МЕТАПРОГРАММИРОВАНИЕМ И ЕБУТ ОБГВИДКОВ В РОТ! ТОЛЬКО RUBY, ТОЛЬКО ДИНАМИКА, ТОЛЬКО ООП!!! ПРИМЕСИ ИТЕРАТОРЫ ОБЪЕКТЫ!! РУБИСТЫ, не учитесь со ПЕТОНОЁБАМИ, УГОРАЙТЕ в настоящем ЯЗЫКЕ, любите РУБИ, ОТКРЫТО И СМЕЛО ОТЧИСЛЯЙТЕСЬ, ПЕРЕВОДИТЕСЬ НА ДРУГОЙ ФАКУЛЬТЕТ!
[править] О разработчиках
Я считаю, что разработчик - тот кто может решать практические задачи и получать за это деньги. Ильхам Зюлькорнеев - разработчик. Павел Дуров - разработчик. Борис Нуралиев и Евгений Касперский - разработчики. А /c/ целиком состоит из теоретизирующих задротов, которые никогда не достигнут таких высот и не заработают столько денег, как Паша или Ильхам.
Причем фундаментальная ошибка заключается в отнесении себя к некой категории "небыдла". Дело в том, что разработка ПО никогда не являлась самоцелью. Использование небыдлоязыка или красивого архитектурного решения оправдано до тех пор, пока его применение находит отражение в потребительских качествах продукта, и имеет тем большую ценность, чем большей аудитории улучшение потребительских качеств будет доступно и понятно. Т.е. я хочу сказать, что продукт должен быть наоборот максимально быдло-ориентирован, учитывать его интересы, сделан под него. Это касается и разработки средств и библиотек, а также к выбора средств разработки. CMS система, написанная на PHP и работающая на нищебродских хостингах обладает гораздо большим рыночным потенциалом, чем какая-нибудь астральная фигня на лисповском uncommon web-е. Если эта еще и интегрируется с 1С а также имеет маркетинговую поддержку от производителя, но позволяет разработчикам самостоятельно зарабатывать на лицензиях (т.е. получать деньги фактически ничего не делая) - то её потенциал еще выше. Деньги всегда были и будут в "быдло-технологиях", то, что произошло с Viaweb (кстати, "илитность" его заключаась только в выбранном языке, сам проект - типичное веб-говно для быдла) - нелепая случайность, одна на весь мир, возникнувшая на перегретом американском IT-рынке до краха доткомов. Так что учите PHP и 1С, вся ваша математическая хуита и небыдлоязыки никому даром не нужны.
[править] Установи мне программу
Ты знаешь, это очень обидно, когда какой-то уебок подходит, и говорит "ты же программист, установи мне программу". Это не работа программиста, говно.
[править] Многопоточное программирование
ОП, вкуривай join calculus, pi-calculus, temporal logic of actions и прочую годноту. Программируй на Хаскелле, используй STM, DPH, CHP, пиши свои реализации. Не зашкварься о кресты или интелевские либы, эта хуита для быдла, которое не умеет ничего, кроме С/C++ и ни на что большее, чем написать #pragma omp for чтобы фор распараллелися не способно.
[править] 1С
Говорят, что программист 1с нужен на предприятии лишь затем, чтобы осуществлять проводки "задним числом" и править базу в обход его (1с) родных алгоритмов (нестандартные, но востребованные, операции и суровая реальность этой страны), со всем остальным тупо справится админ, да и с этим тоже, но ленится/брезгует/не хочет брать на себя чужой геморой. Грубо говоря - живой компонент системы (обезьяна). Иначе просто не объяснишь их востребованность там, где готовых решений больше, чем снега зимой. Кстати, большинство из них и работают за зарплату, на которую реально можно купить только миску супа и оплатить коммунальные услуги на одного человека, хорошо хоть работенка у них не пыльная особо и можно взять что-то по совместительству (например, мыть полы в офисе).
Естественно, он может попасть под раздачу, если главбуха и директора начнут ебать за всякую нелегальщину, допущенную случайно или намеренно (это его вторая основная функция в предприятии, хорошо ему, что органы у нас ленивые, а начальство похуистичное, но бывает влетает так, что мама не горюй! Особенно если он молодой и глупый). Ну уж о том, что ему каждый день приходится подставлять жопу и убирать погадки за каждой тупой, ЧСВшной и капризной планктониной, говорит сам Капитан Очевидность.
Встроенный в 1с ЯП - это глумление над мозгом русского человека, а для русского программиста - это глумление над мозгом в квадрате. Кто видел, тот поймет, остальные - остерегайтесь! Радует то, что программировать там особо нечего не надо, кроме см. выше.
Ну а во всём остальном (читай во внешности) типичный 1с-программист похож на типичного айтишника (в представлении неайтишников): небритая рожа, мятый костюм, грязный свитер, пивной перегар и геморой на полжопы. Но в душе он бухгалтер! Конечно, бывают совсем молодые, только что с вуза/техникума, но они быстро исправляются.
[править] Функциональщина
Точка зрения любителей ФП.
[править] Языки программирования
[править] Мэйнстрим
(область с заторможенным временем, в которой работает 99% программистов. Время заторможено потому, что в серьезном бизнесе сделать за предсказуемое время важнее, чем быстро. Сейчас в мейнстриме примерно 1975-ый год):
- C (няшная сишка) - самый простой и убогий язык из тех, что используются на практике. Более убогий - только брейнфак. Единственное выразительное средство - копипаст, для автоматизации которого есть даже специальный второй язык-препроцессор. Делает решение любой задачи нетривиальным, так что его решение задач с его помощью может требовать высокой квалификации. Тем не менее, типичная няшаблядь ничего не знает и не умеет. Даже дибиловатый обгвидок знает, помимо гвидопыха, еще и сишку, но сишкаблядь не знает ничего кроме нее. Языком владеют почти все, но только няшаблядь этим знанием гордится, остальные стыдливо скрывают. Также няшаблядь может ошибочно считать что знает C++ или несуществующий язык C/C++. Благодаря C компьютерные программы - самое ненадежное из всего созданного человеком.
- C++ (кресты) - самый сложный и уродливый (и то и другое временно, появился быстро развивающийся соперник) из языков, использующихся на практике, но выразительность его невелика. Усовершенствованная сишка. Сложность использования повышает ЧСВ крестобляди до заоблачных высот, но вменяемая крестоблядь понимает, на каком говне пишет и постоянно пытается себя загипнотизировать. Поэтому любое упоминание крестов в негативном ключе вызывает атомный батхерт крестобляди и обвинения в некоем "неосиляторстве". Насчет неосиляторства крестоблядь, обычно, права - это вообще распространенное явление. Интересно, что до недавнего времени неосиляторами были даже разработчики большинства крестокомпиляторов. Тем не менее, по мере "осиливания" крестов, мнение о них может меняться только к худшему.
- Java (жаба) - кобол нашего времени. Убогий и примитивный, но простой язык. Хорошо подходит для написания зиллионов строк кода быстро-быстро, пока солнце еще высоко. Наряду с крестами - один из самых массово используемых языков.
- C# (сисярп) - зародился в недрах микрософта из-за анальной копирастии Сан и отсутствия стандарта жабы как сплав жабы и сишки, но впоследствии стал самым уебищным, но единственным в мейнстриме ФЯ. Уверенно движется к тому, чтобы отобрать у крестов лавры самого сложного и уродливого языка. 80% программистов на нем знают и используют только его 20% подмножество - жабу. Попытка микрософта насильно осчастливить жава- и крестоблядей для последующего захвата и порабощения, о чем неустанно предупреждают ведущие мозолееды. Кресты двухтысячных.
[править] Немейнстрим
(не используются на практике, программисты знающие эти языки, на работе пишут на других, указанных в конце):
- ML (стрелочное эмелеговно) - старейший ФЯ, многое в нем напоминает современные языки, но сделано впервые, а потому криво и уродливо. Уебищность эмеля и его производных часто связывают с практичностью, потому как все языки используемые на практике (мэйнстрим) непереносимо уебищны, что позволяет надеятся на то, что и эмелеговно тоже скоро к ним присоединится. Любой программист на эмеле - будущий программист на хаскеле, который пока боится привыкнуть к хорошему и блевать кровью на работе. Типичная эмелеблядь пишет на работе на крестах или сисярпе.
- Haskell (хаски) - условно современный ФЯ, являющийся, разумеется, говном, но несколько менее вонючим, чем остальное здесь перечисленное. Имеет подмножество Haskell 98 для обучения второкурсников, на котором даже факториалы и фибоначи нормально не напишешь и раковую опухоль, которая его убивает - стандартную прелюдию. Несколько сниженная в сравнении со средним уровнем говенность хаски - основная мишень для критики. Дело в том, что он, по всей видимости, недостаточно уебищен для мейнстрима, да еще и вызывает головные боли и тошноту у знающих его программистов, когда те отрабатывают свой кредитный фокус-покус на работе. Типичная хаскиблядь зарабатывает на жизнь программированием на сисярпе, крестах.
[править] Скрипты
(применяются для обучения, администрирования и лепки гостевух, но есть и единичные примеры использования не по назначению, для написания программ. Вместо программы, впрочем, получается гигантский скрипт на выброс)
- LISP (скобочное говно) - один из самых старых скриптов, до начала семидесятых даже использовавшийся в качестве эрзац-ЯП, за неимением ничего лучшего. На заре его существования был игровой площадкой для монстров CS, которые вскоре положили на него хуй и пошли лепить алгол. Последний крупный проект (то, что сейчас называется Axiom/Open CAS) стартовал в 70-ом году. В настоящее время форсед-мем школьников и первокурсников. Типичный скобкошлеп берет деньги у мамы.
- Scheme - скобочное говно, сделаное правильно. К алголу приделали скобки и получился лучший скрипт для обучения первокурсников и, возможно, лучший скрипт вообще, но в этом имеет сильного соперника. Типичный схемоеб получает стипендию и денежные переводы от мамы из Крыжополя.
- SmallTalk - скрипт, придуманый для обучения программированию детей-дибилов и лучший скрипт всех времен и народов. IBM решили, что для индустрии это как раз то, что надо и пытались его пропихнуть. FIAL. Тем не менее, индустрия таки заразилась от него всеми спидами. Баззворды "ООП", "паттерны проектирования", "юнит-тесты", "рефакторинг", "MVC", да и все остальные пришли в мейнстрим из смолтока. Типичный смолтокоеб на работе пишет на жабе.
[править] Пыхоплеяда
Не смотря на то, что схемка и смолток делают остальные скрипты совершено ненужными, массы динамических петушков выбирают ПЫХОПЛЕЯДУ (Perl, PHP, Python, Ruby). ПЫХОПЛЕЯДА - это высеры ГСМ-ов и неграмотных долбоебов, которые проделали большую работу изобретя колесо (квадратное) - чукча не читатель, блеать. Пыхоплеяда состоит из протопыха (слишком переподвыподвывернут для петушков, известно, что новейшую версию первоначально удалось реализовать только на хаскеле), пыха - классика гостевушного жанра, гвидопыха и джапопыха. При этом, если гвидопых отличается от пыха только ЧСВ гвидопыхеров, упивающихся своей невъебенной илитностью, и наличием у хуесосов харизматичного фюрерка, то джапопых действительно несколько более продвинут, и в мокрых фантазиях джапопыхеров является смолтоком. Знатоки пыхоплеяды лепят гостевухи за доширак и заправляют картриджи.
[править] Хаскель
Хаскель - простой и понятный язык для нормальных людей вроде физиков и математиков, отчищенный от байтосодомии и делающий специально выведенных компьютерных опущенцев-программистов ненужными. Да, вы не ослышались. После того, как этот язык для нормальных людей получит распространение, байтоспарта закаленных еблей в жопу архитектурой фон Неймана и еблей в рот аппликативным порядком боевых пидарасов-программистов потеряет всякий смысл. Что останется делать после этого жалким недочеловекам, у которых пять лет в шараге вымывали из мозгов все человеческое? Остается только прерывание своего жалкого существования.
[править] Плюсоёбство
Плюсоебство - это как православие. Когда протестантизм завещает работать над собой и создавать блага, славя величие Господа, православие требует от последователя искупления греха, посредством непрерывного страдания, как страдал Иисус неся свой крест. Стрелять себе в ногу и нажираясь потом водкой, позерски ноя о тяжестях нищебродской жизни -- что может быть лучше для православного плюсоеба?
[править] Байтоёбство
Байтоёбство включает в себя:
- Императивный стиль программирования как начало байтоёбского пути.
- Дрочка на машинно-ориентированные типы данных (собственно, основной симптом байтоёбства) и последующее за ней закономерное возмездие байтомудакам в виде big endian vs. little-endian, особенности обработки чисел с плавающей точкой и.т.д.
- Предтерминальные стадии байтоёбства - интринсикоёбство и его более тяжёлая форма - инлайн-ассемблероёбство. Подсадка начинается с убеждённости поциента в необходимости ручками использовать SIMD -инструкции.
- Терминальная стадия, как итог п.3, тру-ассемблероёбство и "хроническая низкоуровневая оптимизация головного мозга"
В нашем мире, к счастью, подобные симптомы с распространением java, C# и прочей "замещающей терапии" встречаются реже, однако остались две отрасли, входящие в зону риска:
- Гейдев. Байтоёбство в гейдеве берёт своё начало в 70х-80х, поскольку именно тогда зародилась традиция байтоёбства в геймдеве. Обязаны этим, в основном, восьмибитным соснолям и домашним компьютерам, которые, обладая малым объёмом ОЗУ и имея скудные средства программирования, требовали делать на них ёба-игры. Эта традиция продолжилась и далее, всё благодаря тем же консолям, на которых консолерабы должны были выпускать игры 5 лет, задрачивая их убогие байтоёбские архитектуры по полной. К сожалению, подобная практика перешла и на ПК, где байтоёбство, в общем-то не так оправдано. К слову байтоёбам-игроделам дали шанс выбраться из этой трясины в 2002 году, когда майкрософт запилила дуднет и менеджед дайректикс к нему. Но байтоёбы остались верны своим указателям, плюсам и байтоёбской оптимизации. Зашоренность, верность привычкам, безыдейность, десу.
- Эмбеддед. Причины почти всё те же, что и в гейдеве. Маломощное железо, пара сотен байт озу, деревянные игрушки, прибитые к полу и.т.д. К этому прибавляется огромное количество разных железок разномастных архитектур, для которых нет толковых тулчейнов. Из хорошего - в последние годы байтоёбство в этой сфере потихоньку излечивается, спасибо дядям из ARM co ltd, сделавшим свою архитектуру более менее распространённым стандартом среди всех архитектур и огромному количеству появившихся фреймворков и компиляторов языков для этой платформы.
Так же распространено ложное утверждение что байтоёбство крайне необходимо в системном программировании. На самом деле этого легко избежать. Рассмотрим среднестатистическую аппаратную платформу. Краеугольными камнями любой аппаратной платформы являются:
- Процессорная архитектура
- Memory map - адресное пространство, в которое отображаются RAM, ROM и внешние устройства
- Протоколы управления этими самыми внешними устройствами.
Так вот, всё вышеперечисленное вполне можно вполне декларативно описать обычным конфигурационным файлом, не прибегая к программированию вовсе. Затем, скормить этот файл генератору платформ и на выходе получить готовый фреймворк-скелет нашей операционной системы, доступ к которому можно получить из любого языка программирования. Вот так вот просто, если бы байтоёбство гологного моска не мешало.
[править] Выбирайте Хаскелл
Хаскелл на данный момент является лучшим языком для новых проектов. Исключительная выразительность языка и мощная система типов позволят Вам быстро писать элегантный и надежный код. Язык еще не столь распространён. пока ваши конкуренты используют устаревшие технологии на базе нетипизированных лямбла-исчислений или императивного подхода с элементами динамической типизации, вы сможете в разы поднять свою эффективность, задействовав System F - последнее достижение науки в области статической типизации. Но это еще не все. В жизни любого стартапа наступает момент, когда он превращается в продукт и сопровождению проекта привлекаются дополнительные разработчики. На этом этапе распространённость и доступность языка начинает играть решающую роль. Благодаря активной популяризации Хаскелла и функционального программирования в среде коммерческих программистов, а также поддержке этого языка со стороны лидера производства оффисных приложений и операционных систем - корпорации Майкрософт, Вы можете быть уверены, что в будущем Вам не придется переписывать свой проект на С++, как это было с печально известной разработкой Пола Грэма. Хаскелл обеспечит вам гарантии успеха и стабильности Ваших начинаний. Выберите Хаскелл сейчас и через несколько лет Вы сможете наслаждаться результатами своих трудов - успешным проектом, выполненным с учетом всех современных технологий и индустриальных стандартов. Хаскелл - Ваш проводник к успеху в мире разработки программного обеспечения. Выбирайте Хаскелл.
[править] О разработчиках
Я считаю, что разработчик - тот кто может решать практические задачи и получать за это деньги. Эрик Мейер - разработчик. Саймон Пейтон Джонс - разработчик. Филип Уодлер и Пол Худак - разработчики. А /pr/ целиком состоит из теоретизирующих задротов, которые никогда не достигнут таких высот и не заработают столько денег, как Саймон или Эрик. Причем фундаментальная ошибка заключается в отнесении себя к некой категории "быдла". Дело в том, что разработка ПО никогда не являлась самоцелью. Использование быдлоязыка или некрасивого архитектурного решения оправдано до тех пор, пока его применение находит отражение в потребительских качествах продукта, и имеет тем большую ценность, чем большей аудитории улучшение потребительских качеств будет доступно и понятно. Т.е. я хочу сказать, что продукт должен быть наоборот максимально небыдло-ориентирован, учитывать его интересы, сделан под него. Это касается и разработки средств и библиотек, а также к выбора средств разработки. Монадическое IO , написанная на Хаскелле и работающее на нищебродских компах обладает гораздо большим рыночным потенциалом, чем какая-нибудь астральная фигня из лиспа типа CPS. Если эта еще и интегрируется с Agda2 а также имеет маркетинговую поддержку от производителя, но позволяет разработчикам самостоятельно зарабатывать на верификации (т.е. не писать горы юнит тестов) - то её потенциал еще выше. Деньги всегда были и будут в "небыдло-технологиях". Так что учите Curry и Coq, вся ваша императивная хуита и клиппед понос никому даром не нужны.
[править] И это программисты...
Ничего не понимаю. И это программисты. Говно какое-то. Пидоры, блядь. Блядь, Шейнфинкель с Карри им дали комбинаторы. Комбинируй, комбинируй комбинаторы, блядь, "не хочу! хочу жрать говно!" Что такое? Это программирование? Это программирование? Суки. Мудачьё. Программисты. SCIP прочитали. Говно жрут. Придоры блядь ёбаные.
[править] Критика ООП
Кодер, а с чем ты работал кроме ООП? Нет, не надо писать про процедурное программирование, мейнстримовое ООП - это и есть расширение процедурного программирования, добавляющее в процедурные языки первоклассные модули, иначе называемые объектами.
В итоге местами получается код ради кода или хаки на преодоление препятствий собственной архитектуры.
Это всё от бедности элементной базы. Правило одно - все есть объект. Dixi. Операции композиции объектов не определены (в отличие от ФП, где композиция функций имеет смысл) из чего сразу вытекают следующие прелести:
- Объектная декомпозиция - чёрный ящик. Тип композитного объекта не может раскрыть его составные части. Увидеть, что скрывается за абстракцией не посмотрев в код невозможно, использовать автоматику для частичной спецификации композитного объекта на основе его составных частей невозможно.
- Создание комбинаторов объектов невозможно. В отличие от ФП, где комбинаторами являются те же функции, в ООП объекты комбинируются процедурным быдлокодом. Пытаясь вынести его в другие объекты, ты, по сути, ничего не получаешь, потому что в итоге тебе приходится комбинировать большее число объектов тем же быдлокодом.
- Паттерны не могут быть первоклассными объектами. Следует из отсутствия комбинаторов, т.к. паттерны являются некими стандартными комбинациями объектов.
Дополнительный вброс:
- Неконтролируемая мутабельность добавляет к этому дополнительные прелести, вроде отсутствия ссылочной прозрачности, проблем с вариантностью, еще больше усложняет автоматический вывод спецификаций.
- Сабтайпинг изрядно усложняет систему типов, не добавляя к ней особой выразительности. Технически, сабтайпинг - это ограниченная универсальная квантификация, тайпклассы позволяют добиваться того же эффекта, только с гораздо более простым выводом типов ок, тут я могу ошибаться, у вас есть шанс поймать меня на некомпетентности, питушки!
Вывод - ООП полный фейл. Во всём. ООП создаёт некую иллюзию, что можно работать программистом нихуя при этом не зная, но вообще, во всёх вузах детям выёбывают мозг ОО-программированием. Не знаю, что бы они делали, если бы их всех поголовно не оттрахали в жопу виртуальными деструкторами. С другой стороны, если ты хоть что-то знаешь, мейнстримовые ОО-языки не дадут тебе воспользоваться своими знаниями.
[править] Правильный стиль программирования на Haskell
Нужно написать тутор по монадам "Изучите хаскель чтобы всех нагибать". С тезисами:
- Забудь про do-нотацию и тем более list comprehensions - становится слишком мало символов и быдлу понятно.
- let и where - для лохов, поставляй все в огромную лямбду, пусть все видят, какой у тебя крутой однострочник.
- Функции нужно называть не иначе как f и f', а выглядеть они должны только как f a b c d = a b (c d). Никаких аннотаций и тем более комментариев.
- Pointfull - для лохов, все должны видеть, как ты умеешь ((.)$(.)).
- Не забудь использовать fix вместо рекурсии, все поймут, что ты правильный пацан.
- Участвуй во всех спецолимпиадах, где требуется посчитать ряд с помощью Integer. Другие задачи решать не надо, потому что тогда ты приближаешь момент, когда хаскель будет мейнстрим и не получится всех нагибать.
[править] Трагичная история Вирта
История Вирта очень трагичная, братюни. Начиналось все хорошо: Хоар сказал: «В Алгол нужно добавить ссылки с нуллами» А Вирт сказал: «Мы с Хоаром считаем, что в Алгол нужно добавит ссылки, да с такими-то нуллами» Потом Хоар сказал: «Алгол 68 сосет» И Вирт, конечно, сказал: «Мы с Хоаром ваш Алгол 68 в рот ебали, пидоры комитетские!!111» А потом Хоар внезапно сказал: «Анаморфизм, катаморфизм, иломорфизм, параморфизм, наконец» И Вирт сказал:«Ана-што? Иломорфизм? Хуе-мое! Так, падажжи, ебана, Карри же был моим научруком, параморфизм? Ах тыж ебаный ты нахуй! АЛГОЛ 68 СОСЕТ!!!111 ССЫЛКИ ДА С ТАКИМИ-ТО НУЛЛАМИ!!!111 АЛГОЛ 68 СОСЕТ!! СОСЕТ АЛГОЛ 68 !!11111» Ну, так с тех пор и повторяет.
[править] Лисп
[править] Контрамоты
Я понял!!! Динамические петушки - контрамоты. Они движутся во времени назад. Как было на самом деле: протоцепепе - ЛИСП 50-80 гг. C++ 80-90 гг. Haskell - новая версия цепепе. 90-00 гг. С точки зрения лиспопетушка сначала был Хаскель, в следующей версии он деградировал до цепепе, а в лиспопетушином будущем цепепе деградирует до лиспа.
А я все ломал голову, как человек может так ненавидеть будущее, так привязаться к прошлому, что пишет на лиспе? Но для лиспопетушка-контрамота лисп - это и есть будущее. А дальше ВВ2, индустриальная контрреволюция, религиозные войны, рабовладельческий строй, отрастание хвостов и подъем на деревья. Скай из зе лимит!
[править] Контрамоты 2
Общеизвестные факты. Вы, разумеется, не можете этого знать, раз для вас это далекое будущее, но в 70-80 ведущие деятели компьютер сайенс переживали серьезное разочарование в Лиспе. Новая эра разработки языков программирования началась с признания того, что ЛИСП - говно, и нужно делать все иначе, с типами, первоклассными функциями и так далее. В 90-е стало окончательно ясно, что последняя попытка гальванизировать труп лиспа - Схема - провалилась. Вы сбиты с толку ореолом романической дымки прошлого окружающей лисп в наши дни. Современный человек может даже восхищаться лиспом, как восхищается пирамидами Гизы - романтика веков, епт. Но строить бессмысленные пирамиды блоков сейчас дураков нет. В 80-е эти лиспопирамиды все воспринимали просто как горы говна. Еботня с лиспом еще была свежа в памяти.
[править] Консерваторы 1
Лисперам чужды изменения и динамика. Не забывай, что когда белый программист слез с лиспа и перешел на алгол в поисках новых горизонтов, лисперы были теми ретроградами и консерваторами, что остались сидеть на скобках, как обезьяны. Поэтому менеджер Гугля был прав, когда выеб очередную лиспомразь, пытающуюся протолкнуть свое говно.
[править] Консерваторы 2
Динамические педерасы не понимают этого нифига. Для них компьютерная наука застыла в 1960-х годах, в лучшем случае. Все, что было после этого — ниибацца до чего сложно и непонятно. И поэтому способы написания скриптов не менялись с 1970-х. А вот если из той хуйни, которой мучают программистов, удалить совсем уж бессмысленную и никому нахуй не нужную тупую хуйню, типа динамической типизации, паттернов-хуяттернов, указателей-пиздолизателей, оставшимся вещам можно обучить нормальных школьников за год-два, либо на первом курсе. А дальше учить людей полезному, теории категорий, Хаскелю, Агде-2 и прочим простым и красивым языкам, без которых программист это не инженер, а просто гнида.
[править] Правила поведения 1
Дискутируя со скобочной мразью ты даешь ей почувствовать себя человеком. Это ошибка. Лиспомразь следует игнорировать. Если ты дискутируешь с лиспомразью, чтоб продемонстрировать как она «соснет», то это бессмысленно. Лиспомрази сосут просто публикуя любой свой пост - в этом плане они самодостаточны.
[править] Правила поведения 2
Разговаривая с лиспером, никогда не следует пытаться убедить его в своей правоте, апеллируя к логике, фактам и доводам - он их все равно не воспримет, ибо ему попросту нечемглазами> обычно возникают некие "имиджи" или лучше, говоря по-русски, "условные образы" людей-собеседников. Так вот: беседуя с лиспером, ни в коем случае не следует обманываться, награждая его, даже условно, человеческим образом. Представьте его говорящим глистом и тогда все сразу станет на свои места. И да хранит вас господь.
[править] C++ лучше чем Лисп
Как нет? Все ошибки лиспа (динамическая типизация, макросы, вырожденный синтаксис) кроме одной (байтоебная энергичность) были исправлены в цепепе. Вот только с первого раза получилось плохо. Типизация вышла с израдной долей петушения, макросы кое-как замаскировали под параметрический полиморфизм, но метапрограммирование все равно изо всех щелей торчит, синтаксис вышел куда лучше чем в лиспе, но все равно говенный. Ну и энергичность не поправили. Пришлось предпринять еще один сеанс исправления ошибок. И Хаскель получился уже гораздо лучше.
[править] Список лисперов /c/
Лисперы це: Общешлюхи: 1) Золотце. Шизофазный фрик без работы и образования. 2) Андрюша. Студент младших курсов. Схемобляди: 1) Собакоеб. Имеет опыт аудита кластеров парадигм на пыхе и питоне. 2) Варкрафтёр-полуебок. Студент. Судя по его рассуждениям о хвостовых рекурсиях и системах типов регулярно упарывается. 3) Альфаслесарь. Пишет на схемке после заправки всех картриджей. Я что-то пропустил?
[править] Мнение каталог-куна
LISP давно уже не язык. LISP - просто прилипчивое говно на ботинках анонимного эксперта, тонким слоем размазанное по всему /с/. Анононимный эксперт совершил ошибку, растоптав LISP. Теперь мучается, пытаясь отчистить подошву от этой вонючей дряни. Засело крепко. Понимаешь, просто больше нечего добавить к тому, что уже было написано здесь. Нормальному человеку таких унижений достаточно, чтобы почувствовать всю ничтожность говна, которое он форсит. Но когда имеешь дело с лиспофанбоем — это совсем другой разговор. Он будет отравлять своим LISPом воздух еще долго после растаптывания.
[править] Руби
[править] Ruby sucks
Ruby is (Руби это): -когда йоба-ооп заменяет здравый смысл; -когда пишут "begin end begin begin end end..." вместо кода; -когда программа тормозит настолько, что за время подсчёта произведения 2 матриц 10х10 можно сходить попить чай; -когда нормальным считается писать вещи типа 12.5.integer? или 3.times {puts "Ruby sucks!"} -когда скорость увеличения и так небольшого количества библиотек падает на глазах - ведь есть гораздо более удобный Python
[править] Ruby - замена Питона
Ruby - это замена Питона, которого скоро не будет. Perl стал не модным и питоновцы, воспользовавшись случаем, так долго мучили программистов тупым, абсолютно неудобным и уродливым синтаксисом, что когда пришел Ruby, идейно вышедший из старого доброго Перла, то сразу полетели щепки и питоновцам только локти осталось кусать, видя, как радостные программеры сматываются с этого дерьма на нормальный язык.
[править] Java
Ёбаным жабоиндусам, напоминаю разницу. Зоопарк вопросов:
- где замыкания?
- где лямбды?
- где свойства?
- где шаблоны? Разработчики Sun вынуждены только облизываться. Даже генерики, введённые в 5-й версии Java — не более, чем syntactic sugar. Дотнетовские генерики это реально поддерживаемые платформой типы, которые расширяются на лету при загрузке, котрые оптимизируются JIT-компилятором. Для Java генерики существуют только в коде и ни JIT, ни загрузчик классов их никогда не видит. Поэтому проблемы боксинга, преобразования типов в runtime просто скрыты от программиста.
- где делегаты/евенты?
- где partial-классы?
- где детерминированное освобождение ресурсов (ключевое слово using + интерфейс IDisposable)?
- где оптимизация JVM для расширений процессоров?
- где аналог linq и в частности удобные мапперы?
- где расширения методов класса?
- где скрытая имплементация интерфейсов?
- где перегрузка параметров функций?
- где нормальное потребление памяти приложением?
- где быстрая работа приложения?
- где нормальные иде, с полноценными дизайнерами?
- где пользовательские value types?
- где методы у инстансов value types?
- где var и анонимные типы
- где перегрузка операторов?
- где оптимизиции хвостовых вызовов? (в свете фунционального хайпа это должно вызывать некоторый батхёрт)
- Где чёткое разделение домены и сборки? Это не учитывая, целый ворох технологий недоступный понимаю жабоиндусов, такие всякие сильверлайты/вин-веб/формочки, впф, XNA, список можно продолжать бесконечно, как впрочем и список ущербности жабы...
Всего, чего нет в жабе, автоматически объявляется хуитой, как только это появляется в жабе, это автоматически становится нехуитой. При этом, требуется сделать вид, что хуитой это называл кто-то другой.
[править] Пыхопроблемы
На похапэ можно писать довольно быстрый код. Конечно, не такой резкий, как заточенный под конкретную задачу инстанс nodejs или, не дай бог, что-нибудь для веб на няшной с ассемблерными вставками.
Можно банально придерживаться паттерна mvc и не погрязнуть в паутине спагетти-скриптов с сотнями инклюдов. Код будет хотя бы структурирован и изолирован локальными кучками говнеца. Это идеальное состояние, если большую часть рабочего времени вы добавляете в общую свалку новые, независимые друг от друга конвертики с тухлятиной.
Можно написать классы объектов, там где они необходимы и наполнить их методами. Опять же, всё ради структурирования кода, для вполне сносной и быстрой навигации по разрастающейся выгребной яме проекта.
Можно вооружиться профайлером, раскурить исходники ядра фреймворка, который вам предписало начальство, и частично переписать его, снизив время выполнения этого хитросплетения пиздеца на 80%. Вырезать конфиг веб-приложений, сделанный в xml. Уничтожить миллионы вызовов __call() и call_user_func(), от которых кровоточат глаза. Большинство макак знает, что обычное веб-приложение на похапэ инициализируется каждый раз с нуля. Поэтому уменьшить на 90% время инициализации - это очень хорошая идея.
Можно искать узкие места и куски рендерера, где хтмл генерится недостаточно быстро. Вооружиться memcached и реализовать грамотные схемы самообновляющегося блочного кеширования. Избавиться от пары дюжин лишних запросов к бд на каждый чих. Получить 80% страниц, выхлоп которых отрабатывает без запросов к бд вообще.
Можно заняться очередями сообщений и перенести на них особенно тяжёлые куски процессинга картинок, видео, музычки, почты и прочего хлама, чтобы всё упиралось в длину очереди, количество воркеров и машины, эти очереди разгребающие, а не в число клиентов и их терпение к времени отклика от сервера.
Можно навесить плюшки в виде аякса, где это уместно, и местами перенести генерацию контента вовсе на клиент, вместе с тем сэкономив десятки тяжёлых запросов на отрисовку страницы целиком.
Можно взять сверхбыстрое простое хранилище типа redis и использовать его для сегментов системы, которые создают большую плотность не очень важных запросов к бд, типа учёта баннеропоказов, трекинга статусов online и логирования всякой поебистики.
Можно придти к мысли, что mysql с её слоупочными table locks и transactional safety и с её возможностью масштабирования только при помощи анальных расширителей не очень-то, собственно, и нужна в большинстве задач. Потратить 2 месяца и перенести огромную смердящую кучу наваленных друг на друга небольших пакетиков с говном на mongodb, на небольшой, но няшный кластер из нескольких replica sets по тройке лёгких машин. Ощутить невесомое изящество, с которой она похрустывает сотнями тысяч записей, прелесть schema-free и отсутствие дрожи в коленях, когда раньше ты запускал alter table на рабочей копии бд, глубокой ночью, потому что оно кладёт сервер на час-другой. А потом часами напролёт в умилении смотреть на графики munin, которые резко перебежали из погранично-красной зоны в самый низ зелёной. Финально включить eaccelerator и наслаждаться запасом в сотни запросов в секунду на отдельно взятом сервере начального уровня.
Можно дополнительно озаботиться настройкой nginx, убрать из конфига логгирование для файлопомойки, включить пяток жизненно-важных параметров, указать нормальные значения для буферов. Окончательно уничтожить апач, для которого был прописан reverse proxy для некоторых урлов. Выкинуть SATA-винты на помойку. Поставить дополнительно недорогих SSD и развернуть на них кэш для самой мелкой статики.
Только это всё не нужно. Ваш сайт, результат вашей работы никогда не получит хоть какой-то нагрузки. Когда на ресурс заходит 10 человек в день, а 90% хитов совершают боты гугла, можно хуярить страницы на 50, и даже на 150 SQL-запросов, ведь все таблицы бд влезают в оперативку, и страница даже на каком-нибудь позапрошлогоднем zend framework без твиков соберётся менее, чем за секунду. Да какой там фреймворк! Какой там MVC! Проще дёргать по необходимости разнородные готовые куски, часть кода бросить голодным доширак-макакам, и склеить всё воедино лишь-бы-работало спагетти-кодом. Ведь проект нужно было сдать ещё вчера, а завтра он будет навсегда забыт. И останется крутиться на задрипанном, надолго предоплаченном vps, в cron которому прописана ежедневная перезагрузка.
Я кончил.
[править] Программирование для чайников
Тут будут храниться всевозможные ответы из "Посоны, посоветуйте, с чего начать программировать" тредов.
[править] Вариант 1
Ебать, саентач, ты меня расстраиваешь. Уже в /pr/ на плюсы батхерты прекратились, а тут все то же самое. На С++ батхертят неосиляторы и задроты с ЛОРа. С++ - универсальный язык, а не только промышленная копипаста, его даже ЦЕРНе как очень быстрый скрипт используют для обработки гигабайт статистики со всяких коллайдеров, и такие же эффективные альтеративы этому намного менее удобные.
Сейчас будет поток сознания, потому что я не верю, что кто-то пойдет по этому пути - слишком сложным он кажется, хотя это не так, а времени нужно всего ничего, по сравнению с тем, что проебывается в шараге.
Итак, ОП, у тебя есть лето, несколько часов в день и желание быть в теме. Нужно проходить несколько предметов сразу. Один день одно, другой день другое, третий - попить пивка. И не париться по поводу того, что ты учишься программировать:
>То есть, юзер, который максимум, что может, это переустановить винду и почистить реестр, покрасноглазив наедине с учебником, сможет писать ПО на этом языке?
Чувак, программировать может даже бабушка, которая ничего не понимает в винде, зато очень хорошо понимает в БЭСМ. В компах разбираться не обязательно, другой вопрос, что если ты до сих пор не захотел программировать, с чего ты решил, что это твое. Это как рисование, не всем дано. Но, почитать книги ниже полезно даже если ты совсем дундук в программировании, но собираешься связать свою жизнь с компами, админством тем же.
- Изучи javascript по какому-нибудь краткому справочнику. Пусть это для тебя будет бейсик такой, посчитай там квадратные уравнения и т. п. Дело в том, что javascript - это почти что scheme с другим синтаксисом, а scheme тебе понадобится для следующего уровня.
- Энтрилевел - SICP + любая книжка по алгоритмам, на какую не жалко времени. Самая тонкая - Алгоритмы и структуры данных Вирта, заодно можно взглянуть на модулу, не порча себе вкус сями. Читать желательно одновременно, потому что в SICP используется динамическая типизация, которая разжижает мозг, а Вирт плохому не научит, но он гораздо менее обширен и глубок. Вместо Вирта можно взять любой другой модный в этом сезоне путеводитель, типа Кормена, но я не могу посоветовать книгу, которую не читал, я и Вирта я читал давно, а Кнута советовать не буду.
На этом этапе можно не пытаться программировать, читать как художественную литературу, и пытаться познать дзен, что синтаксис не главное (SICP в этом поможет, ага). Примеры из SICP можно делать на javascript, а можно и поставить ракету.
Познав дзен, можно дальше думать, а что делать собственно. Программирование ради программирования заведет в тупик. - Выбор языка - динамическая типизация (python) + статическая (c#). Книжки - спросишь, как осилишь первый левел. Мне купленные мной книжки не понравились. Динамическая разжижает мозг и прививает хуевое мышление, но позволяет быстро набросать код на выброс, писать различные скрипты для автоматизации и прочее. Знать это надо. Тут выбор python или ruby. Ruby более красивый и цельный, но под него, кроме rails нихуя нет, так что учи python второй версии. Руби - это не лисп, как тебе написал какой-то непонятный чувак, это такой веобу smalltalk. Еще есть matlab для всяких инженеров, но учи python лучше, в нем с numpy индексы с 0 начинаются.
Статическая типизация позволяет думать по-человечески, но для быстрой разработки слишком много накладных расходов. Подойдет любой язык с управляемой памятью, то есть C#, потому что не VB.NET и Java выбирать же. Научишься формошлепствовать заодно и гуглить говно в библиотеках. - 32-х битный асм x86 + Керниган и Ричи. Назад, к машине. Машина твой друг и помошник. Асм нужен не ради асма, а ради понимания железа - протектед мод, плоская модель памяти и т. п. - в современных книжках по асму это есть, я читал какого-то русского автора.
- С++
На это тебя точно не хватит. В принципе, последний пункт, что бы у тебя не было батхерта, а по жизни C# покроет 95% твоих задач, если ты не скриптовик-числодробитель, как я. А там уже можно устроиться на полставки куда-нибудь.
Выглядит дохуя, но за лето вполне все это освоить без особых напрягов, одна книжка станет нудной - можно продолжать другую, и т. п. На самом деле за месяц, если не ставить себе цель научиться программировать (нужно поставить себе цель научится ставить себе нормальные задачи - а программировать ты под это дело сам научишься, я так думаю, не научишься ставить задачи и будешь делать упражнения из учебников - будет хуже) можно все прочитать, поняв, что тебе по душе (некоторые железо любят, другие абстрагируются от машины в ленивые миры).
> А где можно ДОСТУПНО почитать об азах компьютерных сетей, их устройстве и управления ими?
Таненбаум - Компьютерные сети. Очень доступно и очень много.
Сорри за сумбур, пойду спать.
[править] Вариант 2
> Ясен нужно поступать, получать диплом
Спорный вопрос. С одной стороны окончание вуза - это хоть какая-то гарантия, что человек умеет доводить дела до конца. С другой стороны рашкинское высшее образование не все хвалят. С третьей стороны есть http://ocw.mit.edu/index.htm, другое открытое высшее образование, есть НМУ, хотя последний по слухам экстремально сильное колдунство, о которое редко кто может не опалить крылышки.
А с четвертой стороны, оп, постарайся понять, почему ты хочешь стать именно программистом, а не строителем, не конструктором самолетов, не доктором, не бизнесменом, например. Потому что из "хочу стать программистом" непонятно, приветствовать ли твое желание или помочь тебе найти другой путь. Каждый хочет ту или иную профессию по-своему, как например и космонавтом: кого-то завораживает возможность полета с огромной скоростью, кого-то то, что он побывает там, где мало кто был, кого-то почет и уважение.
Не стоит идти в программисты, если хочешь денег или почета и уважения, существуют более рациональные пути. Для того, чтобы побывать там, где мало кто еще был программирование тоже мало подходит - для этого надо становиться ученым, геологом или космонавтом. Так же не стоит идти программистом в надежде прохикковать, всю жизнь отсидеться на стуле, как премудрый пескарь. Если программист, как и любой другой сотрудник не будет бегать и скакать в течение всего рабочего дня по этажам и вообще всему городу, то он станет офисной крысой, будет плакать на дваче, ругать плохое государство и злое начальство - участь его незавидна.
Наверное только если тебе нравится работать с системами, сложными иерархическими сущностями, строить такие системы - это будет показанием к программированию. Также хорошо, если ты чувствуешь в себе качества "врача" - человека, умеющего ставить технические диагнозы и исправлять неправильно работающие системы.
> И еще, пока сижу на семерке, но вот подумываю пересесть на линукс, потому что быть не таким как все я слышать, что линукс настраиваем чуть менее чем полностью, а я просто обожаю кастомизацию.
Пересаживание на линукс и его изучение занимает достаточно много времени. В сутках 24 часа, так что учись расставлять приоритеты для своих интересов уже сейчас. В любом случае, советую всегда оставлять себе дорогу назад - то бишь старый работоспособный виндоус, в который всегда можно вернуться, если ленуск заглючил.
[править] Гейдев
- Алгоритмизация. Владение алгоритмизацией. Научиться думать алгоритмически. Ты должен будешь изучить какой-нить простой язык. Чаще это Паскаль или Бейсик. Однако я всем знакомым советую Python. И для обучения прост, и в будущем пригодится.
Уже на данном этапе ты должен уметь без проблем использовать ЯП для имплементации своих замыслов и идей вроде "написать качалку всех пикч из треда на двачике", "написать проигрыватель музыки" etc.
Из литературы хз что посоветовать. Сначала следует понять что такое алгоритмизация хоть на примере псевдоязыка, посмотри курсы "для новичков-кодеров" на INTUIT.ru.
Для изучения самого языка тоже хз. Смотри INTUIT.ru и официальные буки.
- Владеть хорошим ЯП. Если в п.1 особо не важно какой язык учить и главная цель только понять как оно работает, то здесь необходимо изучить нужный язык. Уже хз сколько лет работает цепь C->CPP. Да, сначала учишь ANSI C, а затем изучаешь парадигмы, основы ООП и как их применять в CPP.
По си сразу бери ANSI C. Только издание по новее, а то в старом такое старьё описано... В общем, лучше 3тье(уже не помню точно какое последнее).
После изучения си уже сам выбирешь себе "сенсея"(в смысле книгу по ООП), ну или создашь тред.
- OpenGL, OpenAL, OpenCL, GLUT, GLSL, DirectX. Хватит и обычного C чтобы начать изучать DirectX и OpenGL. Мой первый движок, который я написал назаказ для одного проекта, был на C(т.е. не на CPP, т.е. без ООП) с использованием OpenGL + GLUT.
OpenAL нужен для звука, а OpenGL для графики. OpenCL не так важен, он только начал развиваться. Это технология выполнения кода на графическом процессоре, эдвенсед шейдеры, если быть точнее.
GLSL это язык шейдеров. Я использую его в своих проектов. Так проще. Нет проблем с совместимостью etc.
DirectX стоит просто изучить чтобы понимать отличия от OpenGL. Да, я пизываю использовать OpenGL и только. - Изучить построение готовых движков. Здесь самое интересное. Здесь придётся разбираться в компонентах и устройстве других движков, чтобы со своим не сфейлить.
Как только ты напишешь свой мини-движок, будешь понимать отличия Fragment-shader от Vertex-shader, будешь знать зачем юзают FBO, что такое bump-mapping и как он работает.. тогда тебя можно будет назвать ещё одним разработчиком компьютерных игр, которого не берут на работу из-за кризиса.
Опытный кодер, разработчик игр, питоноблядь, перепрофилировавшийся в веб-кодера-кун
[править] Haskell
Начинай с The Haskell School of Expression дальше читай Typeclassopedia (http://www.haskell.org/wikiupload/8/85/TMR-Issue13.pdf), дальше статьи по ссылкам в тайпклассопедии, викикнигу (http://en.wikibooks.org/wiki/Haskell), а точнее отдельные главы. Ну и вики на haskell.org.
Некоторые няшечки могут посоветовать Душкина (беги от этой книги, как от чумы), Грема Хаттона или "Изучи себе хаскель во имя великой справедливости" - не слушай их, только напрасно потратишь время.
Ну а после изучения нормального языка программирования уже сам решишь, нужен ли тебе этот самый питон.
[править] Машина - не шлюха
Машина должна и будет служить людям, она не шлюха, чтобы люди исполняли её прихоти. Отсюда байтобляди (а так же сочувствующие им императивные пидорасы, надрачивающие на показатели System.currentTimeMillis() - start) - пиздолисы, которые опускаются до полного говноедства, лишь бы ублажить её регистры и микросхемы. Альфапрограммисты, как и положено альфам, если машина не выполняет положенных ей задач и требует пресмыкаться перед ней и ублажать её байтами, просто берут и за патчкорды, ебашат с вертушки по передней панели и списывают машину на мороз, купив взамен ту, которая не будет выёбываться и выполнит код в сроки и без выебонов, будь там хоть 1000% неоптимизированного оверхеда. И настоящего программиста не волнуют вопросы выдрачивания и быстродействия - он решает важную задачу из предметной области гораздо более сложной, чем низкоуровневое дрочево, и отвлекаться на всякую подзалупную хуету вроде осоьбеннойстей какой-то там архитектуры ему некомильфо.
[править] Критика Си
Указывать сиблядям на проблемы языка бесполезно. Кроме сишки сиблядь нихуя не знает и не умеет, а на любое обвинение у сибляди есть универсальный ответ - "криворукость". Этим сиблядь как-бы намекает, что что все вокруг криворуки - т.е. сотрудники микрософта и интеля, пишущие кривые драйвера и библиотеки, прыщебляди, пишущие дырявое ведро своей системы вот уже не первый десяток лет, просто другие сибляди из соседнего подвала полусвовковой шаражки, в которой сиблядь работает. А вот сама сиблядь - сука граф Шарль Ожье де Бац де Кастельмор д’Артаньян среди педерастов, владеющий техникой левитации, предсказания будущего и написания небыдлокода на сишке. К сожалению, простым смертным едва ли не удастся увидеть творения сенсея, так и будут они работать с глючным говном криворуких интелевских и микросовтовских инжеренов, внезапно падающим от какого-нибудь buffer overflow, несмотря на зиллионы человекочасов, проёбанных на его тестирование и отладку.
[править] Есть манную кашу через трубочку
Что блять? Что нахуй? Я не верю своим ебаным глазам, какой нахуй %название-технологии%, у меня не хватает слов чтоб выразить свое негодование, пошел нахуй отсяда, сраный уебок, и чтоб я тя больше не видел здесь, или я вычислю твой ойпи и ты будешь всю жизнь есть манную кашу через трубочку, ебаный дегенерат.
[править] Возглавляется неким ..., который не знает
[править] Оригинал
Возглавляется этим же "Гвидо ван Россумом", который не знает:
зачем был нужен reduce() (аналог foldr из Haskell) и поэтому убрал его в какую-то задницу стд библиотеки;
не знает о tail call:
и вообще, судя по убожеству грамматики пейсона, в дизайне ЯП не особенно рубит:
Язык объективно хуёвый, одно выстраивание стейтментов в лябмдах с сайдэффектами (пусть даже и локальными) с помощью логических операторов чего стоит.
Полное отсутствие выбора один-из-многих, по типу МЛ-паттернов или хотя бы няшного switch.
Хуеватый скоупинг, добавленный в язык явно не сразу.
ВНЕЗАПНО статические переменные, статичность которых зависит от способа инициализации
Убожественная система типов.
Нельзя доопределять операторы, поэтому прощайте нормальные DSL. Плюсы-хуюсы и битовые смещения рано или поздно кончатся, да и убого это — перегружать арифметические операторы.
Нет стандарта капитализации при регистрозависимых идентификаторах.
И многое другое!
[править] Haskell
Возглавляется неким "Симоном Питоном Джонсом", который не знает:
о существовании не-ascii символов, которые успешно эскапируются в хачкеле, хотя на практике вполне читаемы с терминала.
о динамической линковке и вообще, судя по убожеству получаемых на выходе бинарников, не очень шарит в кодогенерации.
о существовании .net cli, llvm и прочих продвинутых технологий, из-за чего постоянно велосипедит бекенды и "сильные колдунства" навроде с--
Хуеватая система импорта, выблевывающая по умолчанию весь скоуп модуля в текущий контекст
Literate-programming костыли в виде доисторического кнутоговна вместо докстрингов и няшной интроспекции.
ВНЕЗАПНО Конструкторы всех дататипов в глобальном скоупе, и закономерно следующие из этого костылевысеры GlobalUniqueModuleNameMyDataType
Язык объективно хуевый, чего стоит одна система типов, требующая постоянных подсказок в виде явного объявления типа над функцией. Правда хачушки отмазываются, говорят что это традиция, повышающая читаемость кода, но мы-то с вами понимаем.
Нет постоянного стандарта на язык, а только какие-то "отчеты".
И многое другое!
[править] ПРИШЛО ВРЕМЯ...
По мотивам известного ролика ПРИШЛО ВРЕМЯ ПЕРЕУСТАНАВЛИВАТЬ ШINDOШS
[править] ...ОСВОБОДИТЬ ПАМЯТЬ
ПРИШЛО ВРЕМЯ ОСВОБОДИТЬ ПАМЯТЬ
ПАМЯТЬ САМА НЕ ОСВОБОДИТСЯ
ОСВОБОДИ ЕЁ, ОСВОБОДИ ЕЁ ЕЩЕ РАЗ
ЗАЧЕМ МНЕ НУЖЕН ХАЧКЕЛЬ, У МЕНЯ НЕТ ВРЕМЕНИ ЧТОБЫ ЕБАТЬСЯ С НИМ
ЛУЧШЕ ЕЩЕ РАЗ ОСВОБОДИТЬ ПАМЯТЬ
Я ОСВОБОЖДАЮ ПАМЯТЬ ПО 3 РАЗА В ДЕНЬ
КАЖДОЕ ОСВОБОЖДЕНИЕ ЗАНИМАЕТ ДВАДЦАТЬ НАНОСЕКУНД
Я ЖИВУ АКТИВНОЙ И ПОЛНОЦЕННОЙ ЖИЗНЬЮ
Я УСПЕШЕН И ПОЭТОМУ ЦЕЛЫЙ ДЕНЬ ВЫДЕЛЯЮ ПАМЯТЬ
А ПОСЛЕ ЭТОГО ОСВОБОЖДАЮ ЕЁ
ТУПЫЕ ХАЧКЕБЛЯДКИ ОДЕРЖИМЫ МОНАДАМИ
А Я СВОБОДНЫЙ ОТ ЗАДРОТСТВА ЧЕЛОВЕК
TEMPLATE <CLASS BAZ> BAR * FOO<BAZ>::DOWORK()
INT SUM = (N & (N % 2 ? 0 : ~0) | ( ((N & 2)>>1) ^ (N & 1) ) );
ЛУЧШЕ Я ВЫДЕЛЮ ЕЩЕ РАЗ ПАМЯТЬ
И ЗАБУДУ ОСВОБОДИТЬ ЕЁ, СТАБИЛЬНОСТЬ НЕ НУЖНА
Я НЕ ОСВОБОЖДАЛ ПАМЯТЬ НЕДЕЛЮ
ПОЙДУ ОСВОБОЖУ
В C++ ВСЕ ПРОСТО И ПОНЯТНО
SEGMENTATION FAULT. ЭТО ЖЕ ОЧЕВИДНО КАК ЕЕ РЕШИТЬ
ПРИШЛО ВРЕМЯ ОСВОБОДИТЬ ПАМЯТЬ
КОКОКОКОКОКОКО
КВИКСОРТ КОНКАТЕНАЦИЯ ЗА O(1) INLINE ASSEMBLER
КОКОКОКОКОКОКО
[править] ...ОСТАТЬСЯ ПОСЛЕ РАБОТЫ
ПРИШЛО ВРЕМЯ ОСТАВАТЬСЯ ПОСЛЕ РАБОТЫ
SLA САМО НЕ ВЫПОЛНИТСЯ
ВЫПОЛНИ ЕГО, ВЫПОЛНИ ЕГО ЕЩЁ РАЗ
ЗАЧЕМ МНЕ НУЖНА СВОБОДА, У МЕНЯ ВСЁ РАВНО НЕТ УВЛЕЧЕНИЙ
ЛУЧШЕ Я ЕЩЕ ЕЩЁ РАЗ ОСТАНУСЬ ПОСЛЕ РАБОТЫ
Я ОСТАЮСЬ ПОСЛЕ РАБОТЫ КАЖДЫЙ ДЕНЬ
КАЖДАЯ ПЕРЕРАБОТКА ЗАНИМАЕТ 3 ЧАСА
Я ЖИВУ АКТИВНОЙ И ПОЛНОЦЕННОЙ ЖИЗНЬЮ
Я УСПЕШЕН И ПОЭТОМУ ВЕСЬ ДЕНЬ ЗАДРАЧИВАЮСЬ В ОФИСЕ
А ПОСЛЕ ЭТОГО ЖДУ ЧТО МЕНЯ ПОВЫСЯТ
ТУПЫЕ ПОХАПИДОРЫ ОДЕРЖИМЫ ФРИЛАНСОМ И УДАЛЁНКОЙ
А Я СВОБОДНЫЙ ОТ ДОШИРАКА ЧЕЛОВЕК
СКОЧАТЬ СПРИНГ В ДЕЙСТВИИ ТРЕТЬЕ ИЗДАНИЕ ПЕРЕВЕДЁННОЕ
КРЯК УЛЬТИМАТ КЕЙГЕН ДЛЯ INELIJ-IDEA
ЛУЧШЕ Я ОСТАНУСЬ ПОСЛЕ РАБОТЫ ЕЩЁ РАЗ
И ДОДЕЛАЮ ВСЁ ДО ДЕДЛАЙНА, ОТДЫХ НЕ НУЖЕН
Я НЕ ОСТАВАЛСЯ ПОСЛЕ РАБОТЫ УЖЕ НЕДЕЛЮ
ПОЙДУ ОСТАНУСЬ
В JIRA ВСЕ ПРОСТО И ПОНЯТНО
МОИ ПРОСРОЧЕННЫЕ ЗАДАЧИ CRITICAL BLOCKER. ЭТО ЖЕ ОЧЕВИДНО КАК ЭТО РЕШИТЬ
ПРИШЛО ВРЕМЯ ЗАДЕРЖАТЬСЯ НА РАБОТЕ
ККОКОКОКОКОКОКО
ПОХАПЭ ДОШИРАК ГОСТЕВУХИ
КОКОКОКОКОКОКО
[править] ...ПИСАТЬ КОМБИНАТОР
ПРИШЛО ВРЕМЯ ПИСАТЬ КОМБИНАТОР
КОМБИНАТОР САМ НЕ НАПИШЕТСЯ
НАПИШИ ЕГО, НАПИШИ ЕГО ЕЩЕ РАЗ
ЗАЧЕМ МНЕ НУЖЕН С++, У МЕНЯ НЕТ ВРЕМЕНИ НА ШАБЛОНЫ
ЛУЧШЕ ЕЩЕ РАЗ НАПИСАТЬ ФАБРИКУ АБСТРАКТНЫХ АБСТРАКТОРОВ
Я СЧИТАЮ ФАКТОРИАЛЫ ПО 3 РАЗА В ДЕНЬ
КАЖДЫЙ ФАКТОРИАЛ ЗАНИМАЕТ ДВАДЦАДЬ МИНУТ
Я ЖИВУ АКТИВНОЙ И ПОЛНОЦЕННОЙ ЖИЗНЬЮ
Я УСПЕШЕН И ПОЭТОМУ ЦЕЛЫЙ ДЕНЬ ЕБАШУ ФУНКТОРЫ
А ПОСЛЕ ЭТОГО ПИШУ КОМБИНАТОРЫ
ТУПЫЕ ПЛЮСОБЛЯДИ ОДЕРЖИМЫ УКАЗАТЕЛЯМИ
А Я СВОБОДНЫЙ ОТ БАЙТОЕБСТВА ЧЕЛОВЕК
СКАЧАТЬ БЕСПЛАТНО И БЕЗ РЕГИСТРАЦИИ МОКРЫЙ GLASGOW HAЧKELL COMPILER
КРЯК УЛЬТИМАТ КЕЙГЕН РАЗБЛОКИРУЙ MAYBE
ЛУЧШЕ Я ЕЩЕ РАЗ ПОСЧИТАЮ ФАКТОРИАЛ
И ЛЯМБДУ, УПРАВЛЕНИЕ ПАМЯТЬЮ НЕ НУЖНО
Я НЕ СЧИТАЛ ФАКТОРИАЛЫ НЕДЕЛЮ
ПОЙДУ ПОСЧИТАЮ
В HAЧKELL ВСЕ ПРОСТО И ПОНЯТНО
ОШИБКА PARSE ERROR (POSSIBLY INCORRECT INDENTATION). ЭТО ЖЕ ОЧЕВИДНО КАК ЕЕ РЕШИТЬ
ПРИШЛО ВРЕМЯ ПОСЧИТАТЬ ФАКТОРИАЛ
ККОКОКОКОКОКОКО
СТРАУСТРУП УКАЗАТЕЛИ STL ПИТУХИ
КОКОКОКОКОКОКО
[править] ...НАПИСАТЬ ГОСТЕВУХУ
ПРИШЛО ВРЕМЯ НАПИСАТЬ ГОСТЕВУХУ
ГОСТЕВУХА САМА НЕ НАПИШЕТСЯ
НАПИШУ ЕЕ НА PHP+MYSQL+AJAX
ЗАЧЕМ МНЕ НУЖНЫ RAILS/ASP, У МЕНЯ НЕТ ВРЕМЕНИ ЧТОБЫ ЕБАТЬСЯ С НИМИ
ЛУЧШЕ ЕЩЕ РАЗ ПРОЧИТАЮ PHP&MYSQL РУКОВОДСТВО ПРОФЕССИОНАЛА
Я ЧИТАЮ PHP&MYSQL РУКОВОДСТВО ПРОФЕССИОНАЛА ПО 3 РАЗА В ДЕНЬ
КАЖДЫЙ INДEX.PHP ЗАНИМАЕТ ДВАДЦАТЬ СЕКУНД
Я ЖИВУ АКТИВНОЙ И ПОЛНОЦЕННОЙ ЖИЗНЬЮ
Я УСПЕШЕН И ПОЭТОМУ ЦЕЛЫЙ ДЕНЬ СИЖУ НА ФРИЛАН.СРУ
ПИШУ ЗАКАЗЧИКУ ЗДЕЛАЮ ЗА ОТЗIВ
ГОТОВЫЕ ГОСТЕВУХИ ЗАЛИВАЮ НА UCOZ
ТУПЫЕ ДЖАВАМРАЗИ ОДЕРЖИМЫ EJB
А Я СВОБОДНЫЙ ОТ ЗАДРОТСТВА ЧЕЛОВЕК
<?PHP ECHO 'HEЛЛO WOЯLD' ?>
$SUM = ($N & ($N % 2 ? 0 : ~0) | ( (($N & 2)>>1) ^ ($N & 1) ) );
ЛУЧШЕ Я ЕЩЕ РАЗ СОСТРЯПАЮ ГОСТЕВУХУ
И ЗАБУДУ ПРОВЕРИТЬ НА XSS И ИНЪЕКЦИИ
Я НЕ ЧИТАЛ PHP&MYSQL РУКОВОДСТВО ПРОФЕССИОНАЛА УЖЕ НЕДЕЛЮ
ПОЙДУ ПЕРЕЧИТАЮ
В PHP ВСЕ ПРОСТО И ПОНЯТНО
Warning: Cannot send session cache limiter - headers already sent
ЭТО ЖЕ ОЧЕВИДНО КАК ЕЕ РЕШИТЬ
ПРОПИШУ В СКРИПТЕ ERROR_REPORTING(0)
КОКОКОКОКОКОКО
PHP — САМЫЙ ЛУЧИЙ ЯЗЫК ДЛЯ ВЕБ
КОКОКОКОКОКОКО
[править] Node.js
Это серверный однопоточный джаваскрипт-движок на событиях (libev), состоящий из гугловского якобы высокопроизводительного JIT-компилятора V8 и библиотеки асинхронного ввода-вывода к нему. В библиотеке присутствует HTTP-сервер, что позволяет получить что-то в духе эрланговского MochiWeb и питоновского TornadoWeb, но позволяющее писать клиентский (браузерный/AJAX) и серверный ('cкрипты') код на одном языке. Ну и конечно геморрой в стиле mod_perl + POE вам обеспечен. Тем не менее, говорят, это прогрессивно и круто. (Шутка)
Для особо одарённых, уточняю. Вышеперечисленное включает: вонючую, но встроенную вариацию memcached; невозможность без плясок с бубном, не снившихся питоновцам, задействовать более одного ядра; новые уязвимости из-за паразитной передачи данных в параллельно исполняющийся запрос; падучесть всей VM вместе с вашими фронт-эндом и бэк-эндом в стиле легендарной DOS при зацикливании или непойманном исключении в любом из обработчиков событий; возможность неправильно реализовать HTTP; феерический пул потоков для исполнения в нём unlink(); развесистые монады при вводе-выводе, не снившиеся хаскеллистам; ну и, конечно же, необходимость писать юнит-тесты на каждый чих, потому что только джедаи в состоянии безошибочно разыменовать хеш массивов хешей хешей массивов, а а компилятор попытки присвоить ёжику зайчика не ловит.
Но и это ещё не всё! Для затягивания сроков и удорожания разработки система включает: иллюзию эрланговской изоляции посредством порождения дочерних песочниц в рамках одного потока; циклы перебора байтиков в буфере в стиле Паскаля с неявным алиасингом; отсутствие возможности читать файлы построчно.
[править] Регресс
Пыхомакаки в своем мирке уже давно повернули стрелу прогресса в обратную сторону, надеясь в итоге залезть обратно на пальмы. Сначала начали выжигать огнём реляционки, заменяя их доступными своим имбецильным мозгам хеш-таблицами. Теперь с появлением пыха.жс убили сразу 2 зайцев: выкинули на помойку вменяемые веб-сервера вроде апача, в которые было въёбано овер9000 человекочасов, и вернулись к кооперативной многозадачности, прямо как в MS-DOS.
[править] NoSQL
NoSQL исторически появился раньше SQL-а, собственно весь ынтырпрайз до 70-х им в жопу и долбился. Потом британский ученый изобрёл теорию РБД, появление которой привело к немедленному выметанию всего этого ёбаного хаоса с рынка, стандартизации и тотальному овладиванию SQL-а в рекордно короткие сроки. Побочным эффектом стало то, что всякое быдло начало пихать SQL туда, где он не очень-то и нужен, и очень, блядь, страдать, от того, что их гостевухи стали долго загружаться. Потом кто-то сделал фундаментальное открытие - оказывается хранить профили пользователей гостевухи в хешь-таблице в памяти и доставать их оттуда по имени гораздо быстрее, чем реализовывать EAV поверх РБД. После этого переворота в мозгах гостевушников они приняли радостно сверкать новым базвордом по своим блогам и хабро-хабрикам, радуясь, что им в очередной раз удалось повернуть стрелку прогресса вспять и укусить себя за жопу.
[править] C++
Различная паста о НЕОСИЛЯТОРАХ.
[править] Повторение аргументов
Особенность неосиляторов такова, что из раза в раз повторяемый аргумент они считают побежденным.
Один из таких аргументов - про игры и С++. Неосилятор уже отбугуртил это, раны на его ньюфажеской жопе зарубцевались, и он выдумал какой-то аргумент, который предотвращает раскрытие раны.
Они уже свыклись с мыслью, что игры пишут на крестах и батхерт выходит на новый уровень - что типа все движки написали 15 лет назад, а сейчас на крестах держит только легаси, и все разработчики мечтают на самом деле копировать мир вместо присваивания. После того, как тыкнешь такого котенка в мочу новых С++ проектов появляется, неосилятор затыкается до нового приступа, но потом он придумывает мощный аргумент (например, что новые проекты на С++ начинают пидорасы-заговорщики).
Т.е. батхертнул неосилятор на неуправляемую память, ему объяснили, что есть умные указатели. В следующий раз как только речь зайдет о неуправляемой памяти, когда ему опять скажут про умные указатели он крикнет: "ха, повторяетесь". Не смотря на то, что ничего не изменилось, этот аргумент на неосилятора уже не действует из-за взращиваемого ФГМ, защищающего жопу от старых потрясений.
[править] Рефоёбство
- ↑ "теч" в альтернативной версии. Какой из вариантов аутентичен, доподлинно неизвестно, но Паша против такой альтернативы.