Высшее образование в IT своми руками: Введение: Мотивация, базовые навыки для дальнейшего изучения. Книги: «А я был в компьютерном городе», рандомный советский школьный учебник по информатике, SICP, конкретная математика. Усердно изучаешь английский. Читать лучше на английском. Сложно только первую книгу. Как только разберёшься (вместе с английским это была самая сложная часть курса), тебе понадобится какой-нибудь язык программирования. Ещё не для того, чтобы программировать, а для того, чтобы писать учебные примеры (на схеме это делать достаточно муторно). Чтобы меня не сочли троллем в первом абзаце пасты предлагаю 1) C (Учебник Дейтелов, кресты (c++) долго не используй, зашкваришься) 2) Java («Философия» Эккеля) или Python (DIVE INTO PYTHON из той самой пасты) на выбор. Можно оба. Всё достаточно лёгкое (C в меньшей степени), всё считается местными говном (C в меньшей степени). После SICPа идти будет очень легко, си тебе сам по себе не понадобится, но скиллы писания на нём пригодятся ещё много раз. Пишешь на выбранном языке 10 простых программ (решение уравнений, перемножение матриц, игры а-ля 90-е, ИИ для какой-нибудь из игр, просто что-нибудь прикольное, что в голову придёт). Вооружившись этой хуйнёй переходишь к изучению матчасти. Матчасть: Твоя задача на данном этапе — получение фундаментальных представлений по CS. Книжки будут вдвое толще, чем на предыдущем этапе, понимать сразу всё не будешь, но перечитывай мере необходимости.
а) Дискретка. НЕ ОТЛЫНИВАТЬ. Читай любой учебник. Понимать (отчётливо): множества, алгебры, отображения, логику, графы. Реши простейшие задачи, докажи несложные теоремы. Остальное можешь отложить. б) Базы данных — нужно разобраться с БД, обычно этот шаг пропускают и начинаются серьёзные проблемы и откровенно кривые архитектуры. Учебники: Си Джей Дейт, введение в системы баз данных. Весь можешь не читать, прочитай 2/3, чтобы понимал про транзакции, нормальные формы (хоть первые 4 штуки), ER-модель, реляционное счисление, отображение из ER-модели в реляционное счисление. Потом берёшь любой учебник по SQL (Моисеенко какой-нибудь сканает). Базы данных в заданиях ты должен проектировать в уме, сразу в 3NF и быстро. Учишь SQL. Пишешь какое-нибудь приложение на своём языке, которое использует БД (гостевуху с примитивным интерфейсом можешь сваять, поймёшь, что веб — говно и бросишь эту парашу на этом этапе). Решаешь задачки у Моисеенко. в) Архитектура ЭВМ. Читаешь Таненбаума. Знать: что такое вентиль, что из них составляют: там очень подробно описано по разделам. Спроектировать простейший «железный» компьютер из блоков. Знать про адресацию памяти, прерывания. Спроектировать всякой хуйни в эмуляторе схем. Лёгкая интересная часть. г) Алгоритмы. Понимать: как работает процессор, как оценивается скорость алгоритма, почему существует много алгоритмов, как выбрать нужный. Знать базовые алгоритмы сортировки, поиск можешь пока не трогать. Знать структуры данных и связанные с ними алгоритмы. Знать (в общих чертах, не трать на это много времени), что из себя представляет ассемблер. Всякие связанные списки из массивов ты должен уметь реализовывать стоя у доски с маркером.
Книги: Вирт, Ахо по алгоритмам и структурам данных. Начни читать Кнута, по крайней мере разберись с его компьютерами и напиши для них несколько программ на бумажке. Сделай свой виртуальный компьютер, но не такой старый и сложный, как у Кнута. Сделай для него ассемблер и напиши пару простых программ. д) Операционные системы. Знать алгоритмы для многозадачности, потоки, процессы, нити. Обедающие философы. Знать про планирование ресурсов. Знать про файловые системы. Про микроядра всякие почитай. Хорошо разберись в параллельном программировании. Помнишь толстенный учебник Дейтелов по си? Ну вот, у них и про ОС есть, почитай. И у Таненбаума тоже не только архитектура. Пишешь сложную многопоточную программу, чтобы были синхронизации, пайпы, семафоры и всё такое. Тут жава лучше пистона, тебе будут советовать кресты и QT, но… Можно и так, в общем. е) Формальные языки и теория трансляции — нужно научиться обрабатывать текст и глубоко понять, как работают компиляторы. Книги: читаешь главу своего учебника по дискретке (помнишь, ты её бросил?) про формальные языки. В центре внимания Ахо, Книга Дракона. Понимать: грамматики, языки, регулярные выражения, текстовые анализаторы — компиляторы, трансляторы, интерпретаторы, стадии компиляции, линковка, оптимизации. Ахо ты целиком всё равно не осилишь, но постарайся понять как можно больше. Пишешь интерпретатор простого языка программирования (можешь взять любой говноакадемический язычишко). Потом пишешь для него компилятор для своей виртуальной машины из пункта г. Читаешь книгу издательства О'Рейли по регуляркам. Удобная штука. Открываешь для себя вёрстку: LaTeX, html, css, xml. Особенно последний Глянь быстренько XPath.
ж) Парадигмы программирования. Заходишь сюда, создаёшь тред [ООП-парадигма|функциональщина|нашная сишечка] соснула. Записывашь баззворды, гуглишь, участвуешь в срачах. У тебя уже есть опыт писанины и на императивщине, и на ООП, и схему ты тоже неплохо знаешь: скобками голыми тебя не запугаешь. Можешь подучить простой хаскелл и понтоваться плохими программами перед местными школьниками. Свободное плаванье: К этому времени пора бы определяться с работой. а) Хотя веб-петухи встают, когда ты входишь в комнату, можешь податься в очень продвинутый веб (если ты с него не очень сильно блевал). Гугловское/амазоновское облако, корпоративные проекты на жабе и дотнете, хуйлоад. Глянь в сторону банков, у них есть достаточно системы. Есть целые конторы, которые автоматизируют это барахло. Очень пригодятся БД, параллельное программирование и.т.д. Языки: пистон, жава ЕЕ. Придётся изучать глубже, но у тебя уже хорошая база по этим языкам. б) Базы данных. Зачитывался Дейтом? В конце концов добро пожаловать в мир высокой надёжности, параллелизма и прочей ерунды. Тебя ждут оракловые базы данных, PL/SQL. Очень необычно и интересно, большие зарплаты, веб-петухи стонут. в) Гейдев. Добиваешь математическую базу в области линала и идёшь в гей-дев. Нужны будут кое-какие дополнительные алгоритмы по компьютерной графике, которую я не стал заносить в матчасть. Потребуется учить кресты и местные приблуды. Если ты действительно осилил список сверху, то тебе там ещё и отсосут. Да, оп, игры для мобильников — это не гей-дев, не трать на это своё время. д, е, ж, з и.т.д.) Не верю, что к этому моменту ты сам не будешь знать, что тебе делать.
>>76193331 Все хуйня, не надо никаких паст про ныряние и самозадрачивание в ИТ. Просто скачиваешь Visual Studio и книжку по классическому С, любую. Дальше читаешь книжку и компилишь примеры.
>>76193331 1) Скачиваешь вижуал студио 2) Покупаешь книжку по си от риччи и еще какого-то хуя, вроде от столмана 3) Разбираешь все примеры 4) Самостоятельно гуглишь про винапи чисто для саморазвития 5) Переходишь на сишарп и рисуешь красивые формочки. Как разберешься с канвой и графиками можешь двигаться дальше 6) На всё воля рука рынка ??? Profit
Даны 3 квадратных матрицы различных размерностей. Для каждой из них найти сумму нечѐтных элементов в строках с элементом на главной диагонали, удовлетворяющим условию Aii>B.
>>76194821 ассемблер устарел и не используется ни на одной современной информационной системе в 2014. Чисто ради саморазвития стоит почитать хуйню про даблворды там, складывания, вычитания, флажки
Учи сразу C# ибо в рашке винда повсеместно и сам язык и платформа мощные. Для задач энтерпрайза самое то. Если хочешь кодить какие-нибудь специфические штуки - тогда C++
Программирование это что-то из области прошивки микроконтроллеров или кухонных плит для дяди. Сейчас, как минимум на двощах, "программист" звучит тухло. В голове всплывает образ сисадмина или эникейщика. Если ты хочешь достичь вершин, то называй себя разработчик.
Блять, зачем тебе это вообще? Потому что хочешь быть в тренде? повелся на большие деньги? любишь играть в игрули и хочешь заебенить своего убийцу варкрафта? Тогда будешь макакой зарабатывать на игори в стиме.
Если ты видишь в программировании искусство, некий метод выражения своих мыслей и концепций, то только SICP. Когда поймешь, о чем я сейчас написал, тебе будет похуй какой язык учить и какие библиотеки использовать, для тебя это будет лишь инструмент.
>>76195756 Анончик, всё никак не приступал к SICP, у меня на компе было несколько видео-лекций с русскими субтитрами, там сама книжка + эти лекции, куча лекций и часть из них переведены с субтитрами. Но я это всё проебал. У тебя нету случайно?
>>76196135 Ищи на рутрекере русскую книжку. Но примеры там риали непростые. Придется попотеть. Надеюсь, с математикой дружишь. >>76196125 >С программирования Если ты имеешь ввиду, практиковаться параллельно изучению теории, то годный совет. Ошибка многих начинающих в том, что они что-то читают конпелируют, но быстро остывают, т.к. не видят применения концепциям.
Двач, а у меня такая ситуёвина. Много раз пытался охомутать этого зверя - программирование. Делал много попыток "научиться программировать", мотивируя это тем, что я должен уметь это. Но все попытки были неудачными. И додумался и забил на это дело. Теперь же, спустя некоторое время у меня в голове возникла одна идея, это сайт интересный. Вот думаю с появлением предметной мотивации придётся-таки что-то изучать. Как я понимаю, для сайта, хочу чтоб было всё по первому разряда - с новейшими плюшками, нужно учить вёрстку - html, css, также жаваскрипт для всяких плюшек? Что ещё, php, джаву? Можете сказать самый минимум, а там может втянусь и буду изучать глубинные концепции.
>>76193331 Программирование без какого-то образования (математик, физик, биолог, экономист) - фейл, инжой ер клепание формочек аки обезьянка за соответствующие деньги. Суть в том, что сначала ты что-то изучаешь, а потом понимаешь, что тебе пригодилось бы тут программирование - вот только тогда ты его изучаешь. Хотя если хочешь сосать хуй за еду - пхп или 1С твой выбор.
>>76196815 Охуеть спизданул. Есть, например, программные инженеры. Им дают тех задание, например те же физики или биологи, и они клепают программки. То, что ты описал, конечно, красиво, но не реально.
Оп, слушай только меня. Тебе повезло. Сейчас есть шанс чего-то достичь, появилось множество новых языков, а самый пиздатый из них Go и Swift, ещё Dart (но сюда не сразу).
Итак, бесполезно копаться в мёртвых языках типа латыни и си плюс плюсах, на которых много жоп подгорело. Учитывая твой нулевой опыт, пока они не умрут ты с этими бородофараонами конкурировать не сможешь, а значит тебя не возьмут на работу и т.п.
Но, они старпёры, которые хуй ложили на новое, а ты молодой и ещё не испорченный парадигмами, начни с новых языков или хотя бы с молодых.
c# можно взять в качестве базового, но я бы не стал малафиться об него, если бы начинал сейчас. Там уже много профессионалов. Тем не менее, обучиться объектному и событийного программированию он поможет + ты сможешь строчить для себя и братишек полезные утилитки за два часа.
Я сам наклепал несколько десятков говнософта, от игр, то минискайпиков с парсерами и брутфорсерами на c#, что для меня это стало чем-то вроде пейнта. Написал, пользуешься, никакого анального унижения с подключением лишних библиотек и чтением Кнута там не требуется.
Как учиться? Открываешь IDE, называешь проект, пробуешь написать простенький консольный хеллоу ворлд, дальше осваиваешь то, что тебе нужно (сеть, многопоточность, графон, ввод-вывод, базы данных), короче просто так что-то писать глупо, тебе обязательно нужна цель. Ставь, гугли, воплощай.
>>76193331 Не слушай петухов с паскалем, ОП. Осваивай пхп, потом штурмуй моднявые фреймворки типа симфони/ларавель/фалькон/фюел. Сейчас на это большой спрос.
>>76197156 Не совсем. Более того, без образования фундаментального программистом быть можно лишь до определенного уровня и до определенного возраста. В плане технологий - Big data, параллелизм, weak AI, те же исследования по алгоритмам до сих пор дают много плодов для диссеров.
>>76197216 Нормальные люди сначала изучают архитектуру компьютера (нет, не на уровне "вот эта большая коробка - процессор, а внутри виндовз"), а потом выбирают язык исходя из задачи. Для технически образованного человека полностью вникнуть в язык и стандартные библиотеки - дело недели, влиться в пишущийся проект - не более двух недель.
>>76197628 А потом такие дауны пихают везде и всюду яву с сисярпом, даже в микроконтроллеры даже в аллаха и удивляются "чому память жрет скпзд(((". Хотя один хуй такие невежды дальше вот тех самых саперов на готовых формочках не уходят.
>>76197663 Не знает и знать не может по определению. Единственное, что можно вынести из ВУЗов РФ вне МКАДа - какая-то база. Я вот вышел прикладным математиком. По вышеуказанным проблемам ничего не дали, но в целом хоть какая-то база есть.
>>76198708 Школьнику ничто не поможет, если ты так вопрос ставишь. Равно как ничто не может заменить ассемблер, по сути являющийся способом настройки отдельного микропроцессора.
>>76198708 Как же ты сейчас обосрался, даунитос. Как раз таки в игропроме (я говорю о серьезных проектах типа упомянутого тобой кукурузиса или какого-нибудь асасинс крида) как на пека, так и на сосноли, не брезгуют ассемблерными вставками в коде на плюсах.
Зачем эти ваши Си, ассемблеры и прочее говно нужно? Фронтенд-мастер. js,css,немного php Удалёнка. Стаж 2 года. Получаю 150к. Живу в мухосранске. Взял ипотеку даже. Всё, как у людей. 22 лвл
>>76198852 Я имею ввиду что-либо написанное на ассемблере. Оно просто не запустится, т.к. про существование хотя бы 32-битное компилятора мне ничего неизвестно, не говоря уже и о 64
>>76199051 Ну если ты хочешь жрать говно и заниматься деятельностью, которая не требует вообще никаких когнитивных способностей - то, пожалуй, они тебе и правда не нужны. Зато БОХАТО, как у людей, хули.
>>76199161 В гитхабе единственный проект. Ещё недавно лелеял мысль сделать кроссплатформенную стратегию, но далеко дело не пошло. Ты ведь не думаешь, что я скину что-то подобное на сосаче? >>76199176 >жрать говно и заниматься деятельностью, которая не требует вообще никаких когнитивных способностей Во-первых, считаю совершенно нормальным ставить во главу угла именно материальный аспект инбфо: гей-шлюха Во-вторых, делать сайты тоже надо уметь.
>>76199110 То что это тебе неизвестно еще не значит что этого нет. Тот же FASM и WASM умеют до 128 разрядов (технически). Просто задаешь в начале кода директиву в какую платформу обжект собирать, и оно собирает.
>>76199396 Делать странички на html, изучать верстку, css. Далее анимировать – javascript, jquery. Потом переходи на фреймворки для организации крупных приложений – Angular. >>76199371 Желательно иметь какой-нибудь опенсорс, любую хуйню, которая работает и позволяет хоть как-то оценить твой уровень кодинга. Потому оформить нужно красиво. Когда я начинал, хватало тестового задания. Всё тот же>>76199051кун
>>76198973 Мы говорим о разном. Я о разработке продуктов, а ты о драйверах и фреймворках.
Неважно, как реализована среда на той или иной железке. Программист сегодня пишет, невзирая на количество памяти, он не заботиться об адресации памяти.
Низкоуровневое программирование по-прежнему сурово, тут я согласен, но это потому что конкуренция на рынке микросхем внезапно возросла.
Я в своё время думал, что интел поглотит амд или наоборот, но сейчас всё больше хуевеев претендует на шанс взойти на престол.
Ясен хуй, что в ближайшие годы этого не произойдёт на дескотопах, но на мобильных рынках полная вакханалия.
>>76199678 Ну и вдогонку. Я как бы тоже 10 лет работаю, сейчас конечно хедхантеры на шею не так вешаются, как раньше, но все равно. И в последнее время хватает простого собеседования.
Но вот так вот... когда просят портфолио... То есть я могу назвать с десяток проектов над которыми работал, но показать их не могу.
>>76199736 >Но ты и правда как гей-шлюха, лол. Мне нравится то, чем я занимаюсь, и это приносит пользу другим. Где тут плохое? >>76199705 >Потому что будут потешаться? Никогда не делился никакой инфой о себе на сосаче. Зачем оно? >>76199794 Да, почему нет? Я бы сразу взял подработку на свободное время, если, конечно, есть навыки.
>>76199886 С другой стороны, что-либо из классики (всякие двачи на питоне) писать не интересно. Вот и выходит, что... ну что можно написать в оупенсорс? Очередную СМS которая никому не нужна? Fast-n-Modular фреймверк для 5.4 пыхи? Тоже, работы не на месяц...
Вот и остается... Хотя мыслишки конечно есть, да. Пара полезных вещей, которые стоит сделать.
>>76200096 Не ебать голову с созданием идеального резюме. Искать рабочие варианты сразу. Если умеешь что-то делать, ищи человека, которому нужны твои навыки. Нет хорошего резюме, нет гитхаба? Ну так и поясни, что ничего нет, но ты спец (если так и есть), проси тестовое задание. Справишься – уже пойдёт вопрос о приёме.
>>76193331 Сколько тебе лет, ОП? Если около 20 и ты решил порграммировать только из-за того, что ни на что больше не способен, а за станок идти не хочешь - то я надеюсь. что ты сгниёшь и не успеешь выучить программирование. В другом случае слушай сюда. Учи джаву. На джаве пишется всё. Сайты, игры, программы, операционные системы, стиральные машинки, микроволновки, холодильники. Абсолютно всё! И не нужно учить миллион языков. После джавы учи питон. Можешь учить эти 2 языка параллельно. Питон - это программа, которая может всё. Нужно переименовать миллион файлов по какому-нибудь правилу? Питон! Нужно вынести цветовое значение пикселей картинки в текстовом формате? Питон! Джава и питон. Про остальные языки забудь и никогда о них не вспоминай. Они не нужны. Джава и питон - вершина эволюции языков программирования. Лучше них ещё ничего не придумали.
>>76200431 Если цель – выёбываться на дваче, то путь верный. >>76200432 > Если около 20 и ты решил порграммировать только из-за того, что ни на что больше не способен, а за станок идти не хочешь >java, python Мило.
>>76200530 Про циклические ссылки, на которые нет ссылок из остального кода, ты решил забить. У тебя память утекла, няша, ведь сборщик мусора все подчистил!
>>76200776 Если считать что "гарбаж коллектор все уберет", то начинаешь допускать такого рода ошибки. То ли дело плюсы, где за каждым чихом по поводу памяти следишь.
>>76201110 > говорит о вытесняющей многозадачности в плане гарбаж коллектора > считает что вытесняющая многозадачность, она же - останов всех потоков кроме коллектора - не является "работой в фоне".
>>76201187 Вот этого двачую. Раньше если нихуя не умеешь - шёл на завод. А сейчас всё быдло лезет в программирования. Надеюсь, все такие люди умрут в мучениях от рака простаты.
>>76201323 >останов всех потоков кроме коллектора - не является "работой в фоне" >останов всех потоков кроме коллектора Окей, мы не разобрались в терминах, но суть то от этого не меняется. Алсо ява машина может по желанию левой пятки застопить выполнение программы дабы прибраться. Это ли не анальное рабство?
>>76200867 не знаю как у вас, а у нас в джаве при определенных обстоятельствах можно из-за gc получить полную остановку jvm секунд на 30. А в целом он да, отрабатывает шустро и в фоне
>>76201372 >А сейчас всё быдло лезет в программирования. Надеюсь, все такие люди умрут в мучениях от рака простаты. Объясни, почему это плохо, или соси.
>>76201110 The Concurrent Mark Sweep (CMS) collector (also referred to as the concurrent low pause collector) collects the tenured generation. It attempts to minimize the pauses due to garbage collection by doing most of the garbage collection work concurrently with the application threads. Normally the concurrent low pause collector does not copy or compact the live objects. A garbage collection is done without moving the live objects. If fragmentation becomes a problem, allocate a larger heap.
кусочек доки по джаве. Строчки > most of the garbage collection work concurrently with the application threads ничего тебе не говорят?
>>76201532 программирование - это не только написание алгоритма, которе само по себе не является лёгкой задачей. Программирование - это так же разработка грамотной архитектуры, без которой соси ты.
>>76201372 Не понимаю бугурта по поводу растущего числа кодеров. Разнорабочие везде нужны. Толковым инженерам они не конкуренция, а как раз наоборот - полезные помощники.
Да и в целом большее число людей приводит к более понятном коду. Так как ты пишешь не для себя и вована, а чтобы всё сообщество врубилось.
>>76201519 The Garbage First or G1 garbage collector is available in Java 7 and is designed to be the long term replacement for the CMS collector. The G1 collector is a parallel, concurrent, and incrementally compacting low-pause garbage collector that has quite a different layout from the other garbage collectors described previously. However, detailed discussion is beyond the scope of this OBE.
Вот такое я видел у одного выпускника какого-то ПТУ. Но такие есть не только в ПТУ. Некоторые даже проходят в топовые ВУЗы. И нахуя мне такое нужно? А вам?
>>76202047 Это обфускатор? Скажи мне, что это обфускатор! Причем явно после оптимизации - там была неиспользуемая переменная, не влиявшая на работу кода, и ее убрали из текста функции, а в объявлении она само собой осталась.
>>76200981 а, ну тогда ладно. Вобще знавал достаточно и тех, кто начинал с пхп+javascript, и тех, кто начинал с pascal, C++, etc. Имхо с точки зрения программирования второе все же более благотворно влияет, хотя истории конечно по-разному складываются.
>>76202047 От студент ждать святого писания вместо говнокода будет только идиот. Научить - забота ведущего разработчика.
Ко всему не подготовишься даже если 90 лет учился во всех топовых вузах. Ты придёшь в йобаконтору, а там уже форк3000 используется с отсутствием обратной совместимости или по-прежнему 1с Бухгалтерия, которая мельком была.
>>76202189 _p01 и _p02 - это точки(Point) xV04 - эту переменную он вообще не использовал и не смог объяснить, для чего она. r14q - это result vector. Почему вектор - потому что 1 и 4 он ассоциировал с буквами V и E.
>>76193331 Не слушай этих долбоебов и смело выбирай PHP. Это самый модный, эффективный и востребованный на рынке язык программирования. Он не только поможет тебе развить математической мышление, с помощью встроенного модуля math, но и обеспечит тебе весьма безбедную жизнь работой на фрилансе 80 процентов заказов делают на PHP до того момента, когда ты сможешь стать ведущим PHP-программистом с зарплатой от 120 тысяч в месяц.
Блять, опять весь тред засрали какие-то хипстеры со своими swift, go, ruby и так далее. Вы просто жадные уебки. Как жаль, что мне несколько лет назад никто не сказал, что вся эта новомодная хуйня настолько омерзительна.
>>76201465 >>76201465 вобще многие умеют укрощать джавовский gc, и у них он отрабатывает за столько, за сколько нужно. Практика показывает, что этот недостаток вполне покрывается другими преимуществами. Некоторые даже пишут супер хай перформанс нон стоп приложения для всяких бирж и т.п. на джаве хотя возможно они просто поехавшие[\spoiler]
Я заинтересовался программированием, поэтому не буду тянуть кота за яйца - с чего начать?
Пикрандом.